- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 10

Thema: SD20 über I2C an C-Control1 auf A.Board funktioniert nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.07.2005
    Beiträge
    5

    SD20 über I2C an C-Control1 auf A.Board funktioniert nicht

    Anzeige

    Praxistest und DIY Projekte
    Hallo, ich habe folgendes Problem mit dem SD20: Nach mehrmaligen Verkabeln (3 Versuche: 2 Platinen + nur noch Kabel angelötet) funktioniert der Controler immer noch nicht:
    Beim Anlegen der Spannung zucken die Servos (normal) - Stromversorgung soweit an allen notwendigen Pins getestet.

    Gibt es ein Kontrollprogramm , welches den SD20 auf sein korrektes Funktionieren überprüfen kann (Antwort über das terminal ausgeben)? Weitere Lösungsvorschläge für mein Problem wären sehr hilfreich. (mittlerweile schon zu viel Zeit damit verbracht - sehe keinen Fehler)
    Zum kurzen Verwendungszweck: Es sollen lediglich 2 Servos von einer C-Control 1 auf dem Application Board angesteuert werden (mit einer möglichst präzisen Positionsangabe für einen 3dScanner) - Position soll per Comport mit einem Delphi Programm übermittelt werden ( als Sensoren sind ein GP2D12 u. GP2D120 montiert - funktionieren)

    getestete Servos:

    Graupner JR C507 @4.8V
    Conrad ES-05 TopLine (2 verschiedene)


    Wie folgt verkabelt:
    C-Control1 auf Application Board
    DigitalPorts 1/2 (7/8 oder 15/16 (An die Stiftleiste der C-Control angelötet))

    z.zt:
    DigitalPort 7 an SD20 Port 15
    DigitalPort 8 an SD20 Port 14

    C-Control GND an SD20 Port 19 sowie Port 8, Servo Farbe Schwarz(Conrad)/Braun(Graupner) , Mittelanschluß des Keramikresonator
    C-Control 5V an SD20 Port20 sowie Port 1, Servo Farbe Rot (Conrad/Graupner)

    Servo gelb/weiß an SD20 Port 3 (oder Port 1 od. 2 - beides getestet)

    100nF (2 verschiedene getestet) an SD20 Port 19 zu 20

    mitgelieferten Resonator Außenpole an SD20 Port 10 u. 9 (andere Anschlussrichtung getestet - horizontal um 180° gedreht)

    Desweiteren habe ich einen eigenen Stromanschluss für die Servos angebracht - 6V (Am Akku oder mit Netzgerät), Ergebnis ist gleichbleibend.



    #######

    Basic Programm:

    define SDA Port[1]
    define SCL Port[2]

    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
    gosub I2C_Start ' I2C-Startbedingung
    I2C_Daten=194 ' Adresse des SD20 am I2C Bus
    gosub I2C_Write ' Adresse übertragen
    I2C_Daten = 3' Register des Servos, der angesprochen werden soll schreiben
    gosub I2C_Write ' Register übertragen
    I2C_Daten = 0' 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 12 =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
    Benutzer Stammmitglied
    Registriert seit
    05.07.2005
    Ort
    Earth
    Beiträge
    95
    Hello,
    It could be that you are using an SD20 with Revision 2 software.
    Writing a “0” as servo position will deactivate (turn off) the servo.
    Try writing a “1” instead.
    Success!
    Greetings,
    H.J. Windt

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    17.07.2005
    Beiträge
    5
    Funktioniert bei verschiedenen Stellungen ebenso wenig

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    05.07.2005
    Ort
    Earth
    Beiträge
    95

    Re: SD20 über I2C an C-Control1 auf A.Board funktioniert nic

    Zitat Zitat von ubergeek
    DigitalPort 7 an SD20 Port 15
    DigitalPort 8 an SD20 Port 14

    Basic Programm:

    define SDA Port[1]
    define SCL Port[2]
    .........
    this could be the problem
    Try changing your program to..

    define SDA Port[7]
    define SCL Port[8]

    Greetings,
    H.J. Windt

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    17.07.2005
    Beiträge
    5
    alle Kombinationen getestet - immer noch erfolglos ; Testprogramm für die Funktionsfähigkeit der IC?

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    05.07.2005
    Ort
    Earth
    Beiträge
    95
    Hello,
    I have uploaded my E-I2C DEVICE SEEK software for you to try.
    https://www.roboternetz.de/phpBB2/dl...le&file_id=311
    This software will check all the I2C 7 bit addresses for any device connected to the E-I2C bus and display the address(es) on a terminal program.
    This way we can make sure that the SD20 is reacting.
    My software uses port[1] as SDA and port[2] as SCL.
    Make sure to disconnect the servo first and let me know if the terminal program displays any found I2C devices.
    Greetings,
    H.J. Windt

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    17.07.2005
    Beiträge
    5
    " WINDT SYSTEMS
    EI2C DEVICE SEEK
    EI2C Search ADR = &d0"

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    05.07.2005
    Ort
    Earth
    Beiträge
    95
    Hello,
    If the software finds anything then it will display:

    *********************
    EI2C Device!
    Address = &dxx
    *********************

    xx is the decimal address
    Greetings,
    H.J. Windt

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    17.07.2005
    Beiträge
    5
    .....
    EI2C Search ADR = &d194
    *********************
    EI2C Device!
    Address = &d194
    *********************
    ....

    Die C.Control war kaputt , habe den IC jetzt an eine (zweite) CC1 Basic TypM angeschlossen.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    05.07.2005
    Ort
    Earth
    Beiträge
    95
    Hello,
    I’m sorry to hear that you C-Control is malfunctioning.
    I have created a small test program for you to try.
    You will need to use a terminal program because the program will ask you for a servo number and a servo position.
    Make sure to use 2 power supply’s, 1 power supply for the C-Control and SD20(+5V from C-Control), the other power supply for your servo.
    Remember to connect all the power supply GND’s (-) together.
    Greetings,
    H.J. Windt
    Angehängte Dateien Angehängte Dateien

Berechtigungen

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

12V Akku bauen