Hallo zusammen,
ich bastel derzeit an einem kleinen Roboter. Die ServoSteuerung ist auch soweit fertig und funktioniert.
Jetzt möchte ich aber, daß die Servos nicht einfach nur von ihrer aktuellen Position zur Zielposition fahren, sondern dieses mit
einer Rampe beginnt und endet.
Ich habe eine Klasse TServo mit der Methode SetAbsolutePosition(pcnt : Single);
Dabei sind Wegbegrenzungen, Reverse und Trim bereits berücksichtigt.
pcnt=0 = Endausschlag eine Seite, pcnt=100 = Endausschlag andere Seite.
Ich bräuchte jetzt eine Funktion, die mir die Rampen berechnet. Wenn ich eine Parabelfunktion nehme, dann
wird der zurückzulegende Weg aber immer in der gleichen Zeit abgefahren.
[gelöst] Servo "Smooth" verfahren
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
[gelöst] Servo "Smooth" verfahren
Zuletzt geändert von fliegermichl am Mo 27. Apr 2020, 11:58, insgesamt 1-mal geändert.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Servo "Smooth" verfahren
Ich hab es gefunden. Man muss nur mit den richtigen Suchbegriffen googeln "servo easing"
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: [gelöst] Servo "Smooth" verfahren
Da wären Sourcen interessant.Ich habe eine Klasse TServo mit der Methode SetAbsolutePosition(pcnt : Single);
Dabei sind Wegbegrenzungen, Reverse und Trim bereits berücksichtigt.
pcnt=0 = Endausschlag eine Seite, pcnt=100 = Endausschlag andere Seite.
Wen du eine fertige Servo-Steuerung hast, wäre dies einen Beitrag im AVR Wiki Tutorial wert.

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: [gelöst] Servo "Smooth" verfahren
Sourcen stelle ich gerne zur Verfügung.
Ich habe das aber nicht mit dem AVR umgesetzt.
Ich habe diesen 12 Bit 16 Channel I2C Servo Treiber für den Raspberry Pi verwendet.
Ich habe das aber nicht mit dem AVR umgesetzt.
Ich habe diesen 12 Bit 16 Channel I2C Servo Treiber für den Raspberry Pi verwendet.
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: [gelöst] Servo "Smooth" verfahren
Danke,
Diese Karte kenne ich, die wird über I²C angesteuert.
Diese Karte kenne ich, die wird über I²C angesteuert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: [gelöst] Servo "Smooth" verfahren
Weisst du zufällig einen Schrittmotortreiber, der 2,8V Schrittmotoren ansteuern kann? Da konnte ich ausser in den USA nichts finden und USA fällt aus wegen exorbitant hoher Versandkosten.
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: [gelöst] Servo "Smooth" verfahren
Gucke mal unter H-Brücke.
Wieso von usa, gucke mal bei freundlichen Chinesen nach.
Wieso von usa, gucke mal bei freundlichen Chinesen nach.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot