Hallo!

ich bräuchte wohl hilfe bei der Fehlersuche....
Es geht dabei um die Helligkeitssteuerung einer LED mittels Pulsweitenmodulation(PWM), wobei die Pulsbreite per Poti verändert werden soll.

Problem: Es tut sich nichts... , die LED leuchtet nicht und ich weiß so langsam auch nicht mehr weiter :-/
Der Tansistor ist vom Typ BC547
Die Leuchtdiode ist eine superhelle, (Coninuous Forward Current If=50mA)
Poti = 47kOhm

Hier die Schaltung:
Bild hier  

...und die vom Poti

Bild hier  

So sieht die Platine aus.
Bild hier  

Das ist das Programm womit ich die PWM und die Analogverarbeitung betreibe.


Code:
;-------------------------------------------------------------------------
; Titel : Helligkeitssteuerung einer Leuchtdiode mittels PWM
;-------------------------------------------------------------------------
; Funktion : Mittels eines Potentiometers wird die Pulsbreite verändert,
;	 dadurch wird die LED dunkler bzw heller leuchten.
; Schaltung : PORTB1=LED-Rot, PORTC0=Pot1
;-------------------------------------------------------------------------
; Prozessor : ATmega8
; Takt : 3686400 Hz
;-------------------------------------------------------------------------
.include	"avr.h"

begin:	rjmp	main	; 1 POWER ON RESET
	reti		; 2 Int0-Interrupt
	reti		; 3 Int1-Interrupt
	reti		; 4 TC2 Compare Match
	reti		; 5 TC2 Overflow
	reti		; 6 TC1 Capture
	reti		; 7 TC1 Compare Match A
	reti		; 8 TC1 Compare Match B
	reti		; 9 TC1 Overflow
	reti		;10 TC0 Overflow
	reti		;11 SPI, STC Serial Transfer Complete
	reti		;12 UART Rx Complete
	reti		;13 UART Data Register Empty
	reti		;14 UART Tx Complete
	rjmp	onADC	;15 ADC Wandlung komplett
	reti		;16 EEPROM Ready
	reti		;17 Analog Comparator
	reti		;18 TWI (I²C) Serial Interface
	reti		;19 Store Program Memory Ready

;------------------------------------------------------------------------
; Initialisierungen
;------------------------------------------------------------------------
main:
;--- Stack Initialisierung ---
	ldi	r16,hi8(RAMEND)
	out	SPH,r16
	ldi	r16,lo8(RAMEND)
	out	SPL,r16
; Ports initialisieren
	sbi	DDRB,1	; PORTB1 auf Ausgang
;--- Interrupts erlauben ---
	sei
;--- Timer 0 initialisieren ---
	ldi	r16,0b00000100	; Teiler 1/256
	out	TCCR0,r16	; Teiler+Modus schreiben
	ldi	r16,0b01100000	; Port, Referenzspannung und Auflösung
	out	ADMUX,r16
	ldi	r16,0b11101101	; Modus, Interrupt und Start
	out	ADCSRA,r16
;----------------------------------------------------------------------
; PWM und ADC initialisieren	
	rcall	initPWM	;Schritt auf/ab
	rcall	initADC
;------------------------------------------------------------------------
; Hauptprogramm-Schleife
;------------------------------------------------------------------------
mainloop:	wdr
	out	OCR1AH,r27
	out	OCR1AL,r26
	rjmp	mainloop	; Sprung zum Beginn der Hauptprogrammschleife
;------------------------------------------------------------------------
; UP: ADC initialisieren
; Beachte: Interrupt-Vektor "onADC" setzen
;------------------------------------
initADC:	push	r16
	ldi	r16,0
	out	ADMUX,r16	; ADC Chanel
	ldi	r25,0b11011101
	out	ADCSRA,r25	; enable ADC, INT, start
	sei
	pop	r16
	ret
;------------------------------------
; ISR: ADC initialisieren
; PA: r27:r26 10Bit, r25 8Bit
onADC:	cli
	in	r26,ADCL
	in	r27,ADCH
	asr	r27
	ror	r26
	asr	r27
	ror	r26
	mov	r25,r26
	sbi	ADCSRA,6
	sei
	reti
;------------------------------------------------------------------------
; UP PWM initialisieren
; Parameter: keine
; PWM Chanel A Mode 1: 8-bit PWM, Phase-Correct, Clock/8
initPWM:	push	r16
	sbi	PORTB,1	; PWM-Chanel A
	ldi	r16,0b10000001	; PWM-Mode
	out	TCCR1A,r16
	ldi	r16,0b00000010	; Vorteiler / PWM Frequenz
	out	TCCR1B,r16
	pop	r16
	ret
;------------------------------------------------------------------------
(siehe auch https://www.roboternetz.de/phpBB2/viewtopic.php?t=29280 )

Als Hardware wird das AVR Testboard verwendet, daher auch die Ports, als Software myAVR Workpad... ich hoffe ihr habt eine Idee woran es liegen kann. Im Chat hat man mir geraten doch mal den Transistor auszulöten, es hat leider auch keinen Effekt gehabt.

Gruß Vashan