Forum: Analoge Elektronik und Schaltungstechnik Analoge Spannung Digitalisierung


von Ralf A (Gast)


Lesenswert?

Hallo

Ich habe folgendes Problem.
Alle 1,5 bis 2 Sekunden muss ich eine analoge 1 - 5 Volt Spannung 
digitalisieren und am PC (Win XP) dokumentieren. Insgesamt so 3000 - 
4000 Messungen.

Ich habe zwei Lösungsansätze:

1: Ein A/D Wandler IC, welches dann direkt vom PC über die serielle oder 
parallele Schnittstelle angesprochen wird. Und jeden Messpunkt sofort 
überträgt.

2: Ein Mikrocontroller mit A/D Wandler, welcher ca. 3000 - 4000 
Messpunkte sammelt und erst nach abgeschlossener Messungen mit dem PC 
den Datenaustausch macht.

Zu meinen Kenntnissen:
Ich habe C++ Kenntnisse (Objektorientiert), leider habe ich noch nichts 
mit Schnittstellen gemacht, da muss ich mich erst noch einarbeiten.
Assembler Mikrocontroller Kenntnisse.
Das Windows Programm ist auch Bestandteil dieser Aufgabe.
Welche Schnittstelle ist dafür am geeignetsten?

Welche Methode würdet ihr mir empfehlen?

Ich freue mich auf eure Antworten

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Ein Digital-Multimeter mit serieller Schnittstelle, das mißt auch alle 
1-2 Sekunden. Oder muß es getriggert wandeln?

von sebba (Gast)


Lesenswert?

Also ich würd irgendnen AVR mit AD Wandler nehmen

(zum einen muss der AD ja nich wirklich schnell sein - und zum anderen 
hört sich das nicht so an als ob du ne hohe Auflösung brauchst und 10 
Bit sind ja auch schon nich schlecht (bei 0-5 V sind das 5 / 2^10 = 
0,005 V Auflösung (die du aber sowieso nicht erreichen wirst...)

Ob du die Daten dann direkt überträgst oder noch zwischenspeicherst 
kannst du dann auch spontan entscheiden - bei nem Mega32 hast du 2K Ram 
- also kannst du ca 1500 Messungen zwischenspeichern (sofern der µC nich 
noch irgendwas anderes machen soll)

Die Schnittstelle is würd ich sagen Geschmackssache ;) - Seriell ist 
natürlich von der Übertragung extrem einfach - du brauchst auch der µC 
Seite so gut wie keine Hardware und auf der PC Seite keine Treiber...

Alternative wär USB - Vorteil: Du hast schon ne Stromversorgung, 
außerdem gibts Code um mit nem nakten AVR ne USB Schnittstelle 
hinzubekommen - aber es bleibt entweder erheblicher Programmieraufwand 
oder Hardwareaufwand (verglichen zu RS232) - und du brauchst auf der PC 
Seite natürlich Treiber...

Nen einfachen AD Wandler würd ich nich nehmen - wär mir halt zu 
aufwändig da dann noch Hardware ranzubasteln um den ann Parallel oder 
Seriellen Port zu bekommen - und nen AVR kost auch nur 2 - 5 €
(Is ja aber nur meine Meinung....)

Grüße, Sebba

von Hansi L. (fabian87)


Lesenswert?

das einfachste ist wohl einfach nen 10 bit ad wandler vom avr nehmen und 
das ergebnis sofort nach der messung per uart senden!

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Das einfachste ist einen USB-AD-Wandler (in Form eines Multimeters :).

von Ralf A (Gast)


Lesenswert?

Vielen Dank für die Antworten.

Ich tendiere zu der AVR A/D Wandler Methode.
Jetzt stellt sich mir nur noch die Frage, wie ich es übertragen soll.
Seriell hört sich für mich ser schwierig an, da ich die Stellen nur 
einzelen schicken kann, parallel könnte ich 8 bit direkt übertragen.
Wenn ich aber die 10 bit des A/D Wandlers übertragen möchte ergibt sich 
aber bei der parallelen Übertragung das gleiche Problem.

Habt ihr da Vorschläge für mich?

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Womit willst du die Daten auswerten?
Soll es eine Textdatei bzw. tabellenkalkualtionstaugliche Datei werden?
Dann ist es sinnvoll, die AD-Werte im Controller in einen String 
(Aneinanderreihung von ASCII-Zeichen) zu wandeln.
Man kann den AD-Wert dann auch schon in die Spannungswerte o.ä. wandeln.
Dann kann man in einem Protokoll noch festlegen, ob es zu regelmässigen 
Messungen (in einstellbaren Intervallen) oder nur eine einzelne gemacht 
werden soll.
Das sind alles mögliche Erweiterungen.

von Karl heinz B. (kbucheg)


Lesenswert?

> Seriell hört sich für mich ser schwierig an

Nicht wirklich.
Auf der AVR Seite schickt dir der µC jeden Messwert einzeln
jeweils abgeschlossen mit einem '\n'.
Auf der PS Seite empfängst du den String, teilst ihn
Anhand der '\n' in Teilstrings auf und wie man einen String
in einem Zahlenwert zurückverwandelt weist du ja.

Wenn du das so machst, hast du den Vorteil dass du zum Testen
noch überhaupt kein PC Programm brauchst. Du nimmst einfach
eine Terminalemulation (zb. Hyperterminal) und siehst dort
die Messwerte durchrauschen. Jeweils ein Messwert auf einer
neuen Zeile.

von Karl heinz B. (kbucheg)


Lesenswert?

> Auf der AVR Seite schickt dir der µC jeden Messwert einzeln
> jeweils abgeschlossen mit einem '\n'.

Das klingt jetzt so, als ob der AVR das von alleine
machen würde. Tut er natürlich nicht. Das musst du
schon programmieren. Ist aber nicht wirklich schwer.
Da das die einzige Aufgabe des AVR ist, kannst du
kleckern und einfach sprintf() dafür hernehmen.
Wenn du in C programmierst, was ich dir empfehlen
würde.


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.