Hallo,
Ich bin schier am verzeweifeln..

Habe einen ATMega168 und einen L293B der mit diesem gesteuert wird.
Einfaches Einschalten der Enable-Leitung und einer der Richtungsleitungen führt wie gewünscht zum fahren in die entsprechende Richtung.
Allerdings ist das ganze bei voller Spannung etwas sehr schnell für den Aufgabenbereich (Saugroboter).
Daher wollte ich wie im Motorenartikel hier im RN den L293B per PWM ansteuern und ihn dadurch langsamer fahren lassen.
Dafür benutze ich Ausgang D6(OC0A) und B2(OC1B).
Bei Ausgang B2(16-Bit Timer) funktioniert das ganze auch ganz hervorragend.
Nur Ausgang D6 gibt nichts von sich.

Hier mal das Programm:
Code:
Reset:
  ldi temp,LOW(RAMEND)		; Stackpointer initalisieren
  out SPL,temp
  ldi temp,HIGH(RAMEND)		; Stackpointer initalisieren
  out SPH,temp

;B7= Richtung 3
;B2= Enable1(OC1B)
;B1= LED
  ldi temp,0b10000110			; Ausgänge B setzen
  out DDRB,temp

;D4= Richtung 4
;D5= Richtung 2
;D6= Enable2(OC1A)
;D7= Richtung 1
  ldi temp,0b11110000			; Ausgänge D setzen
  out DDRD,temp

;LED auf 1 (aus)
;Pullup an Schalter(B0) einschalten
  ldi temp,0b00000011			
  out PORTB,temp
;Richtung 2 (Bit5) und Richtung 4 (Bit4) auf 1(vorwärtsfahren)
  ldi temp,0b00110000			; Alle Ausgänge auf 0 setzen
  out PORTD,temp
	
/*
TCCR0A
COM0A1 | COM0A0 | COM0B1 | COM0B0 | - | - | WGM01 | WGM00 |
    1    |    0    |   0    |    0  | 0 | 0 | 1  |   1  |
FASTPWM Clear		Normal Port		Fast PWM
on Compare Match	Operation		TOP=OCRA
*/


	ldi temp,0b10000011
	sts TCCR0A,temp

/*
TCCR0B
FOC0A | FOC0B | - | - | WGM02 | CS02 | CS01 | CS00 |
   0   |   0   | 0 | 0 |  1  |   0  |  0  |  1  |
			 s.o	Clock select ohne
					Prescaling
*/

	ldi temp,0b00001001
	sts TCCR0B,temp

;OCR0A=127
	ldi temp,0b01111111
	sts OCR0A,temp


	ldi temp,0b00100011
	sts TCCR1A,temp
	ldi temp,0b00011001
	sts TCCR1B,temp
	ldi temp,0b00000000
	sts TCCR1C,temp
	ldi r17,0b00000000
	ldi r16,0b00000000
	sts OCR1BH,r17
	sts OCR1BL,r16 

loop: 
	rjmp loop
Der untere Teil ist nicht kommentiert, da er funktioniert.
Wenn jemand einen Fehler findet, wäre ich ihm schwer dankbar.

Danke im Vorraus

Mit freundlichen Grüßen

TechMo