-         

Ergebnis 1 bis 8 von 8

Thema: C-Controlpro MEGA32 Servo Steuerung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.01.2009
    Beiträge
    9

    C-Controlpro MEGA32 Servo Steuerung

    Anzeige

    Hallo ,

    Ich bin seid einiger Zeit "stolzer" Besitzer einer C-Controlpro 32 und konnte bis heute auch schon etwas Programmiererfahrung sammeln (Basic). Doch jetzt stoß ich doch an meine Grenzen.

    Ich möchte mit meinem Mircrocontroller einen Servo bewegen.

    Und bei diesen Gerätschaften ist es ja so das das Steuersignal eine länge von min. 1ms und max. 2ms haben muss und dazwischen 20ms pause sein muss. Jetzt hab ich das ganze versucht so zu realisieren:

    Sub main()

    Do While True
    Port_WriteBit(SERVO,1)
    AbsDelay(1)
    Port_WriteBit(SERVO,0)
    AbsDelay(20)
    End While
    End Sub

    Hat aber nicht richtig funktioniert das Servo war wie wahnsinnig am brummen und hat auch keine Endlage erreicht.
    Dann stieß ich auf die PWM-Kanäle diese anzusteuern ist mir aber immer noch ein Rätsel.
    In einem Buch fand ich ein Beispielprogramm zur Tonerzeugung und dachte das man das doch sicher auch zum Servosteuern Ge/Missbrauchen:

    Sub BEEP(Tone As Word,Periode As Word)
    Timer_T0FRQ(Tone,PS_64)
    AbsDelay(Periode)
    Timer_T0Stop()
    End Sub

    Zu diesem Programm hab ich auch noch zwei Fragen:

    1. Was bedeutet PS_64? (Im Buch steht was von Zeitbasis 4,34µs)
    2. Wiso musste ich vorher keinen Port für den Ausgang dieses Programms festlegen? Bei mir ist der auf Port B.3

    Ich hoffe ich konnte euch mein Problem verständlich machen und freue mich auf viele Antworten

    Mfg Humpelbein

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    04.05.2010
    Beiträge
    88
    Hat aber nicht richtig funktioniert das Servo war wie wahnsinnig am brummen
    ist aber schon richtig verkabelt?
    die kabel farbe kann von hersteller zu hersteller unterschiedlich sein.

    stromversorgung zu schwach?

    fand ich ein Beispielprogramm zur Tonerzeugung und dachte das man das doch sicher auch zum Servosteuern Ge/Missbrauchen:
    ne ne lass mal.

    Code:
    Sub main()
    
    Do While True
    Port_WriteBit(SERVO,1)
    AbsDelay(1)
    Port_WriteBit(SERVO,0)
    AbsDelay(20)
    End While
    End Sub
    da ich diese sprache nicht beherrsche, kann ich dir nur sagen wie der ablauf sein sollte:

    1. servo steuereingang auf high.
    2. 1 ms warten.
    3. servo steuereingang auf low.
    4. 20 ms warten.
    5. wieder von vorn.

    somit sollte der servo in eine endposition fahren und dort ohne großes brummen verweilen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.01.2009
    Beiträge
    9
    Ja der verlauf den du beschrieben hast halte ich ja eigendlich auch ein:

    Port_WriteBit(SERVO,1) = Servoeingang auf high
    AbsDelay(1) = 1ms Warten
    Port_WriteBit(SERVO,0) = Servoeingang auf low
    AbsDelay(20) = 20ms Warten

    Und das ganze in einer Endloschleife

    Stromversorgung hab ich über nen 7805 Festspannungsregler mit 1,5A maxbelastung.

    Das Servo ist überigens ein MS-X6 von Multiplex (wenn das hilft)

    Ich hab dann aber auch noch ein Problem wenn ich das mit dem oben beschriebenen Programmcode mache dann kann ich nur ne pause von 1ms oder 2ms machen also nur in die endlagen fahren.

    Und wegen der verkabelung ich hab Orange,Braun und rot zur verfügung,
    Hab + auf rot, - auf Braun und das Signal auf Orange gelegt.


    gruß Humpelbein

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    @Humpelbein:
    Ich möchte mit meinem Mircrocontroller einen Servo bewegen.
    Mit CCBasic ist das eigentlich ab der CCPRO-IDE V2.0 mit den eingebauten Befehlen (Servo_Init, Servo_Set) möglich! Man braucht da nichts eigenes zu konstruieren.

    Hier die Demos für den RP6 (mit M12:
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=48534

    Gruß Dirk

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.01.2009
    Beiträge
    9
    Danke erst mal für die schnelle Hilfe,

    nur die Demoprogramme laufen bei mir nicht und ich bin im Moment noch zu "Dumm/Unerfahren" das umzuschreiben könnte mir einer das mit dem Servobefehl kurz erklären also was ich definieren muss, wie ich dem servo sage welche position er einehmen muss etc. Das wär mir echt ne Hilfe.

    Die Demos sind zwar auch hilfreich aber da ist noch soviel drin was ich nicht brauche wie die LCD anseuerung und ich kann nicht einfach was wegschneiden wenn ich nicht weiß wofür das genau ist und ob es zur eigendlichen steuerung beiträgt.

    Gruß Humpelbein

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    könnte mir einer das mit dem Servobefehl kurz erklären also was ich definieren muss, wie ich dem servo sage welche position er einehmen muss etc. Das wär mir echt ne Hilfe.
    In der CCPRO Anleitung wird das erklärt.
    Ein einfaches Demo-Programm gibt es auch: servo_test.cbas

    Gruß Dirk

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    18.01.2009
    Beiträge
    9
    Ich mir jetzt mal das demoProgramm runtergeladen aber das ist auf das application Board zugeschnitten und hab nur das Projectboard und damit weder tastertur noch LCD Display und in dem Programm verwenden die nicht mal servo_init() ich komm da nich weiter.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    18.01.2009
    Beiträge
    9
    So hab es doch hinbekommen Ich danke für die antworten

    gruß humpelbein

Berechtigungen

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