Avr-net-ioa-4

Hallo zusammen,

ich möchte Euch heute meine aktuelle „AVR-Bastelei“ vorstellen:

AVR-NET-IOA-4
Das Gehirn: Atmega 8
Kontakt zur IPS mittels Ethernet (XPort)

  • 4 * Relaisausgang
  • 4 * Digitaler Eingang
  • 4 * Analoger Eingang
  • Stromversorgung 15 … 40 V Gleichspannung
    Und das Ganze in einem Hutschienengehäuse untergebracht.

Im Unterschied zum AVR-Net-IO wird hier die Netzwerkanbindung mit dem RS232-Ethernet-Wandler „XPort“ von Lantronix realisiert.
Vorteil: kleinere Bauform - höhere Betriebssicherheit.

Die Software wurde mit AVR-GCC und AVR-Studio 4 erstellt / angepasst . Grundlage ist die „avr-gcc-lib“ von Markus Burrer (http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avr-gcc-library/start#anleitungen).

Änderungen:

  • „config.h“ --> Anpassung an die verwendete Hardware
  • „cmd.c“ --> Eigenes Protokoll zur einfachen Einbindung in IPS
  • „main.c“ --> Datenaustausch mit IPS, „Keep-alive“ Funktion (Überwachung der Schnittstelle AVR <–> IPS)

Befehlsaufbau:

  • Zahlenbefehle / Meldungen, die sich einfach auswerten lassen.
  • Start- und Endezeichen (02 = STX / 03 = ETX ) --> Jede Meldung lässt sich in IPS einfach erkennen und weiterverarbeiten.
  • z.B.:
    020103 - 01 = Modul neu gestartet
    020603 - 06 = ACK-Meldung
    0220xx03 - 20 = Lesen digitale Eingänge - xx Zustand der Eingänge als Hexwert
    0240xxxxxxxx03 - 40 = Lesen analoger Eingang - xxxxxxxx Messwert als ASCII-Zeichen (0 … 1023 / 0 = 30, 1 = 31, 9 =39)

Einbindung in IPS:

  • Anbindung über Client-Socket
  • Aufbereitung der Rohdaten mittels Cutter-Modul (STX (02) + ETX (03) werden abgeschnitten)
  • Pufferung mit Registervariable
  • 2 Scripte:
  • Empfangs-Script, von Registervariable getriggert
  • Sende-Script, zur Steuerung des AVR-Moduls
  • Keep-Alive Funktion zur Schnittstellenüberwachung

Nähere Details könnt Ihr der unten angefügten Dokumentation entnehmen.

Inhalt der AVR-NET-IOA-4.ZIP:

  • C-Quellcode (angepasste Dateien, der komplette Quellcode der avr-gcc-lib kann unter dem obengenannten Link von „elektronik-projekt.de“ runtergeladen werden. Dort findet Ihr auch Tipps zum Einbinden in AVR Studio)
  • Sende- und Empfangsscripte für IPS
  • Eine Befehls- / Meldungsaufstellung des verwendeten Protokolls.
  • Eine Präsentation als PDF mit näheren Info’s und Installationsanleitung.

Na Lust zum Nachbau bekommen?

Gutes Gelingen!

AVR-NET-IOA-4.zip (746 KB)

Wußte ich doch:

Das macht der Ernst wieder ordentlich, mit Anleitung.:slight_smile:

Vielen Dank

Danke! - Man versucht’s halt richtig zu machen! :wink:

Danke Ernst,
ich werde es mir mal vornehmen.

Hallo EHB,

ich verfolge verschiedene Projekte mit AVR’s, die für Hausautomation taugen.

Dein Projekt mit der Hutschiene gefällt mir da sehr gut, zumal auf Atmega-Basis (ich mache auch mit dem AVR-Net-IO rum --> große Ähnlichkeiten?).

Was mir bei bisher allen Implementierungen aufgefallen ist, ist die Tatsache, dass diese Infos nur auf Anfrage schicken. d.h., man muss, z.B. um einen Tasterdruck nicht zu verpassen, mit erheblichem Pollingaufwand uaf der Serverseite arbeiten.

Mein Wunsch wäre ein System, das mir die Änderungen an den Eingängen aktiv meldet (incl. Puffer, falls mehrere Änderungen bis Reaktion des Servers), damit ich auf dem Server nur einen Server-Socket brauche und das Polling damit ins Betriebsystem (oder zumindest die Server-Basissoftware) verlegt wird.

Ist sowas implementiert oder hast Du über sowas schon nachgedacht?

Danke
jwka

Bei dem ersten AVR-Projekt von EHB, und ich schätze auch bei diesem, melden die Module selbstständig eine Änderung eines Eingangs oder einen ADC-Wert. Pollen ist also unnötig.

Das sind good news … danke!
jwka