Forum: Mikrocontroller und Digitale Elektronik AVR an Modellbau-Empfänger


von Sascha S. (sascha)


Lesenswert?

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

von Rahul (Gast)


Lesenswert?

Da liegst du richtig.
Manche Controller haben auch die ICP-Unit, mit der man das auch machen
kann.

von Sascha S. (sascha)


Lesenswert?

@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

von Hubert.G (Gast)


Lesenswert?

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.

von Rahul (Gast)


Lesenswert?

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...

von Sascha S. (sascha)


Lesenswert?

Der Controller soll an dem jeweiligen Ausgangs-Kanal am Empfänger
kommen, nicht davor.

Mfg Sascha

von Rahul (Gast)


Lesenswert?

"Demodulatior"... Super neues Wort...
Soll eigentlich "Demodulator" heissen...

von Hannes L. (hannes)


Lesenswert?

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

...

von Hannes L. (hannes)


Lesenswert?

> "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...

...

von Sascha S. (sascha)


Lesenswert?

@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

von Rahul (Gast)


Lesenswert?

AxelR. hatte irgendwo (hier) schon mal was zu DC-Brushless gepostet...

von Axel R. (Gast)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

> 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.

von Axel R. (Gast)


Lesenswert?

eben :-) Mir sind einige graue Haare gewachsen.
Kannst ja mal schnökern, ist in deutsch.
http://people.freenet.de/khruehlow/Meinehomepage.html

von Sascha S. (sascha)


Lesenswert?

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

von Sascha S. (sascha)


Lesenswert?

@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

von Rolf Magnus (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.