Forum: Mikrocontroller und Digitale Elektronik Servo multiplexen


von Rangi J. (rangi)


Lesenswert?

Kurze Frage mit hoffentlich kurzer Anwort:
wie verhält sich ein normaler Analog-Servo wenn am Steuereingang 
dauerhaft High-Pegel anliegt? Und was macht er, wenn dann die PWM 
losläuft?
folgender Hintergrund, ich möchte viele Servos über einen Multilexer 
74HC138 zusammenschalten. Nur einer bewegt sich, die anderen sollen aus 
sein. Für die nicht ausgewählten Servos liegt dann eben 1 an der 
Steuerleitung.

von Udo S. (urschmitt)


Lesenswert?

Das ist so nicht spezifiziert. Ein Standard-Servo erwartet alle 50ms ein 
Impuls, dessen Länge dann dem Sollwert entspricht.

von SUPERINGO (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Ein Standard-Servo erwartet alle 50ms ein
> Impuls, dessen Länge dann dem Sollwert entspricht.

Na dann könnte man doch zwischen den 50ms den nächsten Servo 
ansteuern...

von Udo S. (urschmitt)


Lesenswert?

SUPERINGO schrieb:
> Na dann könnte man doch zwischen den 50ms den nächsten Servo
> ansteuern...

So funktioniert eine analoge Fernsteuerung.

von mahwe (Gast)


Lesenswert?

Wenn du einem (Modellbau)Servo zu lange kein Signal zukommen läst,dann 
hält es die Last nicht.
Die Taktzeit 50ms kann (solte)mann auch reduzieren meist 20ms.
Dadurch größeres Halte moment des Servos.

von STK500-Besitzer (Gast)


Lesenswert?

Rangi Jones schrieb:
> folgender Hintergrund, ich möchte viele Servos über einen Multilexer
> 74HC138 zusammenschalten

wenn du sowieso alle Servos nacheinander mit dem Impuls bedienen willst, 
solltest du besser ein Schieberegister verwenden, bei dem eine "1" 
durchgeschoben wird, wobei der Takt der Pulslänge entspricht.
Aletrnativ kann man auch einen Zähler wie den 74HC4017 verwenden.

Rangi Jones schrieb:
> wie verhält sich ein normaler Analog-Servo wenn am Steuereingang
> dauerhaft High-Pegel anliegt?

Es dreht an den Anschlag.
Ein Servo benötigt eine steigende Flanke, um den Beginn eines Impulses 
zu erkennen (alles andere wäre ja auch ein Pegel).
Seine Elektronik vergleicht den extern anliegenden Impuls mit einem 
intern genereiert und regelt den internen auf die Länge des externen 
durch verdrehen des integrierten Poti nach.

Die 50ms sind nur eine Anhaltsgröße. Es funktioniert i.d.R. auch mit 
kürzeren Pausen (16bit bei 3,686MHz ergeben eine Periodendauer von ca. 
18ms, was bei meinen Schaltungen problemlos funktioniert.)
Allerdings sollte man die Pause nicht endlos dehnen.

von Kuli (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Das ist so nicht spezifiziert. Ein Standard-Servo erwartet alle 50ms ein
> Impuls, dessen Länge dann dem Sollwert entspricht.

Sind wohl 50Hz gemeint, also alle 20ms.

@rangi: Alles was nicht spezifiziert ist, ist servoabhängig und kann von 
Servo zu Servo variieren.

von Rangi J. (rangi)


Lesenswert?

danke für die antworten
ein konkrete antwort war zwar nicht dabei, aber das liegt vermutlich 
daran, das sich, wie Kuli schreibt, jeder Servo anders verhält, 
besonders die billigen.
Deshalb werde ich auf den 4051 ausweichen und einen Pulldown an den 
jeden Ausgang setzen. Damit ist dann im Ruhezustand alles auf 0.
@mahwe: das war garnicht die Frage, um die Mechanik kümmer ich mich 
schon

von Udo S. (urschmitt)


Lesenswert?

Kuli schrieb:
> Udo Schmitt schrieb:
>> Das ist so nicht spezifiziert. Ein Standard-Servo erwartet alle 50ms ein
>> Impuls, dessen Länge dann dem Sollwert entspricht.
>
> Sind wohl 50Hz gemeint, also alle 20ms.

Uups, sorry, mein Fehler, Kuli hat natürlich recht es sind in etwa alle 
20ms.

Wobei das relativ unkritisch ist. Wenn statt dessen 25ms zwischen den 
Impulsen vergehen ist das meines Wissens nach unkritisch.

von Klaus (Gast)


Lesenswert?

Rangi Jones schrieb:
> ein konkrete antwort war zwar nicht dabei, aber das liegt vermutlich
> daran, das sich, wie Kuli schreibt, jeder Servo anders verhält,
> besonders die billigen.

Oder auch die teueren. Wenn zu lange keine Steuerpulse kommen, ist die 
Funkstrecke ausgefallen und die Failsafe Automatik bringt die Servos in 
einen definierten Zustand.

Es ist doch gar kein Problem, ein dutzend Servos gleichzeitig 
anzusteuern.

MfG Klaus

von Harald W. (wilhelms)


Lesenswert?

Rangi Jones schrieb:

> danke für die antworten
> ein konkrete antwort war zwar nicht dabei,

...und was stört Dich an dem Vorschlag mit dem 4017, so wie er
typisch in Fernsteuerungen verwendet wurde?
Gruss
Harald

von STK500-Besitzer (Gast)


Lesenswert?

Rangi Jones schrieb:
> folgender Hintergrund, ich möchte viele Servos über einen Multilexer
> 74HC138 zusammenschalten

wenn du sowieso alle Servos nacheinander mit dem Impuls bedienen willst, 
solltest du besser ein Schieberegister verwenden, bei dem eine "1" 
durchgeschoben wird, wobei der Takt der Pulslänge entspricht.
Aletrnativ kann man auch einen Zähler wie den 74HC4017 verwenden.

Rangi Jones schrieb:
> wie verhält sich ein normaler Analog-Servo wenn am Steuereingang
> dauerhaft High-Pegel anliegt?

Es dreht an den Anschlag.
Ein Servo benötigt eine steigende Flanke, um den Beginn eines Impulses 
zu erkennen (alles andere wäre ja auch ein Pegel).
Seine Elektronik vergleicht den extern anliegenden Impuls mit einem 
intern genereiert und regelt den internen auf die Länge des externen 
durch verdrehen des integrierten Poti nach.

Die 50ms sind nur eine Anhaltsgröße. Es funktioniert i.d.R. auch mit 
kürzeren Pausen (16bit bei 3,686MHz ergeben eine Periodendauer von ca. 
18ms, was bei meinen Schaltungen problemlos funktioniert.)
Allerdings sollte man die Pause nicht endlos dehnen.

von Michael H. (mueckerich)


Lesenswert?

Klaus schrieb:
> Failsafe Automatik bringt die Servos in
> einen definierten Zustand.

Der Servo tut ohne Impulse mal gar nichts. Der Failsave ist im Empfänger 
integriert und der reagiert dann so wie er programmiert ist. Bei den 
Servos die ich verwende ist ein ständig anstehender 1 Pegel genauso egal 
wie ein ständiges 0-Signal.
Allerdings solltest Du beim einschalten der Impulsleitung darauf achten, 
dass das nicht in mitten eines Impulses geschieht. Sonst "sieht" der 
Servo einen kurzen Impuls und will in die entsprechende Position fahren. 
Im extremfall ist das dann genau die andere Endlage. Diese 
unkontrollierte Bewegung kann zu mechanischen Problemen führen.

von STK500-Besitzer (Gast)


Lesenswert?

Rangi Jones schrieb:
> Deshalb werde ich auf den 4051 ausweichen und einen Pulldown an den
> jeden Ausgang setzen. Damit ist dann im Ruhezustand alles auf 0.

Super Idee. Ein Widerstandsgrab statt eines etablierten Chips, der den 
Zweck schon vor 30 Jahren erfüllt hat.

von Klaus (Gast)


Lesenswert?

Michael H. schrieb:
> Der Servo tut ohne Impulse mal gar nichts.

Aus dem Hitec Katalog:

> # 114003
> Damit können auch die zusätzlichen Parameter der 7XXX-Servo-Serie
> (Auflösung und Überlastungsschutzrate) eingestellt werden.

> Einstell-Parameter:
> - Endpunkte und Neustralstellung
> - Geschwindigkeit
> - Totzone
> - Laufrichtung
> - Failsafe EIN/AUS
> - Failsafe-Position (nur 7XXX)
>

deswegen habe ich geschrieben:
> Oder auch die teueren

MfG Klaus

von Stefan (Gast)


Lesenswert?

@Klaus
> Wenn zu lange keine Steuerpulse kommen, ist die
> Funkstrecke ausgefallen und die Failsafe Automatik bringt
> die Servos in einen definierten Zustand.

Diese Automatik ist in der Regel Betsandteil des Funkempfängers (nicht 
im Servo).

von Rangi J. (rangi)


Lesenswert?

@STK500-Besitzer
ich glaube, du hast mich nicht richtig verstanden. Ich will einen 
Servo zu einer Zeit drehen lassen. Dann ist da Pause und nix passiert. 
Irgendwann soll ein anderer drehen. In der Pause soll keine PWM 
ausgegeben werden, an niemand. Das ist eine ganz simple Tätigkeit. Die 
Mechanik ist so ausgelegt, dass keine Kraft in den Endlagen den Servo 
zum rückdrehen bewegt.
Mit deiner Lösung müssen immer alle Takte erzeugt werden. D.h. ich muss 
immer alle Taktlängen berechnen und ausgeben, z.B. per Timer-ISR, oder 
so schnell shiften wie es geht und hoffen, dass der Servo den kurzen 
Puls nicht mitbekommt. Andere ISRs können die Timer-ISR verzögern, 
wodurch der Servo zuckelt.
Auf jedenfall ist die Software dafür anstrengender als die HW-PWM zu 
verwenden und nur den Ausgang umzuschalten.
Und ein weiteres Problem ist, wenn dann mehrere Shift-Register 
dranhängen, können sich die Zeiten der ISRs überschneiden und dann 
verschiebt sich eine Pulslänge.
...(Warum versuchen die Leute immer Probleme zu lösen, die garnicht 
gefragt sind, ich dachte mein Frage wäre eindeutig: "wie verhält sich 
der Servo wenn....")

von Klaus (Gast)


Lesenswert?

Rangi Jones schrieb
> ...(Warum versuchen die Leute immer Probleme zu lösen, die garnicht
> gefragt sind, ich dachte mein Frage wäre eindeutig: "wie verhält sich
> der Servo wenn....")

Die Antwort ist: undefiniert.

MfG Klaus

von Rangi J. (rangi)


Lesenswert?

Danke Klaus,
genau das ist das Fazit, was ich oben schon erkannt habe und deshalb 
werde ich meine Schaltung ändern, damit immer eine 0 als Pegel anliegt 
wenn Ruhe ist.

von Klaus (Gast)


Lesenswert?

Rangi Jones schrieb:
> damit immer eine 0 als Pegel anliegt wenn Ruhe ist.

Auch dann ist das Verhalten undefiniert.

MfG Klaus

von Oliver (Gast)


Lesenswert?

Michael H. schrieb:
> Der Servo tut ohne Impulse mal gar nichts.

Schön wärs...

Wie schon oben jemand schrieb: Das ist nicht klar definiert.
Es gibt Servos, die laufen dann in eine der Endstellungen, und zwar bis 
ganz an den Anschlag. Wenn das die Mechanik des Modells nicht mag, gibts 
Kleinholz.

Mit dem Problem hat schon so mancher seine Flieger bei Umstellung auf 
eine aktuelle 2.4Ghz-Funke zerbröselt...

Oliver

von Karl H. (kbuchegg)


Lesenswert?

Rangi Jones schrieb

> ...(Warum versuchen die Leute immer Probleme zu lösen, die garnicht
> gefragt sind, ich dachte mein Frage wäre eindeutig: "wie verhält sich
> der Servo wenn....")


Das liegt sehr oft daran, dass diejenigen die in dem Thema bewandert 
sind, wissen, dass die vom TO gestellte Frage an sich schon unsinnig 
ist, weil der TO von falschen Voraussetzungen ausgeht.

D.h. anstatt auf die Frage eine zwar korrekte aber nicht hilfreiche 
Antwort zu geben, versucht man dann dem TO klar zu machen, dass sein 
ganzer Ausgangspunkt für die Frage schon unsinnig ist. Man versucht ihn 
in die richtige Bahn zu lotsen. Die Frage, ob das Wollfadenseil eines 
Bergsteigers rot oder grün sein sollte, ist solange nicht relevant, wie 
dem TO nicht klar ist, dass sich ein Wollfaden nicht als Sicherungsseil 
für einen Bergsteiger eignet.

von Karl H. (kbuchegg)


Lesenswert?

> Mit deiner Lösung müssen immer alle Takte erzeugt werden.
> D.h. ich muss immer alle Taktlängen berechnen und ausgeben,

ausgeben: ja
Berechnen: nein, ist ja bei jedem Servo sowieso immer die gleiche 
Pulslänge, wenn es sich nicht bewegen soll.

> z.B. per Timer-ISR,

Ja, zum Beispiel

> oder so schnell shiften wie es geht und hoffen,
> dass der Servo den kurzen Puls nicht mitbekommt.

Ich weiß nicht, welche Vorstellungen du davon hast, wie man mehrere 
Servopulse generiert.

> Andere ISRs können die Timer-ISR verzögern,
> wodurch der Servo zuckelt.

Im Prinzip ja. Allerdings sind die Verzögerungen, wenn man das 
ordentlich programmiert so gering, dass dein Servo da keine wirklich 
relevanten Umpositionierungen vornehmen wird.

> Auf jedenfall ist die Software dafür anstrengender

Ja, ne. Ist klar.

> als die HW-PWM zu
> verwenden und nur den Ausgang umzuschalten.

Und du sagst, das wäre einfacher als die paar Zeilen Code in einer ISR? 
Gestatte dass ich laut auflache.

von Rangi J. (rangi)


Lesenswert?

Also mit 0 gehts, sowas hab ich schon vor einiger Zeit programmiert. Nur 
mit +5V hatte ichs noch nicht getestet und hab jetzt auch die HW nicht 
hier ums mal schnell auszuprobieren.
Bei den damals verwendeten Servos handelte es sich um No-Name von Conrad 
für damals 10€. Da schalte ich das PWM-Signal ab, wenn die Endlage 
erreicht ist. Wenn der Servo dann wieder gebraucht wird, beginne ich mit 
der letzten verwendeten Pulsbreite und ändere die dann schrittweise, 
damit der Servo schön langsam dreht. Im Moment des Einschalten ruckt er 
nicht, läuft einfach sauber an. Und im ausgeschaltetem Zustand ruckelt 
auch keiner der Servos. Man kann sie schön mit Hand drehn.
@Klaus: wenn das so ist, werde ich wohl nicht drumherum kommen mir 
zuerst die Servos zu kaufen und dann auszuprobieren.
Btw: es geht nicht um Modellbau.
@KHB:
> Berechnen: nein, ist ja bei jedem Servo sowieso immer die gleiche
> Pulslänge, wenn es sich nicht bewegen soll.
Schon klar, aber der µC hat immer etwas zutun obwohl gar kein Grund 
vorliegt.
> Ich weiß nicht, welche Vorstellungen du davon hast, wie man mehrere
> Servopulse generiert.
Dann erklärs mal, bin schon gespannt.
> Im Prinzip ja. Allerdings sind die Verzögerungen, wenn man das
> ordentlich programmiert so gering, dass dein Servo da keine wirklich
> relevanten Umpositionierungen vornehmen wird.
Oh doch, das konnte ich schon nachweisen. In einem grossen Raum mit 100 
Servos in der Nacht, hörst du jedes kleine Zucken.

In meiner Version komme ich wenns sein muss ganz ohne ISR aus.
Und ein weiterer Grund ist mir auch noch eingefallen: wenn die Endwerte 
der PWM nicht stimmen, dann versucht der immer nachzuregeln, der Servo 
brummt. Zuerst wird der dann ein bischen warm, was den Arbeitspunkt 
verschiebt, was dann ggf. mehr nachregeln will, was zu noch mehr Wärme 
führt usw. Auf diese Weise sind damals zuvor einige Servos 
durchgebrannt. Genau deshalb habe ich die Variante mit der Abschaltung 
in eingebaut. Selbst wenn die Werte nicht simmen, geht trotzdem nicht 
gleich was kaputt.

von Udo S. (urschmitt)


Lesenswert?

Rangi Jones schrieb:
> Also mit 0 gehts, sowas hab ich schon vor einiger Zeit programmiert.

Bei den Servos, die du hattest. BEi allen Servos? Keine Ahnung.
Irgendwie bist du völlig lernresistent. Nochmal zum Mitschreiben:
DAS VERHALTEN VON SERVOS OHNE REGELMÄSSIGE IMPULSE IST UNDEFINIERT!

Wo ist dein Problem.
Du hast n Variablen in denen die derzeitige Impulsdauer der n Servos 
steht.
Und eine Funktion die über den Timerinterrupt diese Werte in Impulse 
ausgibt.
Wenn sich was ändert musst du nur die Werte in den Variablen ändern, 
mehr nicht.
Dafür gibts bestimmt ein Haufen Beispielcode.

von Udo S. (urschmitt)


Lesenswert?

Rangi Jones schrieb:
> Schon klar, aber der µC hat immer etwas zutun obwohl gar kein Grund
> vorliegt.

Kriegst du Geld wenn er nichts zu tun hat?
Alle 1 - 2 ms mal eine Flanke zu setzen oder einen Takt fürs 
Schieberegister ist jetzt nicht wirklich viel Arbeit für den µC

von Udo S. (urschmitt)


Lesenswert?

Rangi Jones schrieb:
> In meiner Version komme ich wenns sein muss ganz ohne ISR aus.
Ok, es hapert also am Programmier Know How.
Mein Tipp, lerne es.

von Klaus (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Alle 1 - 2 ms mal eine Flanke zu setzen oder einen Takt fürs
> Schieberegister ist jetzt nicht wirklich viel Arbeit für den µC

Und sorgt dafür, daß das Fett in der ALU nicht vom stehen ranzig wird 
;-)

MfG Klaus

von Rangi J. (rangi)


Lesenswert?

@Udo Schmitt:
Ich habe garkein Problem, außer dass mir hier alle ihre Meinung 
aufzwingen wollen. Ich hab doch oben schon geschrieben, dass ich es mit 
den Servos ausprobieren werde. Punkt. Die Frage ist doch schon lange 
geklärt.
Und wenn ich abstürzen will, dann lass mich doch. Wie oben erwähnt, habe 
ich schon einige Erfahrungen sammeln dürfen, was andere für einen Mist 
verzapfen (siehe Servos durchgebrannt), das war fast genau so eine 
Lösung. Also erzähl mir nichts von keine Ahnung.

von Udo S. (urschmitt)


Lesenswert?

Rangi Jones schrieb:
> dann lass mich doch
Ok, mach ich.
Viel Erfolg

von L. R. (keyboard)


Lesenswert?

hei,

Habe den Beitrag schon länger verfolgt.

Habe mir eine Steuerung aufgebaut für 16 Servo aufgebaut.

Multiplexe die Servos mittels Schieberegister.

Funktioniert wunderbar. Um den Strom zu reduzieren, möchte ich die 
Servos in den Schlafmodus schicken, keine Impulse senden und nach 
Möglichkeit die 5Volt ausschalten. (Hardware vorhanden)

In welchem Zeitabstand wäre es sinnvoll, bei den Servos die Impulse 
wieder zu aktivieren?

Nachtrag:
Habe den Impuls Pin mit 4,7kOhm gegen VCC, um beim einschalten das 
zappeln zu minimieren/verhindern.

alles Digital Servo

schönen Abend

von EGS_TI (Gast)


Lesenswert?

L. R. schrieb:
> Habe den Beitrag schon länger verfolgt.

Wow, ganze zwei Tage lang!! :)

L. R. schrieb:
> In welchem Zeitabstand wäre es sinnvoll, bei den Servos die Impulse
> wieder zu aktivieren?

Hää

von Christian B. (luckyfu)


Lesenswert?

Wenn du den Servo abschaltest und er so, wie du beschreibst, sich in 
diesem Zustand frei drehen lässt (was möglich ist, er hat ja kein 
Vergleichssignal zur aktuellen Position):

wozu brauchst du dann einen Servo? Ein Servo wird normalerweise 
verwendet um eine bestimmte Position anzufahren und zu halten. Du willst 
die Position zwar anfahren, sie aber nicht halten.

Beschreibe doch mal, was du vorhast.
Ich kann mir gerade keine Anwendung vorstellen, bei der ich 100 Servos 
in meinem Schlafzimmer brauche.

Vielleicht reicht für dich ja der oben genannte Wollfaden als Sicherung 
aus, da du vielleicht nur 10cm den Hang hoch klettern willst. Aber 
solange du das nicht preisgibst wird dir jeder versuchen zu vermitteln, 
wie ein Servo angesteuert wird damit es richtig funktioniert. Aber genau 
das scheinst du ja nicht zu wollen.

von L. R. (keyboard)


Lesenswert?

hei,

Dauerhaft abschalten nach erreichen der Position möchte ich nicht.
Sie sollen etwa 500ms (nur Beispiel) abgeschaltet werden. Danach soll 
für eine bestimmte Zeit wieder mit Spannung und Impulse versorgt werden.

Ich möchte damit erreichen, das der Stromverbrauch reduziert wird.

Die Steuerung mit 16 Servos funktioniert einwandfrei.
Diese bewegen kleine Flügeltore

schönen Tag

von Christian B. (luckyfu)


Lesenswert?

kleine Flügeltore?
Kann man dafür nicht auch nur einen Mikro Motor nehmen? den muss man nur 
umpolen und fertig. Billiger als n Servo ist er auch.

von spontan (Gast)


Lesenswert?

>Diese bewegen kleine Flügeltore

Eisenbahn-Modellbau-Lokschuppen? Da kannst nach Anfahren der Position 
dauerhaft abschalten, diese Flügeltore bewegen ein Servo nicht aus 
seiner Position raus.

von RainerK (Gast)


Lesenswert?

Christian B. schrieb:
> kleine Flügeltore?
> Kann man dafür nicht auch nur einen Mikro Motor nehmen? den muss man nur
> umpolen und fertig. Billiger als n Servo ist er auch.

ca. 999 bis 1000 von 1000 motorisch bewegten Schuppentoren auf 
Modellbahnanlagen werden von Servos animiert.
Da fragt man sich natürlich:
Warum wird da nicht ein Mikro-Motor einfach nur umgepolt und fertig ???

Viel Spaß beim Grübeln !!!

Es grüßt RainerK

von spontan (Gast)


Lesenswert?

Bei einem Motor brauchts eine Endlagenerkennung, ein kleines Getriebe, 
das Tor soll ja langsam bewegt werden.


Ein Servo hat alles drin.
Einmal ausmessen wo die Endlagen zu und offen sind.
Fertig.

von Oliver (Gast)


Lesenswert?

L. R. schrieb:
> In welchem Zeitabstand wäre es sinnvoll, bei den Servos die Impulse
> wieder zu aktivieren?

Bei deiner Flügeltoranwendung wäre es vermutlich sehr sinnvoll, ein 
Servo immer dann einzuschalten, wenn das zugehörige Tor bewegt werden 
soll, ansonsten können die komplett abgeschaltet bleiben.

Oliver

von Frank (Gast)


Lesenswert?

Den ganzen Zauber kannst du dir sparen, wenn du nur 5 Euro mehr ausgibst 
und digitale Servos verwendest.

Aus eigenen Experimenten mit Arduino und Servos zum Zwecke der 
Ausrichtung eines Laserpointers habe ich erkannt, dass bei einem 
Digitalservo 5..10 Impulse entsprechend der gewünschten Position völlig 
ausreichen. Diese Position fährt der Servo an und hält sie auch, wenn 
danach für beliebig lange Zeit keine Impulse mehr kommen ...

von Kuli (Gast)


Lesenswert?

Frank schrieb:
> Aus eigenen Experimenten mit Arduino und Servos zum Zwecke der
> Ausrichtung eines Laserpointers habe ich erkannt, dass bei einem
> Digitalservo 5..10 Impulse entsprechend der gewünschten Position völlig
> ausreichen. Diese Position fährt der Servo an und hält sie auch, wenn
> danach für beliebig lange Zeit keine Impulse mehr kommen ...

Du solltest dazu schreiben, welcher Servo das genau war. Ich bezweifle, 
daß alle digitalen Servos dieser Welt sich genau gleich verhalten.

von Christian B. (luckyfu)


Lesenswert?

RainerK schrieb:
> Viel Spaß beim Grübeln !!!

spontan schrieb:
> Bei einem Motor brauchts eine Endlagenerkennung, ein kleines Getriebe,
>
> das Tor soll ja langsam bewegt werden.


Getriebe, ja. Evtl gehts aber auch mit ner passenden pwm und ggf. nem 
einstufigen Getriebe. Endlagenschalter brauchts nicht. Man kann den 
Motor einfach gegen einen Anschlag fahren lassen. Dann misst man die 
Zeit, welche er braucht um das Tor zu öffnen, addiert noch 5-10sekunden 
Sicherheitsreserve dazu und fertig.
Klar wird der Motor warm aber das ist doch vollkommen egal. Die tore 
werden ja, so es eine Modellbahnanlage ist, sowieso nicht dauernd auf 
und zu gefahren.

Als ich noch eine Modellbahnanlage hatte (vor ca 15-20 Jahren) ging das 
ganz ohne Elektrik. Ich hatte ein Gestänge verbaut welches die Lok 
selbst bewegt. Ist sie in den Schuppen gefahren hat sie die Türen 
zugeklappt. Beim Herausfahren hat sie sie wieder aufgedrückt. So sah man 
sofort, ob eine Lok im Schuppen ist oder nicht. Das hat super 
funktioniert.

Bei der Anwendung verstehe ich aber nicht, weshalb er sie nicht 
permanent mit Signalen versogren will. Es ist kaum zu erwarten, daß die 
Servos das flattern bekommen wenn der Puls immer gleich ist.

von STK500-Besitzer (Gast)


Lesenswert?

RainerK schrieb:
> ca. 999 bis 1000 von 1000 motorisch bewegten Schuppentoren auf
> Modellbahnanlagen werden von Servos animiert.

Goil. Ca. 30-50kg nur Servos.
Wie wäre es mit Memory-Draht?
Den steuert man durch Wärmeentwicklung (Stromfluß) in verschiedene 
Längen/Positionen.

Joachim Bublath hat den damals in der KnoffHoff-Show wie wild 
vorgeführt.

von Rolf M. (rmagnus)


Lesenswert?

Rangi Jones schrieb:
> Mit deiner Lösung müssen immer alle Takte erzeugt werden. D.h. ich muss
> immer alle Taktlängen berechnen und ausgeben, z.B. per Timer-ISR, oder
> so schnell shiften wie es geht und hoffen, dass der Servo den kurzen
> Puls nicht mitbekommt. Andere ISRs können die Timer-ISR verzögern,
> wodurch der Servo zuckelt.

Man kann auch die Hardware-PWM mißbrauchen, um das ganze auch bei 
Verzögerungen der ISRs immer noch taktzyklengenau hinzubekommen, da die 
eigentlichen Pulszeiten immer direkt im Timer ohne Software generiert 
werden. Hab ich auch schon mit einem 4017 und 9 Servos gemacht, und da 
hat nix gezuckelt. Mit einem zweiten PWM-Ausgang und noch einem 4017 
gehen nach dem selben Prinzip auch 18 Servos.

von Frank (Gast)


Lesenswert?

Kuli schrieb:
>> Aus eigenen Experimenten mit Arduino und Servos zum Zwecke der
>> Ausrichtung eines Laserpointers habe ich erkannt, dass bei einem
>> Digitalservo 5..10 Impulse entsprechend der gewünschten Position völlig
>> ausreichen. Diese Position fährt der Servo an und hält sie auch, wenn
>> danach für beliebig lange Zeit keine Impulse mehr kommen ...
>
> Du solltest dazu schreiben, welcher Servo das genau war. Ich bezweifle,
> daß alle digitalen Servos dieser Welt sich genau gleich verhalten.

Es handelt sich um digitale Microservos (ca. 2x3x1 cm) der Hausmarke 
"Modellcraft" von Conrad. Kosten ca. 20 Euro das Stück ...

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.