Hallo, hat jemand einen Tipp wie ich ein Servo RC PWM/PPM Signal in eine DC Spannung wandeln kann die ich dann mit einem analogen µC Eingang einlesen kann? Vielen Dank! Gruß Chris
Warum will man sowas? Warum nicht die Pulslänge direkt messen? Das ist für Software ein Klacks... Und "ich hab nur noch einen rein analogen Eingang" zählt nicht. Das muss man statt "digitalRead()" eben "if (analogread()>200)" benutzen, oha, das macht es dann auch nicht mehr.
Wenn ich ein Problem damit hätte das Signal direkt in den µC einzulesen hätte ich wohl diese Frage gestellt oder!? Mann Mann Mann Freue mich über Schaltungsvorschläge :)
Christian T. schrieb: > Wenn ich ein Problem damit hätte das Signal direkt in den µC einzulesen *kein Warum muss es unbedingt der dämlichste Weg sein? Welches Problem versuchst du zu lösen? Es muss nicht unbedingt dein Weg der richtige sein, es mag andere, einfachere geben. Aber bitte: Nimm einen Flieger-ESC für brushed-Motoren und glätte das erzeugte PWM mit einem RC-Glied. Das kannst du dann per Spannungsteiler wieder von Akkuspannung auf 5V runterteilen und in den ADC einspeisen. Ist scheiße, hat ne Menge Unbekannte mit drin und wird alle 2 Minuten für das gleiche Signal was anderes anzeigen, aber ok, "genau" oder "Wiederholbar" hast du ja nicht gesagt... Oder: bau dir eine SoftSerial auf dem ADC und benutze einen Preprozessor, der dir Pulslängen auch mehrerer Kanäle via serieller Schnittstelle liefert. Gibts sogar schon fertig als Opensource oder zumindest als Hexfile. Oder: RC-glätte das Signal einfach so und lies es ein. 50Hz und damit 5-10% Tastverhältnis ergibt an einem 10-bit ADC 5,x bit Auflösung, vielleicht reicht das.... Mann Mann Mann...
Moin, voellig bekloppte Loesung 1: Poti an einen Servo schrauben, Spannung aus Poti mit Analogeingang einlesen. voellig bekloppte Loesung 2: Mit irgendeinem kleinen wenigfuessler-µController das Servosignal vermessen und per "schoener PWM/sigma delta gedoense" ueber einen Tiefpass an den Analogeingang ausgeben. Gruss WK
Völlig bekloppte Lösung 3: Direkt ueber einen Tiefpass an den Analogeingang ausgeben und die Refenzspannung auf 0.5V stellen.
Jens M. (schuchkleisser) 24.10.2020 09:39 Rhetorische Frage: Bits du zu blöd einfache Beiträge zu lesen und zu verstehen, wie sie der TO geschrieben hat?
Zum Thema: Spitzenwertdetektor. https://www.electronics-tutorial.net/analog-integrated-circuits/peak-detector/
Christian T. schrieb: > hat jemand einen Tipp wie ich ein Servo RC PWM/PPM Signal in eine DC > Spannung wandeln kann die ich dann mit einem analogen µC Eingang > einlesen kann? Welchen Vorteil erhoffst du dir von dem Weg über den analogen µC Eingang? Aber gut: Nimm einen kleinen µC, der die Dauer der Pulse des RC-Signals ausmisst, über PWM den Wert ausgibt und dahinter mit einem Tiefpass filtert. Dieses Signal kannst du dann auf den analogen Eingang von deinem µC geben. Die TP-Filterung wird die Sache allerdings deutlich träge machen. Wenn das Ausgangssignal schneller folgen soll, könntest du direkt einen DAC hinter den Signalwandler-µC hängen. Eine Lösung ohne µC, bei der die Analogspannung schnell auf PPM-Änderungen reagiert, wäre mit einem Integrator mit S&H- sowie Löschstufe (aka synchronisierter Sägezahngenerator) möglich. Ist das Schaltungsvorschlag genug? Guck dir einfach Schaltpläne von RC-Empfängern aus den 80er-Jahren an.
Du müsstest aus den paar Prozent PPM ja wieder 0-5? Volt machen. Wie war das? 800us-1.200us bei 20.000us Impulsdauer? Da kommt nicht viel an Änderung auf analoger Seite bei rum. Man könnte einen Referenzimpuls mittig erzeugen und mittels D-Flipflops und XOR Verknüpfung sowohl Richtung, als auch pulslänge ermitteln und "in die Länge ziehen". Ist aber recht altbacken und wird beliebig kompliziert. Am Ende nix für den Einbau in ein Modellauto. Aber das wird sicher auch garnicht gewünscht. Es geht am Ende eh wieder um was ganz anderes. Daher: Nimm da n kleinen uC mit inputcapturing und drösel das damit auf. Meinetwegen geht das auch sicher mit'm arduino.
:
Bearbeitet durch User
Axel R. schrieb: > Wie war das? > 800us-1.200us bei 20.000us Impulsdauer? > Da kommt nicht viel an Änderung auf analoger Seite bei rum. Noch dazu, wo die Information einzig in der Impulslänge steckt. Die Wiederholfrequenz ist nur ein Nominalwert und darf auch gerne abweichen. Je nach Quelle des Signals wird sie das auch.
Axel S. schrieb: > Axel R. schrieb: >> Wie war das? >> 800us-1.200us bei 20.000us Impulsdauer? >> Da kommt nicht viel an Änderung auf analoger Seite bei rum. > > Noch dazu, wo die Information einzig in der Impulslänge steckt. > Die Wiederholfrequenz ist nur ein Nominalwert und darf auch gerne > abweichen. Je nach Quelle des Signals wird sie das auch. Jo, so wie das die älteren ESCs mit OPV gemacht haben.
Beitrag #6452119 wurde von einem Moderator gelöscht.
Axel R. schrieb: > Du müsstest aus den paar Prozent PPM ja wieder 0-5? Volt machen. > Wie war das? > 800us-1.200us bei 20.000us Impulsdauer? > Da kommt nicht viel an Änderung auf analoger Seite bei rum. Ist ja insofern egal als das es ausreicht bei zB. 2ms den Vollausschlag am C vom RC zu haben, denn die Mittelung kann ja die SW übernehmen. Also: Der ADC mißt kontinuierlich, die SW macht den Rest. Die kann dann erkennen ob es wirklich 20ms Pulsfrequenz ist und dann den ADC_max innerhalb dieses Zeitfensters als den Wert der aktuellen "PWM-Position" verwenden. Mit der Kirche ums Kreuz geht halt mit SW viel einfacher als im realen Leben.... und wenn der TO das so will paßt das schon
Uwe D. schrieb: > Axel S. schrieb: >> Axel R. schrieb: >>> Wie war das? >>> 800us-1.200us bei 20.000us Impulsdauer? >>> Da kommt nicht viel an Änderung auf analoger Seite bei rum. >> >> Noch dazu, wo die Information einzig in der Impulslänge steckt. >> Die Wiederholfrequenz ist nur ein Nominalwert und darf auch gerne >> abweichen. Je nach Quelle des Signals wird sie das auch. > > Jo, so wie das die älteren ESCs mit OPV gemacht haben. Ich kenne sogar noch Schaltungen rein mit Transistoren. Da gab es eine Kette von Monoflops. Je eins (variabel) für jeden Kanal und eins (fest) für die Pause. Die Länge eines Telegramms änderte sich dann, wenn man an einem Hebel zog.
Axel R. schrieb: > 800us-1.200us bei 20.000us Impulsdauer? 1-2ms, 1,5ms ist die Mitte. Wobei es durchaus 1100-1900µs oder auch 900-2100 oder sogar 800-2200µs sein können, und bei manchen schrägen Vögeln ist die Mitte bei 1516µs. Die Wiederholfrequenz ist irgendwas zwischen meist so 50Hz bis hoch auf 333Hz, wobei sie durchaus schwanken kann, es gibt System bei denen die Pausenzeit fest ist, nicht die Frequenz. Ach Du grüne Neune schrieb im Beitrag #6452119: > In den 80ern habe ich das tatsächlich noch mit einem Tiefpass und zwei > LM741 hinbekommen. Interessanter Schaltungsvorschlag. Den könnte man abwandeln... Öhmnöm schrieb: > Ein LTC2645 macht genau das. Auch nicht wirklich besser als mit einem RC-Tiefpass, denn das PWM ist nunmal nur 5-10% bei 50Hz. Bei höheren Frequenzen wird's besser, viele System im Autobereich geben heute 100Hz bzw. 11ms Zyklus ab, da ist man dann schon bei 10-20%. Gut, der LTC hat mit der Referenz usw. wenigstens einen stabilen Ausgang, aber trotzdem wenig Messbereich.
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.