Hi, ich beschäftige mich gerade damit. Um das Signal vom Empfänger auszuwerten, hab ich mir gedacht: Einen ext. Interrupt auf steigende Flanke einstellen. Wenn der Interuppt kommt, einen Timer starten um die Impulslänge zu messen. Gleichzeitig den ext. Interrupt auf fallende Flanke stellen, um das Impulsende festzustellen. Anhand des Timerwertes habe ich ja dann die Impulslänge. Ist dies so richtig??? Mfg Sascha
Da liegst du richtig. Manche Controller haben auch die ICP-Unit, mit der man das auch machen kann.
@Rahul Ok, Danke. Aber was ist die ICP-Unit???? Schwanke noch zwischen einem ATmega168 oder R8C13. Es soll ein brushless Regler für meinen Heli werden. Mfg Sascha
Wenn du das Servosignal auswerten willst ja, der Sender schickt das Signal anders, da gibt es einen Startimpuls und jeder Kanal kommt dann im entsprechenden Zeitabstand nach. So ist es zumindest bei meiner Steuerung.
ICP = input Capture, den haben "neuere" AVR. @Hubert: Der Empfänger "spuckt" das decodierte Signal für jeden Ausgang einzeln aus. Wenn man an den Demodulatior-Ausgang des Empfängers rankommt (vor dem 4017), dann kann man alle Servo-Signale mit nur einem Eingang am Controller auswerten. Dazu gibt es hier aber auch schon Threads bis zum Umfallen...
Der Controller soll an dem jeweiligen Ausgangs-Kanal am Empfänger kommen, nicht davor. Mfg Sascha
"Demodulatior"... Super neues Wort... Soll eigentlich "Demodulator" heissen...
Deine Ansprüche sind zwar recht hoch, aber wenn du dich erstmal in anspruchslosere RC-Projekte einlesen willst, dann kannst du ja hier mal schaun: http://www.hanneslux.de/avr/mobau/index.html ...
> "Demodulatior"... Super neues Wort...
Da "i" und "o" auf der Klopfatur Nachbarn sind, passiert sowas
gelegentlich. Und wenn das nicht gerade in jedem zweiten Wort passiert,
dann übersehe ich das wohlwollend (das passiert mir nämlich auch
andauernd, nur bemerke ich das meist (aber leider nicht immer!) noch
beim Korrekturlesen vor dem Absenden).
Es ist also nix passiert...
...
@HanneS "Deine Ansprüche sind zwar recht hoch" Naja ????? Ok, brushless wird nicht ganz einfach. Aber was anderes macht in einem Heli keinen Sinn. Außerdem kaufen kann jeder. Hab zwar einen, aber da rauchen gelegntlich die Mosfets ab. Danke für den Link auf deine Seite. Mfg Sascha
AxelR. hatte irgendwo (hier) schon mal was zu DC-Brushless gepostet...
wollte ich jetzt nicht drauf eingehen... Kleiner Tipp: Nimm erstmal einen Mabuchi450 und versuch den mit einer simplen H-Bridge in Abhängigkeit deiner Knüppelstellung zum laufen zu bekommen. Alles anddere erscheint mir etwas verfrüht. Du wirst einen Eigenbaubrushlessregler sicher mit drei LEDs und am Labornetzteil zum "drehen" bekommen. Das wars dann aber auch schon. Sobald Du einen richtigen Motor anschliesst und ein AkkuPack, wird sich der Atmel ständig resetten und Dir fliegen die Mosfets umme Ohren. So war es bei mir und bei allen anderen. Nimm also was fertiges - Projekte, die Du anpassen kannst, gibt es genug im Netz. Z.B mal nach "konze" und "floh" suchen.(google) Wenn Du Bernhard anschreibst, schickt er Dir sicher eine aktuelle Firmware. Aber Du willst ja selber bauen - hmmm. BLMC, BLDC sind evtl. noch schalgworte, mit dneen Google was anfangen kann. Soo einfach ist das alles nicht - sage ich. Viele Grüße AxelR.
> Außerdem kaufen kann jeder. Na ja. Die Frage ist: Wo liegen deine Prioritäten? Willst Du lieber fliegen oder willst du dich endlos lange damit rumquälen, warum der AVR in deiner Schaltung schon wieder abgestürzt ist, bzw. die MOSFets trotzdem heiss werden obwohl sie es nicht dürften, der Rest der Steuerung verrückt spielt (weil aus der Schaltung Störungen zu den Servos durchschlagen), etc. etc. Auf eines kannst du dich mit ziemlicher Sicherheit gefasst machen: Billiger als wenn du einen Regler fertig kaufst, wird es mit ziemlicher Sicherheit nicht. Und der erste Regler wird wahrscheinlich nicht so funktionieren wie du dir das vorstellst.
eben :-) Mir sind einige graue Haare gewachsen. Kannst ja mal schnökern, ist in deutsch. http://people.freenet.de/khruehlow/Meinehomepage.html
Ja, das ist mir alles schon klar. Ganz neu bin ich in der µC-Programmierung nun nicht. Elektronik ist für mich als gelernter Energieelektroniker auch nichts fremdes. Soll nur angemerkt werden, bevor jemand wieder schreibt: Laß erstmal ne Led blinken. Um den Preis geht es mir nicht, sondern um den Lerneffekt. Und das es von anfang an alles funktionieren soll habe ich doch nicht geschrieben, oder? Für den AVR und auch den R8C13 gibt es schöne App`s, die ich mir durchgelesen habe. Der Regler den ich hier liegen habe, werkelt mit einem ATmega8. Leider von extrem niedriger Qualität. Mfg Sascha
@AxelR Danke für die Links, die kenne ich aber leider schon. Ich hatte jemanden wegen des Codes angemailt. Derjenige möchte keine Mitarbeit aufgrund von diversen Enttäuschungen. Kann ich ja nachvollziehen. Mfg Sascha
Der Atmega8 ist sehr oft in solchen Reglern anzutreffen. Ich hab hier drei, die alle diesen µC nutzen. Ich hab auch schon selbst einen BLMC mit Tiny2313 und einen mit Mega8 aufgebaut, allerdings in groß auf Lochraster. Die sind auch eher für Testzwecke als zum Einbau in Flieger. Ich will mich auch an der Entwicklung einer eigenen Firmware in C++ versuchen, aber ich werde vermutlich den Mega48 verwenden (oder ggf. den 88 falls 4k Flash nicht reichen sollten - was ich aber für unwahrscheinlich halte). Der hat auch Input-Capture, und er bringt mit seinen 8bit-Timern vier PWM-Kanäle zusammen, so daß ich die PWM voll in Hardware machen kann (brauche ja mindestens 3) und trotzdem noch den 16bit-Timer komplett frei habe. Beim Mega8 geht das so nicht. Den 16bit-Timer will ich dann für das Kommutierungstiming und die Messung der Servopulse verwenden. Ich weiß nur noch nicht, ob ich das Input-Capture für die Servopulsmessung oder die Kommutierungsmessung verwende (man kann auch den Analog-Komparator auf die Input-Capture-Einheit schalten). Das genaue Kommutierungstiming ist vermutlich wichtiger als die genaue Länge des Servopulses, da dieser bei einem Motorregler eh nicht so fein abgestuft sein muß wie bei einem Servo und weil man ja auch mehrere aufeinanderfolgende Werte mitteln kann. Die Leistung läßt sich eh nicht so ruckartig ändern. Übrigens gibt's bei Atmel eine Appnote über sensorbasierte und eine über sensorlose BL-Regler. Die nehemen auch den Mega48/88/168, aber fügen die PWM extern über ein UND-Gatter ein. Das braucht dann zwar nur einen PWM-Kanal, aber man benötigt halt wieder einen zusätzlichen Baustein. Auf jeden Fall ist es aber Wert, sich das mal anzuschauen.
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.