User Tools

Site Tools


hardware:controllers:avr_net-io

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 Fertigmodul und als 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 mikrocontroller.net oder im Forum 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 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.

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 ethersex. In der “Pin Configuration” gibt man die vorher ausgewählten Pins und 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 USBasp und 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: Anleitung im Ethersex-Wiki.

Update per TFTP

Mit dem TFTP-Bootloader kann man neue Firmware-Builds einfacher und schneller als per ISP einspielen.

hardware/controllers/avr_net-io.txt · Last modified: 2015/04/30 04:41 by boophus