Liste der Anhänge anzeigen (Anzahl: 1)
Einfachen Servomotor aus DC-Getriebemotor umbauen?
Vorerst: es geht erstmal darum, ob, wie und wie gut das überhaupt machbar ist.
Angenommen, man nehme einen Getriebemotor wie diesen, setzt an den kurzen Stutzen der Motorwelle, der hinten noch herausragt, eine geteilte Scheibe an und da drum herum zwei Gabellichtschranken bzw. etwas derartiges aus Flach-Led und Fototransistor. Anordnung wäre damit wie folgt:
Anhang 20399
Das schwarze Teil soll dann die graublauen Lichtschranken auslösen. Zwei Lichtschranken deshalb, damit man die Drehrichtung erkennen kann. Zum Ansteuern müsste man dann allerdings 4 Pins opfern: einmal PWM für den Motor, einmal Richtung und zweimal Rückführung von den Lichtschranken.
Frage ist nun, ob es dafür praktische IC's gibt, die die Auswertung der Signale von den Lichtschranken erleichtern. Würde man die Signale direkt einlesen (vll. noch mit Schmidt-Trigger, damit der Pegel auch bei hohen Drehzahlen gehalten wird), müsste man aufwändig programmieren, um die ordentlich verwenden zu können. Würde eigentlich auf eine Flankenerkennung der einen Schranke, während die andere Schranke schon high ist, hinauslaufen, wenn ich mich nicht irre. Je nachdem, bei welcher Schranke das auslöst, müsste dann eine Variable rauf oder herab zählen. Obendrein bräuchte man auch noch eine Zeitmessung zwischendurch, um die Geschwindigkeit festzustellen. Würde es sich dabei lohnen, quasi einen ATtiny für einen einzelnen Servomotor abzustellen, der das Ganze erledigt und nur noch mit Befehlen gefüttert werden muss? Irgendwie hab ich da gerade nicht so die guten Ideen, wie man das alles geschickt miteinander verbinden könnte. Letztens hatte ich hier noch einen Thread gefunden, wo einer ein Servo zu einem Servomotor umgebaut hatte, find den allerdings nicht mehr wieder...
Hat das sonst schonmal jemand gemacht? Irgendwelche Erfahrungen?
edit: Thread wiedergefunden
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
simi7
... Anordnung der Lichtschranken ... spielen ... Impulsverzögerungen bei hohen Drehzahlen eine Rolle ...
Ja, ein wichtiger Hinweis. Bei meinen Lichtschranken ist rise/fall time Standartwert aus Datenblatt ca. 50 µs - das reicht für meine Anwendung ohne Drehzahlerkennung (grad noch), weils bei mir doch etwas schneller geht. Zum Glück sind die INT0/~1 so hoch priorisiert, dass meine vielen Interruptroutinen, insgesamt ca. 5% CPU-Zeit, bei der Zeitmessung für die Drehzahl nicht so sehr stören können. Mit solchen Werten kann man aber auch halbwegs vernünftig abschätzen, obs und wie lange (bis in welche Drehzahlen) es funktioniert.
Hier lohnt sich ein Oskar, um "im System" die Dynamik der Ausrüstung zu testen:
Anhang 20401
2V+1ms/div, ca. 300 Ups
Siehe auch hier.
Liste der Anhänge anzeigen (Anzahl: 3)
Da versteh ich jetzt nicht, was du meinst. Das pololu Board hat eine Mini-USB-Buchse, die an den PC angeschlossen wird. Darüber lässt sich dann der TTL-Port des Pololu Boards als virtueller COM-Port verwenden. Ich hab halt den Rx-Pin des Boards mit dem Tx-Pin des µC verbunden und den Tx mit dem Rx.
Komischerweise funktioniert es jetzt wieder... keine Ahnung, was das Problem ist...
Edit: Nachdem sich das Board sich jetzt ja wieder eingekriegt hat habe ich mal versucht, ein paar Verläufe vom Motor aufzunehmen.
Anhang 20546
Im Diagramm steht die weiße Linie für den Winkel, die rote Linie für die Winkelgeschwindigkeit und die grüne Linie für die Winkelbeschleunigung. Anscheinend ruckelt die Drehzahl ein wenig, mal sehen, was sich daran machen lässt. Man sieht aber schonmal, dass der Motor ziemlich fix hochbeschleunigt. Was ich beim Regler wohl noch Bedenken muss: der Motor läuft erst ab einer Spannung von 1,5 bis 2V an, das müsste ich dann wohl noch irgendwie abfangen.
Hier noch ein paar Bilder vom hingefrickelten Encoder :D
Anhang 20545Anhang 20544