Hallo Zusammen, es geht darum, dass ich Spannungen von Sonnen- und Wind-Wächter auswerten kann. Die Spannung liegen zwischen 0 und 2 Volt. Das ganze muss irgendwie ausgewertet werden um es dann unter Linux per USB auszuwerten. Gibt es hier eine Möglichkeit? Ich konnte nichts dergleichen dazu finden.. Wäre dankbar für alle eure Antworten! -Fabio
Da helfen Dir die Firmen National Instruments und Meilhaus gegen Bares bestimmt sehr gerne weiter. :-)
Verstehe ich jetzt nicht.. Hatte da eher an was kleines, feines gedacht.. Kann man das nicht relativ einfach zusammenbasteln bei so geringen Spannungen? Ich muss nur den Output per USB auslesen können...
Schon in der Bibel steht: Suchet, so werdet Ihr finden... Etwas das Du, mit absoluter Sicherheit, nicht gemacht hast. Es gibt heute kaum noch einen Mikrokontroller, der keinen A/D-Wandler hat. Im Rahmen der Mikrocontroller.net-Suchservices: Such mal nach "Arduino".
Also, um das mal noch zu sagen, bin ich ein kompletter Anfänger.. Ich habe gesucht, aber ich habe keine Ahnung nach was eigentlich.. Ich dachte man kann das mit einem Chip relativ einfach auswerten und an die USB-Schnittstelle geben.. Das ganze bräuchte ich dann 2mal für Sonne und Wind, dann wärs das ja.. Ich habe wirklich keine Ahnung und bin auf Hilfe angewiesen :( Habe schon etwas mit MCP-3008 gelesen, der Häufig verwendet wird. Aber wie ich das dann auf USB bekomme, ist mir ein Rätsel
Fabio schrieb: > Das ganze bräuchte ich dann 2mal für Sonne > und Wind, dann wärs das ja.. Die Leitung zur Sonne wird aber ganz schön lang... Und wie willst Du den Wind anzapfen?
Sonnenwind schrieb: > Fabio schrieb: >> Das ganze bräuchte ich dann 2mal für Sonne >> und Wind, dann wärs das ja.. > > Die Leitung zur Sonne wird aber ganz schön lang... > Und wie willst Du den Wind anzapfen? Witzbold :D
Du könntest dazu einen Arduino (Clone) nehmen und die Spannung auf einen analogen Eingang legen. Der Nano oder auch der Uno haben einen USB Wandler an Board und können somit direkt an den PC angeschlossen werden. Das Ergebnis kannst Du im seriellen Monitor anzeigen lassen. Wie man diese Ausgabe weiter verarbeitet wirst Du selber am besten wissen.
Dieser Nano, wäre dass das Teil hier? https://www.arduino.cc/en/Main/ArduinoBoardNano Kann ich damit direkt die Spannung messen? Also wenn ich das anklemme mit Ground und die zwei Sensoren? Oder benötige ich noch mehr? Dann verbinde ich das per USB mit dem Rechner, und wie geht es weiter?
Uiui und ich dachte, ich wäre der mit wenig Ahnung ;) Der Link passt schon. Den bekommst Du als Clone für 2-3 Euro beim freundlichen Chinesen. Ebenso den Uno. Die Sensoren kannst Du, sofern GND verbunden ist, direkt an die analogen Eingänge anschließen, da Du nur im Bereich 0-2V unterwegs sein wirst. Das steht dort im Link auch beschrieben: "The Nano has 8 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the analogReference() function. Analog pins 6 and 7 cannot be used as digital pins. Additionally, some pins have specialized functionality:" Du startest die Arduino IDE, packst damit Deinen Sketch auf den Arduino und kannst dann im seriellen Monitor die Ergebnisse Deiner Sensoren anschauen. Ob und wie die dann weiter verarbeitet werden können, müssen andere erklären.
Benötige ich jetzt nur dieses NanoBoard, oder auch noch einen richtigen Arduino? Habe das hier gefunden: http://www.ebay.de/itm/Nano-V3-0-ATmega328P-Board-Arduino-kompatibel-USB-CH340G-/201494369393 Sieht ja so aus wie das weiter oben.. ? :) Arduino IDE ist wahrscheinlich dann das Programm für Windows, um den Quellcode auf den Nano zu schieben oder? Und woher bekommt der Nano den Strom? auch über den USB? Und darüber schiebt er dann auch die daten?
In den meisten Fällen klappt: "Einfach messen nicht". Es gibt da ein paar Schimpfworte die da lauten: Potential oder Potentialausgleich. Mit deren Hilfe kannst Du den angeschlossenen Rechner leicht ins Nirwana schicken, oft noch verbunden mit einer gehörigen Geruchsbelästigung.
Hi, Bitte schau dir den link an: http://www.arduino-tutorial.de/ Wenn du da etwas schaust, bekommst du die Antworten auf fast alle deine Fragen. LG
:
Bearbeitet durch User
Nur noch kurz zum Verständnis. Ich benötige nur dieses NanoBoard oder? Keinen richtigen Arduino? http://www.ebay.de/itm/Nano-V3-0-ATmega328P-Board-Arduino-kompatibel-USB-CH340G-/201494369393
Fabio schrieb: > Die Spannung liegen zwischen 0 und 2 Volt. Das ganze muss irgendwie > ausgewertet werden um es dann unter Linux per USB auszuwerten. Linux? Warum nimmst Du denn da nicht gleich einen Raspberry Pi? mfg Klaus
Mit Linux meinte ich den RaspberryPI. Der hat aber keine GPIOs mehr frei. Deshalb muss ich per USB weiter machen.. Ist es denn möglich den Nano da zu verbinden und die Spannungswerte direkt an den PI senden?
Dein Link zeigt einen "Nano". Letztlich ist das nichts anderes als ein Atmega328P-AU mit ein bisschen drumrum und einem seriell-USB-Wandler auf einer Platine. Welches Label da nun drauf steht ist letztlich egal. Bei Windows musst Du evtl. noch einen Treiber installieren. @S. Siebenhaar: Da sehe ich bei der vorgeschlagenen Anwendung im Moment kein Problem für den PC. edit: Ich lese grad, dass Du eh schon einen RasPi hast. Wie wäre es mit einem Portexpander und einem A/D Wandler?
:
Bearbeitet durch User
Frank S. schrieb: > edit: Ich lese grad, dass Du eh schon einen RasPi hast. Wie wäre es mit > einem Portexpander und einem A/D Wandler? Das wäre viel zu aufwendig.. Dann müsste ich alles umprogrammieren und umklemmen. Dann investiere ich lieber 5 Euro in den Nano, wenn es dann so einfach möglich ist, wie beschrieben.. Nano an den PI, Sensoren an den Nano und per USB (habe etwas von pyserial gelesen) die Daten übertragen. Auf dem PI kann ich das dann weiter auswerten. Das hört sich ja relativ einfach an. Oder gibt es hier einen Haken? Generell würde ich für den PI noch mehr brauchen, als nur den Expander..
So aus der Bastelecke fällt mir ein Projekt von VUSB ein: https://www.obdev.at/products/vusb/easylogger.html Ansonsten halt einen uC mit USB holen und selber programmieren. Oder ein uC mit UART und einen FTDI o.ä. dran. Das wäre ja die Arduino Variante. Oder etwas fertiges suchen. Kann der IOWarrior nicht auch USB. Bzw die Salea Clones, können die nicht auch teilweise Analog? Ist zwar von der Datenrate total oversized... aber günstig.
Noch ne Möglichkeit wäre eine USB to SPI/I2C Bridge und dann einen passenden ADC dran. Dann müsstest Du nur im Raspi die Werte abholen. Aber das musst du ja sowieso.
Das Projekt ist für Leute mit Erfahrung im Mikrocontroller-Bereich innerhalb eines Wochenendes erledigt, für einen absoluten Anfänger ist es aber ein ganz schöner Brocken. Ich drösele Dir mal deine Aufgaben auf. Auf der Hardwareseite benötigst Du: - Einen Mikrocontroller Dazu bietet sich ein Arduino (-Klon) an. Der hat alles an Bord, was Du zum Brennen des Programms, sowie der Kommunikation per USB brauchst und hat eine eigene Software-Entwicklungsumgebung, die auf Linux läuft, ohne irgendwelche esoterischen Pakete installieren zu müssen - Den "Adapter" zwischen deinem zu messenden Signal und deinem Mikrocontroller. Dieser sorgt dafür, dass das zu messende Signal den Mikrocontroller nicht überlastet (z.B bei zu hoher Spannung) und so aufbereitet wird, dass der Controller das Signal "möglichst gut" verarbeiten kann. Dazu gehört z.B. das volle Ausnutzen der Auflösung des Analog-Digitalwandlers des Mikrocontrollers. Zum Arduino: Den "echten" Arduino gibt es per se nicht, die Produktreihe ist ziemlich divers. Wichtig ist, dass auf deinem Development-Board (z.B. "Arduino Leonardo") ein sogenannter Bootloader vorhanden ist und das Board von der Arduino-Entwicklungsumgebung erkannt wird. Der Bootloader sorgt dafür, dass Du keinen speziellen Adapter zwischen Deinem PC und deinem Mikrocontroller benötigst, der das Programm auf den Chip überträgt. Generell haben alle Arduino-Klone einen solchen Bootloader an Bord, außer Du erwischst eine wirkliche Gurke. Zum Adapter zwischen Signal und Controller: Dieser kann beliebig kompliziert ausfallen. Als Beispiel: Um höhere Spannungen "herunterzuteilen", reicht im simpelsten Fall ein Spannungsteiler (http://www.arduino-tutorial.de/2010/06/analog-in/). Dieser muss aber korrekt dimensioniert werden, um das Signal nicht zu verzerren und bietet keinerlei Schutz bei kurzzeitigen Spitzenspannungen. In deinem Fall ist zu überprüfen, ob deine zu messenden Spannungen sich immer zwischen 0 und 2 Volt befinden. Wenn dies der Fall ist, kannst Du die Spannungen direkt an jeweils einen der Analogeingänge des Arduinos legen. Der "Arduino Leonardo" z.B. enthält einen ATmega32U4 (apropos, Datenblätter sind Deine Freunde!), der eine interne Referenzspannung von 2.56V generieren kann (min. 2.4V bis max. 2.8V). Damit sparst Du Dir eine fehleranfällige externe Referenzspannung, die Du fachgerecht filtern müsstest. Durch eine zu hohe Spannung misst Du im besten Fall nur Müll, im schlimmsten Fall killst Du den Mikrocontroller oder zumindest den jeweiligen Analogkanal. Als nächstes kommt die Frage nach der "Belastbarkeit" deiner Spannungsquelle. Ist deine Spannungsquelle sehr hochohmig, ist möglicherweise ein Operationsverstärker nötig, der das Signal "puffert" und als niederohmiges Signal an den Analog-Digitalwandler weiterreicht. Hierzu musst du allerdings deine Spannungsquelle kennen und das Datenblatt deines verwendeten Mikrocontrollers lesen. Die Entwicklung des Verstärkers ist ein Projekt für sich. Weiterhin musst Du herausfinden, mit welcher Auflösung dein Signal gemessen werden soll. Die Analog-Digitalwandler der 8-Bit-Arduino-Reihe enthalten Wandler mit 10 Bit Auflösung. Dies entspricht 2^10 = 1024 diskreten "Schritten". Bei einer Referenzspannung von 2.56V entspricht dies einem "Schritt" von 2.56V/1024 = 2.5mV. Wenn Dir diese Auflösung nicht ausreicht, kannst Du entweder das Signal "konditionieren", das heißt, von 0-2V auf 0-2.56V spreizen, etwa mit einem Operationsverstärker, die Referenzspannung extern erzeugen, oder einen externen Analog-Digitalwandler verwenden. Jede dieser Lösungen bringt jedoch ihre eigenen Tücken ins Spiel. Ein anderer wichtiger Punkt ist die benötigte zeitliche Auflösung. Der Analog-Digitalwandler hat zwar einen recht großen Dynamikbereich, was die Wandlungsrate angeht, verliert bei hoher Taktung jedoch an Auflösung. Bei maximaler Auflösung können bis zu 15000 Werte pro Sekunde "gesamplet" werden. Bei mehreren Mess-Kanälen reduziert sich die Wandlungsrate entsprechend. Die Frage ist jedoch, ob die USB-Verbindung Deiner Wahl auch das Messvolumen bewältigen kann. Je nachdem, wie rauschbehaftet deine zu messende Spannung ist, kann es sich auch lohnen, aus mehreren Werten ein wie auch immer zu bestimmendes (statistisches) Merkmal zu ziehen - etwa ein gleitendes arithmetisches Mittel - oder einen digitalen Tiefpassfilter anzuwenden. Dies verkompliziert das Programm erheblich. Ein Ablaufplan auf dem Mikrocontroller könnte so aussehen: Initialisierung der USB-Verbindung zum PC Initialisierung des AD-Wandlers In einer Schleife: Messkanal wählen Messung durchführen (Messung filtern) Messung an PC übermitteln Auf der Software-Seite des PCs hast Du auch etwas zu tun: Ein Programm schreiben, das: - Den Arduino findet, etwa per "USB Vendor ID / Product ID", da sich das tatsächliche Device-File ändern kann, es ist nicht immer z.B. /dev/ttyACM0. - Die serielle Schnittstelle zum Arduino zum Lesen öffnet - Die Messwerte einliest und separiert - "Irgendwas" mit den Messwerten macht... Wenn man weiß, was man tut, ist das flott erledigt. In Deinem Fall solltest Du nach ähnlichen Projekten suchen, z.B. "Arduino pyserial" für eine Lösung mit Python. Am Besten, du fütterst deine Lieblingssuchmaschine mit einigen Schlüsselwörtern: ARDUINO, ANALOG, MEASURE VOLTAGE, SERIAL COMMUNICATION etc... und hier noch zwei Projekte, die praktisch die Mikrocontroller-Seite Deines Vorhabens abdecken: http://www.a-d-k.de/20111119_204347-Strom+und+Spannung+mit+Arduino+UNO+messen.htm https://startingelectronics.org/articles/arduino/measuring-voltage-with-arduino/ Viel Glück und keine Angst; die Arduino-Klone sind so billig, da kannst Du locker ein paar zerstören :-P
Strömli schrieb: > Das Projekt ist für Leute mit Erfahrung im Mikrocontroller-Bereich > innerhalb eines Wochenendes erledigt, für einen absoluten Anfänger ist > es aber ein ganz schöner Brocken. > > Ich drösele Dir mal deine Aufgaben auf..... Ich glaube nach dem Post wird sich Fabio nicht mehr melden ;-) Old-Papa
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.