Liebe Forum-Leser, ich suche eine Lösung für die Auswertung von Impuls-Breiten. Um genauer zu sein, repetetive Serien aus jeweils sieben Einzelimpulsen mit einer (veränderlichen!) Länge von 1,5 - 2,2 ms, dazwischen etwa 30 ms Pause. Erkannt werden soll, wenn sich ein oder mehrere Impulse um einen bestimmten Betrag verändern. Ich habe das ganze schon mal versucht, mit "diskreten" IC´s zu lösen, bin aber schnell zu der Erkenntnis gelangt, dass das ganze das mit einem µC wahrscheinlich viel einfacher wäre. Leider habe ich von dieser Materie so gar keinen Plan, und auch nicht die Zeit, mich in Programmiersprachen einzuarbeiten (auch wenn ich das schrecklich gerne tun würde - seufz). Hat vielleicht in diesem Forum jemand Zeit und Lust, gegen eine angemessene Aufwandsentschädigung eine kleine Routine zu programmieren? Daniel
hört sich sehr nach Modellbau an, da gibbet sicher schon was...
Das scheint mir soch die Auswertung des PPM-Signals einer Fernsteuerung zu werden. Häufig findet man Programme zum Auswerten eines Impulses für einen Servo. Hier soll wohl die Impulsfolge für alle Kanäle per Controller auseinandergepflückt werden. Das ist eine Standardaufgabe für einen Timer. Bei der 8051-Familie nimmt man dazu einen Timer im 16-Bit-Mode (Mode 1). Der kann insgesamt 65536 Takte zählen (bei 12MHz also 65,5ms, bei 11,0592MHZ sind es 71ms). Der Timer wird jetzt mit Gate konfiguriert, so dass der Timer nur läuft, wenn auf einem Portpin eine '1' anliegt (P3.2 für Timer 0 und P3.3 für Timer 1). Die beiden Portpins können zusätzlich einen Interrupt auslösen... sehr Praktisch hier! Der Ablauf ist dann wie folgt: (für Timer 0) Timer0 Mode 1 mit Gate Konfigurieren Externer Interrupt 0 (P3.2) auf fallende Flanke konfigurieren Timer auf 0000h rücksetzten und Starten (TR0=1). Der Timer läuft aber erst, wenn zusätzlich der Pin P3.2 auf 1 liegt. Jetzt kommt ein Impuls, der Timer beginnt zu laufen. Der Impuls ist zu Ende, der Timer bleibt automatisch stehen und die fallende Flanke löst damit einen Interrupt aus. In der Interrupt-Routine liest man (ganz gemütlich, 30ms Pause sind ja eine Ewigkeit) den Zählerstand aus (bei 12MHz entspricht jedes Bit genau 1µs) und setzt den Timer auf 0000h zurück. Jetzt kann der Zählerstand im Hauptprogramm weiterverarbeitet werden, während sich der Timer parallel um den nächsten Impuls kümmert. tschuessle Bernhard
Jau - es geht tatsächlich um eine Modellbau-Anwendung! Ich möcht´ ein Lehrer-Schüler-Kabel bauen, das den Schüler-Sender sofort abstellt, wenn ich als Lehrer "in die Tasten" greife. Heisst also, dass der µC mein Ruhe-Impulsmuster lernt, und bei jeder Änderung meinen HF-Teil an-, und den des Schülers ausschaltet. Leider habe ich absolut Null Erfahrung mit µC´s (im Gegensatz zur restlichen Digitalelektronik), und in den nächsten 25 Jahren wohl auch nicht die Zeit, mich in die Materie einzuarbeiten. Die ersten 4 (!) Bücher, die ich mir gekauft habe, sind didaktisch leider auch das Papier nicht wert, auf dem sie gedruckt sind. Zumindestens für Leser, die wie ich zwar wissen, dass es Timer, Interrupts und I/O-Ports gibt, aber eben nicht, wie man all dieses benutzt. Da Zeit meine mit Abstand knappste Ressource ist, war halt meine Idee, ob nicht irgendjemand hier ein paar Dutzend Euros für ein so einfaches Progrämmchen verdienen will. Auch wenn ich viel lieber selber Ahnung von diesaer höchst interessanten Materie hätte, aber mich in diesesThema einzulesen und einzuarbeiten, ist einfach nicht drin. Trotzdem Danke für die Tipps!
Hallo Alex, wieso sollen beide HF-Teile Aktiv sein?? Das wird im Zweifelsfall nur Bruch geben. Entweder stören sie sich gegenseitig oder beim Umschalten braucht das eingeschaltete HF-Teil etwas zu lange und das Modell schmiert ab. Normalerweise hat doch nur der Lehrer ein HF-Modul drin und der Schüler arbeitet ohne. Wieso das Rad neu erfinden, wenn es da schon was fertiges gibt, das zuverlässg funktioniert. Übrigens erfolgt die Erzeugung der Impulsfolge aufgrund der Widerstandsänderungen der Potis. Wenn da nur ein Poti kratzt, wird Deine Schaltung dauernd den Schüler-Sender abschalten und dafür Deine Neutralstellung senden. Ob das in jeder FLuglage sinnvoll ist, sollst Du selber beurteilen. tschuessle Bernhard
Hi Bernhard, das nicht beide Sender gleichzeitig senden können, ist klar. Die kommerziell erhältlichen L-S-Kabel (zumindestens die mir bekannten, und das sind viele) basieren aber nur darauf, dass fast alle Sender einen Akku-Ausgang haben, der Spannung führt, wenn der Sender AUS ist. Diese Spannung vom Lehrer versorgt den Schülersender extern, wenn der Lehrer seinen Sennder abschaltet, und legt ihn lahm, wenn der Lehrer einschaltet. Das setzt aber voraus, dass der Lehrer vor jedem Eingreifen seinen Sender einschalten muss (und damit dem Schülersender die Spannung abtrennt). Klingt theoretisch ganz gut, ist aber so, als müsste der Fahrlehrer jedesmal erst einen Zündschlüssel einstecken und umdrehen, wenn er auf die Bremse treten will, weil der Fahrschüler eine rote Ampel übersieht. Das würde ziemlich häufig krachen... Das "Rad" scheint also mitnichten bereits erfunden, das ist zumindestens meine Einnschätzung aus ca. 25 Jahren RC-Modellbau. Was hingegen äußerst zuverlässig funktioniert, ist die HF-Stummmschaltung, die bei fast allen Sendern ebenfalls in der externen 5-Pol-Buchse realisiert ist: Kontakt auf Masse, und schon ist der Sender Stumm. Ich hab´ mir mal auf dem Oszi angesehen, wie schnell die HF wieder einsetzt, wenn man den Kontakt öffnet; die Verzögerung ist (zumindestens mit meinem 50MHz-Oszi) nicht messbar. Offensichtlich schwingt der Oszillator weiter, und nur die HF-Treiber / Endstufe werden abgeschaltet. Also ideal für übergangsloses hin- und Herschalten, mit je einem Transistor, die invertiert angesteuert werden. Und wenn die Schaltung sich z.B. erst meldet, wenn z.B. über 4-5 Impulsreihen eine definitive Änderung des Musters erkannt wird, sollte ein Kratzen auch nicht stören, zumal man im praktischen Flugbetrieb von diesen (zweifelsohne vorhandenen) Artefakten auch nichts bemerkt. Kennst Du denn L-S-Kabel, die automatisch umschalten, wenn der Lehrer einen Steuerausschlag gibt? LG, Daniel
Multiplex hat(te) doch ein System, bei dem der Lehrer nur bestimmte Funktionen an den Schüler "abtreten" kann. Dabei wird der Lehrersender (So ein Monster mit Conputer drin) als Sender benutzt, und der Schüler braucht nicht mal ein HF-Teil haben. Futaba benutzt ja eine Mini-Klinke zwischen Lehrer und Schüler. Eine Leitung für die Masse und eine fürs Signal. http://data.robbe-online.net/robbe_pdf/P1122_1-F1574.pdf Ich gehe davon aus, dass der Lehrer-Sender sich auf das Telegramm des Schüler-Senders synchronisiert. Bei Multiplex wird der Schüler-Sender soweit ich weiß vom Lehrer-Sender mit Strom versorgt - da er ohne HF-Modul betrieben wird, braucht er auch noch so viel Strom. Bei Futaba braucht der Schüler eine eigene Versorgung. Der Schülersender erzeugt also das Telegramm entsprechend der Knüppelstellung. Wenn der Lehrersender "abgeschaltet" ist - die Kontrolle also an den Schüler abgegeben hat - sendet er einfach das Telegramm des Schülers. Sobald der Lehrer wieder aktiv ist, ignoriert er einfach das Telegramm des Schülers und sendet sein eigenes. Dank Computer-Sendern kann man dann auch noch auswählen, welche Teile des Schüler-Telegramms überhaupt übertragen werden. Das Problem ist also nicht als Schülersender zu merken, dass der Lehrer eingreift, sondern der Sender muß es selber herausfinden. HF-Teile ein- und auszuschalten halte ich für wenig sinnvoll, da das immer zu Störungen beim Empfänger führen kann. Übrigens habe ich bisher nur aus einem ersteigerten Sender eine L-S-Buchse ausgebaut, weil ich den Platz für andere Module brauchte.
Beitrag "Modelbau" Und da hatte ich noch einen Link irgendwo gepostet...(oder noch ein anderer Rahul..;-)
@ Rahul: Bei den hypermodernen Sendern könnte es sein, dass die Dinger auch ein externes Impulstelegramm auswerten und ggf. sogar Teile davon integrieren und aussenden können. Sender mit herausnehmbaren HF-Modulen gibt´s m.E. aber schon nicht mehr. Aber garantiert alle "Mittelklasse"-Anlagen führen eben ihr Impulstelegramm sowie einen Sender-Abschaltpin nach draussen, damit man sie z.B. an den PC anschließen kann, ohne ständig HF abzustrahlen (und Strom zu verbrauchen). Diese Konstellation macht es so verlockend, einfach je nach Impulsmuster des Lehrer-Senders je einen von den beiden Sendern zu aktivieren, aber das halt automatisch, ohne erst einen Schalter umlegen zu müssen. Denn auch schon ein paar hundert ms können zu lange sein :-) Aber ich sehe schon, ich werde das Projekt wohl erstmal auf Eis legen - schade, denn ich könnte mir vorstellen, dass es wirklich nicht schwer wäre, so ein Programm für einen AVR zu schreiben... Daniel
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.