Forum: Mikrocontroller und Digitale Elektronik Analoges Signal einlesen und generieren mit mikrocontroller


von Marc (Gast)


Lesenswert?

Hallo, ich würde gern mit einem 32 Bit µC ein beliebiges Signal (von 
Sinus bis Rechteck im ms bis µs Bereich einlesen, dort zwischenspeichern 
und später nach belieben wieder ausgeben lassen. Einlesen über den ADC 
sollte mit 200kHz möglich sein und für sehr kurze Rechecksignale wären 
eventuell Interupts zu nutzen. Die Amplitude der eingehenden Signale 
wollte ich vorher über einen Spannungsteiler zurecht "stutzen". Bei der 
Ausgabe würde dann das Signal wieder verstärkt bzw. etwas geglättet 
werden mittels OPV bzw. TP Schaltung (wenn nötig). Ich würde gern mal 
eure Meinung hören ob das so einfach möglich ist ohne einen weiteren 
Funktionsgenerator bzw. einen weiterne Baustein mit WT oder ob ich mir 
das doch etwas zu simpel vorstelle. Den Eingangsfilter würde ich 
eventuell sogar erstmal weg lassen wenn ich nur Werte aufnehme und 
wieder ausgebe?.?.

von Wolfgang M. (womai)


Lesenswert?

Technisch absolut moeglich. Was Du beschreibst ist im wesentlichen ein 
einfaches Speicheroszi und ein einfacher AWG (arbitrary waveform 
generator).

Was so ein Mikrocontroller-basiertes Oszi betrifft, habe ich sowas schon 
selber gebaut:

http://www.dpscope.com

Mit einem kleinen Trick 
(http://dpscope.freeforums.org/doubling-the-maximum-single-shot-sampling-rate-to-2-msps-t59.html#p114) 
kommt das auf 2 Msps Sample-Rate, was fuer 200 kHz Bandbreite vollkommen 
ausreicht auch ohne viel Filterung. Ob Dir 410 Datenpunkte genug sind, 
weiss ich natuerlich nicht. (es gibt einen neueren dsPIC33, der zum 
dsPIC30F2020 im wesentlichen aufwaertskomptibel ist - ausser dass er auf 
3.3V rennt), aber mehr RAM und einen doppelt so schnellen ADC hat.)

Fehlt noch der AWG (ich bastle gerade an einem). Der ist 
firmware-technisch viel einfacher als ein Oszi, dafuer muss man beim 
Analogteil (Rekonstruktionsfilter) ein bisschen mehr Aufwand 
reinstecken. Je nachdem wie sauber das Signal sein soll und wie flexibel 
man Offset und Amplitude einstellen koennen will.

Ob ein 32-bit uC unbedingt besser als ein (16-bit-)dsPIC ist, ist nicht 
sicher. Denn Du brauchst ja auch z.B. einen ausreichend schnellen ADC - 
das habe viele Wald-und-Wiesen-32-Bitter nicht. Koennte man natuerlich 
extern dazuschalten, aber Du willst ja alles eher mit moeglichst wenigen 
Bauteilen erledigen, oder? RAM haben die 32-Bitter allerdings 
uebicherweise viel mehr.

Je mehr Du uns ueber Deine Anwendung verraetst (z.B. 
Minimalanforderungen, Einsatzgebiet), dest besser kann man Ratschlaege 
geben.

von Marc (Gast)


Lesenswert?

Ich hab mich etwas falsch ausgedrückt. Mein Signal wird wahrscheinlich 
bei maximal 5kHz liegen (eher bei er Hälfte), aber ich wollte mit einem 
Mikrocontroller abtasten der bis zu 200KHz bietet (LPC17xx). 
Wahrscheinlich reicht es vorerst auch aus nur die Spitzenspannung und 
die Frequenz zu erfassen. Ich habe mich gerade dazu entschlossen eine 
Soundkarte zu verwenden, um die Signale vorzugeben und zu testen, aber 
wo ich deinen Beitrag lese hab ich noch jetzt noch zusätzlich was 
anderes vor (sobald Zeit ist)^^. Es geht eigentlich nur darum ein paar 
Sensorsignale auszuwerten die in Frequenz und Amplitude variieren und 
ihre Informationen entweder durch PWM im Strom oder Sinusspannungen 
übermitteln und diese nachzubilden bzw. im Controller etwas 
aufzubereiten. Anpassungen an die maximalen 5V am A/D Eingang sind bzw. 
werden berücksichtigt bzw. eine anzusteuernde Stromquelle wird noch 
vorgesehen.
Ich denke mittlerweile, dass es gut möglich sein sollte mit dem 
Mikrocontroller (der langweilt sich sonst ohnehin nur ;-P )

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.