Forum: Mikrocontroller und Digitale Elektronik Suche Servosteuerung "summiert" d.h. nur Änderung prop. zu Stick Input


von Martin J. (strobe_x)


Lesenswert?

Kennt jemand eine Schaltung, die folgendes macht:?

Beim Servo wird nicht die Stellung, sondern die Drehrichtung und 
-geschwindigkeit proportional zur Stellung des Sticks gesteuert.


Beispiel:

Stick leicht nach rechts - Servo beginnt leicht im Uhrzeigersinn zu 
drehen.
Stick stark nach rechts - Servo dreht schnell im Uhrzeigersinn
Stick neutral - Servo bleibt stehen, wo immer er ist (also nicht 
Rückkehr zur Mitte)
Stick nach links - Servo dreht im GUS

Man könnte das erreichen, indem die Potis in den Servos ausgebaut 
werden. Dann muss man aber separat Anschläge installieren. Wenn man das 
mit einer Zwischenschaltung löst, funktionieren die Servoeigenen 
Anschläge.

Danke für die Hilfe, Martin

von Markus -. (mrmccrash)


Lesenswert?

Ich behaupte, dass ist mit einem ATtiny ganz fix erschlagen :)

Der Stick gibt eine Spannung an den ADC des tiny. Der Tiny bekommt einen 
Fenster-Diskriminator ( 
http://de.wikipedia.org/wiki/Diskriminator#Fensterdiskriminator ) in 
Software verpasst, der je nach Stellung eine von 5 Funktionen auslöst:

- Drehen Schnell links
- Drehen langsam links
- Stop
- Drehen langsam rechts
- Drehen Schnell rechts

Mit diesen Funktionen wird das Tastverhältnis des Steuersignals 
angepasst - welches der tiny kontinuierlich an den Servo gibt. Eine 
feinere Auflösung kann man erreichen, indem in den Drehen-Funktionen 
auch die Stick Position relativ zur Mitte (Stop-Position) ausgewertet 
wird und damit die Hoch- bzw. Herunter-Zählgeschwindigkeit angepasst 
wird.

Um die Realisierung müsstest du dich dann selbst kümmern, ich habe 
dieses Wochenende noch andere Sachen vor ;-)

_.-=: MFG :=-._

von STK500-Besitzer (Gast)


Lesenswert?

>Der Stick gibt eine Spannung an den ADC des tiny.

Vermutlich will Martin per Funkfernsteuerung die Servos so ansteuern...
Sollte aber trotzdem nicht wirklich anstrengend sein, wenn man sich 
schon mal mit AVR, ICP und OC beschäftigt hat...

von Klaus D. (kolisson)


Lesenswert?

hallo

würde der gewünschte effekt nicht direkt auftreten, wenn man in einem 
handelsüblichen servo den mechanischen anschlag entfernt und das 
dreh-positions-poti abklemmt ?

gruss klaus

von STK500-Besitzer (Gast)


Lesenswert?

>würde der gewünschte effekt nicht direkt auftreten,
Nein.

von HildeK (Gast)


Lesenswert?

Das ist doch ein ganz normaler Fahrtregler.

von STK500-Besitzer (Gast)


Lesenswert?

Man sollte auch alles lesen ...
Wenn man das Poti vom Getriebe trennt, dann ist das der gewünschte 
Effekt.
(ich hatte mal wieder nur bis zu dem Punkt gelesen, der irrelevant für 
mich ist...)

von HildeK (Gast)


Lesenswert?

>Wenn man das Poti vom Getriebe trennt, dann ist das der gewünschte
>Effekt.
Nicht ganz - eine Geschwindigkeitsabhängigkeit von der Stickstellung ist 
damit nicht gegeben. Zumindest nicht bei herkömmlichen 
Proportionalsteuerungen.

von Axel R. (Gast)


Lesenswert?

HildeK schrieb:
>>Wenn man das Poti vom Getriebe trennt, dann ist das der gewünschte
>>Effekt.
> Nicht ganz - eine Geschwindigkeitsabhängigkeit von der Stickstellung ist
> damit nicht gegeben. Zumindest nicht bei herkömmlichen
> Proportionalsteuerungen.

wohl!

von Klaus D. (kolisson)


Lesenswert?

.... denn ein fahrtregler ist doch ein normaler servo
ohne das positionspoti und mit nem transistor anstelle des motors..

wenn ich mich recht entsinne.
(ist für mich schon lange her mit der modellbastelei)


gruss klaus

von Martin J. (strobe_x)


Lesenswert?

Hallo zusammen

erst einmal Danke für die Arbeit.

Es sollte tatsächlich über eine Fernsteuerung funktionieren.
Also

Input:  Servosignal
Output: Servosignal

Auch beim Fahrtregler: mechanische Anschläge müssten installiert werden; 
die sind aber im normalen Servo schon enthalten; wäre praktisch und 
Wartungsfreundlich. Zudem könnte bei einem Digitalservo noch 
Geschwindigkeit und Endpunkte programmiert werden.

Gruss - Martin

von STK500-Besitzer (Gast)


Lesenswert?

Die Funktion entspricht wirklich der eines Fahrtreglers.
Allerdings sind mechanische Anschläge nicht wirklich die beste Lösung.
Besser wäre es, einen Mikrocontroller das empfange Servosignal auswerten 
und dann ein Servo erzeugen zu lassen.
Der Controller müsste dann "nur" ein Signal zwischen 1 und 2ms 
ausgeben...

von Hannes Lux (Gast)


Lesenswert?

Frickel Dir doch meinen alten Impulsverwurschtler um:
http://www.hanneslux.de/avr/mobau/impkorr/impulskorr.html
Statt der bisherigen Anpassung einfach den Positions-Ausgangswert 
zwischen zwei Endpunkten anhand des Positions-Eingangswertes 
(unterschiedlich schnell) hoch/runterzählen.

Gehen könnte:
- Differenz zwischen Eingangswert (100...200) und Mittelposition (150)
  bilden (also Stick-Auslenkung, -50...+50)
- Anhand des Vorzeichens die Zählrichtung bestimmen (hoch/runter)
- Absolutwert der Differenz bilden (0...50)
- Eine Zeitscheibe mit 50 Schritten laufen lassen (das Zählen der
  Eingangs-Telegramme dürfte etwas zu langsam sein...)
- Anhand des Absolutwertes der Knüppelstellung entscheiden, ob in der
  aktuellen Zeiteinheit der Ausgangswert verändert wird oder nicht,
  dabei die Grenzwerte (100...2000) nicht unter/überschreiten

Somit wird der Ausgangsimpuls in Abhängigkeit der Knüppelstellung 
unterschiedlich schnell zwischen den beiden Endpositionen hinundher 
gefahren.

Achja, formuliere demnächst bitte Deine Fragen so, dass man auch ohne 
Spekulation erkennt, was Du möchtest. Ohne die vielen Nachfragen hätte 
ich das Problem auch nicht erkannt.

Viel Spaß.

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.