Hallo ,hab jetzt noch mal das Programm geladen von dir geladen :
Code:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 32
$framesize = 32

Config Portd.7 = Output
Config Pind.2 = Input                                       ' Signal 1(a) vom RC-Empfänger
Config Pind.3 = Input                                       ' Signal 2(b) vom RC-Empfänger
Config Portc.6 = Output                                     'Motor links
Config Portc.7 = Output                                     'Motor links
Config Portb.0 = Output                                     'Motor rechts
Config Portb.1 = Output                                     'Motor rechts
Config Portd.4 = Output                                     'PWM links
Config Portd.5 = Output                                     'PWM rechts

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8

Dim Rckanal_a As Word
Dim Rckanal_b As Word

Dim Motor As Byte                                           ' 1=Motor1 / 2=Motor2 /...
Dim Drehrichtung As Byte                                    ' 0= Bremsen / 1=links / 2=rechts
Drehrichtung = 1                                            ' Drehrichtung >>>jetzt manuell auf Links gestellt <<<
Dim Geschwindigkeit As Word                                 ' Motorgeschwindigkeit
Geschwindigkeit = 0                                         ' Motorgeschwindigkeit anfangs auf 0

Declare Sub Motorsteuerung(byval Motor As Byte , Byval Drehrichtung As Byte , Byval Geschwindigkeit As Word)

Sound Portd.7 , 400 , 450
Sound Portd.7 , 400 , 250
Sound Portd.7 , 400 , 450
Wait 2

Do
   ' Wert vom RC-Empfänger abfragen und weitergeben
   Pulsein Rckanal_a , Pind , 2 , 1                         ' Wert vom Kanal 1...Motor 1.
   Motor = 1
   Geschwindigkeit = Rckanal_a
   Call Motorsteuerung(motor , Drehrichtung , Geschwindigkeit)       'Daten an Subroutine/Motorsteuerung übergeben
   ' Subroutine hat Motor bearbeitet... weiter zum nächsten

   ' Wert vom RC-Empfänger abfragen und weitergeben
   Pulsein Rckanal_b , Pind , 3 , 1                         ' Wert vom Kanal 2...Motor 2.
   Motor = 2
   Geschwindigkeit = Rckanal_b
   Call Motorsteuerung(motor , Drehrichtung , Geschwindigkeit)       'Daten an Subroutine/Motorsteuerung übergeben
   ' Subroutine hat Motor bearbeitet... weiter zum nächsten

Loop

End


Sub Motorsteuerung(byval Motor As Byte , Byval Drehrichtung As Byte , Byval Geschwindigkeit As Word)

   Geschwindigkeit = Geschwindigkeit - 85                   'Wenn der Wert vom RC-Kanal etwa 90 bis 210 beträgt ...
   Geschwindigkeit = Geschwindigkeit * 2                    ' ... grob umrechnen um innerhalb 0 bis 255 zu sein fürs PWM-Signal

   Select Case Geschwindigkeit                              ' sicherstellen, das keine Falschen Werte durchkommen
   Case Is >= 255 : Geschwindigkeit = 600                   ' maximalwert 255
   Case Is <= 15 : Geschwindigkeit = 0                      ' Untere Schwelle, das der Motor auch wirklich still stehen kann

   End Select

      Select Case Motor                                     ' Welcher Motor soll gesteuert werden ?
      Case 1 : Select Case Drehrichtung                     ' wenn Motor1, in welche richtung soll er drehen ?
               Case 0 : Portc.6 = 0                         ' Ports für Drehrichtung setzen
                        Portc.7 = 0
               Case 1 : Portc.6 = 1
                        Portc.7 = 0
               Case 2 : Portc.6 = 0
                        Portc.7 = 1
               Case Else
               Print "Fehler1-Drehrichtung"                 ' bei ungültigen Werten fehler anzeigen
               End Select
               Pwm1a = Geschwindigkeit                      ' Geschwindigkeit Motor 1 regeln
      Case 2 : Select Case Drehrichtung                     ' wenn Motor2, in welche richtung soll er drehen ?
               Case 0 : Portb.0 = 0                         ' Ports für Drehrichtung setzen
                        Portb.1 = 0
               Case 1 : Portb.0 = 1
                        Portb.1 = 0
               Case 2 : Portb.0 = 0
                        Portb.1 = 1
               Case Else
               Print "Fehler2-Drehrichtung"                 ' bei ungültigen Werten fehler anzeigen
               End Select
               Pwm1b = Geschwindigkeit                      ' Geschwindigkeit Motor 2 regeln
      Case Else
      Print "Fehler-Motor"                                  ' bei ungültigen Werten fehler anzeigen
      End Select

   Print "->Motor=" ; Motor ; " ->Richtung=" ; Drehrichtung ; " ->Geschwindigkeit=" ; Geschwindigkeit       'Werte anzeigen als Kontrolle
End Sub
Und habe bei beiden Motoren nacheinander mal beim Ausgang des L293D ein Multimeter angeschlossen. Bei Mittelstellung zeigt es 1,6V ,bei dem einen Ausschlag 2,2V und beim anderen Ausschlag 0,97 V an . Ist das nicht ganz Falsch ??Sollte nicht bei beiden Endausschlägen ein höherer Wert herauskommen ???

Die Serielle Auswertung hat nur ganz oft :Motor 1 Richtung 1 Geschwindigkeit ca.130
und Motor 2 Richtung 1 Geschwindigkeit 138 angezeigt.

Kannst du damit was anfangen ?????