www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Servoansteuerung


Autor: Andre (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

bin schon den ganzen Tag dabei, ein Multiplexservo über einen 4433
anzusteuern.
Nachdem ich sämtliche Tuts wie auch Google durch habe, kann ich den
Fehler nicht finden.
Im Anhang ein Bild des grundsätzlichen Aufbaus.

Folgende Sympthome treten auf:

Beim einschalten fährt das Servo in eine Richtung (links) und nach
einer Laufzeit von 2-3 sek. bricht alles zusammen (PWR LED aus).
Das Servo steht nicht im Anschlag !

Ich denke mal, das es nicht am Netzteil liegt, denn es ist ein
PC-Netzteil (5V / 7A). Liefert also für ein Servo genug.

Folgenden code verwende ich:

$regfile = "4433def.dat"
$crystal = 4000000
Ddrd = &B11111111
Do
Portd = &B00000000
Waitms 20
Portd = &B11111111
Waitms 1.5
Loop
End

Hat jemand eine Idee ?

Gruß,
Andre.

Autor: ThomasB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andre:
Verwende doch den Befehl -- Config Servos --
siehe online hilfe des Compilers-

Der Transistor ist falsch beschaltet ;-)
Basis ist OK.
Emitter nach Masse (pfeil(der Emitter) zeigt nach aussen
Kollektor nach VCC,bez. an den Servo (open Collector)
der Transi ist ein NPN Typ

mfg ThomasB

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

in der schnelle ist mir das nicht aufgefallen im entwurf.

Config Servos habe ich schon benutzt, bzw. das Beispiel welches dabei
ist.

Im Anhang findest Du eine überarbeitete Skizze.
Diese sollte doch funktionieren, oder ?

Das komische ist jetzt, das das Servo immer nur in eine Richtung läuft,
anschliessend bricht alles zusammen.

Ist es auch möglich, das Servo direkt über den PB0 anzusteuern ?

Gibt es irgendwo Schaltpläne ?

Für Hilfe wäre ich sehr dankbar.

Gruß,
Andre.

Autor: Andre (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sorry, anhang vergessen. :-)

Autor: ThomasB (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo Andre:
Die Servos kannst du direkt an die Port hängen
Siehe beigefügte Dateien im ZIP-Format.

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

hab das Problem gefunden. Es lag definitiv am Netzteil.
Anscheinend reichte mein 10 Jahre altes Netzteil nicht aus, um ein
popeliges Servo anzutreiben.
Nachdem ich ein Aktuelles ATX angeschlossen habe, gings.

Folgenden Code habe ich verwendet:

.include "4433def.inc"
.def sp = R16
rjmp main

main:
    ldi sp,LOW(RAMEND)
    out SPL,sp

    ldi r16, 0b00000001
          out DDRB, r16
loop:
    rcall delay_20
    ldi r16, 0b00000001
    out PORTB, r16
    rcall delay_1_5  ;delay von 1.5ms (optional delay_1 für 1ms)
    ldi r16, 0b00000000
    out PORTB, r16
    rjmp loop


delay_1_5:
          ldi  R17, $09
WGLOOP5:  ldi  R18, $DD
WGLOOP6:  dec  R18
          brne WGLOOP6
          dec  R17
          brne WGLOOP5
          ldi  R17, $02
WGLOOP7:  dec  R17
          brne WGLOOP7
          ret
delay_20:
          ldi  R17, $86
WGLOOP0:  ldi  R18, $C6
WGLOOP1:  dec  R18
          brne WGLOOP1
          dec  R17
          brne WGLOOP0
          nop
          nop
          ret

delay_1:
          ldi  R17, $1F
WGLOOP10: ldi  R18, $2A
WGLOOP11: dec  R18
          brne WGLOOP11
          dec  R17
          brne WGLOOP10
          nop
    ret

delay_1sek:
          ldi  R17, $24
WGLOOP20:  ldi  R18, $BC
WGLOOP21:  ldi  R19, $C4
WGLOOP22:  dec  R19
          brne WGLOOP22
          dec  R18
          brne WGLOOP21
          dec  R17
          brne WGLOOP20
          ldi  R17, $01
WGLOOP23:  dec  R17
          brne WGLOOP23
          nop
    ret

Gruß,
Andre.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.