- Labornetzteil AliExpress         
Ergebnis 1 bis 9 von 9

Thema: L293D und zwei Motoren

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.02.2007
    Beiträge
    277

    L293D und zwei Motoren

    Anzeige

    E-Bike
    Moin Moin,

    Ich brauche eueren Rat, ich bin am verzweigeln.
    Ich habe mir das L293D IC gekauft, und dies Fachgerecht mit mehrfachem nachprüfen angeschlossen. Die Motoren laufen beide ganz normal, wenn ich nur spannung an diese anlege.
    Wenn ich sie jedoch mit dem IC betreibe, dreht sich nur einer, der andere immer nur so eine halbe Sekunde am Anfang.

    Hier der Code:
    Code:
    $regfile = "m16def.dat"
    $crystal = 16000000
    
    
    Config Portc = Output
    Config Portb = Output
    
    M1 Alias Porta.5
    M2 Alias Porta.6
    M3 Alias Portc.6
    M4 Alias Portc.5
    
    Do
    Portb.2 = 1
    Portc.3 = 1
    
    M1 = 0
    M2 = 1
    M3 = 0
    M4 = 1
    Wait 1
    
    M1 = 1
    M2 = 1
    M3 = 1
    M4 = 1
    Wait 1
    Loop

    Hier die verwendeten Anschlüsse am Controller:

    Motor 1:
    Enable = portA.4
    A = portA.5
    B = portA.6

    Motor 2:
    Enable = PortC.7
    A = portC.6
    B = portC.5


    Am IC kann es nicht liegen, ich habe zwei von dennen, beide machen das gleich.
    Die Anschlüsse habe ich mit einem Multimeter mehrfach nachgemessen, sie sind an den angegebenen Ports.


    Bitte helft mir!

    Gruss JeyBee

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2007
    Ort
    München
    Alter
    61
    Beiträge
    199
    In Deinem Code sind Fehler:

    Config Portc = Output
    Config Portb = Output

    Ich denke, Porta sollte ein Output sein!!! Dann:

    Do
    Portb.2 = 1
    Portc.3 = 1

    Ich denke, hier willst Du die Enables einschalten, die liegen aber doch auf:

    Motor 1:
    Enable = portA.4
    A = portA.5
    B = portA.6

    Motor 2:
    Enable = PortC.7
    A = portC.6
    B = portC.5

    Fazit: Anschlußbelegung und Code passen nicht zusammen!!!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.09.2007
    Beiträge
    9
    hi,

    vergleich mal deinen code mit dem was du darunter geschrieben hast, da stimmt was nicht.

    im code verwendest du portb.2 und portc3. unten schreibst du aber porta.4 und portc.7

    EDIT // Uffi war schneller

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.02.2007
    Beiträge
    277
    Es tut mir schrecklich Leid, ich habe euch den falschen Code geschriben.

    Hier der richtige!

    Code:
    $regfile "m16def.dat"
    $crystal = 16000000
    
    Config Porta = Output
    Config Portc = Output
    
    M1 Alias Porta.5
    M2 Alias Porta.6
    M3 Alias Portc.6
    M4 Alias Portc.5
    
    
    Do
    Porta.4 = 1
    Porta.7 = 1
    
    M1 = 1
    M2 = 0
    M3 = 1
    M4 = 0
    
    
    Loop

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    30.09.2007
    Beiträge
    9
    schon mal mit porta.4 = 0 und porta.7 = 0 probiert?

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2007
    Ort
    München
    Alter
    61
    Beiträge
    199
    Da ist immer noch ein Fehler drin:

    Der enable für Motor 2 laut Deiner Beschreibung: Enable = PortC.7

    Im Code:Porta.7 = 1

    Damit ist auch klar, warum nur ein Motor läuft.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.02.2007
    Beiträge
    277
    Dann passiert logischer weise nichts. Diese Ports müssen auf 1 stehen, denn sie "aktivieren" die Motoren


    Edit: Uffi war wieder schneller.

    Stimmt ja

    Aber leider stimmt da immer noch was nicht. Ich werde dass mal noch einmal überprüfen.

    Bin zur Zeit gestresst.

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.02.2007
    Beiträge
    277
    Komisch, Hardware (verdrahtungs) technisch ist alles Ok,

    Wird wohl der Microcontroller down sein.


    Andere Ideen?

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.02.2007
    Beiträge
    277
    So Jungs,


    Sry das ich euch so an den Nervern zerrte, aber das Porblem ist jetzt gelöst. Ich habe einfach jeden einzelnen Pin als Output defniert, also so:

    Config Porta.4 = Output
    Config Porta.5 = Output
    Config Porta.6 = Output
    Config Portc.7 = Output
    Config Portc.6 = Output
    Config Portc.5 = Output


    Also, danke an alle!

    Mfg JeyBee

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress