Servoansteuerung

Gast #48806
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.
Angehängte Dateien:
Gast #48807
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
Gast #48808
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.
Gast #48811
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

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.