Archiv verlassen und diese Seite im Standarddesign anzeigen : servo tut nicht, was er soll
hi!
ich hab nen prog geschrieben, was nen pwm-output generiert. als erstes für 1 sekunde 255 (also 100%), dann für 2 sekunden 1 (also fast 0%) und dann 125 (also fast 50%). der servo soll also voll ausschlagen, dann voll in die andere richtung und dann auf 0.
geht auch, aber nur selten. manchmal gibts ganz seltsame pulse und der servo zuckt nur
wenn ich am servo drehe, verändert sich das signal auch... 8-[ #
ich werd aus dieser servoansteuerung nicht schlau... woran liegt das, dass es manchmal geht und manchmal nicht?
moment... du willst nen servo mit nem normalen pwm ansteuern?
servos haben aber ne spezielle impulsform, damit man über einen einzigen kanal in beide richtungen drehen kann!
die einzelnen impuilse folgen immer mit 20ms abstand aufeinander und sind verschieden lang je nach gewünschter ricvhtung und ausschlagweite.
1ms sind zb ganz links, 1,5ms ist neutralstellung, und 2ms ist ganz rechts...
für die meisten programmersprachen findet man dafür schon fertige routinen...
oh... na dann guck ich mal...
Klaus_0168
05.03.2005, 19:40
Hi Goblin,
erste Frage : mit welchem Programm programmierst Du ? (Bascom?)
Das Servosignal hat folgendes Format:
Alle 20ms wird ein Impuls ausgesendet mit enier Impulsdauer von
1ms für Nullstelllung
1,5ms für Mittelstellung und
2ms für Endlage
Mit den PWM - Verhältnissen von 100 bis 0% liegst Du total daneben.
Falls Du Bascom verwendest, gibt es in dieser Sprache den Befehl 'Config Servo' zum initialisieren von Servoausgängen. Schau einfach mal in der Hilfe nach, da ist es sehr gut beschrieben.
Grüße Klaus
klassisches doppelpost, 1:0 für uwegw :)
ich progge mit pic basic pro. aber ich hab gerad im www rausgefunden, dass ich nicht pwm sondern pulseout nehmen muss---
auf der seite steht übigens
Servos are controlled using a system called Pulse Code Modulation (PCM)
PCM? nie gehört... PCM = PWM?
PWM ist was man für normale motoren nimmt
PCM dann halt für servos (der "code" ist dass gelichzeitig richtung und ausschalg übertragen werden)
Klaus_0168
05.03.2005, 20:29
Hi uwegw, Einspruch
PWM - Puls Weiten Modulation
PCM - Puls Code Modulation
das war noch richtig.
Die Pulsweitenmodulation besteht aus einem einfachen Impuls. Der Informationsinhalt ist die Pulslänge. Bei der Ansteuerung vom Motoren wird das Verhältnis zwischen Puls - und Pausenzeit zur Steuerung der übertragenen Effektivleistung benutzt.
In der Pulscodemodulation wird in einem Impuls mit fester Impulslänge ein binär codierter Zahlenwert übertragen. Der Informationsinhalt ist beim PCM nicht die Pulslänge, sondern der Zahlenwert.
Pulscodemodulierte Signale lassen sich wegen der festen Impulsbreite nicht ohne Decoderschaltung zur Motoransteuerung verwenden.
Grüße Klaus
war auch nur geraten... ;)
In diesen Fällen ist wikipedia wirklich zu gebrauchen. Es geht nicht sehr in die Tiefe, aber es beschreibt die Begriffe mal wieder erstaunlich gut.
Manfred
http://de.wikipedia.org/wiki/PWM
http://de.wikipedia.org/wiki/Puls-Code-Modulation
wikipedia:
(Modellbau-)Servos werden über Pulsweitenmodulation angesprochen
äääärgh!!
naja, aber ich versuchs erstmal mit den tipps von hier (http://www.picbasic.co.uk/support/servo.htm)
Hallo Goblin,
hast Du mittlerweile ein Ergebnis bei der Ansteuerung eines Servos mit PicBasic Pro erarbeitet? Stehe nämlich vor dem gleichen Problem mit nem Pic und der Ansteuerung eines Servos.
Habe es mit dem folgendem Code versucht (PIC 16F84A@12MHz)
DEFINE OSC 12
Loop:
PulseOut PORTB.0, 450 'Impuls 1.5ms
PauseUs 20000 'Frequenz von 50Hz
GoTo Loop
Ich habe bereits die Impulsdauer variiert und die Pause ebenfalls, aber der Motor dreht permanent gegen den linken Anschlag obwohl er eigentlich in die Mittelstellung fahren sollte... :-k
Gruß,
Stefan
hollowman4
08.05.2005, 00:29
PWM ist was man für normale motoren nimmt
PCM dann halt für servos (der "code" ist dass gelichzeitig richtung und ausschalg übertragen werden)
PWM ist das was an den Servo ausgängen rauskommt ;)
PCM und PPM sind die übertragunsarten zwischen sender/empfänger ;)
CodeModulation dafür das es nur geringe Störungen gibt ;) Wär bei nem Servo 1. unnütz 2. woher soll der empfänger wissen ob servo oder regler ? ;) Nene da haste nenFehler drin !
Edit PS: Klaus hats ja schon *fachmänisch* erklärt .. ;) Bloss irgendwie is mein Beitrag verschwunden .. hat ich vor Stunden schon gepostet ... Naja shit happens ...
die einzelnen impuilse folgen immer mit 20ms abstand aufeinander und sind verschieden lang je nach gewünschter ricvhtung und ausschlagweite.
1ms sind zb ganz links, 1,5ms ist neutralstellung, und 2ms ist ganz rechts...
Das Servosignal hat folgendes Format: Alle 20ms wird ein Impuls ausgesendet mit enier Impulsdauer von 1ms für Nullstelllung 1,5ms für Mittelstellung und 2ms für Endlage
PWM http://de.wikipedia.org/wiki/PWM
PCM http://de.wikipedia.org/wiki/Puls-Code-Modulation
Das wurde ja erstmal richtig erklärt.
Falls es bei den ergänzenden Bemerkungen zu
Servo ausgängen
übertragunsarten zwischen sender/empfänger
woher soll der empfänger wissen ob servo oder regler ?
noch offene Fragen gibt sollten sie präzisiert werden.
Manfred
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.