-
        

Ergebnis 1 bis 10 von 10

Thema: L293D wie schalten ?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    27
    Beiträge
    324

    L293D wie schalten ?

    Anzeige

    Ich möchte zum testen des Chips den Motor einfach mal in eine Richtung laufen lassen, ohne PWM. Ich hab mir mit Hilfe des Wikis folgende (billig) Schaltung gebastelt:

    Was ist falsch?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schalt.png  

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Was ist falsch?
    - die Versorgungsspannung für den Motor auf GND zu legen
    - die Beschaltung für den Enable Pin wegzulassen
    - die Beschaltung für den 2. Eingang wegzulassen

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    27
    Beiträge
    324
    erst mal denke schön - Fragen die sich leider trotzdem noch ergeben:

    1: Wo soll ich die Versorgungsspannung sonst anlegen wenn nicht zwischen VCC und GND?

    2. Da hasst du Recht, ich habe vergessen den enable pin mit VCC zu verbinden (aber nur in der zeichnung)

    3. Die Beschaltung für den 2. Eingang hab ich weggelassen, weil der Motor sich doch drehen soll, wenn ein Eingang auf high ist und einer auf low, also müsste das doch eigentlich IO sein.

    Kann mir villeicht jmd. aml eine ähnliche wie die meine Skizze anfertigen, die noch dazu richtig ist?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    1. Der Chip hat zwei Pin für Versorgungsspannungen, einer für die Logik, einer für den Motor. Pin 16 ist für die Logik, also 5V, Pin 8 für die Motorspannung.
    3. Nicht benutzte Eingänge auf ein eindeutiges Potential legen, nicht offen lassen.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    27
    Beiträge
    324
    So - Schaltung passt (dannk euch) - Motor läuft

    Code:
    $regfile = "attiny13.dat"
    $crystal = 1200000
    Config Portb = Output
    Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down
    
    Portb.3 = 1
    Portb.4 = 0
    
    Do
       Pwm0a = 255
    Loop
    
    End
    Aber: bevor der Motor anfängt richtig zu laufen "stottert" er einige Sekunden vor sich hin - How come? Liegt das am Programm?

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    27
    Beiträge
    324
    Ich muss mich verbessern - außer dem "Gestottere" gibt der Motor gar nichts von sich und hört selbst damit gelegentlich ganz auf.

    Falls das hilft:

    Der Motor ist ein "gehackter" Modellbauservo für 4,8V die Motorstromquelle ist ein voller 6V Akku und die Schaltspannung sind 4,8V
    der Controller ist ein Attiny13 dessen Fusebits auf 9600000/8 eingestellt sind.

    Bitte helft mir - ich verzweifle!

    (nebenbei - kann man mit einem Controller, der nur einen Timer hat glechzeitig einen PWM Ausgang betreiben und Befehle wie "waitms" benutzen?)

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Du hast bei $crystal=12000000 eingestellt, probier mal 1000000.
    Wenn du waitms in der main-schleife benutzt sollte es gehen.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    27
    Beiträge
    324
    das war leider nicht der Fall - das Problem war, dass in den Fusebits tatsächlich 9,6 Mhz und NICHT 9,6/8Mhz eingestellt war. Nachdem ich dies behoben habe läuft der Motror wunderbar. Leider stellt sich mir jedoch ein neues Problem, weil er sich - egal ob ich pwm0a = 0 oder pwm0a = 255 habe - mit der selben Geschwindigkeit dreht. Hat irgendwer darauf 'ne Antwort?

    (Es tut mir wirklich Leid euch ständig hiermit auf die nerven zu gehen )

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    das Problem war, dass in den Fusebits tatsächlich 9,6 Mhz und NICHT 9,6Mhz eingestellt war.
    Naja, hauptsache dein Controler versteht dich

    Leider stellt sich mir jedoch ein neues Problem, weil er sich - egal ob ich pwm0a = 0 oder pwm0a = 255 habe - mit der selben Geschwindigkeit dreht. Hat irgendwer darauf 'ne Antwort?
    Nö, aber einen Frage. An welchen Pin vom Controller hast du den Enable-Pin vom L293D angeschlossen?

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    27.08.2007
    Alter
    27
    Beiträge
    324
    Ich hab ihn an PB0 angeschlossen.

Berechtigungen

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