-         

Ergebnis 1 bis 10 von 10

Thema: Problem mit Servobefehl

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2005
    Ort
    Erfurt
    Alter
    39
    Beiträge
    6

    Problem mit Servobefehl

    Anzeige

    Hallo,
    Ich will mit einer mega8 ein Servo ansteuern. Dies soll über I2C geschehen.
    Dazu habe ich mir die i2cslave.lib von MCS Electronics gekauft. Die Lib greift auf den Timer0 zu.
    Mein Problem besteht nun darin, das ich den Servobefehl nicht anwenden kann, da er auch auf den Timer0 zugreift. Die Lösung wäre das Servo über Timer1 anzusteuern. Hat jemand nen Quelltext dazu?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    kann man die Slavelib nicht so configurieren, das die mit Hardware- TWI läuft, dann brauchts nämlich keinen Timer ?!

    Timer ist nur für Soft-TWI, der Mega8 kann das aber schon Hardwaremässig.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.07.2005
    Ort
    3. Planet
    Alter
    26
    Beiträge
    547
    Ganz kurz ne zwischen Frage:
    Kann man das so machen, oder kann man keine Servoposition abfregen?

    servo(1) = 50
    waitms 2000
    servo(1) = 150
    if servo (1) = 110 then .....


    Dim A As Word
    Dim B As Word
    Dim C As Word

    Config Servos = 2 , Servo1 = Porta.0 , Servo2 = Porta.1 , Reload = 10
    Config Pina.0 = Output
    Config Pina.1 = Output
    Config Pina.2 = Output
    Enable Interrupts
    A Alias Servo(1)
    B Alias Servo(2)
    Move:
    Do

    A = 51
    A = 52
    A = 53
    A = 54
    A = 55
    A = 56
    A = 57
    A = 58
    A = 59
    A = 60
    A = 61
    A = 62
    A = 63
    A = 64
    A = 65
    A = 66
    If A = 51 Then B = 101
    If A = 52 Then B = 102
    If A = 53 Then B = 103
    If A = 54 Then B = 104
    If A = 55 Then B = 105
    If A = 56 Then B = 106
    If A = 57 Then B = 107
    If A = 58 Then B = 108
    If A = 59 Then B = 109
    If A = 60 Then B = 110
    If A = 61 Then B = 111
    If A = 62 Then B = 113
    If A = 63 Then B = 114
    If A = 64 Then B = 115
    If A = 65 Then B = 116
    If A = 66 Then B = 117



    Waitms 1000
    A = 65
    A = 64
    A = 63
    A = 62
    A = 61
    A = 60
    A = 59
    A = 58
    A = 57
    A = 56
    A = 55
    A = 54
    A = 53
    A = 52
    A = 51
    If A = 51 Then B = 101
    If A = 52 Then B = 102
    If A = 53 Then B = 103
    If A = 54 Then B = 104
    If A = 55 Then B = 105
    If A = 56 Then B = 106
    If A = 57 Then B = 107
    If A = 58 Then B = 108
    If A = 59 Then B = 109
    If A = 60 Then B = 110
    If A = 61 Then B = 111
    If A = 62 Then B = 113
    If A = 63 Then B = 114
    If A = 64 Then B = 115
    If A = 65 Then B = 116
    If A = 66 Then B = 117

    Waitms 1000
    Loop
    [/code]

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2005
    Ort
    Erfurt
    Alter
    39
    Beiträge
    6
    Zitat Zitat von linux_80
    Hallo,

    kann man die Slavelib nicht so configurieren, das die mit Hardware- TWI läuft, dann brauchts nämlich keinen Timer ?!

    Timer ist nur für Soft-TWI, der Mega8 kann das aber schon Hardwaremässig.

    Kannst du mir eventuell einen Tip geben, wie man die lib so configuriert?

    Danke schon mal für die schnelle Antwort.

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Beim Bascom isses meistens so, daß es zwei Libraries gibt, eine für SW-I2C und eine für HW. letztere muß man ev. durch "$LIB= " dazutun.
    Name dieser Lib (muttu gucken) wahrscheinlich irgendwas mit "xx_TWI.LBX" . Das ist aber Spekulation.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    64
    Beiträge
    277
    Hallo,

    Zitat Zitat von linux_80
    kann man die Slavelib nicht so configurieren, das die mit Hardware- TWI läuft, dann brauchts nämlich keinen Timer ?!
    man kann, besser gesagt, es wird gleich eine passende LIB mit dem Namen "i2C_twi-slave.lbx" mitgeliefert. Da werden dann keine Timer verschwendet und die Library ist auch insgesamt leichter zu handhaben.

    @sulu
    Die Sevoposition läßt sich so nicht auslesen.

    @dynamex2k

    Wie die Libs benutzt werden, steht in den Beispielprogrammen und den PDFs.

    Grüße
    Henrik

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    @Hrei, wie immer ein Wissender: Ist bei der Bascom-Slave Library eigentlich ein Multimasterbetrieb abgedeckt ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    64
    Beiträge
    277
    Hallo Robert,
    Zitat Zitat von PicNick
    Ist bei der Bascom-Slave Library eigentlich ein Multimasterbetrieb abgedeckt ?
    Leider, leider nein . BTW: Es werden auch nur die kompilierten Versionen der LIBs mitgeliefert. Für Modifikationen etwas unbequem.

    Grüße
    Henrik

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    *grmpf*, danke. D.h., ich muß mir das eh' selber schreiben. (Für die paar € hätt sich das nicht ausgezahlt). Naja, vielleicht kann's ja dann noch wer brauchen. Schönen Feiertag noch !
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    24.05.2005
    Ort
    Erfurt
    Alter
    39
    Beiträge
    6
    habe das ganze mit der hardware twi gelöst
    funktionier super.
    danke für eure Hilfe

Berechtigungen

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