Forum: Mikrocontroller und Digitale Elektronik RC Summensignal Decoder mit STM32


von Pepe (Gast)


Lesenswert?

Hallo,

ich möchte eine RC Summensignal decodieren. Am liebsten würde ich das 
mit einem STM32F103 machen. Hat jemand erfahrungen an welchen Port man 
das ppm Signal am besten geben kann um den µC möglichst unbelastet davon 
zu lassen?
Macht man das mit Capture Compare?  Oder eignet sich ein anderer Eingang 
besser?

Pepe

von Bernie (Gast)


Lesenswert?

Was ist denn deine Definition von RC Summensignal?
Das sagt hier niemandem was - also gibts keine Antwort.

Ist RC eine Fernsteuerung?
Wo wird die summiert?

von Löter (Gast)


Lesenswert?

Ich habe das Problem auf einem PIC mit dem Input Capture gelöst. Bei 
jedem Interrupt wurde die differenz zum vorherigen Timer Wert in ein 
Array (wert[kanal])
geschriben und der kanal um eins erhöht. War die Zahl großer als 2.5ms 
wurde kanal auf null gesetzt

von Hannes L. (hannes)


Lesenswert?

Löter schrieb:
> Ich habe das Problem auf einem PIC mit dem Input Capture gelöst. Bei
> jedem Interrupt wurde die differenz zum vorherigen Timer Wert in ein
> Array (wert[kanal])
> geschriben und der kanal um eins erhöht. War die Zahl großer als 2.5ms
> wurde kanal auf null gesetzt

Ich hab's auf dem AVR ähnlich gelöst, allerdings habe ich noch ein Array 
mit Bitmustern zur Ausgabe an die Servos angelegt. Dies ermöglichte auf 
dem 8-Pinner (Tiny15) das Decodieren ausgesuchter Kanäle (und Ausblenden 
der Unerwünschten).

Beim Tiny2313 nutze ich den Input-Capture-Interrupt. Welche 
Möglichkeiten der STM32 bietet, kann ich mangels Kenntnis seiner 
Architektur (und Ausstattung) nicht sagen.

...

von Kindergärtner (Gast)


Lesenswert?

Man kann dafür den PWM-Input eines Timers nehmen, der die Länge von 
Pulsen automatisch messen kann. So muss man nur noch im Interrupt das 
Puls-Längen-Register auslesen und in einem Array speichern o.ä.. 
Eventuell noch mit einem 2. Timer einen Timeout hinzufügen, um das Ende 
eines Zyklus erkennen zu können.

von Pepe (Gast)


Lesenswert?

Hallo,

ich danke allen mit konstrutiven Beiträgen!

@Kindergärtner
Du hast nicht zufällig ein Beispiel für die ST-Lib-Initialisierung des 
Timers? Sich durch die Initialiserung der Timer zu graben ist immer echt 
eine harte Nuss die ich mir gerne ersparen würde ;-)

Gruß
Pepe

von Kindergärtner (Gast)


Lesenswert?

Pepe schrieb:
> Du hast nicht zufällig ein Beispiel für die ST-Lib-Initialisierung des
> Timers?
Nö. Aber ST hat einen Haufen Example-Codes...

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.