Forum: Mikrocontroller und Digitale Elektronik servomotor an L293D


von elektroneuling (Gast)


Lesenswert?

Hallo,
kennt jemand das Buch: Roboter selbst bauen von Ulli Sommer?

Auf jedenfall ist da ein Tischroboter TR-1 mit Schaltplan der über 
pic16f84a gesteuert wird beschrieben. Dort steht drin, dass man je 2 
mini Servo Motoren parallel an den Motortreiber IC: L293D anschließt. 
Ich hab mir 4 mini Servo motoren bestellt, der 3 Anschlüsse aufweißt. 
(Plus, Minus und Pulsweitenmodulation (PWM). Das ist ja auch ganz 
normal, da er ja über die Modulation gesteuert wird.

DAS PROBLEM:
Im Schaltplan besitzt er aber nur 2 Anschlussleitungen.

Soll ich einfach den PWM nicht anschließen, sondern einfach nur Plus und 
Minus hernehmen????

Im internet hab ich was über Servo Hacking gelesen. Hab aber Angst die 
zu zerstören, da ich im diesen Gebiet nicht viel Ahnung habe. Außerdem 
waren die so teuer :-(

Mit MPLAB hab ich eine Assemblerdatei programmiert: (Das Auto soll ein 
Viereck fahren)

    #include <P16f84a.inc>
;Configuration
;4 MHz, Power on Timer, kein Watchdog, XT - Oszillator
    __CONFIG _PWRTE_ON&_WDT_OFF&_XT_OSC

;Variablen festlegen
Timer1     equ   H'0C'
Timer2    equ    H'0D'

    goto  init

;--------------------------------------------- Unterprogramm: Delay
Delay
    movlw   D'200'
    movwf  Timer1
Delay2
    movlw  D'200'
    movwf  Timer2
    DECFSZ  Timer2,F
    goto  $-1
    DECFSZ  Timer1,F
    goto   Delay2

    return
;--------------------------------------------- Hauptprogramm
init
    bsf   STATUS,RP0
    ;Auf Bank 1
    movlw  B'00000000'
    movwf  TRISA
    ;PORTA (RA0 - RA3 = Ausgang)
    bcf    STATUS,RP0
    ;auf Bank 0
    clrf  PORTA
    ;zuvor gesetze Bits an PORTA
    ;sind gelöscht
loop
    ;Vorwärts fahren
    movlw  B'00000110'
    movwf  PORTA
    call   Delay

    ;Anhalten
    movlw  B'00000000'
    movwf  PORTA
    call  Delay

    ;Neuzig grad nach Rechts
    movlw  B'00000101'
    movwf  PORTA
    call   Delay

    ;Anhalten
    movlw  B'00000000'
    movwf  PORTA
    call   Delay
    goto  loop

    end
;--------------------------------------------- Ende

Kann mir bitte jemand helfen, wie ich die Servo Motoren an L293 
anschließen soll??

Tut mir leid, ich hätte mich wohl besser informieren sollen, bevor ich 
so viel Geld rausschmeise. Aber im Buch steht ausdrücklich Servo Motoren 
drin.

Mit freundlichen Grüßen
elektroneuling

von Uwe .. (uwegw)


Lesenswert?

Wenn die Servos als Antrieb für Räder verwendet werden sollen, musst du 
sie hacken (sonst können sie sich ja nicht frei drehen). Dabei dann die 
gesamte Elektronik entfernen und den Motor direkt anschließen, somit 
bleiben auch nur zwei Leitungen übrig.

von elektroneuling (Gast)


Lesenswert?

danke für die schnelle Antwort, aber es gibt ja zwei hacking methoden, 
eine normale und ein mit PWM. Was für eine Hacker Methode soll ich 
verwenden? Und den Programm in Assembler muss ich dann auch ändern oder?

von Cyberhaze (Gast)


Lesenswert?

Hallo,

ich habe den Tischrobot TR1 entwickelt und gebaut.

Der Beitrag über den Tischrobot aus dem Buch
von Uli Sommer ist mein Beitrag.
Der kleine Robot steht immer noch in meiner Werkstatt.
Wenn Du Fragen dazu hast, dann schau'
doch einfach mal auf meiner Seite www.cyberhaze.de
vorbei!

Übrigens, wenn Du Servos verwendest,
dann musst Du im Getriebe der Servos eine kleine Nase
am Zahnrad entfernen, so daß der Servomotor eine 360 Grad Drehung
machen kann.
Ausserdem entfernst Du die komplette Servoelektronik
und behältst nur den Motor und das Gehäuse.
Dann hast Du einen schönnen Antriebsmotor.

Bezüglich Ansteuerung eines Servomotors,
schau Dir einfach mal die Seite an:
http://www.sembs.rv.bw.schule.de/mc/servomotor.htm

Es geht bei Standardservos mit PWM im Bereich 1500 µS.

Gruß
Jürgen

von fakulatias (Gast)


Lesenswert?

Da wir hier gerade von Servohacking reden, poste ich mal hier rein. Ich 
wollte auch einen Servo hacken und an einem L293 betreiben. Dazu habe 
ich ihn nach dem DC-Servohacking Tutorial von

http://www.electronicsplanet.ch/Roboter/Servo/hacking/dchack.htm

gehackt. Vieleicht hilft der Link ja auch elektroneuling weiter.

Der Motor funktioniert gut.

Nun will ich den Servo wieder in seiner normalen Funktion betreiben. 
Also nicht mehr als einfachen Motor sondern als Servo. Kann mir jemand 
helfen, wie ich da vorgehen muss?

Danke viel mal

fakulatias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.