IO - Board

Viele digitale Eingänge und Ausgänge, das kann man immer gebrauchen. Und weil es aufwändig ist viele Schalter und LEDs zu verlöten sollen diese kurzerhand auch über den Computer ansteuerbar sein.

 

Ein AVR Mikrocontroller ist dafür wie geschaffen. Ein ATmega16 beispielsweise besitzt 32 IO-Pins und verfügt auch über ein UART-Interface über das man komfortabel mit dem Computer kommunizieren kann. Durch einen USB-RS232-Wandler kann man den AVR auch mit modernen Computern verbinden, bei denen keine eingebaute Serielle Schnittstelle mehr vorhanden ist.

Das ganze noch mit dem Pegelwandler Max232 auf eine Platine gelötet. Die Firmware für den AVR ist ziemlich einfach. Der ATmega bekommt vom Computer immer 8 Byte gesendet, die den neuen Zustand der Ausgänge angeben. Die ersten 4 Bytes werden einfach in die Register PORTA bis PORTD kopiert und die letzten 4 in DDRA bis DDRD. So kann man die Ausgänge auf high oder low legen und wahlweise auch Eingänge daraus machen. Allerdings müssen die Einänge vom Computer regelmäßig abgefragt werden, weil das System, dass der AVR sich immer beim Computer meldet, wenn einer der Eingänge sich verändert hat, aus irgendeinem Grund nicht funktioniert hat. Ich habe mich damit dann auch gar nicht weiter herumgeärgert. (ATmegas sind schon manchmal komische Dinger)

Jedenfalls sorgt das jetzt für ordentlich Datenverkehr auf der Schnittstelle.

 

Die Ports wurden alle nach außen zu 10 poligen Wannensteckern geführt (Diese Dinger sind wirklich unglaublich praktisch) Und viel mehr steckt dann eh nicht mehr auf der Platine.

 

PC-seitig gibt es eine kleine Visual Basic-Software, wo man die Ausgänge ein oder ausschalten kann und bestimmte Pins wahlweise als Eingang oder Ausgang definiert werden können. Außerdem kann man jedem Pin einen Namen zuweisen, damit man am PC nicht den Überblick verliert.

Als Zusatzfunktion kann man diese Namen und die Ein- bzw. Ausganszustände auch in eine Datei speichern. Mit dem SaveFileDialog bzw. OpenFileDialog in VB geht das wirklich leicht und die Funktion kann ziemlich praktisch sein.

Hier das IO - Board auf Lochraster gelötet
Hier das IO - Board auf Lochraster gelötet
Das PC Programm im VisualBasic2008
Das PC Programm im VisualBasic2008

Eventuell gibt es noch Informationen für Nachbauinteressierte, ist aber noch nicht sicher...