Forum: Mikrocontroller und Digitale Elektronik mehrere pwm Signale auslesen


von Robert (Gast)


Lesenswert?

Hallo liebes Forum

Vorweg ich und mein Mitstreiter sind nicht ganz neu im Mikrocontrollern.
wir haben schon diverse Schaltungen und basstelleien probiert und 
erfolgreich abgeschlossen.

Zurzeit Tasten wir uns langsam aber sicher an den Bau eines 
quadrocopter.
Nein ich möchte nicht wissen das es schwierig is...

Wir haben schon ein pwm Signa(rc-Empfänger) l eingelesen und anhand 
dessen ein anderes pwm Signal ausgegeben (Brushless motorregler) ,  war 
nicht ganz leicht der weg dahin aber gut.

Nun leider reicht ein Kanal nicht um irgendwas sinnig zu steuern.

Wir würden gerne mehrere pwm Signal empfangen und auswerten können.
(Ausgabe klappt schon )
Nun verfügt der atmega8 leider nur über einen Interrupt pin und wir 
haben 6 Kanäle die wir lesen wollen. Internet schon wild durchforstet 
Foren zerstückelt und finger wund gegooglet. Leider ohne Ergebnis

Kann uns irgendwer auf die Sprünge helfen?  Wir schreiben in C nutzen 
Linux und usbasp

Liebe grüße Robert

von Robert (Gast)


Lesenswert?

Tipp Fehler...
Das kommt davon wenn einer programmieren und der andere löten kann

Nicht Interrupt pin sondern natürlich den input compare pin haben wir 
genutzt.

von Oldie (Gast)


Lesenswert?

Ihr habt einen RC-Sender und RC-Empfänger mit mehreren Kanälen.

Werden da nicht die PWM-Vorgaben "eine nach der anderen"
übertragen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wenn ihr das Signal des Emfpängers vor dem internen Schieberegister des 
Empfängers abgreift, habe ihr alle Servosignale auf einer Leitung und 
nicht einzeln wie an den Servoausgängen.
Der Abstand zwischen den Pulsen entspricht dann der Servostellung. Warum 
nehmt ihr übrigens die alte Mega8 Grotte? Mega48/88/168/328 sind 
pinkompatibel und haben alles, was der Siedler braucht, inklusive BLDC 
mit PWM.

: Bearbeitet durch User
von Robert M. (roberta)


Lesenswert?

@Oldie nee das sind 6 Anschlüsse mit je ein PWM Signal. Das wäre sonst 
PPM glaube ich...

@Matthias: das, mit dem anderes Signal abgreifen, was ja dann PPM(?) 
wäre hab ich auch schon überlegt hatte aber Angst vor der Kombi Deletanz 
und Empfänger...

den Mega88 haben wir auch da. Wegen der 6(?) pwm Kanäle hatten wir den 
mal auf Vorrat bestellt, hat der mehr input compare pins? ich 
durchforste gleich das Datenblatt wenn ja dann danke für den Wink

wenn "nein" dann: Brauche ich nen Oszilloskope um die PPM Stelle vom 
RC-Empfänger zu finden?

vielen Dank schonmal

[EDIT] wofür steht BLDC?

: Bearbeitet durch User
von .. (Gast)


Lesenswert?

Im RC-Bereich spricht man in dem Zusammenhang vom Summensignal.
Bei älteren Empfängern (35MHz Ära) konnte das bei fast jedem Empfänger 
abgegriffen werden.
Bei aktuellen Empfängern (2.4GHz) gibt es dieses Signal idR nicht mehr. 
Hinzu kommt, dass die einzelnen Servoimpulse bei manchen Herstellern 
gruppenweise synchron und manchmal auch öfter als mit 50Hz ausgegeben 
werden. Die Rekonstruktion des Summensignals ist daher oftmals nicht so 
trivial. Die meisten Hersteller bieten aber Empfänger an, die auch ein 
Summensignal ausgeben können. Womit ihr euch derzeit beschäftigt, ist 
daher eher eine unnötige Übung.

der Link könnte euch weiterhelfen:
http://jreise.de/PPM/R617FS.html

zu dem Thema vielleicht auch gut zu wissen - es gibt positive und 
negaitve PPM Codierungen. Spektrum Satelitenempfänger kommunizieren per 
UART. Sourcecode findet ihr auch beim MultiWii Projekt.

von m.n. (Gast)


Lesenswert?

Robert M. schrieb:
> den Mega88 haben wir auch da. Wegen der 6(?) pwm Kanäle hatten wir den
> mal auf Vorrat bestellt, hat der mehr input compare pins? ich
> durchforste gleich das Datenblatt wenn ja dann danke für den Wink

Der ATmega88 hat PCINT-Eingänge, an denen jede Flanke einen Interrupt 
auslösen kann. In Verbindung mit Timer1 kann man damit PWM-Signale 
vermessen, allerdings nicht so genau und hoch aufgelöst wie mit dem 
ICP1-Eingang. Bei geschickter Programmierung sollte eine Auflösung von 
1-3 µs möglich sein.

von Thomas Z. (tezet)


Lesenswert?

.. schrieb:
> Bei aktuellen Empfängern (2.4GHz) gibt es dieses Signal idR nicht mehr.

In meinem Empfänger gibts intern den EmpfängerIC und den PPMGeneratorIC. 
Beide sind per UART verbunden. Ganz praktisch kann man das Signal 
abgreifen. Das sind immer 2-Byte-Werte mit 10Bit Auflösung - ohne 
Gefummel

von Robert M. (roberta)


Lesenswert?

Vielen dank für eure Hilfe

wir werden es wahrscheinlich einfach mit dem Mega88 machen

die Möglichkeit Adapter werden wir auch nicht aus dem Auge lassen 
einfach um es mal gemacht zuhaben =)

wenn wir weiter sind werde ich hier nochmal schreiben

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.