- Labornetzteil AliExpress         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 44

Thema: Projekt: Open Source Library / Firmware für RN- Motor Boards

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    58
    Beiträge
    247
    Anzeige

    E-Bike
    Hallo

    OK. Ich fange mal an.
    Hast du für die Getriebeversion schon ein Protokoll vorgesehen ? Einen Großteil kann man ja aus der RS232 Version übernehmen. Oder hast noch was spezielles im Hinterkopf ?

    MFG
    Dieter

  2. #12
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hi,
    ich hab da noch nicht begonnen, du kannst das machen wie du es für sinnvoll hälst.
    Ich denke es wäre gut wenn man halt alle 4 Motoren völlig unabgängig steuern kann, vermutlich mußt du da áls Motorparameter vier BIT´s nehmen. So könnte man einzelne Motoren in bestimmte rKombination ein und ausschalten usw.
    Abe rvielleicht hast du ja auch bessere Idee.

    Strombegrenzung würde ich noch einbauen, also per Timer den Motorstom messen und eventuell PWM im Hintergrund regeln.

    Ansonsten denke ich an das übliche, Befehle für:

    START
    Richtung
    STOP (Spannung so anlegen das Motor bremst)
    AUS (Motor aus)

    Wenn Du willst und genug platz hast, kannst du ja noch versuchen Befehle zu integrieren wie:
    Drehe Links
    Drehe Rechts

    Man könnte auch zwei Motoren im Parallelmodus betreiben.

    Dir fällt sicher genug ein. Vielleicht solltest du Befehle vorher hier auflisten wenn du soweit bist, dann können andere auch ihren Senf zu geben und auch Stupsi was zu sagen

    Wäre ja gut wenn es letzlich irgendwann etwas einheitlich wird

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    58
    Beiträge
    247
    Hallo Frank

    Besteht die Möglichkeit, das du mir die Tabelle mit den RS232 Befehlen, Seite 5 bis 7 der Doku , als Datei zukommen lässt ?

    Dann kann ich die Befehle darin direkt eintragen und brauche die Tabelle nicht nochmal zu machen.

    Spart Dir ja auch Arbeit später in der Doku.

    MFG
    Dieter

  4. #14
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Ja ich bin ja nicht so Poste es nachher

  5. #15
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    So hier die gewünschte WORD Datei mit den RS232 befehlen für die Schrittmotorsteuerung RN-MOTOR ST RS232

    Bild hier  

    Allerdings für die Getriebemotor Ansteuerung wird dir das wenig helfen, da sind die Befehle doch etwas anders.
    Du mußt dich auch nicht an die Befehle halten, du kannst durchaus ein neues Konzept entwickeln wenn du es für sinnvoller hälst.


    Hier nochmal eine schnelle Übersicht der Schrittmotorbefehle:

    '#rm i x y Motor maximaler Strom x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren Y = (Milliampere / 10)
    ' Beispiel : Y = 150 Bedeutet 1,5A Oder Y = 20 Bedeutet 200ma
    '#rm v y Referenzspannung des Controllers (normal 2.5 und muss nicht geändert werden)
    ' Beispiel: y=241 bedeutet 2,41 V
    '#rm s x Motor stopp (Haltespannung bleibt ein) x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren Stopp
    '#rm d x y Motor Drehrichtung x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren y=0=Links rum y=1 rechts rum
    '#rm z x yl yh Motor genau y Schritte bewegen x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren
    'y wird in High und Low Byte übertragen
    '#rm e x Motor endlose Schritte bewegen bis Stop Befehl kommt x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren
    '#rm p x Übermittelt wieviel Schritte der Motor seit letzten Stop/Aus oder Drehrichtungwechel gefahren ist x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren
    '#rm m x Motor einen einzigen Schritt bewegen x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren
    '#rm g x y Motor Schrittgeschwindigkeit x=0 Linker Motor x=1 Rechte Motor x2= Beide Motoren Y = 1 bis 255
    '#rm a x Motor ganz ausschalten x=0 Linker Motor x=1 Rechte Motor x2= Alle Motoren Stopp
    '#rm o x Motor ein und init x=0 Linker Motor x=1 Rechte Motor
    '#rm t Konfiguration und Testwerte werden über RS232 ausgegeben
    Vor längerem hatte ich mir schon mal ein paar erste Getriebemotorbefehle ausgedacht, kam aber dann noch nicht dazu mehr zu machen. Vielleicht hilft es dir als Anregung:

    'Befehle im Getriebemodusbetrieb
    '#rm v y Referenzspannung des Controllers (normal 2.5 und muss nicht geändert werden)
    ' Beispiel: y=241 bedeutet 2,41 V
    '#rm o x Motor ein und init X=Binärzahl, die unteren 4 Bits bestimmen die Motoren
    ' X = &B0001 Linker Motor einschalten
    ' X = &B0010 Rechten Motor einschalten
    ' X = &B0100 Dritten Motor (Links B) einschalten
    ' X = &B1000 Vierten Motor (Rechts B) einschalten
    ' auch Kombinationen sind möglich, Beispiel:
    ' X = &B1111 Alle Motoren einschalten
    ' X = &B1100 Motor 3 und 4 einschalten
    ' ... usw.

    '#rm a x Motor ausschalten X=Binärzahl, die unteren 4 Bits bestimmen die Motoren
    ' X = &B0001 Linker Motor ausschalten
    ' X = &B0010 Rechten Motor ausschalten
    ' X = &B0100 Dritten Motor (Links B) ausschalten
    ' X = &B1000 Vierten Motor (Rechts B) ausschalten
    ' auch Kombinationen sind möglich, Beispiel:
    ' X = &B1111 Alle Motoren ausschalten
    ' X = &B1100 Motor 3 und 4 ausschalten
    ' ... usw.

    '#rm g x y Motor Geschwindigkeit X=Binärzahl, die unteren 4 Bits bestimmen die Motoren
    ' X = &B0001 Linker Motor
    ' X = &B0010 Rechten Motor
    ' X = &B0100 Dritten Motor (Links B)
    ' X = &B1000 Vierten Motor (Rechts B)
    ' auch Kombinationen sind möglich, Beispiel:
    ' X = &B1111 Alle Motoren
    ' X = &B1100 Motor 3 und 4
    ' ... usw.
    ' Y = Geschwindigkeit 1 bis 255

    '#rm d x y Motor Drehrichtung X=Binärzahl, die unteren 4 Bits bestimmen die Motoren
    ' X = &B0001 Linker Motor
    ' X = &B0010 Rechten Motor
    ' X = &B0100 Dritten Motor (Links B)
    ' X = &B1000 Vierten Motor (Rechts B)
    ' auch Kombinationen sind möglich, Beispiel:
    ' X = &B1111 Alle Motoren
    ' X = &B1100 Motor 3 und 4
    ' ... usw.
    ' Y =Drehrichtung 0 = Links herum Y=1 Rechts herum


    '#rm r d Roboter auf der Stelle drehen Y =Drehrichtung 0 = Links herum Y=1 Rechts herum
    ' Dieser Befehl erleichtert das drehen von Robotern. Die Richtung des
    ' linken und rechten Motors wird automatisch gegensätzlich gewählt um die gewünschte
    ' Drehung zu erreichen
    Angehängte Dateien Angehängte Dateien

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    58
    Beiträge
    247
    Hallo Frank

    Danke für die Datei, macht die Sache doch viel einfacher.

    Mir wäre es lieb, wenn wir beim Parameter 1 bei 2 Bits bleiben könnten, da ich
    im Programm den Befehlscode mit dem 1. Parameter verknüpfe und in einem Byte speichere. Ich erreiche damit eine leichtere und schnellere Auswertung über select case.

    Wir hätten dann für den Befehlscode die Zeichen "A bis Z " und "a bis z" zur Verfügung, plus halt die 4 Möglichkeiten von Parameter 1.

    Hier mal mein erster Vorschlag zur Ansteuerung.

    MFG
    Dieter
    Angehängte Dateien Angehängte Dateien

  7. #17
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hi
    Die Befehle J und Y überscheiden sich!
    Und Befehl zum stoppen und zum ausschalten braucht man doch bei Getriebemotoren nicht. Höchstens stoppen mit Bremse und stoppen ohne Bremse.
    Zudem unterstützt du auf diese Weise keine 4 Motoren sondern leider nur 2 x 2 parallel. Das Board könnte aber auch vier Motoren völlig unabhängig voneinander steuern, wäre schade wenn man das nicht nutzen kann.
    Daher die meine Idee mit den Bits - auch nur ein Byte. Es wäre universeller, denn man könnte es leicht auch auf 8 Motoren erweitern.

    Ab besten ist immer wenn erst man mit Umsetzung anfängt, da merkt man schnell wo es noch harkt. Ich würde nicht so stark an meiner Schrittmotor Syntax festhalten - die ist zwar für Schrittmotoren gut aber weniger für Getriebemotoren.

    Gruß Frank

  8. #18
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    58
    Beiträge
    247
    Hallo Frank

    Die Befehle J und Y überscheiden sich!
    kann ich nicht erkennen

    Und Befehl zum stoppen und zum ausschalten braucht man doch bei Getriebemotoren nicht. Höchstens stoppen mit Bremse und stoppen ohne Bremse.
    War auch so gedacht, etwas unglücklich rüber gekommen

    Zudem unterstützt du auf diese Weise keine 4 Motoren sondern leider nur 2 x 2 parallel. Das Board könnte aber auch vier Motoren völlig unabhängig voneinander steuern, wäre schade wenn man das nicht nutzen kann.
    Sehe ich anderes. Das Board kann keine 4 Motoren völlig unabhängig steuern, da ich nur 2 PWM Kanäle habe. Motor links und Motor 3 laufen immer mit der selben Geschwindigkeit. Auch kann ich nicht Motor links ohne Bremse stoppen und Motor 3 weiterlaufen lassen.

    Oder übersehe ich da was grundlegendes. Du schaltest doch mit JP1 die PWM auf Enable A und Enable B ?

    MFG
    Dieter

  9. #19
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Hi Dieter,

    doch doch, es ginge auch mit 4 Motoren - alles eine Sache der Software. Man kann Jumper JP2 und JP1 so umstellen, das beide Enable Leitungen jedes Motors auf unterschiedliche Ports gehen.
    Bei Motor Rechts wäre das dann Beispielsweise Port PB2 PWM und Port PB4 (hier werden die Programmierports mit benutzt).
    Das ist zwar kein PWM Port, aber man könnte den Motor dann unabhängig steuern, nur nicht die Geschwindigkeit regeln.
    Alternativ könnte man das PWM Signal aus softwaremäßig mit Interrupt generieren, dann könnte man auch bei alen 4 Motoren geschwindigkeit unterschiedlich wählen. Ich hab mir da schon wa sbei der Belegung bei gedacht

    Aber ich halt mich jetzt mal hier in dem Thread zurück - das Open Source Projekt ist Eurer Projekt wurde von Euch fwallenwein, darkscout, Dino Dieter ins Leben gerufen - also könnt ihr es auch nach euren Vorstellungen umsetzen und Euch auch etwas mit Programmierproblemen plagen

    Gruß Frank

  10. #20
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    58
    Beiträge
    247
    Hallo Frank

    Ashe über mein Haupt.

    Du hast natürlich Recht, das alle 4 Motoren unabhängig gesteuert werden können. Habe die Funktion von JP1 und JP2 nicht richtig gedeutet.

    Werde jetzt mal das Protokoll über arbeiten und die Software ändern auf 4 PWM Kanäle. Wenn die Hardware das kann, sollte die Software das auch unterstützen.

    In diesem Sinne

    MFG
    Dieter

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen