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
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,
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
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).
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.
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
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...
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
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.
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.