-
        
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Hilfe ich bin am verzweifeln ............. (SD20) :?:

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.01.2004
    Alter
    30
    Beiträge
    6

    Hilfe ich bin am verzweifeln ............. (SD20) :?:

    Hi @ all

    So nun bin ich schon seid Tagen auf der Suche nach einer vernüpftigen Anleitung wie ich mit dem SD20 nen servo ansteuern kann über RS232. Und man bekommt echt nur wischi waschi antworten, das ist alles nix Halbes und nix Ganzes.
    Nach langer Suche bin ich dann zu diesem Link gekommen :
    http://www.the-starbearer.de/Roboter...servo/SD20.htm
    so nun ich hatte mir gedacht super C-Control habe ich, bestellst dir halt den SD20. Dieser kam nun dann auch sofort und ich ahbe ihn nach der Anleitung zusammen gebaut. Aber irgendwie funktioniert das alles nicht.

    Mittlerweile ist mir echt egal wie ich das ding ansteuere ich brauche es nur langsam es ist dringend. Und ich möchte nicht mehr viel Geld dafür ausgeben am besten gar nix. Den mittlerweile hat mich der Spass schon über 50 € gekostet und das finde ich ein bischen sehr viel Geld.

    Also bitte ich euch dringend um Hilfe.....

    Wäre super wenn ihr mir helfen könntet.

    THX schon mal im vorraus für evt. Antworten

    P.S. ich bin ein absoluten Neuling in diesem Gebiet also bitte recht einfach beschreiben

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Was funktioniert denn genau nicht ?? Ohne zu wissen was nicht funktioniert ist es schwierig dir zu helfen...

    So nun bin ich schon seid Tagen auf der Suche nach einer vernüpftigen Anleitung wie ich mit dem SD20 nen servo ansteuern kann über RS232.
    RS232 kann aber nicht funktionieren. Der SD20 kann nur über I2C angesteuert werden.

    Auf der Seite ist doch auch ein Bespielcode dabei. Hast du den denn mal ausprobiert ??

    MfG Kjion

  3. #3
    Gast
    Das Beispiel von starbearer.de sollte eigentlich funktionieren:

    Code:
    '***********************************************************
    '*  Ansteuerung von bis zu 20 Servos mit dem SD20          *
    '*  über den I2C Bus.                                      *
    '*  das Programm dreht den Servo am Servo PIN 1 des SD20   *
    '*  und liest den Register 0 (Version) um die Vorgänge     *
    '*                   zu demonstrieren.                     *
    '*                 (ohne Expanded Mode)                    *
    '***********************************************************
    
    '*********** Ports für den I2C Bus**************************
    define SDA Port[15]
    define SCL Port[16]
    
    define I2C_Daten byte
    define N byte 'Schleifenvariable
    define Startbyte byte
    define Kommandobyte byte
    define ServoNummer byte
    define ServoWinkel byte
    
    'I2C Bus Ruhezustand
    SDA=ON
    SCL=ON
    
    '*********** Hauptprogramm********************************
    #Main
    
     Get Startbyte                                            ' Startbyte von der seriellen Schnittstelle
      If Startbyte <> 97 Then GoTo Main                       ' Schleife, solang bis ein Startbyte empfangen wurde
      If Startbyte = 97 Then GoTo KlasseA                     ' falls Kommandobyte = asci(97)="a" springe zur #KlasseA
      
    #KlasseA                                                  ' Klasse A: Servodirektsteuerung
     get ServoNummer                                          ' Nummer des anzusteuernden Servos von der seriellen Schnittstelle empfangen
     get ServoWinkel                                          ' Winkel des anzusteuernden Servos von der seriellen Schnittstelle empfangen
     GoSub ServoStellen
    GoTo Main
    
    
    #ServoStellen
     GoSub I2C_Start                                          ' I2C-Startbedingung
     I2C_Daten = 194                                          ' Adresse des SD20 am I2C Bus
     GoSub I2C_Write                                          ' Adresse übertragen
     I2C_Daten = ServoNummer                                  ' Register des Servos, der  angesprochen werden soll schreiben
     GoSub I2C_Write                                          ' Register übertragen
     I2C_Daten = ServoWinkel                                  ' Winkel auf den dieser Servo drehen soll schreiben
     GoSub I2C_Write                                          ' Winkel schreiben
     GoSub I2C_Stop                                           ' I2C-Stopbedingung.
    Return
    
    '*********** I2C Bus Standard Routinen********************
    
    #I2C_Start
     SDA = OFF
     SCL = OFF
    Return
    
    #I2C_Stop
     SDA = OFF
     SCL=ON
     SDA=ON
    Return
    
    #I2C_Write
     For n = 1 To 8                                             ' 8 Bit schreiben in For-Next-Schleife
      SDA = OFF
      if (I2C_Daten and 128) =128 then SDA=ON
      pulse SCL
      I2C_Daten=I2C_Daten shl 1
     Next
     pulse SCL
    Return
    
    #I2C_Read
     I2C_Daten = 0
     deact SDA
     For n = 1 To 8                                             ' 8 Bit lesen in For-Next-Schleife
       I2C_Daten=I2C_Daten shl 1
       SCL=ON
       If SDA Then I2C_Daten = I2C_Daten + 1
       SCL = OFF
     Next
    Return
    
    #Ack
     SDA = 0
     pulse SCL
    Return
    
    #NoAck
     SDA = 1
     pulse SCL
    Return

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    20.01.2004
    Alter
    30
    Beiträge
    6
    Hi

    Danke erst mal für die schnelle Antwort.
    Also das Problem liegt darin, dass ich den Code einfach auf die C-Control gemacht habe die Schaltung gebaut habe, und das basic Programm zum laufen gebracht habe.

    das basic Programm geht das habe ich testen können das sendet das was es soll. Nur habe ich das Problem das ich das gefühl habe die CC regiert gar nicht auf das was ich sende oder gibt es nicht an den SD20 weiter, dass heißt es passiert nix und ich finde den fehler nicht.

    Wer möchte kann mir auch per ICQ schreiben 191799327

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    So nun bin ich schon seid Tagen auf der Suche nach einer vernüpftigen Anleitung wie ich mit dem SD20 nen servo ansteuern kann über RS232. Und man bekommt echt nur wischi waschi antworten, das ist alles nix Halbes und nix Ganzes.
    Also ich bin mir eigentlich sicher nicht gefragt worden zu sein.

    Auch würde mich interessieren, was eigentlich nicht geht. Wie weiter oben schon steht, das Programmbeispiel von starbearer scheint OK zu sein. Zumindest muss sich am Servo erst mal was tun.

    Hast du an die PullUp-Widerstände beim I2C gedacht?

    Viele Grüße
    Jörg

  6. #6
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi alpha, hast Du SD20 auch wirklich an Port 15/16 angeschlossen oder an welchem Port? Hast Du das Beispiel entsprechend angepaßt !

    Gruß Frank

  7. #7
    Gast
    Ja auf Port 15 & 16 auf Steckleiste 1
    Wie kann ich kontrollieren ob das C Control auch was sendet ???
    Oder eher gesagt wie kann man prüfen oder SD20 was empfängt ???

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo alpha,

    Wie kann ich kontrollieren ob das C Control auch was sendet ???
    Oder eher gesagt wie kann man prüfen oder SD20 was empfängt ???
    Am besten kann man sowas mit einem Oszi sehen. Vielleicht hast du ja die Möglichkeit einen leihweise zu bekommen.

    Aber nochmal zurück zu Aufbau. Die Schaltung von starbearer ist aus Übersichtsgründen nicht ganz vollständig.
    So fehlen z.B. PullUp-Widerstände (4,7K o.ä., hier unkritisch) auf den I2C-Leitungen. Weiterhin fehlt (bei Nutzung des Servo-Ausgangs 5 (Pin6) ebenfalls ein 4,7K PullUp.
    Die Betriebsspannung ist nahe am Schaltkreis mit einem Kondensator 100n abzublocken. Sofern die Servos aus der gleichen 5V-Spannungsquelle, wie der Controller mit versorgt werden, sind weiterhin Elkos 100-1000uF (je nach Anzahl der Servos) vorzusehen, da die Anlaufströme teilweise erheblich sind. Besser ist hier auf jeden Fall eine eigene Versorgung für die Servos.


    HTH und Viele Grüße
    Jörg

  9. #9
    Gast
    Es sind doch schon PullUp Widerstände schon auf Starter- und Applikationsboard!

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    20.01.2004
    Alter
    30
    Beiträge
    6
    Zum einen erst mal Danke herr Pohl für die schnelle Antwort sowohl im Forum als auch per E-Mail.

    So nun habe ich noch mal eine dumme Frage: muss ich die Mase der Schltung mit der masse vom C Control verbinden? weil dies war bislang nicht der fall. ich hatte sowohl eine Stromversorgung für das C-Control als auch für die Schlatung selbst.

    Kann dies vielleicht der Grund sein warum sich nichts tut ???

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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