Forum: Mikrocontroller und Digitale Elektronik Projekt Spannungsmessung, welcher µC


von Raphael G. (der_hirsch)


Lesenswert?

Hallo Zusammen,

ich hab schonmmal die Suchfunktion bemüht, aber mich dann trotzdem dazu 
entschlossen einen neuen Beitrag zu verfassen:

Ich möchte eine Platine entwickeln, welche mir zu verschiedenen 
Zeitpunkten mehrere Spannungen misst und mitschreibt. (Ca. 5 
unterschiedliche Spannungen, alle im Bereich zwischen 3 und 13 Volt) 
(EDIT: fast Vergessen: die zu messenden Spannungen sind DC)

Dazu hätte ich ein paar grundsätzliche Fragen:

1. Reichen für eine genaue Spannungsmessung in diesem Bereich die 
internen ADCs vom µC oder ist es sinnvoll auf einen zusätzlichen 
Baustein zu gehen der z.B. dann per I2C angeschlossen wird, wie zum 
Beispiel LTC2991 oder ähnliches...

2. Die Platine soll möglichst vielseitig einsetzbar sein und die 
gemessenen werte mit Zeitstempel schreiben. Da hab ich noch so meine 
Probleme mit der Auswahl vom µC. Ich würde die Ergebnisse gerne auf eine 
SD-Karte (µSD) speichern mit Zeitstempel, also im Prinzip so:
04.07.2016 10:56:34 V1: 3,384V V2: 5,123V V3:.... Ich denke ihr wisst 
wie´s weitergeht...
Ich denke auch dafür brauche ich ein zusätzliches Bauteil als RTC, das 
dann evtl. über eine Knopfzelle betrieben wird, damit die Uhr nicht 
immer neu gestellt werden muss, wenn die Platine mal eine Zeit lang 
außer Betrieb ist, oder? Anschluss auch wieder über I2C?
Ausgelöst werden soll die Messung bzw. Speicherung der Werte über ein 
zusätzliche GO-Signal oder (je nach einstellung) über einen längeren 
Zeitraum geloggt werden.

3. Wenn ich nicht immer auf SD-Karte (µSD) speichern will, sollen die 
Ergebnisse aber auch über einen zusätzlichen Anschluss wie z.B. Seriell 
ausgegeben werdem, damit ich sie z.B. über Putty am Laptop mitschreiben 
kann.

4. Ideal wär´s natürlich auch, wenn ich keinen zusätzlichen Programmer 
brauche, sondern nur mit nem USB-Kabel auf die Platine fahren könnte...

Ihr seht ich hab noch einige Fragen zu dem Thema, weil ich auch schon ne 
Zeit raus bin aus dem Bereich... Mein letztes Projekt war noch mit nem 
Atmega 128 und bedeutend weniger komplex... Jetzt gibts ja mit Arduino 
oder Infineon XMC ganz andere Möglichkeiten...

Der große Vorteil ist, dass ich da sehr freie Hand habe um das alles 
umzusetzen, das sollte sich schon machen lassen.

Ich glaube meine Hauptfrage bezieht sich auf die Auswahl vom µC, da habt 
ihr definitiv mehr Erfahrung als ich.

Wenn mir sonst noch was einfällt melde ich mich wieder, ansonsten 
schonmal vielen Dank für eure Vorschläge.

Grüße
der_Hirsch

: Bearbeitet durch User
von Karl M. (Gast)


Lesenswert?

Hallo,

was aber fehlt ist eine Angabe über die benötigte Genauigkeit und der 
Auflösung. Temperaturbereich..

Die vielen Hersteller bieten die zu Auswahl eine Liste, die man nach 
deinen Kriterien markieren, sortieren und selektieren kann,

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Raphael G. schrieb:
> 1. Reichen für eine genaue Spannungsmessung in diesem Bereich die
> internen ADCs vom µC
Definieren "genaue" genauer...

> V1: 3,384V V2: 5,123V
Also brauchst du einen Wandler und ein Layout, die zusammen mehr als 12 
Bit können.

> wie zum Beispiel LTC2991 oder ähnliches...
Ähem...
"Octal I2C Voltage, Current, and Temperature Monitor"

> 2. Die Platine soll möglichst vielseitig einsetzbar sein und die
> gemessenen werte mit Zeitstempel schreiben.
Suche mal nach "Datenlogger Schaltplan" oder "data logger schematics"

: Bearbeitet durch Moderator
von Karl M. (Gast)


Lesenswert?

Hallo Raphael,

der µC ist hier von untergeordneter Rolle. Er muss nur für deine 
Anwendung über genügend I/O Pins verfügen und, wenn da ein I2C Bus ist, 
wird es einfacher mit der Programmierung.

Auf einen Atmel AVR µC kann man i.a. unterschiedlichste Bootloader 
aufspielen. Setzt man dann noch einen USB zu Seriellwandler FT232RL ein, 
ist man auch unabhängig von einem realen Hardware USB auf einem Atmel 
AVR µC.

Diese gibt es neben bei auch. Z.b. atmega32u4.

Rüstet man auf dem Atmega32U4 Breakout-Board noch eine 
Referenzspannungsquelle und Spannungsregler nach, kann man wirklich mit 
der angegebenen Genaugikeit und Auflösung Messen.
Sonst bleibt es eher ein Schätzen.

http://www.ehajo.de/baus%C3%A4tze/bedrahtete-baus%C3%A4tze/atmega32u4-breakout-board.html

Das Atmega32U4 Board ist genau so breit und lang wie ein 2 Zeilen x 16 
Zeichen LCD, so dass man seine Baugruppe sehr einfach in Modulen 
übereinander und kompakt montieren kann (Sandwich).

von Lurchi (Gast)


Lesenswert?

Die meisten µC haben nur 10 oder 12 Bits ADCs mit drin. Je nach 
Anforderungen reicht das, oder auch nicht. Es gibt einige weniger mit 
hochauflösendem ADC, man kann aber auch einen kleinen externen ADC 
nutzen: Der MCP3421 ist zwar nicht high end, aber schon deutlich besser 
also die meisten µC internen ADCs und auch die Referenz ist schon 
brauchbar.

Die Eingänge werden noch Teiler und ggf. Verstärker benötigen.

Wegen der SD-Karte und auch für geringen Stromverbrauch wird der µC wohl 
mit 3,3 V laufen. Sonst ist der µC relativ egal, weil keine so hohen 
Anforderungen gestellt werden. Da hat man also relativ freie Wahl, je 
nachdem was man schon kennt.

Bei der Schnittstelle (RS232 oder USB ?) wäre noch die Frage ob man da 
ein Isolierung braucht.

Die Aufgabe der Echtzeituhr können viele µC auch intern erledigen - da 
braucht man nur einen Quarz für den Takt und ggf. einen Abgleich der 
Frequenz. Bei einer sparsamen Auslegung kommt man ohne extra Knopfzelle 
aus, da reicht es den µC und ggf. auch ADC per Batterie zu versorgen.

von Raphael G. (der_hirsch)


Lesenswert?

WOW! Ihr seid ja wirklich schnell.

Also von der Auflösung her bräuchte ich min. 2 am besten 3 
Nachkommastellen.
Das ganze wird im PCI-E Format gebraucht, also kommen fertige Platinen 
nicht in Frage.

Die Übertragung auf die SD-Karte können wenn ich das richtig verstehe 
die meißten µCs? Wie wird die angebunden?

Der Temperaturbereich liegt schätzungsweise bei 0-40°C, hauptsächlich 
aber bei Zimmertemperatur.


Grüße
Raphael

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Raphael G. schrieb:
> Die Übertragung auf die SD-Karte können wenn ich das richtig verstehe
> die meißten µCs? Wie wird die angebunden?
Über SPI oder SDIO. Also "lediglich" ein paar Portpins mit einer 
passenden Programm dahinter...

von Raphael G. (der_hirsch)


Lesenswert?

Hallo Zusammen,

ein Kollege hat noch mehrere AT32UC3C164C-AUT µCs rumliegen, die er im 
Moment nicht braucht.
Die SD-Karte kann ich ja wie ich gelernt habe eh anbinden, jetzt hab ich 
gesehen, dass das Teil sowohl USB als auch Ethernet im Bauch hat.
Wenn ich einen ADC über I2C ranhänge, kann ich dann wenn ich das richtig 
verstehe die Werte nicht nur auf die SD-Karte werfen, sondern auch über 
einen beliebigen anderen Port (USB/Serial/Ethernet) ausgeben, oder?

Gibts theoretisch auch die Möglichkeit über Ethernet auf die Log-Datei 
auf der SD zuzugreifen? Und könnte das der Controller?

Kann ich diesen µC dann direkt über seinen USB programmieren?

Nochmal zu den ADCs: Also "offiziell" ist die höchste zu messende 
Spannung 12V. Ich möchte ganz gerne spitzen (beim ein oder ausschalten) 
mit abdecken, also gehe ich mal von max 15V aus. Welche Auflösung sollte 
dann der ADC haben, damit ich auf 2 Nachkommastellen einigermaßen genau 
hinkomme? Also die erste Nachkommastelle sollte definitiv korrekt sein, 
die 2. reicht als Schätzeisen. Wobei natürlich genauer auch besser wäre.

Sorry für die Anfängerfragen, aber ich bin grad selbst überrascht, was 4 
Jahre weg von der Materie mit dem Hintergrundwissen anstellen ;-)

Grüße
Raphael

von Lurchi (Gast)


Lesenswert?

15 V und 0.01 V Auflösung wären 1500 Schritte. Ein 10 Bit ADC ist da 
schon an der unteren Grenze - die 2. Nachkommastelle kann nicht jeden 
Wert annehmen. Ein 12 Bit ADC wäre da ggf. schon zu empfehlen.

Sofern die Messung nicht schnell sein muss, sollte man aber sowieso über 
ganze Perioden der Netzfrequenz integrieren. Damit kann dann auch der 10 
Bit ADC noch Zwischenwerte erreichen.

Vom Aufwand her ist der Kontakt zum ADC und der SD Karte relativ 
einfache (wenigstens für den langsamen SPI modus der SD Karte, der hier 
aber ausreichen sollte). Das File System für die SD karte ist schon 
nicht mehr ganz so einfach und braucht ggf. ein µC mit wenigstens etwa 1 
K RAM. Mit den ganz kleinen müsste man da schon Abstriche machen.

Eine RS232 ist noch relativ einfach, USB ist schon einiges 
Umständlicher, aber dafür findet man oft Code/Libraries. Ethernet ist 
dagegen schon recht aufwändig beim Programm. Natürlich kann der µC auch 
die Daten von der SD Karte wieder lesen und die Daten weiterleiten - es 
ist nur eine Frage des Programms.

Je nach µC type braucht es auch einiges sich da einzuarbeiten, vor allem 
bei den größeren Typen wie ARM, MIPS (PIC32) oder AVR32. Je nach µC 
braucht man auch eine andere Entwicklungsumgebung. Entsprechend bleibt 
man gerne bei der µC Familie die man kennt, sofern es geht, auch wenn 
der µC an sich nicht optimal ist.

von aSma>> (Gast)


Lesenswert?

> Wenn ich einen ADC über I2C ranhänge, kann ich dann wenn ich das richtig
> verstehe die Werte nicht nur auf die SD-Karte werfen, sondern auch über
> einen beliebigen anderen Port (USB/Serial/Ethernet) ausgeben, oder?

Ja, kannst du, wenn du es schaffst.

> Gibts theoretisch auch die Möglichkeit über Ethernet auf die Log-Datei
> auf der SD zuzugreifen? Und könnte das der Controller?

Theoretisch, ja. Ob, das der µC kann, steht alles in den Datenblättern.

> Nochmal zu den ADCs: Also "offiziell" ist die höchste zu messende
> Spannung 12V. Ich möchte ganz gerne spitzen (beim ein oder ausschalten)
> mit abdecken, also gehe ich mal von max 15V aus. Welche Auflösung sollte
> dann der ADC haben, damit ich auf 2 Nachkommastellen einigermaßen genau
> hinkomme? Also die erste Nachkommastelle sollte definitiv korrekt sein,
> die 2. reicht als Schätzeisen. Wobei natürlich genauer auch besser wäre.

Mit einen Spannungsteiler musst du auf max. 3.3 Volt deine messende 
Spannung teilen. Bei 12bit musst ich aber sogar den Taschenrechner 
rausholen. Kannst du das nicht selber machen? Als Quantisierungsfehler 
wirst du wohl zwischen 3-4mV haben.

> Sorry für die Anfängerfragen, aber ich bin grad selbst überrascht, was 4
> Jahre weg von der Materie mit dem Hintergrundwissen anstellen ;-)

Eher Lichtjahre.

von Patrick C. (pcrom)


Lesenswert?

Sowieso auch PSOC-3/5lp von cypress bestudieren. 20-bits ADC on-board 
incl referenz spannung usw. Mann musz sich dran gewoehnen weil es etwas 
anders funktioniert als bei andere prozessoren aber wenn man dran 
gewoenht ist, funktioniert es super.

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.