Hallo, ich möchte meinen Gasverbrauch elektronisch am PC erfassen. Die Lösungen der einschlägigen Versender sind mir alle zu aufwendig. Daher wollte ich die Gelegenheit nutzen zum einen meine verstaubten Elektronikkenntnisse und das 10 Jahre ruhende Programmiererwissen wieder zu reaktivieren und mich in die Welt der Mikrocontroller vorzuarbeiten. Ich möchte eine Schaltung realisieren, die einen Impuls von einem Reedkontakt zählt und mir abfragbar mit 2-3 Befehlen (Abfrage, Zurücksetzen, StartwertSetzen) an einer seriellen (oder USB)-Schnittstelle für den PC zur Verfügung stellt. Quasi möchte ich am PC einen Befehl über die Ser (oder USB) Schnittstelle schicken. Somit würde ich etwas benötigen, das autonom läuft, einen digitalen Eingang besitzt, eine serielle Schnittstelle hat um kommunizieren zu können und mit möglichst wenig Strom auskommt. Habe schon ein wenig hier geblättet und bin wie einige vor mir bei AVR und C-Programmierung gelandet. Was ich jetzt aber noch nicht geschnallt habe, ist was ich HW-mäßig brauche. Was für ein Board würde ich denn benötigen, so daß ich den µC programmieren und gleichzeitig testen kann ? Würde ungern das ganze immer wieder umbauen. Danke für Tips und Gruß, A.
Du kannst dir entweder ein Board kaufen wo der Programmer mit drin ist, z.B. das AVR Board von Pollin für 15€ oder den Programmer (z.B. mkII) und ein Evaluationboard getrennt kaufen. Welche variante ist dir denn lieber? Billiger ist auf jeden Fall die erste.
Das Hauptproblem dürfte der eigentliche Gasverbraussensor sein. Hier musssssss ein zugelassener Sensor verwendet werden und dieser musssssss von einem zugelassenen Fachbetrieb eingebaut werden. Die Elektronik und die Software sind einfach. Ich fange gerade mit AVR an und habe mich für erste Versuche für den AT90USBKEY entschieden; ist relativ teuer, hat aber eine USB-Schnittstelle zum Datenaustausch mit dem PC. Die Einfachversion für den Gaszähler wäre dann vielleicht der AT90USB82 oder AT90USB162; damit kann man auch anfangen; es gibt eine Laborplatine von OLIMEX für ca. 15 €. Viel Erfolg
Naja, immer gleich USB. Warum nicht ganz, ganz einfach für den Anfang? Hier in die MSP430-Sektion schauen, auf Lochraster eine Minimalbeschaltung für einen einzigen Fototransistor/Fotodiode und einen RS232-Ausgang. Das ganze mit einer LiPo-Zelle versorgen. Alle paar Tage die Daten auslesen. Und in der Zwischenzeit was Besseres, Größeres planen, bauen, programmieren ... Für den Sensor reicht ein Fototransistor/Fotodiode für die letzte Stelle - man muß ihn nur genau dort anbringen, wo sich pro Umdrehung nur einmal was ändert. Bei meinem Gaszähler sind dann 10 mal 0,001 m3 verbraucht worden. Als Experimentierbord mit allen möglichen Ein- und Ausgangsbeschaltungen bietet sich auch eins der Bords vom Roboter-Netz an (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=126). Blackbird
Also das gebe ich zu, Fototransistor ist eine gute Idee. Aber die Prozessortype ist doch egal, es geht auch mit einer C-Control-I M2-Unit, ggfs. sogar noch mit einer LCD-Anzeige zusätzlich sehr einfach und schnell, als USB-Schnittstelle wäre hier der IO-Warrior24 zu empfeheln. Wenn es um einen unabhängigen Zähler geht, dann braucht er einen unabhängigen Sensor.
Da fällt mir noch was ein: Für das RN-Board brauchts noch einen Programmer. Parallelport-ISP-Programmer geht für den Anfang. Aber es gibt noch eine bessere Lösung: AVR-Butterfly! Für knapp 30,-EURO ist auch ein LCD schon drauf und Programmer brauchts auch keinen mehr (Serieller Bootloader) Was man außer dem Board für die Gaszähl-Anwendung noch braucht: 1 3pol Stiftleiste für den seriellen Anschluß 1 2pol Stiftleiste für den AD-Eingang 1 3pol Buchsenleiste und 1 9pol Sub-D-Buchse und ca 0,5m 3pol Kabel für den seriellen Anschluß 1 2pol. Buchsenleiste und 1 Fototransistor und 2pol Kabel für ein Sensorkabel 1 Widerstand ca. 47k auf dem Board von +3V nach AD-Eingang. AVR-Studio gibt es umsonst. Die Software auf dem Butterfly wird zwar beim ersten Programmierversuch überschrieben, aber die kann man sich vorher sichern (alles vom AVR-Studio aus) und später wieder zurückschreiben oder man holt sich gleich eine verbesserte Version aus dem Netz. Das LCD würde ich für die ersten Versuche noch nicht ansteuern, sondern die Daten über die serielle Schnittstelle auslesen. Blackbird
Ich glaube, das Problem des Zähler erkennens ist bereits durch den Reedkontakt gelöst, so wie ich die Fragestellung verstanden habe. Als Controller eignet sich hier alles - dann sind wir allerdings bei ner seriellen und keiner USB Verbindung. Dafür dann einfach nen USB<->Seriell Adapter dran und fertig :-) Das Projekt erscheint mir so als allererster Einstieg eventuell ein bisschen zu aufwändig, du wirst vermutlich noch einige Fehler machen und etwas länger dafür brauchen. Wenn das okay ist, dann würde ich ebenfalls das Pollinboard empfehlen. Hast halt leider kein Debugging on Board, aber sagen wirs mal so, ich bin bisher auch komplett ohne ausgekommen. (Muss man halt etwas mehr im Simulator spielen und ein paar mal mehr Flashen&testen, bis man weiß, wo genau jetzt der Fehler liegt). Den Reedkontakt lesen sollte dann ganz einfach sein (Entprellung sinnvoll? -> Fertige Routinen hier in der Artikelsammlung oder in der Codesammlung. Ich empfehle die Version von Peter Danneger, da die nachweislich sehr gut funktioniert, ich benutz die auch immer...). Ein kleines UART-Menü ist schon eeeeetwas schwieriger, aber immernoch recht simpel. Musst dir halt irgendwie überlegen, wie du das handhabst. Ist vermutlich am einfachsten, wenn du deine 3 Befehle als 1-Zeichen Befehle ohne Parameter auslegst, dann kannst du direkt mit ner switch()-Anweisung den jeweiligen Antwortcodeblock in einem Stück ausführen. Ansonsten müsstest du dir halt den Befehl merken, um das alles zusammenzusetzen (wenn du mehrere Bytes vom PC brauchst). Eventuell vorher mal hier nach dem GCC Tutorial (ich gehe jetzt mal von AVR aus) viel rumprobieren, angefangen bei LED blinken lassen, dann ne UART Kommunikation aufbauen, dann mal das UART Menü implentieren und ohne PC testen (LEDs über Uart schalten?) und schwupps bist du fast bei deinem gewünschten Programm. Bleiben noch Probleme offen: -Was passiert bei Stromausfall? -Brauchst du auch noch Zeitstempel, dass du z.B. deinen Gasverbrauch pro Tag am Monatsende übersichtlich sehen kannst? -... Alles sowas macht es dann kompliziert, deine oben geforderte Problemstellung hingegen ist für einen erfahrenen Programmierer in weniger als einer Stunde umzusetzen (inkl. flashen, testen, anschließen würd ich mal mutmaßen)
Hallöle, vielen Dank für die vielen Rückmeldungen, das ist ja richtig lebendig hier. Also die Sensoransteuerung ist simpel. Ich hab auch schon mit der optischen Lösung rumgemacht, ist aber sehr sehr störanfällig. Was ich bisher nicht wusste und letzte Woche rausgefunden hatte, war die Tatsache, das die meisten Gaszähler bereits einen Magnetgeber haben, der von außen abgegriffen weredn kann. Bei meinem ist vorne an der "Anzeigetafel" von unten eine Aussparung, da passt genau ein Reedkontakt von Reichelt rein und der gibt bei jeder 0,01m3 Stelle einen sauberen Impuls. Das war auch der Auslöser, jetzt endlich mal den Hintern hoch zukriegen. :) Programmierseitig traue ich mir das coden locker zu. Hab über 10 Jahre lang entwickelt auf Windows und Unix. Offen ist für mich die ganze Ansteuermimik des Prozessors, also wie gehts auf die Ports usw. Und vor allem, wie programmiere ich das Teil. Habe mir jetzt bei Pollin mal das Evaluationsbord V2.01 bestellt für den Anfang. Wenn ich das richtig verstanden habe, kann ich damit programmieren und testen mit, das sollte reichen. Bin schon ganz gespannt, wann das Zeug ankommt.
> das die meisten Gaszähler bereits einen Magnetgeber haben, der > von außen abgegriffen weredn kann. Bei meinem ist vorne an der > "Anzeigetafel" von unten eine Aussparung, da passt genau ein Reedkontakt > von Reichelt rein. Das ist natürlich ne super Sache. Weißt du ob es beim Stromzähler was ähnliches gibt? Meine favorisierte Lösung ist mit einer Digicam jeden Tag ein Foto machen und dieses Per Funk zum PC senden, dann einmal im Monat die Zahlen abtippen.
Für Stromzähler gibt es von elv so eine optoelektronische Lösung, die erstaunlicherweise ganz gut funktioniert (Im Gegensatz zum Gaszähler). Allerdings hab ich da von einem Magnetgeber jetzt noch nichts gehört. Es soll aber mittlerweile bei einige EVU's die Möglichkeit geben, elektronische Zähler zu erhalten im Tausch.
@skua Der Esko hat zwar so ne OCR-Software - die ist aber in englisch und erkennt die deutschen Ziffern nicht so sicher ;-)
Hallo, ich bin nun etwas weiter, brauche aber leider direkt mal Hilfe. Habe mir das Pollin Evaluationsboard gekauft, zusammengelötet und Inbetrieb genommen. Dazu hab ich die folgende Software installiert: ponyprog AVR Studio WinAWR Habe mich auf das erste winzige Assemblerbeispiel aus dem Tutorial gestürtzt. Ließ sich bilden und ich habe nun eine Hex-Datei (Die allerdings mit 10 Byte winzig ist). Habe dann versucht, diese Datei mit dem Ponyprog auf den Controller zu bringen (Atmel 8-16). Hier scheitere ich dann. Die Evaluationsplatine ist per seriellem Kabel mit Com1 verbunden. Spannung ist zugeführt, Netz liegt an und am Chip liegen auch 5 Volt. Ponyprog hab ich auf seriell Com1 egstellt und beim Klicken auf Probe kommt auch ein OK. Beim Versuch es zu brennen, kommt ein Missing-Device Error. Nun bin ich im Momemt etwas ratlos, woran das liegen kann. Welche Schritte sollte ich sinnvollerweise testen ? gruß, A.
Welche Ponyprog Version benutzt du? Bei mir gehts mit Version 2.07c Beta Jan 6 2008 Es muss SI Prog I/O eingestellt sein. Richtige Buchse am Board angeschlossen? D1-D3 und Prozessor richtigherum?
Funktionert (freu). Des Rätsels Lösung ist die Version des PonyProg gewesen, hatte bei dem schnellen Download den ersten Link angeklickt und das ist die alte Version 1.117 oder sowas. hatte mich schon gewundert, warum die den Atmega8 nicht kannte aber jetzt funktionierts einwandfrei. Sehr schön. Dann probier ich jetzt mal ein wenig rum. Danke
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.