-         
+ Antworten
Ergebnis 1 bis 2 von 2

Thema: SD20 defekt?

  1. #1
    Gast

    SD20 defekt?

    Hi!

    Hab meine C-.Control seit monaten ausgepackt weil ich ultra viel zu tun hatte

    Ich hab alle kabel zu den Ports angeschlossen und auf start gedrückt... hat sich nichts gerührt ...
    ich hab den SDA an Port1 und SCL an Port2 gehängt und andersrum .. nicht hat sich gerührt ..


    dann bin ich drauf gekommen das ich SDA an 5v und SCL an port1 gehängt hab und dann andersrum

    kann der SD20 chip dadurch defekt werden? habs noch immer nicht zum laufen bekommen

    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

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    47
    Beiträge
    1.244
    Hallo Gast,
    kann der SD20 chip dadurch defekt werden?
    ja, da der I2C-Bus mit open-collector-Treibern funktioniert, und du den Port an 5V gehängt hast, entsteht beim Schalten ein Kurzschluß, der den Transistor im Chip zerstören kann.
    Vielleicht hast du aber Glück gehabt...
    Auch ein gern genommener Fehler ist das Vergessen der Pullups.
    Gruß, Michael

+ Antworten

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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