AVR µC-Board und Peripherie

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Grundidee

Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden, vielleicht ist µC-Baukasten der richtige Begriff.

Das System ist sowohl für Einsteiger als auch für anspruchsvolle Projekte geeignet. Die flexible und erweiterbare Modulbauweise ermöglicht es, dass das Grundsystem mit den Erfahrung und dem Können der Anwender mitwachsen kann. Bei dem Layout der Platinen wurden etwas gröbere Strukturen bevorzugt. Es entstand so eine robuste Anordnung die Anfängerfehler bei der Platinenherstellung und beim Löten ehr verzeiht.

Basisplatine

Die Basisplatine

Die Basisplatine, auf welcher der µController (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC)r bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Voraussetzungen für einen sicheren Betrieb des µC.
Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit, die Interfaces durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammenzufügen.
Die Betriebsspannung kann über einen 4mm Hohlstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.
Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle ( http://www.elektor.de/jahrgang/2007/marz/avr-steuert-usb.80948.lynkx ).
Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.

Peripherie

Belegung der Portstecker und Flachbandkabel

Belegung des Portsteckers

Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.




Belegung der zusätzlichen Stromversorgung

Belegung der zusätzlichen Stromversorgung

An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.
Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1) so können bei Bedarf auch OPV´s im single supply Betrieb versorgt werden.

Acht Taster/Schalter und LED-Anzeige

Acht Taster/Schalter und LED-Anzeige

Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas, das macht die Schaltung anfängerfreundlicher.
Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.


Ausgangstreiber mit LED-Anzeige

Ausgangstreiber

Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt, die Schaltung kann auch als einfaches Anzeigemodul verwendet werden. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.

Motortreiber

Motortreiber

Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können, beschaltet. Die Energieversorgung für die Motoren wird über einen Pfostenstecker (kompatibel zur entsprechenden Steckerleiste der Basisplatine) zugeführt.

Anschlusseinheit

Anschlussinterface

Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum Einspeisen analoger bzw. digitaler Signale zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.
Anmerkung: Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.
Über dieses Modul können auch Signale ausgegeben werden.

LC-Display und Eingabetaster

LCD und Taster

Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LC-Display können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet. Dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LC-Display wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandard aufgesteckt werden.
Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.

Weitere Bilder vom Modul:

LC-Display ohne Platine
Platine des LCD-Moduls

Ethernetinterface

Ethernetinterface

Mit dem Ethernetmodul kann eine Anbindung zu einem Computernetzwerk realisiert werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird mit einem gängigen Netzwerkkabel über eine entsprechende RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.
(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/ hier: AVR -> ETH_M32_EX realisiert.)

230V Schaltinterface

Gefahr.png



Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung besteht Lebensgefahr. Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.


230V Schaltinterface

Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden und das schalten von Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. Hierfür müssen dann einfachere Optokoppler eingesetzt werden (z. B.: MOC3010 o.ä.) das Layout bleibt das gleiche.

Programmierung

Hardware

USB-ISP-PROGRAMMER

Als Programmiergerät wird ein USB-ISP-Programmer verwendet. Die Schaltung ist eine Erweiterung / Umbau des „USB AVR-Lab“ von http://www.ullihome.de .

Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden. Die Baugruppe simuliert mit einem Atmega8 den Hardwareprogrammer zum Atmel STK500v2 Board. Das Projekt von Christian Ulrich ist eine „universelle Experimentier-Plattform mit USB Anschluss“. Über einen Bootloader kann die Schaltung für verschiedene Anwendungen konfiguriert werden. Ich betrachte das Teil als eine tolle Spielwiese. (Mal sehen, was da noch so kommt).
Herr Ulrich hat das Projekt auf seiner Seite sehr gut dokumentiert, daher werde ich hier nur auf die von mir gemachten Änderungen eingehen. Die Software, die Treiber, Anleitung und Tips gibt's bei http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab . Um viele Möglichkeiten offen zu halten, wurden bis auf die USB-Leitungen alle I/O-Leitungen des µC auf Buchsenleisten herausgeführt. Man ist nicht auf die sieben Leitung beschränkt und kann bei Bedarf auch eine Erweiterung aufstecken. Die Platine passt in das Lowcostgehäuse „Gehäuse KS21“ (gibt's bei Reichelt für 0,72€). So ist das Teil ausreichend robust für den Alltagseinsatz. Die 3,3V-Spannungsstabilisierung habe ich in der aktuellen Version durch einen einfachen Low-drop-Festspannungregler realisiert, der zum Umschalten auf den 5V-Betrieb mit einem Jumper überbrückt werden kann, ist einfacher.

Entwicklungsumgebung

Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.

Downloads


Linksammlung


Berthold Sommer

Thanks to Simon Jansen