Forum: Mikrocontroller und Digitale Elektronik PWM-Signal durch A/D Kanäle lesen


von Harald M. (Gast)


Lesenswert?

Hallo,

Ich plane gerade ein System für den Modellbau. Es sollen die Signale
zwischen Funk-Empfänger und Servo abgefangen, verarbeitet und
weitergeleitet werden.

Allerdings habe ich beim Mega8 ja nur 14 Digitale Ein-/Ausgänge. Das
ist für mein Projekt zu wenig. Einen anderen Controller kann ich,
mangels Verfügbarkeit an meiner Hochschule, leider nicht benutzen.
Deshalb würde ich gerne statt den Digitaleingängen die A/D Wandler
Kanäle des Controllers verwenden, um die Signale vom Empfänger
einzulesen.

Meine Sorge dabei ist allerdings, dass diese Methode zu langsam ist.
Die A/D Kanäle werden ja meines Wissens gemultiplext, und ich muss
mindestens 8 dieser PWM Signale gleichzeitig abfangen.

Als Programmiersprache will ich möglichst C verwenden. Assembler wäre
evtl. zwar möglich aber das mach ich nur sehr ungern.

Meint ihr das ist so möglich ?
Welche Alternativen hätte ich ?

Vielen Dank schonmal,
Harald M.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Analog-Eingänge lassen sich doch auch als ganz normale Digital-IOs
verwenden.

von wolli (Gast)


Lesenswert?

Alle ADC-Kanäle bzw. Pins sind auch ganz normal als digitale Pins
ansteuerbar.

von Harald M. (Gast)


Lesenswert?

Ähm, der richtige Begriff für das Signal ist wohl doch nicht PWM.
Es handelt sich dabei um einen Impuls von 1-2 ms Dauer der alle 20 ms
gesendet wird. Die Länge dieses Impulses gibt die Stellung des Servos
an. 1,5ms = Zentralstellung und 1ms bzw. 2ms das Ausschlags Min- bzw.
Maximum.

Meine Emailadresse war auch falsch :)

von crazy horse (Gast)


Lesenswert?

Hm,
1. kannst du die Analogeingänge auch als Digitalein/ausgänge nutzen,
max. also 23 I/Os
2. kommen die Servosignale nicht gleichzeitig, sondern immer einer nach
dem anderen. D.h. du kannst alle Signale über Dioden zusammenführen und
alle an einen, idealerweise den ICP, legen. Vorraussetzung: eine
winzige Pause zwischen den einzelnen Signalen. Bei meiner etwas älteren
Graupner-Anlage ging das problemlos. Synchronisieren kann man das ganze
über die Impulspause.

_|-|________ Kanal1
___|-|______ Kanal2
_____|-|____ Kanal3

_|-|-|-|____ Gesamtsignal, die einzelnen Impulslängen lassen sich
messen und eindeutig zuordnen.

von Harald M. (Gast)


Lesenswert?

wolli, Andreas Schwarz:

Das beudeutet für mich ich kann PD0-PD7,PB0-PB5 und PC0-PC5 = 20
Digitale Pins benutzen ?

Wunderbar, danke für eure (schnelle) Hilfe!

Harald M.

von Harald M. (Gast)


Lesenswert?

crazy horse:

Dir auch danke für deine Hilfe.

Leider kommt das zusammenführen der Signale für mich nicht in Frage da
das ganze System mit möglichst vielen verschiedenen Empfängern mit
unterschiedlicher Anzahl von Känalen ohne weitere Konfiguration
funktionieren soll. Plug and Pray praktisch :)

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.