An diesem Artikel arbeitet gerade Mitglied Frank.
Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen. Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor Frank per PM / Mail oder Forum nachfragen ob er vergessen wurde. |
Version 1.4
Dieses Board wurde speziell zum Experimentieren mit dem Microcontroller ATMega8 oder kompatible wie ATMega168 entworfen. Die Controller ATMega8 bzw. ATMega168 eignet sich wegen des günstigen Preises als auch der geringen Baugröße für zahlreiche Aufgaben, bei denen ein ATMega32 überdimensioniert oder einfach zu groß wäre. Im Bereich Robotik können diese Controller ideal als CoController für Servosteuerung, Motorsteuerung, Display Ausgabe, Sensorüberwachung und viele mehr eingesetzt werden. Oft sind kaum externe Bauteile notwendig.
Um den Microcontoller für eine spezielle Aufgabe programmieren zu können, bedarf es einer Entwicklungsumgebung die quasi alle Ports steckbar zugänglich macht, als auch die visuelle Überwachung der Port-Zustände erlaubt.
Für diese Aufgabe ist RN-MEGA8 ideal! Ganze 20 Ports können gleichzeitig visuell über Leuchtbalken überwacht werden. Nahezu alle Ports sind über einfache Steckklemmen erreichbar. Zudem verfügt das Board über einen genormten LCD-Display- , I2C-Bus-, RS232-, Servo- und ISP-Anschluß, alles entsprechend dem Roboternetz Standard (RN-Definitionen).
RN-MEGA8 soll also kein Ersatz für das inzwischen recht beliebte und ebenfalls sehr vielseitige Board RN-Control sein, sondern vielmehr ein universelles Ergänzungsboard.
Inhaltsverzeichnis
Die Leistungsmerkmale auf einen Blick
- Beliebiger Quarz kann eingesteckt werden (7,37 und 16 Mhz im Lieferumfang)
- Schneller AVR ATMega8 oder ATMega168 (sowie weitere) Mikrocontroller bestückbar
- 20 Leuchtdioden über zwei Balkenanzeigen auf dem Board – über Jumper deaktivierbar.
- LED´s leuchten invertiert (genau wie bei der RN-Control), also bei 0 Pegel ist LED an. Dies belastet Ports weniger und erlaubt auch die Überwachung von angeschlossenen Peripheriebausteinen die sonst Probleme bereiten
- Über Spindeltrimmer einstellbare Referenzspannung, um auch kleinste Spannungen mit dem Controller messen zu können. Per Jumper jederzeit auf 5V schaltbar
- Auch die Ports am Quarz können als I/O-Port genutzt werden wenn auf Quarz verzichtet wird. Ein Jumper erlaubt im Quarzbetrieb die Leitungen zu trennen um HF-Störungen zu vermeiden
- Auch die SCK Leitung wird nun über eine LED überwacht. Dadurch kann man die Programmübertragung per ISP-Dongel durch ein Flackern überwachen
- fast alle Portleitungen sind über Steckklemmen mit Hebelmechanik herausgeführt. Kein löten mehr, Drähte und Litze kann einfach eingeklemmt werden
- Alle Stecker RS232, ISP, LCD, I2C-BUS entsprechend den vereinbarten Roboternetz-Standard RN-Definitionen
- Potentiale (GND und +5V) send mehrfach über Steckbuchsen erreichbar. Ideal zum experimentieren da einfach Drähte (ca. 0,5mm²) eingesteckt werden (kein Löten oder schrauben).
- Integrierter programmierbarer Mini-Lautsprecher um Töne auszugeben
- Ein Reset Taster
- 5 Taster für beliebige Verwendung. Sie belegen nur einen analogen Port!
- 5 V Spannungsstabilisierung mit 2 A Belastbarkeit, auch herausgeführt für Erweiterungen
- Eingangsspannung gegen Verpolung geschützt
- ISP-Dongel wird über Diode versorgt (da einige Dongels dies nicht eingebaut haben)
- RS232 mit normgerechtem Pegelwandler (MAX232) – PC direkt anschließbar
- Batteriespannung kann im Programm abgefragt werden
- ISP – Programmierschnittstelle für übliche AVR-Programmieradapter (10polig)
- Betriebsspannung wahlweise zwischen 7 und 18V (empfohlen 8 bis 13 V)
- Sehr kompakt, nur halbes Europaformat nach Roboternetz-Norm (ca. 100x78mm)
- I2C-Bus über die zahlreiche Erweiterungsplatinen anschließbar sind (z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCD´s, RN-Control uvm.).
- RN-Mega8 kann auch selbst als Slave Erweiterung für anderes Board (z.B. RN-Control) dienen
- Ein- und Ausschalter auf der Platine
- Programmierbar in zahlreichen Sprachen, z.B. Basic (Bascom Compiler, eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC wird mitgeliefert), Assembler, Pascal
- Deutsche Doku mit Basic Programmbeispiel
- Preiswerter Bausatz oder nur Platine erhältlich – einfacher Aufbau
- Kein Starter- oder Applikationsboard notwendig – bereits alles integriert!
Aufbau und Anwendung
Der Aufbau der Schaltung ist durch die vorgefertigte Platine eigentlich völlig problemlos auch von Elektronik-Einsteigern zu bewerkstelligen. Durch den Bestückungsdruck und die Bestückungsliste, etwas weiter hinten in dieser Dokumentation, ist der Aufbau unkritisch. Aufgrund moderner Bauteile hält sich die Anzahl der Kleinteile in Grenzen, weshalb die Schaltung meist in ca. 45 bis 90 Minuten aufgebaut ist.
Dennoch einige Anmerkungen zu kleinen Hürden:
1. Das Board verwendet vier Widerstandsnetzwerke . Auf der Platine sind diese mit RN1 bis RN4 gekennzeichnet. Da diese Teile Einsteigern noch nicht so bekannt sind, möchte ich darauf hinweisen das diese richtig herum eingelötet werden müssen. Auf den schwarzen Teilen ist auf einer Seite ein Punkt. Dieser Punkt muß auf die Seite wo auf der Platine eine kleine 1 aufgedruckt ist.
2. Es werden oft zwei Quarze mitgeliefert. Einmal 7,3728 Mhz (oder 8 Mhz) und einmal 16 Mhz. Sie können frei wählen welchen Sie einlöten. In der Regel reichen 7,3728 Mhz voll aus, damit ist das Board noch immer schneller als viele vergleichbare Boards dieser Preisklasse, zudem braucht es dann weniger Strom als mit 16 Mhz. Brauchen Sie jedoch die volle Rechenpower, dann ist 16 Mhz sinnvoll. Bei 16 Mhz brauchen Sie jedoch auch einen guten Programmieradapter, billige Lösungen machen hier manchmal Probleme mit der Übertragung. Getestet und empfohlen wird der ISP Adpater entsprecht die Wiki Bauanleitung: AVR-ISP Programmierkabel. Dir krumme Zahl 7,3728 Mhz hat noch einen zweiten Vorteil. Mit dieser Frequenz ist die Baudrate der RS232 ganz exakt, weshalb sich damit höhere Übertragunsgeschwindigkeiten erreichen lassen. Bei den Beispielprogrammen wird jedoch in der Regel von einem eingesteckten 16 Mhz Quarz ausgegangen.
3. Achten Sie darauf das die Taster richtig herum eingelötet ist. Richten Sie sich am besten nach dem Foto. Wenn die Platine so vor ihnen liegt das die Beschriftungen T1, T2, T3 usw. auf dem Kopf stehen, dann dürfen die Beine der Tastern nur links und rechts von dem Tastergehäuse zu sehen sein.
4. Über den Spindeltrimmer UREF wird die Referenzspannung festgelegt. Diese ist später wichtig für das messen von analogen Spannungen. Über diesen Spannungsteiler kann diese beliebig eingestellt werden. Beim Einstellen sollte man ein Multimeter zu Hilfe nehmen und die Spannung am Soindeltrimmer oder am Pin 21 des Mega8 Controllers messen. Zusätzlich kann dieser Spindeltrimmer mit Jumper JPREF überbrückt werden, dadurch wird die Referenzspannung automatisch auf 5V festgelegt. Wichtig: Beim ersten Gebrauch ist zu empfehlen diesen Jumper JPREF unbedingt einzustecken, da die analogen Ports durch eine falsch eingestellte Referenzspannung beschädigt werden können, wenn eine zu hohe Spannung gemessen wird. Bedenken Sie hier auch das die Tasten von RN-Mega8 auch über einen analogen Port gemessen werden.
5. Das Board nutzt den Analog-Wandler des Controllers auch zur Batteriespannungsüberwachung. Soll diese Funktion über Jumper "UMESSPORT" aktiviert werden, dann ist darauf zu achten das auch der Spannungsteiler R9 und R10 richtig dimensioniert ist. Die hier abfallende Spannung darf nicht höher als die zuvor erwähnte Referenzspannung sein.
Einige Beispiele:
R9=22 k R10= 5,1K
Bei diesen Werten würde bei 13V Eingangsspannung 2,5V abfallen. Wenn man eine Referenzspannung von 2,5V eingestellt hat, dann sollte die Eingangsspannung nicht höher sein, da ansonsten der analoge Port beschädigt werden kann. Diese Werte werden in den Beispielen verwendet. Werden andere Werte eingesetzt, so muß das Beispielprogramm angepaßt werden.
R9=22 k R10= 2,2K
Bei diesen Werten dürfte Eingangsspannung bis ca. 27V hoch sein, um die Referenzspannung von 2,5V zu erreichen
Die abfallende Spannung berechnet sich so:
I=Eingangsspannung/R9+R10 Uref=I*R10
6. Zu beachten ist noch das die Balken-LED-Anzeigen nicht falsch herum eingelötet werden. Die Anode ist auf der Seite wo die Beschriftung KINGBRIGHT steht. Wenn man den Bestückungsplan so vor sich liegen hat, das der Ein-/Ausschalter rechts ist, dann muß bei der linken Balkenanzeige die Schrift auch links sein und bei der rechten Balkenanzeige muß die Schrift rechts sein.
Im Zweifel kann man auch mit einem Multimeter Anode und Kathode bestimmen
7. Sollen die Ports PC4 und PC5 (ADC4 und 5) für analoge Messungen benötigt werden, dann sollte man gewöhnlich JP5 nicht einstecken, die LED´s würden ansonsten das Ergebnis verfälschen. Gewöhnlich werden diese Ports jedoch an Digitalport (I2C Bus) genutzt, somit können diese ruhig per LED überwacht werden. Die analogen Ports ADC0 bis ADC4 werden generell nicht per LED überwacht und können somit ohne bedenken zum messen genutzt werden.
Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 15 – 25 W Lötkolben alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen.
Nach dem Aufbau sollten Sie nochmals alle Lötpunkte kontrollieren. Wenn Sie dann Spannung anlegen, dann sollten weniger als ca. 100mA Strom fließen. Ist der Strom höher, dann deutet das auf ein Lötfehler hin. Das mitgelieferte Testprogramm kann dann recht einfach mit Bascom oder Pony übertragen werden. Per Tastendruck können anschließend verschiedene Boardeigenschaften überprüft werden.
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken
AnschlussBezeichnung | Erläuterung |
Port B | Digitaler I/O Port
Über eine Steckklemme werden hier die 8 Portleitungen PB0 bis PB8 zur Verfügung gestellt. Anschlußdrähte können einfach eingesteckt werden, indem man mit einem Kugelschreiber oder Schraubenziehen den oberen weißen Hebel etwas nach unten drückt. Die genaue Belegung ist auch aus dem Diagramm weiter vorne zu entnehmen Die Belegung sieht wie folgt aus (von links nach rechts von vorne gesehen): Pin 1 PB0 / ISP1 Pin 2 PB1 /OC1A Pin 3 PB2 / SS / OC1B Pin 4 PB3 / MOSI Pin 5 PB4 / MISO Pin 6 PB5 / SCK Pin 7 PB6 / XTAL1 (wenn JPQ geschlossen ist) Pin 8 PB7 / XTAL2 (wenn JPQ geschlossen ist) Einige der Ports werden auch für den Quarz und die ISP-Programmierschnittstelle genutzt. Wird ISP jedoch gerade nicht benutzt als auch der interne Quarzoszillator verwendet, dann sind diese Ports alle frei. |
Bestückungsplan
Nur für Platinen Revison 1.4
Stückliste
Bauteile Bestell- und Bestückungsliste für RN-MEGA8 (Nur für Platinen Revison 1.4 - Angaben ohne Gewähr)
Bauteil Wert Beschreibung Reichelt Best.Nr. C1 100n Keramik Kondensator KERKO100N C2 100n Keramik Kondensator KERKO100N C3 Wichtig: Bis Version 1.4 unbestückt lassen C4 100n Keramik Kondensator KERKO100N C5 4,7uF Elko SM 4,7/50RAD C6 4,7uF Elko SM 4,7/50RAD C7 4,7uF Elko SM 4,7/50RAD C8 4,7uF Elko SM 4,7/50RAD C9 22pf Keramik Kondensator KERKO-500 22p C10 22pf Keramik Kondensator KERKO-500 22p C11 100n Keramik Kondensator KERKO100N C13 1000uF Elko RAD 1000/35 C14 220uF Elko RAD 220/35 C15 100n Keramik Kondensator KERKO100N C16 100n Keramik Kondensator KERKO100N D2 BYV27 Diode BYV 27/200 DISPLAY Wannenstecker 20polig wsl20g DZ1 LB10 Baragraf Anzeige GBG1000 DZ2 LB10 Baragraf Anzeige GBG1000 I2C-BUS Wannenbuchse WSL 10G IC1 MAX232 RS232 Treiber MAX 232 CPE IC2 7805 Spannungsregler 78S05 ISP Wannenbuchse WSL 10G JP1 PINHEAD3X8 Stiftleiste 3X8 aus zwei- und einpoligen zusammenbauen JP2 PINHEAD3X8 Stiftleiste 3X8 aus zwei- und einpoligen zusammenbauen JP3 Stiftleiste LU 2,5 MS2 JP4 Stiftleiste LU 2,5 MS2 JP5 Stiftleiste LU 2,5 MS2 JPI2C Stiftleiste Stiftl. 2x50g (teilen) JPQ Stiftleiste 2x2 2 mal LU2,5MS2 JPREF Stiftleiste 2polig LU2,5MS2 MEGA8 MEGA8-P ATMEGA 8-16 DIP ATMEGA 8-16 DIP PORTB Steckklemme 8 polig WAGO 233-508 PORTC Steckklemme 8 polig WAGO 233-508 PORTD Steckklemme 8 polig WAGO 233-508 POTENTIAL Kontaktbuchse 1x10 spl20 POW5 Stiftleiste LU 2,5 MS2 POWER Schraubklemme 2 polig AKL 101-02 Q Stiftleiste 3 polig LU 2,5 MS3 oder Quarzfassung 2 polig R1 1k Widerstand 1k 1/4W 1k R2 10k 10k Spindeltrimmer 962-20 10k R3 10k Widerstand 10k Toleranz max. 1% METALL 10,0K R4 1k Widerstand 1k 1/4W 1k R5 1k Widerstand 1k 1/4W 1k R6 1k Widerstand 1k 1/4W 1k R7 10k Widerstand 10k Toleranz max. 1% METALL 10,0K R8 1k Widerstand 1k 1/4W 1k R9 22k Widerstand 22k 1/4W 22k R10 5,1k Widerstand 5,1k 1/4W 5,1k R14 10 Metallschichtwiderstand 10 Ohm METALL 10,0 RESET TASTER3301 Minitaster liegend TASTER 3301 RN1 680-1k Widerstandsnetzwerk 5x680 Ohm SIL 6-5 680 RN2 680-1k Widerstandsnetzwerk 5x680 Ohm SIL 6-5 680 RN3 680-1k Widerstandsnetzwerk 5x680 Ohm SIL 6-5 680 RN4 680-1k Widerstandsnetzwerk 5x680 Ohm SIL 6-5 680 RS232 Stiftleiste 3 polig LU 2,5 MS3 S1 Umschalter AS500 APC SPEAKER F/CM12P Mini Piezo Lautsprecher SUMMER EPM 121 T1 TASTER3301 Minitaster liegend TASTER 3301 T2 TASTER3301 Minitaster liegend TASTER 3301 T3 TASTER3301 Minitaster liegend TASTER 3301 T4 TASTER3301 Minitaster liegend TASTER 3301 T5 TASTER3301 Minitaster liegend TASTER 3301 UMESS Stiftleiste LU 2,5 MS2 UREF 10k 10k Spindeltrimmer 962-20 10k Weiteres nötiges Material: 1x Platine Doppelseitige Platine nur bei robotikhardware.de 1x Bauanleitung auf CD im Bausatz oder PDF (siehe unter [[#Weblinks]]) 1x IC Fassung IC-Fassung 16 polig 1x IC Fassung IC-Fassung 28 polig 3x Abstandbolzen Abstandbolzen je nach Bedarf auch zum kombinieren mit anderen Roboternetz-Boards 10x JUMPER Kurzschlussstecker Das ganze gibt es auch als Bausatz
Autor
Siehe auch
- TWI_Praxis
- Bascom
- Bascom - Erstes Programm in den AVR Controller übertragen
- RN-Definitionen
- RN-Board FAQ-Seite
- Avr
- RN-Control