====== Pollin AVR NET-IO ====== die AVR-NET-IO Platine ist ein Modul mit AVR-Microcontroller und Ethernet-Schnittstelle, die (z.B. zusammen mit der Ethersex Firmware geeignet ist, Daten von einen Stromzähler an die Volkszaehler-Middleware zu übertragen. ===== Hardware ===== Gibt's als [[http://www.pollin.de/shop/dt/NjI5OTgxOTk-/Bausaetze_Module/Bausaetze/AVR_NET_IO_Fertigmodul.html|Fertigmodul]] und als [[http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html|Bausatz]]. Für den Bausatz sollte man schon ein bisschen Löterfahrung haben (und Ersatzbauteile zuhause, da auch mal was fehlen oder abbrechen kann). Allgemeine Infos dazu gibt's bei [[http://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin|mikrocontroller.net]] oder im Forum [[http://son.ffdf-clan.de/|ffdf-clan]]. Für den späteren Anschluß (nach dem flashen) des/der Zähler legt man fest, welchen der vielen Eingänge man benutzen möchte. Dazu schaut man in den [[http://www.pollin.de/shop/downloads/D810058B.PDF|Schaltplan]], dort sieht man auf Seite 7, welcher Pin des ATmega auf welchen Anschluß geführt ist. Am einfachsten sind die vier Pins an den Schraubklemmen erreichbar: * ADC1 (J9) -> PA4 * ADC2 (J9) -> PA5 * ADC3 (J7) -> PA6 * ADC4 (J7) -> PA7 Alternativ könnte man auch die Sub-D-Buchse J3 oder das Pfostenfeld EXT anfahren, die Pins dort sind auf Seite 6 des Schaltplans aufgelistet. ==== S0-Anschluß ==== Hier sieht man wie man den S0-Ausgang, z.B. eines Zählers, an das NET-IO anschließen kann. {{:hardware:controllers:s0_netio.png?600|}} Der Kondensator filtert eingestreute Störungen raus. Ohne diesen kann es vorkommen, daß man eine ganze Ladung falscher Impulse bekommt, wenn man z.B. eine danebenstehende Tischlampe ein- oder ausschaltet (BTST). Anm.: R1 ist optional; Ethersex aktiviert den internen Pull-Up des ATmega. Wer damit Probleme hat oder ganz sicher gehen will, kann den externen Widerstand ergänzen. Wenn nur der interne Pull-Up-Widerstand des ATmega benutzt wird, sollte C1 auf 10nF verringert werden. ===== FW erstellen ===== siehe [[software:controller::ethersex]]. In der "Pin Configuration" gibt man die vorher ausgewählten Pins und [[software:middleware/installation#testen|UUIDs]] an. Jedes Pin (und damit jeder Zähler) erhält seine eigene UUID; zum Abrufen kann man die dann später im Frontend passend gruppieren - so hantiert man immer nur mit einer UUID. ===== Flashen ===== Z.B. mit dem [[http://www.fischl.de/usbasp/|USBasp]] und [[http://www.nongnu.org/avrdude/|AVRDUDE]]. Möchte man statt dem mitgelieferten ATmega32 z.B. einen ATmega644 benutzen, muß man beachten, daß der erstmal auf der internen (langsamen) clock läuft und den ISP bremsen. Das geht mit "-B 3" als zusätzliche Parameter für AVRDUDE oder über JP3 am USBasp. Die AVRDUDE-Parameter kann man von [[Ethersex]] übernehmen, muß aber natürlich den korrekten ISP und Chip angeben: avrdude -c usbasp -p m32 -U flash:w:ethersex.hex -U lfuse:w:0xE7:m -U hfuse:w:0xDC:m -U efuse:w:0xFF:m Weitere Informationen: [[http://old.ethersex.de/index.php/Wie_flasht_man_ein_AVR-NET-IO|Anleitung im Ethersex-Wiki]]. ===== Update per TFTP ===== Mit dem [[http://www.ethersex.de/index.php/Downloader|TFTP-Bootloader]] kann man neue Firmware-Builds einfacher und schneller als per ISP einspielen.