Hallo, ich suche nach einem Weg, einen Bürstenlosen Motor (aus dem Modellflugbereich) per PC anzusteuern. Die Treiberschaltung des Motors bekommt ihren Sollwert per Puls-Pausen-Modulation (standart Verfahren im Modellbau). Ich bräuchte also einen Puls-Pause-Signalgeneratur, den ich an meinen PC hängen kann. Z.B. per USB, RS232 oder 0-10V Ausgangskarte. Wenn möglich würde ich gerne was Fertiges nehmen und keine extra Schaltung entwickeln. Hab schon ne weile gesucht und bisher nichts gefunden. Sollte es doch eigentlich geben. Z.B. nen IC der 0-10V oder 0-5V auf Puls-Pause wandelt. Hat jemand nen Tip für mich? Danke im Vorraus
alb schrieb: > ich suche nach einem Weg, einen Bürstenlosen Motor (aus dem > Modellflugbereich) per PC anzusteuern. Die Treiberschaltung des Motors > bekommt ihren Sollwert per Puls-Pausen-Modulation (standart Verfahren im > Modellbau). Ja, wenn du jetzt noch "Puls-Pausen-Modulation (standart Verfahren im Modellbau)" näher definieren könntest, dann könnte dir vielleicht auch geholfen werden... Es gibt da nämlich keine Standard-Verfahren (und schon garkeine "Standart"-Verfahren), sondern bestenfalls "allgemein übliche" Verfahren. Allgemein üblich wären z.B. für Servos 1..2ms Puls bei ~20ms Zyklus. Bloß handelt es sich hier ja offensichtlich gerade nicht um einen Solchen. > Ich bräuchte also einen Puls-Pause-Signalgeneratur Für den du erstmal definieren mußt, was der können soll... Wie man dann sowas mit dem PC realisiert, ist erst der zweite Teil der Aufgabe.
Klar gibts sowas als fertiges Modul. z.B. von Meilhaus. Hier könnte man ein LabJack U3-LV ( http://www.meilhaus.de/labjack+u3-lv,i6.htm ) nehmen. Gibt auch noch andere Anbieter, wie z.B. National Instruments, da wirds aber ganz schnell sehr teuer. Gruß Rainer
Wenn du dich nicht so geschwollen ausdrücken würdest, dann hättest du gesagt, dass deine 'Treiberschaltung' ein handelsüblicher Modellbau-Motor-Controller ist. Und der wird bekanntlich wie ein ganz normales Modellbauservo angesteuert. Was du also suchst, sind Boards, mit denen du vom PC aus Servos ansteuern kannst. Zum Beispiel so etwas hier http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=223 Google findet sicherlich noch zig andere Anbieter.
@ c-hater: Blub Blub Blub, kann ich leider nicht. aber Schlaue und willige Leute können trotzdem helfen @ Rest: Danke für die Links, sowas sollte funktionieren.
alb schrieb: > @ c-hater: Blub Blub Blub, kann ich leider nicht. Den Unterschied zwischen Pulspausensignal und Servosteuersignal kannst Du anscheinend auch nicht. :-(
Harald Wilhelms schrieb: > Den Unterschied zwischen Pulspausensignal und Servosteuersignal > kannst Du anscheinend auch nicht. :-( ich auch nicht, was unterscheidet denn die beiden?
5 Zeilen VB code um über die RS232 PWM oder PPM Signale auzugeben. Wie vor 30 Jahren ;-) Den Unterschied zw. PWM und PPM könnt ihr euch sonst wo hinstecken ;-)
Joachim B. schrieb: > Harald Wilhelms schrieb: >> Den Unterschied zwischen Pulspausensignal und Servosteuersignal >> kannst Du anscheinend auch nicht. :-( > > ich auch nicht, was unterscheidet denn die beiden? Nichts! http://de.wikipedia.org/wiki/Puls-Pausen-Modulation
> Joachim B. schrieb: >> Harald Wilhelms schrieb: >>> Den Unterschied zwischen Pulspausensignal und Servosteuersignal >>> kannst Du anscheinend auch nicht. :-( >> >> ich auch nicht, was unterscheidet denn die beiden? npn schrieb: > Nichts! > http://de.wikipedia.org/wiki/Puls-Pausen-Modulation na wenn die nichts unterscheiden gibts auch keinen Unterschied den man kennen müsste (wat fürn Lötzinn)
npn schrieb: > Joachim B. schrieb: >> Harald Wilhelms schrieb: >>> Den Unterschied zwischen Pulspausensignal und Servosteuersignal >>> kannst Du anscheinend auch nicht. :-( >> >> ich auch nicht, was unterscheidet denn die beiden? > > Nichts! > http://de.wikipedia.org/wiki/Puls-Pausen-Modulation Sagen wir so. Es ist trivial aus einer PPM die eigentlichen Servosignale zu generieren. PPM ist aber nicht dasselbe wie ein Servosignal. In einer PPM steckt die anzufahrende Servoposition in der zeitlichen Distanz einer steigenden Flanke zur nächsten steigenden Flanke. In einem Servosignal ist dieselbe Information in der Pulslänge, von der steigenden Flanke bis zur fallenden Flanke, kodiert.
:
Bearbeitet durch User
Joachim B. schrieb: >> Joachim B. schrieb: >>> Harald Wilhelms schrieb: >>>> Den Unterschied zwischen Pulspausensignal und Servosteuersignal >>>> kannst Du anscheinend auch nicht. :-( >>> >>> ich auch nicht, was unterscheidet denn die beiden? > > npn schrieb: >> Nichts! >> http://de.wikipedia.org/wiki/Puls-Pausen-Modulation > > na wenn die nichts unterscheiden gibts auch keinen Unterschied den man > kennen müsste (wat fürn Lötzinn) Der einzige Unterschied ist, daß das PPM für die Übertragung per Funk ein invertiertes PWM darstellt. Das heißt, die Servos bekommen einen positiven Puls von 1..2ms bei einer Pause von ca. 20ms. Und per Funk wird das Signal so versendet, daß 1..2ms Unterbrechung und ein Signal von ca. 20ms vorhanden ist. Also lediglich eine Invertierung (high/low). Das, was der TO haben möchte, ist mit großer Wahrscheinlichkeit ein 1..2ms Puls mit 20ms Pause.
npn schrieb: > von ca. 20ms vorhanden ist. Also lediglich eine Invertierung (high/low). Nope. Also das stimmt definitiv nicht. PPM kommt auf der Funkstrecke zum Einsatz. Da müssen die Werte von n Servos nacheinander übertragen werden! > Das, was der TO haben möchte, ist mit großer Wahrscheinlichkeit ein > 1..2ms Puls mit 20ms Pause. Dem stimme ich allerdings zu.
:
Bearbeitet durch User
Karl Heinz schrieb: > npn schrieb: > >> von ca. 20ms vorhanden ist. Also lediglich eine Invertierung (high/low). > > Nope. Also das stimmt definitiv nicht. Beachte auch, dass das animierte GIF in der Wikipedia falsch ist. Im daneben stehenden Begleittext ist es richtig. Bei PPM steckt die Servoposition im zeitlichen Abstand einer steigenden Flanke zur nächsten steigenden Flanke. Die eigentliche Pulslänge ist bei PPM eher uninteressant und muss nur lang genug sein, damit der Empfänger den Puls sicher auswerten kann. Aber ansonsten ist die Pulslänge wurscht. Das Bild in der Wiki ist hier etwas missverständlich. Der wesentliche Tatbestand des zeitlichen Abstands zwischen den steigenden Flanken kommt da ein wenig zu kurz.
Karl Heinz schrieb: > Nope. Also das stimmt definitiv nicht. Sondern? Die Unterbrechung ist der negierte Impuls. Was du meinst, ist die Pulspositionsmodulation. Die wird ebenfalls mit PPM abgekürzt. Steht sogar bei Wikipedia:
1 | Die in Modellfunkfernsteuerungen verwandte PPM ist nicht zu |
2 | verwechseln mit der Pulsphasenmodulation oder der |
3 | Pulspositionmodulation. Es wird für beide Verfahren dasselbe |
4 | Akronym (PPM) eingesetzt, daher werden die Verfahren häufig verwechselt. |
npn schrieb: > Karl Heinz schrieb: >> Nope. Also das stimmt definitiv nicht. > > Sondern? > Die Unterbrechung ist der negierte Impuls. Das, was einmal der Servopuls werden wird, ist nichts anderes als der Abstand einer steigenden Flanke zur nächsten steigenden Flanke. Die eigentliche Pulslänge bzw. die Länge der Pause zwischen den Pulsen bzw. das Verhältnis der beiden spielt überhaupt keine Rolle, solange sich die zeitliche Mindestdauer von 1ms von einer Flanke zur nächsten Flanke ausgeht und die Pause noch lang genug ist, so dass die Auswertung da sicher mitkommt. Ausgewertet wurde eine PPM klassisch so, dass man mit diesem Signal ganz einfach auf einen Dekadenzähler geht. An den einzelnen Ausgängen dieses Dekadenzählers entstehen dann ganz von alleine die bekannten Servopulse mit der Charakteristik 1-2 ms Pulslänge und einer Pause dahinter, so dass man auf ca 20ms von einem Servo-Puls zum nächsten kommt. Jeder Puls des PPM Signals schaltet einfach den Dekadenzähler um 1 weiter. Und erst die hinten nachfolgende laaange Pause sorgt für ein Rücksetzen des Zählers auf 0.
:
Bearbeitet durch User
Nochmal ein Zitat Wikipedia:
1 | Die zu übertragene analoge Größe wird als Pausendauer zwischen |
2 | aufeinander folgenden Impulsen kodiert. |
Also in der Pausendauer (1..2ms) steckt die Information. Das ist genau die Definition des invertierten Servosignales. Das Bild ist nur insofern mißverständlich, daß es nicht nur einen Kanal, sondern 6 Kanäle darstellt. Deswegen ist da keine Pause von 20ms. Die Kanäle werden ja zeitmäßig ineinandergeschachtelt für die Funkübertragung.
npn schrieb: > Nochmal ein Zitat Wikipedia: >
1 | > Die zu übertragene analoge Größe wird als Pausendauer zwischen |
2 | > aufeinander folgenden Impulsen kodiert. |
3 | > |
> > Also in der Pausendauer (1..2ms) steckt die Information. Nochmal. Das ist nicht richtig Du kannst es wiederholen sooft du willst. Sieh dir einfach an, wie man ein PPM Signal vor Einführung von Mikroporzessoren dekodiert hat.
Karl Heinz schrieb: > npn schrieb: >> Nochmal ein Zitat Wikipedia: >>
1 | >> Die zu übertragene analoge Größe wird als Pausendauer zwischen |
2 | >> aufeinander folgenden Impulsen kodiert. |
3 | >> |
>> >> Also in der Pausendauer (1..2ms) steckt die Information. Ausserdem steht in der Wiki eindeutig
1 | Jede Pause ist 0,5 bis 1,5 ms lang. |
Auch wenn diese Betrachtung so nicht ganz korrekt ist, folgt daraus sofort, dass das keine invertierten Servopulse sein können, die (wie du korrekt sagst) zwischen 1 und 2 ms lang sind.
alb schrieb: > Ich bräuchte also einen Puls-Pause-Signalgeneratur, den ich an meinen PC > hängen kann. Jeder PC hat einen Puls-Pausen-Signalgenerator. Nennt sich Soundkarten-Ausgang. Du baust Dir einen Buffer mit 0en und 1en und schickst den einfach auf den Lautsprecher-Ausgang. Damit lassen sich sogar sehr genaue Timings herstellen.
Die Ausfteilung eines PPM Signales auf die einzelnenn Servoausgänge geschieht ganz klassisch so
1 | +---------+ |
2 | | | |
3 | PPM -+-->| CLK ------> Servo 0 |
4 | | | | |
5 | Reset | ------> Servo 1 |
6 | Logik | | |
7 | | | ------> Servo 2 |
8 | | | | |
9 | +-->| RES ------> Servo 3 |
10 | | | |
11 | CD 4017 |
schickt man dem Dekadenzähler so ein PPM Signal rein
1 | 1.5 1.2 1.7 laaange Pause |
2 | <--------><-----><---------><-------------------- |
3 | +---+ +---+ +---+ +---+ |
4 | | | | | | | | | |
5 | | | | | | | | | |
6 | --+ +-----+ +--+ +------+ +--------- |
dann entsteht durch den 4017 ganz automatisch die Aufteilung in die einzelnen Servokanäle mit den bekannten Servopulsen
1 | <--1.5-> <--1.5-> |
2 | +------+ +------+ |
3 | | | | | |
4 | Servo 0 ----+ +-----------------------------------+ +---------------------- |
5 | |
6 | <-1.2-> <-1.2-> |
7 | +-----+ +-----+ |
8 | | | | | |
9 | Servo 1 -----------+ +------------------------------------+ +----------------- |
10 | |
11 | <--1.7---> <--1.7---> |
12 | +--------+ +--------+ |
13 | | | | | |
14 | Servo 2 ------------------+ +--------------------------------+ +--------- |
was im PPM Signal der zeitliche Abstand von einer steigenden Flanke zur nächsten war, ist durch den Zähler in Pulslänge auf den Servoleitungen umgesetzt worden. Die laaaange Pause im PPM Signal triggert die Reset-Logik, die den Zähler wieder auf 0 zurücksetzt. Die Leute waren vor 50 Jahren ja auch nicht dämlich und haben mit dem gearbeitet was sie hatten. Ein Zähler ist einfach zu realisieren und niemand muss an dieser Stelle der Verarbeitungskette irgendwelche Pulslängen auswerten um die Aufteilung in die einzelnen Servokanäle zu realisieren. Das einzige was sicher gestellt sein muss: die Pausen zwischen den Pulsen müssen kurz genug sein, damit die Reset Logik nicht anspricht. Erst die lange Pause nach dem letzten Puls einer Serie triggert diese.
:
Bearbeitet durch User
Karl Heinz schrieb: > dann entsteht durch den 4017 man wird natürlich damals noch keinen CD4017 benutzt haben, sondern irgendeinen anderen derartigen Zähler. Wenn ich mir die Größe der ersten Graupner Bausteine so ansehe, würde ich sogar sagen: diskret aus Transistoren aufgebaut. Nur damit da keine Missverständnisse aufkommen.
Karlheinz, du hattest (mal wieder) völlig recht. Asche auf mein graues Haupt! :-)) Hier nochmal ein anderes Bild, was die Zusammenhänge auch sehr deutlich darstellt: http://de.wikipedia.org/w/index.php?title=Datei:Impulsdiagramm.png&filetimestamp=20070106192954&
npn schrieb: > Karlheinz, du hattest (mal wieder) völlig recht. Mich hat das vor einiger Ziet auch mal gewurmt, dass ich nicht verstehe wie das eigentlich funktioniert. Ich hatte damals auch gedacht, dass da direkt die Servopulse hintereinander über die Funkstrecke gehen und ich hab mich gefragt, wie die das Zeug da früher auseinanderklamüsert haben. Bis ich dann dahinter gekommen bin, dass die Pulse auf der PPM Strecke eben nicht die eigentlichen Servopulse sind, sondern man die ev. besser als Kanaltrennpulse ansehen sollte (Wortschöpfung jetzt in diesem Moment von mir). Als ich das raus hatte, hab ich meinen Hut gezogen. So genial wie einfach.
Varioprop hatte mal eine Zeitlang die Pausen genau halb so groß wie die Pulsflanken-Abstände gemacht, auch beim Sync-Impuls. Der Hintergrund ist einfach in der Maßgabe zu sehen, die Bandbreite des modulierten Signals auf 10kHz zu begrenzen, damit in einem 27Mhz-, 35Mhz- oder 40Mhz-Band möglichst viele Kanäle störungsfrei nebeneinander liegen können. Eine "Pause" von 0,2ms bedeutet eine "Frequenz" von 5kHz, das ist für ein 10kHz-Raster zuwenig. 0,2ms hatte man in der Transistor-Ära und anfangs der TTL-Ära häufig verwendet. Deshalb ist man später auf Austastlücken (so heißen die "Pausen") von 0,4ms gegangen (sind nur noch 2,5kHz) um im 10kHz-Raster arbeiten zu können. Varioprop wollte es besonders gut machen und hat den Servopulsen eben eine Austastlücke von einer halben Servopuls-Länge mitgegeben. Im Sender wird (wurde) die Austastlücke von einem Monoflop generiert, denn die Servopulse liegen auch im Sender unmittelbar hintereinander. Blackbird
Karl Heinz schrieb: > So genial wie einfach. Das stimmt. Und dabei war ich fest davon überzeugt, daß meine Infos stimmen! Und Wikipedia hat mich in meinem Wissen bestätigt. Aber offensichtlich ging es anderen genauso, denn sonst hätten sie es ja nicht in Wiki hinein geschrieben.
Blackbird schrieb: > anfangs der TTL-Ära häufig verwendet. Deshalb ist man später auf > Austastlücken (so heißen die "Pausen") von 0,4ms gegangen (sind nur noch > 2,5kHz) um im 10kHz-Raster arbeiten zu können. Ah. Das ist natürlich ein auch ein Argument. Daran hatte ich noch gar nicht gedacht. Ich dachte immer, die Pulslängen im PPM hätten hauptsächlich damit zu tun, beim Empfänger den Reset-Puls für den Zähler zu generieren. Denn im Prinzip reicht da ja ein RC-Glied, das mit jedem nächsten Puls neu 'geladen' wird und kontinuierlich entladen wird. Ist die Pause lang, dann fällt das RC Glied unter die Grenze und das wird dann als Reset gewertet. Allerdings müssen die Pulse dann auch eine Mindestlänge haben, damit das RC Glied auch sicher immer wieder nachgeladen wird. Aber an das Kanalraster hatte ich nicht gedacht, ist aber logisch. > e Varioprop wollte es > besonders gut machen und hat den Servopulsen eben eine Austastlücke von > einer halben Servopuls-Länge mitgegeben. Wobei das 'schöne' darin besteht, dass das nur eine Modifikation im Sender bedeutet. An älteren Empfängern ändert sich ja nichts.
npn schrieb: > Karl Heinz schrieb: >> So genial wie einfach. > Das stimmt. Das was mich am meisten verblüfft hat war, dass ich keine Möglichkeit gefunden habe, wie man Servosignale einfacher direkt über die Funkstrecke schicken kann. Egal was ich mir ausgedacht habe, es war immer komplexer als diese Systematik. Und das sowohl was Sender als auch Empfänger anbelangt.
Genial war auch die Lösung, das Empfangs- (Dekodier-) Schieberegister (Zähler geht auch) mit Thyristor-Nachbildungen (aus je einem NPN- und einem PNP_Transistor) aufzubauen. 2 Transistoren pro Kanal, 2 bis 3 Transistoren für die Takt- und die Reset- (Sync-) Aufbereitung - kleiner geht es nicht. Blackbird
@Karl Heinz Das ist zwar richtig was du schreibst aber der TO hat nach dem Servo-Signal gefragt und nicht nach dem Summensignal. Er will mit diesem Signal ein ESC ansteuern.
Das Problem ist der Abstand der Flanken des zu erzeugenden Pulses. Dieser Abstand enthält die (Drehzahl-)Information und sollte wenigstens 100µs, besser 20µs bis 50µs, Auflösung (Schrittweite) haben. Die direkte Generierung durch den PC gelingt nur mit Soundcard oder der seriellen Schnittstelle. Oder man lagert die Generierung des Pulses an eine externe "Einheit" aus, zb. ein passend programierter Chip und steuert den Chip per PC über irgendeine Schnittstelle. Blackbird
jemand schrieb: > Das ist zwar richtig was du schreibst aber der TO hat nach dem > Servo-Signal gefragt und nicht nach dem Summensignal. Er will mit diesem > Signal ein ESC ansteuern. Dieses hier ist kein Support-Forum irgendeines Herstellers, sondern ein Diskussionsforum. Hier hat weder der TO einen Anspruch auf eine Antwort seiner Frage noch erhebt sich allgemein ein Anspruch, dass ausschließlich auf diese Frage zu antworten ist. Ich fand Karl Heinz' Ausführungen sehr informativ. Dabei habe ich persönlich etwas gelernt. Dafür ein Danke.
:
Bearbeitet durch Moderator
Frank M. schrieb: > jemand schrieb: >> Das ist zwar richtig was du schreibst aber der TO hat nach dem >> Servo-Signal gefragt und nicht nach dem Summensignal. Er will mit diesem >> Signal ein ESC ansteuern. > > Dieses hier ist kein Support-Forum irgendeines Herstellers, sondern ein > Diskussionsforum. Hier hat weder der TO einen Anspruch auf eine > Antwort seiner Frage noch erhebt sich allgemein ein Anspruch, dass > ausschließlich auf diese Frage zu antworten ist. Im übrigen war die allererste Antwort von mir die, sich ein hndelsübliches Servoboard zu kaufen, welches er mittels USB an den PC anstecken kann. Der Rest ist nur deswegen aufgekommen, weil der TO es in seiner Anfrage nicht schafft, allgemein übliche Begriffe zu benutzen und sich klar und deutlich bzw. richtig auszudrücken. Nur deshalb ist es zur Diskussion Servosignal / PPM gekommen. Das er in seiner Aufgabenstellung es nicht (wie er behauptet) mit einem PPM Signal zu tun haben wird, war mir von Anfang an klar. Im übrigen, jemand, lies noch mal das erte Posting. Er fragt definitiv nach dem PPM, also dem Summensignal. Also wirf mir nicht vor, ich würde das Thema verfehlen.
:
Bearbeitet durch User
Frank M. schrieb: > Ich fand Karl Heinz' Ausführungen sehr informativ. Dabei habe ich > persönlich etwas gelernt. Dafür ein Danke. Dem schließe ich mich an. Ich bin von falschen Informationen ausgegangen und habe mich gern korrigieren lassen. Auch von mir "danke!". Außerdem hat Karl-Heinz schon vorgestern(!) eine Lösung für den TO aufgezeigt. Karl Heinz schrieb: > Zum Beispiel so etwas hier > http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=223
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.