-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Problem:Servo schluckt Signal

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.06.2010
    Beiträge
    42

    Problem:Servo schluckt Signal

    Anzeige

    Hey,

    ich habe folgendes Problem.
    Ich gebe an einen Port das Signal für einen Servo aus. Das Signal stimmt (mit Oszilloskop nachgemessen), sobald ich jedoch den Servo anschließe verschwindet das Signal, obwohl der Mikrocontroller weiterläuft.

    Hat jemand eine Idee wo das Problem liegen könnte?
    Bei dem Controller handelt es sich um eine Atmel At89S8252 (Platine von der Schule)

    Mfg Kif

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Port 0 ist OpenDrain, da könntest du Probleme bekommen.
    Port 1 sollte funktionieren für deine Anwendung.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.06.2010
    Beiträge
    42
    Ich habe den Port2.1 für das Signal verwendet.
    Was genau bedeutet OpenDrain.

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Ohne Strommessung des für Servosteuerung benutzten Pins fällt mir leider nichts ein.

    MfG

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Port2.1 sollte funktionieren. Hast du ihn auch als Ausgang konfiguriert.
    OpenDrain bedeutet das der Ausgang nur nach GND schaltet.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    15.06.2010
    Beiträge
    42
    Den Port2.1 hab ich nicht als Ausgang konfiguriert. Wie kann man mit Assembler Ports als Ausgang definieren? Ich kann das ganze erst wieder Donnerstag testen (in der Schule) trotzdem schonmal Danke.

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Zitat Zitat von kif
    ... Wie kann man mit Assembler Ports als Ausgang definieren ...
    Beim AT89S8252 kann man die IO-Ports mit internem PullUp etwa so als Ein- bzw. Ausgang initialisieren wie unten für einen tiny13.
    Code:
    ;===================================================================================
    ; Initialisierungprozeduren, für µC, ADC und Timer-ISR
    ;===================================================================================
    ;
    mc_init:	;=== Initialisiere Mikrocontroller
    		; PB0 (servo1) + PB3 (servo2) = Ausgang, PB4 (poti1) = ADC-Eingang
    	ldi	r16,0b00001000	;Ausgang (1) auf PB3, Eingang (0) auf PB4
    	out	ddrb,r16		   ;Datenrichtungsbits setzen, Port ist Ausgang
    	ldi	r16,0b11100111	;Portbits setzen
    	out	portb,r16		  ;  und initialisieren
    	ret			;=====----->>>>>
    Genaueres zu Deinem controller steht im Datenblatt (klick hier), leider kenne ich die Registernamen für die Ports nicht auswendig.
    Ciao sagt der JoeamBerg

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    15.06.2010
    Beiträge
    42
    Kann das sein das das genannte Programm nicht funktionieren würde? Der Atmel At89S8252 Controller gehört zu der 8051 Familie und in der Schule haben wir nie die Befehle "ldi" oder "out" sondern nur "move" etc.
    Wie schon gesagt ich kann es erst wieder am Donnerstag in der Schule testen.

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Zitat Zitat von oberallgeier
    ... Beim AT89S8252 kann man die IO-Ports ... etwa so ... initialisieren wie unten für einen tiny13 ...
    Zitat Zitat von kif
    Kann das sein das das genannte Programm nicht funktionieren würde ...
    Stimmt, MEIN Beispielprogramm zeigt die Vorgehensweise. Es ist ja nicht für DEINEN Controller bzw. Deinen Assembler geschrieben. Der Ausdruck "etwa so" heißt ja eben nicht "genau so". Die für Deinen Controller bzw. die für Deinen Assembler zutreffenden Befehle und Register musst Du selbst aus Deinen Unterlagen raussuchen. Genau das sagt eindeutig der letzte Satz in meinem oberen Posting.
    Ciao sagt der JoeamBerg

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    15.06.2010
    Beiträge
    42
    Ja gut, aber auf mikrocontroller.net finde ich wiederrum einen Thread wo steht das man bei der 8051 Familie das nicht definieren muss, deshalb frag ich lieber nochmal nach ob das überhaupt geht.

    ((http://www.mikrocontroller.net/topic/58375 "vierter Post"))

    Und das mit dem Datenblatt ist ja gut, aber für einen Laie ist das schwer zu verstehen, wenn ihr mir einen Hinweiss gibt unter welchen Unterpunkt ich schauen soll dann mache ich das gern, aber davor man sich knapp 41 Seiten übersetzten muss, darf man ja auf ein bisschen Hilfe aus dem Forum hoffen.

    Mfg Kif und danke für die Mühe

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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