Ansteuerung von 7 Servos über ein Encoder IC (zitterfrei)

Antworten [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
IPTRAIN
Senior
Beiträge: 202
Registriert: Di 15. Jan 2013, 20:20
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Ansteuerung von 7 Servos über ein Encoder IC (zitterfrei)

Beitrag von IPTRAIN » Sa 27. Sep 2014, 17:03

Hallo zusammen,

wie schon im Spassbahnforum angekündigt, hier die Verdrahtungspläne für die Ansteuerung von 7 parallelen Servos - absolut zitterfrei!

Es geht um diese Funktionalität:

https://www.youtube.com/watch?v=T4xsfvCN8nA

Der Mikroprozessor ist immer identisch - es wird auch in allen Fällen das gleiche Programm verwendet. Der Mikroprozessor erkennt automatisch, in welchem Modus (Smartphone oder Taster) er arbeiten soll.

Die Schaltpläne sind daher fast gleich - lediglich die Signalzuführung (über Ausgänge/Taster oder I2C-Bus) ändert sich.

Schaltplan für Taster:
7 Servos per Taster.png



Schaltplan für DCC-Betrieb:
7 Servos per DCC.png

Schaltplan für Smartphone - Ansteuerung:
7 Servos per Smartphone.png

Die Kalibrierung im Taster und DCC-Betrieb wie folgt:

Man bewegt ein Servo seiner Wahl mit einem der 7 Endlagentaster (oder per Funke über DCC) und bestimmt damit das Servo, das kalibriert werden soll.

Mit den unteren zwei Kalibrier - Tastern justiert man dann diejenige Endlage (fein nach), in die das Servo zuletzt bewegt wurde (linker oder rechter Anschlag). Eine Sekunde nach der letztmaligen Justage wird diese Position dauerhaft im EEPROM gespeichert.



Mit dem obersten der 3 Kalibriertaster wählt man den Modus Kalibrierung der Geschwindigkeit (Verzögerung) der Servobewegung ein (einmaliges Drücken).
Vorab natürlich durch einmaliges Drücken von einem der 7 Taster das dazugehörige Servo auswählen.

Der unterste Taster verlangsamt, der mittlere Taster beschleunigt. Man kann dann direkt die Geschwindigkeit durch wechselndes Drücken des Servotasters überprüfen.

Eine Sekunde nach der letztmaligen Justage werden die Kalibrierwerte gespeichert. Drücken eines anderen Servo-Tasters beendet ebenfalls die Kalibrierung mit vorheriger Speicherung.

Die Servos arbeiten garantiert zitterfrei - unabhängig ob digital oder analog - in jeder Preisklasse!

Den Mikroprozessor Baustein kann man für 5 Euro von mir per PN beziehen.

Programm für Raspberry Pi incl. SD-Card für 10 Euro - ebenfalls per PN.

Versand gegen 1,50 Euro für Brief + Porto im unversicherten Brief.

Da Potis immer eine Quelle für Zittern darstellen, bin ich aus Gründen der Betriebssicherheit letztendlich auf eine Taster-Kalibrierung umgestiegen.

Das gleiche Programm (mit Tasterkalibrierung) versuche ich auch in den ATTiny13 (alter Servo-Encoder für ein einziges Servo - damals noch mit Potis) zu "quetschen".
Damit garantiert dann auch dieser Encoder unter allen Betriebszuständen zitterfreien Servobetrieb. Am Smartphone kann man ihn aber nicht betreiben. Dem IC-Baustein fehlt leider der I2C-Bus-Anschluß.

Fragen immer gern!

LG vom Karl ;)

IPTRAIN
Senior
Beiträge: 202
Registriert: Di 15. Jan 2013, 20:20
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Ansteuerung von 7 Servos über ein Encoder IC (zitterfrei

Beitrag von IPTRAIN » Sa 27. Sep 2014, 19:35

Anbei noch ein kleines "PDF-Daumenkino" - daran erkennt man gut die Unterschiede der drei Betriebsarten!
7 Servos-good.pdf
(720.99 KiB) 1023-mal heruntergeladen
LG vom Karl

IPTRAIN
Senior
Beiträge: 202
Registriert: Di 15. Jan 2013, 20:20
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: Ansteuerung von 7 Servos über ein Encoder IC (zitterfrei

Beitrag von IPTRAIN » So 5. Okt 2014, 05:22

Kleines Update (5.10.2014):

1. Die programmierte Serie , die ich zur Leipziger Messe mitgenommen hatte, hat bereits neue Besitzer gefunden. Es müssen nun erst neue Prozessoren bestellt werden.
2. Ich trenne das komplette Programm (für die 2 Betriebsarten) auf: Es wird getrennte Programme geben, in dem einen ist die Taster- und DCC- Schaltung enthalten, in den anderen der Betrieb am Raspi. Der Grund liegt darin, dass der bisherige Programmcode nur noch 2 Byte !!! als Reserve (für Verbesserungen in der Zukunft ) offen ließ. Die Auftrennung ermöglicht mir nun, noch einige Verbesserungen einzubauen, die mir während der Vorführungen in Leipzig in den Sinn gekommen sind. Man muss sich bei Bestellungen also vorab für den Typ entscheiden. Der nächst größere Prozessortyp, der genügend Reserven bietet, kostet auch wieder mehr Geld - also habe ich mich für den Split entschieden.

LG vom Karl

Antworten
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Zurück zu „Funktionsdecoder“