Frank (Diskussion | Beiträge) K |
(→Beispielanwendung Nr.2: Distanzmessung) |
||
(21 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | Dieses Board zeichnet sich durch kompakte Größe (5cm x 7,8cm) und sehr geringen Strombedarf aus. Besonders viel Wert wurde auch auf die Anschlüsse gelegt. Nahezu alle Ports stehen somit dem Anwender zur Verfügung. Besonders günstig sind die wichtigen AD-Ports, Interrupt, Timer und PWM Anschlüsse auf die Stiftleisten verteilt worden. So lassen sich Servos, Drehgeber, RC-Empfänger aber auch Motortreiber (Doppel H-Brücken wie [[RN-VNH2Dualmotor]]) oder LCD direkt anschließen. Natürlich steht auch der [[I2C]]-Bus zur Verfügung. Alle Stecker sind zudem kompatibel zu den [[RN-Definitionen]]). | |
− | + | ||
− | Dieses Board zeichnet sich durch kompakte Größe (5cm x 7,8cm) und sehr geringen Strombedarf aus. Besonders viel Wert wurde auch auf die Anschlüsse gelegt. Nahezu alle Ports stehen somit dem Anwender zur Verfügung. Besonders günstig sind die wichtigen AD-Ports, Interrupt, Timer und PWM Anschlüsse auf die Stiftleisten verteilt worden. So lassen sich Servos, Drehgeber, RC-Empfänger aber auch Motortreiber (Doppel H-Brücken wie [[RN-VNH2Dualmotor]]) oder LCD direkt anschließen. Natürlich steht auch der [[I2C]]-Bus zur Verfügung. Alle Stecker sind zudem kompatibel zu den [[ | + | |
Obwohl das Board sicher auch wie der große Bruder [[RN-Control]] zum Experimentieren als Hauptboard verwendet werden kann, ist es eigentlich in erster Linie als praktisch einsetzbares Zusatzboard für Projekte gedacht. Es ist daher kein Ersatz zu [[RN-Control]] das ja durch LEDs,Motortreiber und Steckbuchsen zum experimentieren günstiger ist. | Obwohl das Board sicher auch wie der große Bruder [[RN-Control]] zum Experimentieren als Hauptboard verwendet werden kann, ist es eigentlich in erster Linie als praktisch einsetzbares Zusatzboard für Projekte gedacht. Es ist daher kein Ersatz zu [[RN-Control]] das ja durch LEDs,Motortreiber und Steckbuchsen zum experimentieren günstiger ist. | ||
Zeile 7: | Zeile 5: | ||
Ein besonderes Feature sind zwei Stiftleisten die sich auf der Unterseite einlöten lassen. Dadurch kann das Board auf andere Board wie [[RN-VNH2Dualmotor]] oder Experimentierplatinen aufgesteckt werden. | Ein besonderes Feature sind zwei Stiftleisten die sich auf der Unterseite einlöten lassen. Dadurch kann das Board auf andere Board wie [[RN-VNH2Dualmotor]] oder Experimentierplatinen aufgesteckt werden. | ||
− | In der Regel ist als Controller ein [[ATMega168]] als Controller vorhanden. Dieser ist weitgehend kompatibel zum [[ATMega8]], daher kann wahlweise auch ein [[ATMega8]] bestückt werden. Der [[ | + | In der Regel ist als Controller ein [[ATMega168]] als Controller vorhanden. Dieser ist weitgehend kompatibel zum [[ATMega8]], daher kann wahlweise auch ein [[ATMega8]] bestückt werden. Der [[ATMega168]] bietet jedoch weit mehr Features (6x [[PWM]] ,3 [[Timer]], 16Kbyte Speicher und [[Interrupt]] an jedem Pin) |
[[Bild:rnmincontrolfoto.jpg|center]] | [[Bild:rnmincontrolfoto.jpg|center]] | ||
Zeile 17: | Zeile 15: | ||
*6x PWM , 3 Timer, 16Kbyte Speicher und Interrupt an jedem Pin) | *6x PWM , 3 Timer, 16Kbyte Speicher und Interrupt an jedem Pin) | ||
*16 Mhz Taktfrequenz | *16 Mhz Taktfrequenz | ||
− | *Geringer Strombedarf ca. 30 mA (im Sleepmodus natürlich noch stark | + | *Geringer Strombedarf ca. 30 mA (im Sleepmodus natürlich noch stark reduzierbar) |
*Universalanschluss (RN-Definition) für doppelten Motortreiber oder LCD (oder anderes) | *Universalanschluss (RN-Definition) für doppelten Motortreiber oder LCD (oder anderes) | ||
*I2C-Bus (für diverse Erweiterungen z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCD´s, SRF10 Ultraschallsensoren uvm.) oder für Ansteuerung als Slave Board) | *I2C-Bus (für diverse Erweiterungen z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCD´s, SRF10 Ultraschallsensoren uvm.) oder für Ansteuerung als Slave Board) | ||
Zeile 34: | Zeile 32: | ||
* Preiswerter Bausatz / Fertigmodul erhältlich – einfacher Aufbau | * Preiswerter Bausatz / Fertigmodul erhältlich – einfacher Aufbau | ||
* Kein Starter- oder Applikationsboard notwendig – bereits alles notwendige integriert! | * Kein Starter- oder Applikationsboard notwendig – bereits alles notwendige integriert! | ||
− | |||
==Diagramm und Beschreibung der Anschlüsse== | ==Diagramm und Beschreibung der Anschlüsse== | ||
− | [[Bild: | + | [[Bild:Rnmincontroldiagramm.png|center]] |
[[Bild:rnmincontrolvonunten.jpg|center]] | [[Bild:rnmincontrolvonunten.jpg|center]] | ||
+ | |||
+ | == Portbelegung== | ||
+ | |||
+ | [[Bild:rnmincontrolaufportbelegung.gif|center]] | ||
Zeile 66: | Zeile 67: | ||
[[Bild:rnmincontrolauflochraster.jpg|center]] | [[Bild:rnmincontrolauflochraster.jpg|center]] | ||
− | |||
==Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken== | ==Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken== | ||
Zeile 78: | Zeile 78: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 GND | Pin 1 GND | ||
Pin 2 5 Volt | Pin 2 5 Volt | ||
Pin 3 Datenport (PD2 / INT0 / PCINT18) | Pin 3 Datenport (PD2 / INT0 / PCINT18) | ||
− | + | </pre> | |
Geeignet zum Beispiel für Servos, , RC-Empfangskanal und vieles mehr. Sehr nützlich ist das dieser Port auch voll interruptfähig ist. | Geeignet zum Beispiel für Servos, , RC-Empfangskanal und vieles mehr. Sehr nützlich ist das dieser Port auch voll interruptfähig ist. | ||
|- | |- | ||
Zeile 89: | Zeile 89: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 GND | Pin 1 GND | ||
Pin 2 5 Volt | Pin 2 5 Volt | ||
Pin 3 Datenport (PB1 / OC1A / PCINT1) oder (PB3 / MOSI /OC2A / PCINT3) | Pin 3 Datenport (PB1 / OC1A / PCINT1) oder (PB3 / MOSI /OC2A / PCINT3) | ||
− | + | </pre> | |
Geeignet zum Beispiel für Servos, , RC-Empfangskanal und vieles mehr. Sehr nützlich ist das dieser Port auch PWM (Pulsweitenmudulation) fähigvoll ist. | Geeignet zum Beispiel für Servos, , RC-Empfangskanal und vieles mehr. Sehr nützlich ist das dieser Port auch PWM (Pulsweitenmudulation) fähigvoll ist. | ||
Wie ober erkennbar kann die Belegung dieses Anschlusses durch den Jumper JP10 verändert werden (wahlweise müssen zwei Jumper quer oder längs in JP10 gesteckt werden). Dadurch können unterschiedliche Timer das PWM-Signal generieren. | Wie ober erkennbar kann die Belegung dieses Anschlusses durch den Jumper JP10 verändert werden (wahlweise müssen zwei Jumper quer oder längs in JP10 gesteckt werden). Dadurch können unterschiedliche Timer das PWM-Signal generieren. | ||
Zeile 101: | Zeile 101: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 GND | Pin 1 GND | ||
Pin 2 5 Volt | Pin 2 5 Volt | ||
Pin 3 Datenport (PC1 / ADC1 / PCINT9) | Pin 3 Datenport (PC1 / ADC1 / PCINT9) | ||
− | + | </pre> | |
Geeignet zum Beispiel für Servos, Sharp Entfernungssensoren, RC-Empfangskanal und vieles mehr da Port sowohl Digital als auch Analog genutzt werden kann. | Geeignet zum Beispiel für Servos, Sharp Entfernungssensoren, RC-Empfangskanal und vieles mehr da Port sowohl Digital als auch Analog genutzt werden kann. | ||
|- | |- | ||
Zeile 112: | Zeile 112: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 GND | Pin 1 GND | ||
Pin 2 5 Volt | Pin 2 5 Volt | ||
Pin 3 Datenport (PC0 / ADC0 / PCINT8) | Pin 3 Datenport (PC0 / ADC0 / PCINT8) | ||
− | + | </pre> | |
Geeignet zum Beispiel für Servos, Sharp Entfernungssensoren, RC-Empfangskanal und vieles mehr da Port sowohl Digital als auch Analog genutzt werden kann. | Geeignet zum Beispiel für Servos, Sharp Entfernungssensoren, RC-Empfangskanal und vieles mehr da Port sowohl Digital als auch Analog genutzt werden kann. | ||
|- | |- | ||
Zeile 123: | Zeile 123: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 Batteriespannung (max. 12 V) | Pin 1 Batteriespannung (max. 12 V) | ||
Pin 2 GND | Pin 2 GND | ||
Zeile 129: | Zeile 129: | ||
Pin 4 Datenport (PB4 / MISO / PCINT4) | Pin 4 Datenport (PB4 / MISO / PCINT4) | ||
Pin 5 Datenport (PD4 / T0 / XCK / PCINT20) | Pin 5 Datenport (PD4 / T0 / XCK / PCINT20) | ||
− | + | </pre> | |
Geeignet zum Beispiel für Sensoren und Aktoren die zwei Ports benötigen. Wegen des Timer-Ports ideal auch zum Anschluß von Drehgebern zur Wegstreckenmessung/Drehzahlmessung. | Geeignet zum Beispiel für Sensoren und Aktoren die zwei Ports benötigen. Wegen des Timer-Ports ideal auch zum Anschluß von Drehgebern zur Wegstreckenmessung/Drehzahlmessung. | ||
|- | |- | ||
Zeile 136: | Zeile 136: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 Batteriespannung (max. 12 V) | Pin 1 Batteriespannung (max. 12 V) | ||
Pin 2 GND | Pin 2 GND | ||
Zeile 142: | Zeile 142: | ||
Pin 4 Datenport (PB2 / SS / OC1B / PCINT2) oder (PD3 / OC2B / INT1) | Pin 4 Datenport (PB2 / SS / OC1B / PCINT2) oder (PD3 / OC2B / INT1) | ||
Pin 5 Datenport (PD5 / T1 / OC0B / PCINT21) | Pin 5 Datenport (PD5 / T1 / OC0B / PCINT21) | ||
− | + | </pre> | |
Geeignet zum Beispiel für Sensoren und Aktoren die zwei Ports benötigen. Wegen des Timer-Ports ideal auch zum Anschluß von Drehgebern zur Wegstreckenmessung/Drehzahlmessung. | Geeignet zum Beispiel für Sensoren und Aktoren die zwei Ports benötigen. Wegen des Timer-Ports ideal auch zum Anschluß von Drehgebern zur Wegstreckenmessung/Drehzahlmessung. | ||
Aber auch Interrupt und PWM-Port ist hier verfügbar. | Aber auch Interrupt und PWM-Port ist hier verfügbar. | ||
Zeile 151: | Zeile 151: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 Datenport (PD6 / AIN0 / OC0A / PCINT22) | Pin 1 Datenport (PD6 / AIN0 / OC0A / PCINT22) | ||
Pin 2 Datenport (PD7 / AIN1 / PCINT23) | Pin 2 Datenport (PD7 / AIN1 / PCINT23) | ||
Zeile 162: | Zeile 162: | ||
Pin 9 GND | Pin 9 GND | ||
Pin 10 +5V | Pin 10 +5V | ||
− | + | </pre> | |
Über diese Stiftleiste werden gleich 8 Ports bereitgestellt. Sowohl digital, PWM, Interrupt und AD-Ports. Die Anwendungen sind dementsprechend vielfältig. So könnte beispielsweise eine komplette doppelte H-Bridge inkl. Stromüberwachung angesteuert werden (z.B. RN-Dualmotor). Die gleichen Ports stehen auch über die Wannenbuchse CTRL zur Verfügung. | Über diese Stiftleiste werden gleich 8 Ports bereitgestellt. Sowohl digital, PWM, Interrupt und AD-Ports. Die Anwendungen sind dementsprechend vielfältig. So könnte beispielsweise eine komplette doppelte H-Bridge inkl. Stromüberwachung angesteuert werden (z.B. RN-Dualmotor). Die gleichen Ports stehen auch über die Wannenbuchse CTRL zur Verfügung. | ||
Zeile 171: | Zeile 171: | ||
Belegung: | Belegung: | ||
− | + | <pre> | |
Pin 1 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) | Pin 1 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) | ||
Pin 2 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) | Pin 2 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) | ||
Zeile 182: | Zeile 182: | ||
Pin 9 GND | Pin 9 GND | ||
Pin 10 PC0 (ADC0 / PCINT8) | Pin 10 PC0 (ADC0 / PCINT8) | ||
− | + | </pre> | |
Die Stiftleiste dient also vornehmlich zur Versorung des Boards mit einer Betriebsspannung von 7,2 bis 18 Volt. Man kann sich so die Versorgung über die Schraubklemmen ersparen (Schraublemmen sind parallel geschaltet). Beim Board RNVN2Dualmotor wird davon Gebrauch gemacht, dort fehlt die Verkabelung weg. | Die Stiftleiste dient also vornehmlich zur Versorung des Boards mit einer Betriebsspannung von 7,2 bis 18 Volt. Man kann sich so die Versorgung über die Schraubklemmen ersparen (Schraublemmen sind parallel geschaltet). Beim Board RNVN2Dualmotor wird davon Gebrauch gemacht, dort fehlt die Verkabelung weg. | ||
|- | |- | ||
Zeile 214: | Zeile 214: | ||
Aber auch dieses Board kann selbst als Slave-Board, also als Erweiterung an ein anderes Hauptboard angeschlossen werden. | Aber auch dieses Board kann selbst als Slave-Board, also als Erweiterung an ein anderes Hauptboard angeschlossen werden. | ||
Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der anderer Roboternetz Boards. | Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der anderer Roboternetz Boards. | ||
− | + | <pre> | |
Pin 1 SCL (Taktleitung) | Pin 1 SCL (Taktleitung) | ||
Pin 2 GND | Pin 2 GND | ||
Zeile 225: | Zeile 225: | ||
Pin 9 Batteriespannung | Pin 9 Batteriespannung | ||
Pin 10 Wird hier nicht genutzt | Pin 10 Wird hier nicht genutzt | ||
− | + | </pre> | |
Die PIN´s 5,7 können über Jumper I2C5V mit den 5V des Boards verbunden werden. Pin 9 kann über Jumper I2CBATT genutzt werden. | Die PIN´s 5,7 können über Jumper I2C5V mit den 5V des Boards verbunden werden. Pin 9 kann über Jumper I2CBATT genutzt werden. | ||
|- | |- | ||
Zeile 232: | Zeile 232: | ||
Über diesen Anschluß kann der Controller auf dem Sprachboard mit einem Standard ISP-Kabel direkt an einen Parallelport des PC´s angeschlossen und programmiert werden. | Über diesen Anschluß kann der Controller auf dem Sprachboard mit einem Standard ISP-Kabel direkt an einen Parallelport des PC´s angeschlossen und programmiert werden. | ||
Die Belegung des ISP-Anschlusses ist zu dem weit verbreitetet STK200 Programmier Dongle kompatibel. Ein entsprechender Dongle kann man sich entweder selber basteln (siehe Artikel „ARV Einstieg leicht gemacht“ unter www.roboternetz.de) oder fertig bestellen (z.B. www.robotikhardware.de). | Die Belegung des ISP-Anschlusses ist zu dem weit verbreitetet STK200 Programmier Dongle kompatibel. Ein entsprechender Dongle kann man sich entweder selber basteln (siehe Artikel „ARV Einstieg leicht gemacht“ unter www.roboternetz.de) oder fertig bestellen (z.B. www.robotikhardware.de). | ||
− | + | <pre> | |
Pin 1 MOSI | Pin 1 MOSI | ||
Pin 2 VCC | Pin 2 VCC | ||
Zeile 243: | Zeile 243: | ||
Pin 9 MISO | Pin 9 MISO | ||
Pin 10 GND | Pin 10 GND | ||
+ | </pre> | ||
|- | |- | ||
|Power | |Power | ||
Zeile 252: | Zeile 253: | ||
|Universeller Datenportstecker | |Universeller Datenportstecker | ||
Kann für vielfältige Dinge genutzt werden, zum Beispiel als Motor-Endstufenstecker: | Kann für vielfältige Dinge genutzt werden, zum Beispiel als Motor-Endstufenstecker: | ||
− | + | <pre> | |
Pin 1 Motor 1 IN 1 | Pin 1 Motor 1 IN 1 | ||
Pin 2 Motor 1 IN 2 | Pin 2 Motor 1 IN 2 | ||
Zeile 263: | Zeile 264: | ||
Pin 9 GND | Pin 9 GND | ||
Pin 10 Logikspannung 5V | Pin 10 Logikspannung 5V | ||
− | + | </pre> | |
oder als LCD-Buchse: | oder als LCD-Buchse: | ||
− | + | <pre> | |
Pin 1 DB7 | Pin 1 DB7 | ||
Pin 2 DB6 | Pin 2 DB6 | ||
Zeile 276: | Zeile 277: | ||
Pin 9 GND | Pin 9 GND | ||
Pin 10 +5V | Pin 10 +5V | ||
− | + | </pre> | |
Bitte beachten das über Jumper JP11 die Pin´s 7 und 8 vertauscht werden können. | Bitte beachten das über Jumper JP11 die Pin´s 7 und 8 vertauscht werden können. | ||
|- | |- | ||
Zeile 285: | Zeile 286: | ||
Die Belegung ist kompatibel zum Conrad Roboter CCRP5: | Die Belegung ist kompatibel zum Conrad Roboter CCRP5: | ||
− | + | <pre> | |
Pin 1 RX | Pin 1 RX | ||
Pin 2 GND | Pin 2 GND | ||
Pin 3 TX | Pin 3 TX | ||
− | + | </pre> | |
Ein geeignetes Anschlußkabel kann schnell selbst angefertigt werden oder gibt es bei robotikhardware.de bereits fertig | Ein geeignetes Anschlußkabel kann schnell selbst angefertigt werden oder gibt es bei robotikhardware.de bereits fertig | ||
|- | |- | ||
|RS232_TTL | |RS232_TTL | ||
|Die serielle Schnittstelle (RS232) im 5V-TTL-Pegel. Diese Schnittstelle ist vor allem dann interessant, wenn mehrere Controller miteinander verbunden werden. Die Stiftleiste ist 4-polig ausgelegt, um Verwechslungen mit der RS232 und dem PC-Pegel (+/-12V) zu vermeiden. Zudem lässt sich so ein Pegelwandler-Schaltkreis (z.B. Max232) anschließen und mit Spannung versorgen). | |Die serielle Schnittstelle (RS232) im 5V-TTL-Pegel. Diese Schnittstelle ist vor allem dann interessant, wenn mehrere Controller miteinander verbunden werden. Die Stiftleiste ist 4-polig ausgelegt, um Verwechslungen mit der RS232 und dem PC-Pegel (+/-12V) zu vermeiden. Zudem lässt sich so ein Pegelwandler-Schaltkreis (z.B. Max232) anschließen und mit Spannung versorgen). | ||
− | + | <pre> | |
Pin 1 RX | Pin 1 RX | ||
Pin 2 TX | Pin 2 TX | ||
Pin 3 GND | Pin 3 GND | ||
Pin 4 5V | Pin 4 5V | ||
− | + | </pre> | |
Wenn diese Buchse genutzt werden soll, muss das IC3 (MAX232) aus der Fassung entfernt werden. | Wenn diese Buchse genutzt werden soll, muss das IC3 (MAX232) aus der Fassung entfernt werden. | ||
|} | |} | ||
− | |||
==Schaltplan== | ==Schaltplan== | ||
− | [[Bild: | + | [[Bild:rnminicontrolschaltplan.gif|thumb|center|Anklicken um zu vergrößern]] |
− | + | ||
==Bestückungsplan== | ==Bestückungsplan== | ||
− | [[Bild: | + | [[Bild:rnmincontrolbestueckungsplan.gif|center]] |
+ | |||
+ | [[Bild:platineminicontrol.jpg|center]] | ||
==Bestückungsliste für RN-MiniControl== | ==Bestückungsliste für RN-MiniControl== | ||
Zeile 381: | Zeile 382: | ||
Ein weiterer Test wäre das anfassen des Spannungsreglers 78S05. Er darf warm bis sehr warm werden, aber man darf sich nicht dran verbrennen. Er ist im übrigen gegen Überlastung geschützt! | Ein weiterer Test wäre das anfassen des Spannungsreglers 78S05. Er darf warm bis sehr warm werden, aber man darf sich nicht dran verbrennen. Er ist im übrigen gegen Überlastung geschützt! | ||
− | Stimmt das alles, dann kann man den ISP-Programmieradpapter anschließen. Es eignet sich jeder gängige ISP Dongle der STK200 / STK300 kompatibel ist. Bei 16 Mhz machen allerdings billig Lösungen manchmal sehr viele Übertragungsfehler. Hier empfehle ich den [[ | + | [[Bild:Avrtutorial_ispkabel.jpeg|thumb|Programmierkabel]]Stimmt das alles, dann kann man den ISP-Programmieradpapter anschließen. Es eignet sich jeder gängige ISP Dongle der STK200 / STK300 kompatibel ist. Bei 16 Mhz machen allerdings billig Lösungen manchmal sehr viele Übertragungsfehler. Hier empfehle ich den [[AVR-ISP Programmierkabel]]. |
+ | |||
Über den Programmieradapter wird nun das Board mit der Druckerschnittstelle ihres PC verbunden. Dabei ist darauf zu achten das der ISP-Stecker auch in die richtige Wannenbuchse auf dem Board gesteckt wird. | Über den Programmieradapter wird nun das Board mit der Druckerschnittstelle ihres PC verbunden. Dabei ist darauf zu achten das der ISP-Stecker auch in die richtige Wannenbuchse auf dem Board gesteckt wird. | ||
Zeile 388: | Zeile 390: | ||
Also unbedingt auf die Beschriftung achten! Falschrum kann man ihn nicht aufstecken. | Also unbedingt auf die Beschriftung achten! Falschrum kann man ihn nicht aufstecken. | ||
− | Ist man kein AVR-Profi, so empfehle ich für den Test des Board´s die Entwicklungsumgebung und Programmiersprache [[Bascom]]. Ein schneller Basic-Compiler mit hervorragender Benutzeroberfläche. | + | Ist man kein AVR-Profi, so empfehle ich für den Test des Board´s die Entwicklungsumgebung und Programmiersprache [[Bascom]]. Ein schneller Basic-Compiler mit hervorragender Benutzeroberfläche. |
− | + | ||
==Testprogramm== | ==Testprogramm== | ||
Zeile 396: | Zeile 397: | ||
Über ein Terminalprogramm (das auf 9800 Baud / 8 Bit) eingestellt ist, kann man dann den Zustand der Ports auf dem PC sehen. Es bietet sich an das in Bascom eingebaute Terminalprogramm zu nutzen. Das Ergebnis sieht dann in etwa so auf dem PC-Monitor aus: | Über ein Terminalprogramm (das auf 9800 Baud / 8 Bit) eingestellt ist, kann man dann den Zustand der Ports auf dem PC sehen. Es bietet sich an das in Bascom eingebaute Terminalprogramm zu nutzen. Das Ergebnis sieht dann in etwa so auf dem PC-Monitor aus: | ||
− | [[Bild: | + | [[Bild:rnminicontrolterminal.gif|center]] |
Zeile 537: | Zeile 538: | ||
</pre> | </pre> | ||
+ | |||
+ | == Beispielanwendung mit Ultraschall== | ||
+ | Passender Quellcode [[Ultraschall SRF05 an RN-MiniControl|hier]] | ||
+ | |||
+ | [[Bild:srf05minicontrol.gif|center]] | ||
+ | |||
+ | == Beispielanwendung Nr.2: Distanzmessung== | ||
+ | Passender Quellcode [[Distanzmessung mit SRF05 an RN-MiniControl und RN-DIGI|hier]] | ||
+ | |||
+ | [[Bild:DistanzmessungSRF05RNMiniRNDigi2.jpg|center]] | ||
+ | |||
+ | ==Siehe auch== | ||
+ | *[[Bascom]] | ||
+ | *[[Bascom - Erstes Programm in den AVR Controller übertragen]] | ||
+ | * [[Ultraschall SRF05 an RN-MiniControl]] | ||
+ | *[[RN-Definitionen]] | ||
+ | *[[RN-Board FAQ-Seite]] | ||
+ | *[[Avr]] | ||
+ | *[[RN-Mega8]] | ||
+ | *[[RN-Control]] | ||
+ | *[[RNBFRA-Board]] | ||
+ | |||
+ | ==Weblinks== | ||
+ | * [http://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=315 Noch ausführliche Anleitung und Bauplan als PDF-Datei] | ||
+ | |||
+ | {{Platinenservice|http://www.robotikhardware.de}} | ||
+ | {{Bausatzservice|http://www.robotikhardware.de}} | ||
+ | {{Fertigservice|http://www.robotikhardware.de}} | ||
+ | |||
+ | |||
+ | [[Category:Robotikeinstieg]] | ||
+ | [[Category:Praxis]] | ||
+ | [[Category:Elektronik]] | ||
+ | [[Category:Projekte]] | ||
+ | [[Category:Microcontroller]] | ||
+ | [[Kategorie:Quellcode Bascom]] |
Aktuelle Version vom 19. Februar 2009, 22:16 Uhr
Dieses Board zeichnet sich durch kompakte Größe (5cm x 7,8cm) und sehr geringen Strombedarf aus. Besonders viel Wert wurde auch auf die Anschlüsse gelegt. Nahezu alle Ports stehen somit dem Anwender zur Verfügung. Besonders günstig sind die wichtigen AD-Ports, Interrupt, Timer und PWM Anschlüsse auf die Stiftleisten verteilt worden. So lassen sich Servos, Drehgeber, RC-Empfänger aber auch Motortreiber (Doppel H-Brücken wie RN-VNH2Dualmotor) oder LCD direkt anschließen. Natürlich steht auch der I2C-Bus zur Verfügung. Alle Stecker sind zudem kompatibel zu den RN-Definitionen).
Obwohl das Board sicher auch wie der große Bruder RN-Control zum Experimentieren als Hauptboard verwendet werden kann, ist es eigentlich in erster Linie als praktisch einsetzbares Zusatzboard für Projekte gedacht. Es ist daher kein Ersatz zu RN-Control das ja durch LEDs,Motortreiber und Steckbuchsen zum experimentieren günstiger ist. Nein RN-MiniControl ist als kostengünstiges CoControllerBoard ideal als Zweit oder Drittboard in Projekten (wie Robotern etc.). Ein besonderes Feature sind zwei Stiftleisten die sich auf der Unterseite einlöten lassen. Dadurch kann das Board auf andere Board wie RN-VNH2Dualmotor oder Experimentierplatinen aufgesteckt werden.
In der Regel ist als Controller ein ATMega168 als Controller vorhanden. Dieser ist weitgehend kompatibel zum ATMega8, daher kann wahlweise auch ein ATMega8 bestückt werden. Der ATMega168 bietet jedoch weit mehr Features (6x PWM ,3 Timer, 16Kbyte Speicher und Interrupt an jedem Pin)
Inhaltsverzeichnis
- 1 Die Leistungsmerkmale
- 2 Diagramm und Beschreibung der Anschlüsse
- 3 Portbelegung
- 4 Aufbau und Anwendung
- 5 Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken
- 6 Schaltplan
- 7 Bestückungsplan
- 8 Bestückungsliste für RN-MiniControl
- 9 Der erste Test
- 10 Testprogramm
- 11 Beispielanwendung mit Ultraschall
- 12 Beispielanwendung Nr.2: Distanzmessung
- 13 Siehe auch
- 14 Weblinks
Die Leistungsmerkmale
- Leistungsstarker Controller ATMega168 (kann auch durch ATMega8 ersetzt werden)
- 6x PWM , 3 Timer, 16Kbyte Speicher und Interrupt an jedem Pin)
- 16 Mhz Taktfrequenz
- Geringer Strombedarf ca. 30 mA (im Sleepmodus natürlich noch stark reduzierbar)
- Universalanschluss (RN-Definition) für doppelten Motortreiber oder LCD (oder anderes)
- I2C-Bus (für diverse Erweiterungen z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCD´s, SRF10 Ultraschallsensoren uvm.) oder für Ansteuerung als Slave Board)
- Vier dreipole Standard Stiftleisten für (Servos, Sensoren etc.)
- Zwei 5 polige Stiftleisten für Drehgeber, Sensoren, Aktoren
- RS232 TTL Pegel
- RS232 V24/PC Pegel
- Spannungsversorung wahlweise zwischen 7,2 und 18 Volt (ideal 7,2 bis 13V)
- 5V für externe Verbraucher herausgeführt
- Wichtige PWM-Ports können über Jumper auf andere Buchsen gelegt werden
- zwei Buchsenleisten auf der Unterseite bestückbar, dadurch läßt sich board auf andere Boards (z.B. RN-VN2Dualmotor) oder Lochrasterplatinen aufstecken
- ISP – Programmierschnittstelle für übliche AVR-Programmieradapter (10polig)
- Sehr kompakt, nur ca. 5 x 8 cm (RN-Miniformat)
- 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
- Preiswerter Bausatz / Fertigmodul erhältlich – einfacher Aufbau
- Kein Starter- oder Applikationsboard notwendig – bereits alles notwendige integriert!
Diagramm und Beschreibung der Anschlüsse
Portbelegung
Aufbau und Anwendung
Der Aufbau der Schaltung ist durch die vorgefertigte Platine und die überschaubare Anzahl an Bauelementen 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. Auf schwierig zu lötende und schwierig reparierbare SMD Teile wurde absichtlich verzichtet. Die Schaltung ist je nach Erfahrung in ca. 30 bis 60 Minuten aufgebaut.
Dennoch einige Anmerkungen zu kleinen Hürden für Einsteiger:
- Möchte man die Stiftleisten zum Aufstecken auf andere Boards verwenden, so sollte man diese als erstes bestücken da diese von unten eingesteckt und von oben gelötet werden. Wenn noch keine anderen Bauteile auf der Oberseite sind, erleichtert das das Löten. Zu beachten ist, das die kurze Seite der Stiftleiste von unten eingesteckt wird. Die Stiftleisten schauen dann auf der Oberseite kaum heraus, es reicht jedoch völlig um es von oben zu verlöten.
- Bei den Kondensatoren (Elkos) die Polung beim einlöten beachten. Diese ist auf Bauelementen und Platine aufgedruckt.
- Den 16 Mhz Quarz mit ca. 2 mm Abstand zur Platinenoberfläche einlöten damit das Metallgehäuse keine Leiterbahnen verbindet.
- Nicht vergessen das die zwei IC´s gesockelt werden. Also erst Sockel einlöten und dann IC einsetzen.
- Stiftleisten möglichst gerade einlöten damit Jumper bequem gesteckt werden können
Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 10 – 25 W Lötkolben alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen.
Nach dem Aufbau sollten Sie noch mal alle Lötpunkte kontrollieren. Wenn Sie dann Spannung anlegen, dann sollten deutlich weniger als 50mA Strom fließen. Ist der Strom höher, dann deutet das auf ein Lötfehler hin.
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken
Anschluss-Bezeichnung | Erläuterung |
JP1 | Dreipoliger Standard- Anschluß für beliebige Verwendung
Belegung: Pin 1 GND Pin 2 5 Volt Pin 3 Datenport (PD2 / INT0 / PCINT18) Geeignet zum Beispiel für Servos, , RC-Empfangskanal und vieles mehr. Sehr nützlich ist das dieser Port auch voll interruptfähig ist. |
JP2 | Dreipoliger Standard- Anschluß für beliebige Verwendung
Belegung: Pin 1 GND Pin 2 5 Volt Pin 3 Datenport (PB1 / OC1A / PCINT1) oder (PB3 / MOSI /OC2A / PCINT3) Geeignet zum Beispiel für Servos, , RC-Empfangskanal und vieles mehr. Sehr nützlich ist das dieser Port auch PWM (Pulsweitenmudulation) fähigvoll ist. Wie ober erkennbar kann die Belegung dieses Anschlusses durch den Jumper JP10 verändert werden (wahlweise müssen zwei Jumper quer oder längs in JP10 gesteckt werden). Dadurch können unterschiedliche Timer das PWM-Signal generieren. |
JP3 | Dreipoliger Standard- Anschluß für beliebige Verwendung
Belegung: Pin 1 GND Pin 2 5 Volt Pin 3 Datenport (PC1 / ADC1 / PCINT9) Geeignet zum Beispiel für Servos, Sharp Entfernungssensoren, RC-Empfangskanal und vieles mehr da Port sowohl Digital als auch Analog genutzt werden kann. |
JP4 | Dreipoliger Standard- Anschluß für beliebige Verwendung
Belegung: Pin 1 GND Pin 2 5 Volt Pin 3 Datenport (PC0 / ADC0 / PCINT8) Geeignet zum Beispiel für Servos, Sharp Entfernungssensoren, RC-Empfangskanal und vieles mehr da Port sowohl Digital als auch Analog genutzt werden kann. |
JP5 | Fünfpoliger Standard- Anschluß für beliebige Verwendung
Belegung: Pin 1 Batteriespannung (max. 12 V) Pin 2 GND Pin 3 +5V Pin 4 Datenport (PB4 / MISO / PCINT4) Pin 5 Datenport (PD4 / T0 / XCK / PCINT20) Geeignet zum Beispiel für Sensoren und Aktoren die zwei Ports benötigen. Wegen des Timer-Ports ideal auch zum Anschluß von Drehgebern zur Wegstreckenmessung/Drehzahlmessung. |
JP6 | Fünfpoliger Standard- Anschluß für beliebige Verwendung
Belegung: Pin 1 Batteriespannung (max. 12 V) Pin 2 GND Pin 3 +5V Pin 4 Datenport (PB2 / SS / OC1B / PCINT2) oder (PD3 / OC2B / INT1) Pin 5 Datenport (PD5 / T1 / OC0B / PCINT21) Geeignet zum Beispiel für Sensoren und Aktoren die zwei Ports benötigen. Wegen des Timer-Ports ideal auch zum Anschluß von Drehgebern zur Wegstreckenmessung/Drehzahlmessung. Aber auch Interrupt und PWM-Port ist hier verfügbar. Wie ober erkennbar kann die Belegung des Pin4 durch den Jumper JP9 verändert werden (wahlweise müssen zwei Jumper quer oder längs in JP9 gesteckt werden). Dadurch können unterschiedliche Timer das PWM-Signal generieren bzw. ein Interrupt bereitgestellt werden.. |
JP7 | Eine Stiftleiste (wird gewöhnlich von unten eingelötet) zum Aufstecken des Boards auf andere Boards oder Lochrasterplatinen.
Belegung: Pin 1 Datenport (PD6 / AIN0 / OC0A / PCINT22) Pin 2 Datenport (PD7 / AIN1 / PCINT23) Pin 3 Datenport (PB0 / ICP1 / CLKO) Pin 4 Datenport (PB5 / SCK / PCINT5) Pin 5 Datenport (PC3 / ADC3 / PCINT11) Pin 6 Datenport (PB1 / OC1A / PCINT1) oder (PB3 / MOSI / OC2A / PCINT3) Pin 7 Datenport (PB2 / SS / OC1B / PCINT2) oder (PD3 / OC2B / INT1 / PCINT19) Pin 8 Datenport (PC2 / ADC2 / PCINT10) Pin 9 GND Pin 10 +5V Über diese Stiftleiste werden gleich 8 Ports bereitgestellt. Sowohl digital, PWM, Interrupt und AD-Ports. Die Anwendungen sind dementsprechend vielfältig. So könnte beispielsweise eine komplette doppelte H-Bridge inkl. Stromüberwachung angesteuert werden (z.B. RN-Dualmotor). Die gleichen Ports stehen auch über die Wannenbuchse CTRL zur Verfügung. Wie ober erkennbar kann die Belegung des Pin6 und Pin 7 durch den Jumper JP10 (Pin6) und Jumper P9 (Pin7) verändert werden (wahlweise müssen zwei Jumper quer oder längs gesteckt werden). Dadurch können unterschiedliche Timer das PWM-Signal generieren bzw. ein Interrupt bereitgestellt werden.. |
JP8 | Eine Stiftleiste (wird gewöhnlich von unten eingelötet) zum Aufstecken des Boards auf andere Boards oder Lochrasterplatinen.
Belegung: Pin 1 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) Pin 2 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) Pin 3 Volle Betriebsspannung (kann zur Versorgung des Boards dienen) Pin 4 Nicht belegt Pin 5 Nicht belegt Pin 6 GND Pin 7 GND Pin 8 GND Pin 9 GND Pin 10 PC0 (ADC0 / PCINT8) Die Stiftleiste dient also vornehmlich zur Versorung des Boards mit einer Betriebsspannung von 7,2 bis 18 Volt. Man kann sich so die Versorgung über die Schraubklemmen ersparen (Schraublemmen sind parallel geschaltet). Beim Board RNVN2Dualmotor wird davon Gebrauch gemacht, dort fehlt die Verkabelung weg. |
JP9 | Pinbelegung ändern
Durch 2 Jumper die hier längs oder quer gesteckt werden können, kann die Belegung der Anschlüsse JP6 Pin 4 und JP7 Pin 7 vertauscht werden. Die Vertauschung kann je nach Verwendung der Timer und PWM Ports sinnvoll sein. Siehe auch unter JP6 und JP7! |
JP10 | Pinbelegung ändern
Durch 2 Jumper die hier längs oder quer gesteckt werden können, kann die Belegung der Anschlüsse JP2 Pin 3 und JP7 Pin 6 vertauscht werden. Die Vertauschung kann je nach Verwendung der Timer und PWM Ports sinnvoll sein. Siehe auch unter JP2 und JP7! |
JP11 | Pinbelegung ändern
Durch 2 Jumper die hier längs oder quer gesteckt werden können, kann die Belegung der Pins 8 und Pin 7 der Universalbuchse CTRL verstauscht werden. Wird RN-VNH2Dualmotor V1.11 über die Wannenbuchse angeschlossen, so ist eine etwas andere Belegung, als es die RN-Motorbuchsen Definition vorschreibt, notwendig. Daher kann durch die Jumper die RNVN2 Dualmotor Belegung als auch die Standard RN-Definitionsbelegung gewählt werden.! JP5V Falls das Board mit einer extern stabilisierten 5V Betriebsspannung versorgt wird (z.B. über I2C-Bus) darf dieser Jumper nicht gesteckt sein. Wird das Board über die Schraubklemmen oder über JP8 mit Spannung versorgt, so muss der Jumper gesteckt werden. |
I2CBATT | Wird der Jumper gesteckt, so wird die Batteriespannung auf den I2C-Bus geleitet oder vom I2C-Bus zur Versorgung des Boards genutzt. Im letzteren Fall darf das Board nicht zusätzlich noch über JP8 oder die Schraubklemme Power versorgt werden. |
5VEXT | 5V
Über diese zweipolige Stiftleiste können andere Boards, Sensoren, Aktoren mit 5V Spannung versorgt werden. Bei höherer Stromentnahme oder sehr hoher Eingangspannung sollte man den Spannungsregler kühlen. |
I2C-Bus | I2C-Bus
Über diesen Bus lassen sich zahlreiche Erweiterungen an dieses Board anschließen. Zum Beispiel werden auf der Seite robotikhardware.de passende Boards mit Sprachausgabe, Relais, Schrittmotorsteuerung etc. angeboten. Aber auch dieses Board kann selbst als Slave-Board, also als Erweiterung an ein anderes Hauptboard angeschlossen werden. Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der anderer Roboternetz Boards. Pin 1 SCL (Taktleitung) Pin 2 GND Pin 3 SDA (Datenleitung) Pin 4 GND Pin 5 +5V Pin 6 GND Pin 7 +5V Pin 8 GND Pin 9 Batteriespannung Pin 10 Wird hier nicht genutzt Die PIN´s 5,7 können über Jumper I2C5V mit den 5V des Boards verbunden werden. Pin 9 kann über Jumper I2CBATT genutzt werden. |
ISP | ISP – IN SYSTEM PROGRAMMING
Über diesen Anschluß kann der Controller auf dem Sprachboard mit einem Standard ISP-Kabel direkt an einen Parallelport des PC´s angeschlossen und programmiert werden. Die Belegung des ISP-Anschlusses ist zu dem weit verbreitetet STK200 Programmier Dongle kompatibel. Ein entsprechender Dongle kann man sich entweder selber basteln (siehe Artikel „ARV Einstieg leicht gemacht“ unter www.roboternetz.de) oder fertig bestellen (z.B. www.robotikhardware.de). Pin 1 MOSI Pin 2 VCC Pin 3 Nicht belegt Pin 4 GND Pin 5 RESET Pin 6 GND Pin 7 SCK Pin 8 GND Pin 9 MISO Pin 10 GND |
Power | Spannungsversorgung
Über diese Schraubklemme wird das Board mit Spannung versorgt. Es reicht eine unstabilisierte Gleichspannung von 7,2 bis 14V aus (max. 18V wenn Kühlkörper verwendet wird) + und – sind auf der Platine markiert. Die Verpolung zerstört das Board! |
CTRL | Universeller Datenportstecker
Kann für vielfältige Dinge genutzt werden, zum Beispiel als Motor-Endstufenstecker: Pin 1 Motor 1 IN 1 Pin 2 Motor 1 IN 2 Pin 3 Motor 2 IN 1 Pin 4 Motor 2 IN 2 Pin 5 AD Port der Strom messen kann Pin 6 Enable Motor1 ein (eventuell PWM) Pin 7 AD Port der Strom messen kann Pin 8 Enable Motor2 ein (eventuell PWM) Pin 9 GND Pin 10 Logikspannung 5V oder als LCD-Buchse: Pin 1 DB7 Pin 2 DB6 Pin 3 DB5 Pin 4 DB4 Pin 5 EN2 (wird nur bei manchen LCDs benötigt) Pin 6 EN Pin 7 R/W Pin 8 RS Pin 9 GND Pin 10 +5V Bitte beachten das über Jumper JP11 die Pin´s 7 und 8 vertauscht werden können. |
RS232 | PC kompatible RS232 Schnittstelle
Über ein Adapterkabel kann die serielle Schnittstelle des PC direkt mit dem Board verbunden werden. Dies ist dann sinnvoll, wenn Fehler in Programmen gesucht . Einfache PRINT Anweisungen werden von einem Terminalprogramm angezeigt. Hier kann Hyperterminal von Windows oder das eingebaute Terminalprogramm von Bascom empfohlen werden. Die Belegung ist kompatibel zum Conrad Roboter CCRP5: Pin 1 RX Pin 2 GND Pin 3 TX Ein geeignetes Anschlußkabel kann schnell selbst angefertigt werden oder gibt es bei robotikhardware.de bereits fertig |
RS232_TTL | Die serielle Schnittstelle (RS232) im 5V-TTL-Pegel. Diese Schnittstelle ist vor allem dann interessant, wenn mehrere Controller miteinander verbunden werden. Die Stiftleiste ist 4-polig ausgelegt, um Verwechslungen mit der RS232 und dem PC-Pegel (+/-12V) zu vermeiden. Zudem lässt sich so ein Pegelwandler-Schaltkreis (z.B. Max232) anschließen und mit Spannung versorgen).
Pin 1 RX Pin 2 TX Pin 3 GND Pin 4 5V Wenn diese Buchse genutzt werden soll, muss das IC3 (MAX232) aus der Fassung entfernt werden. |
Schaltplan
Bestückungsplan
Bestückungsliste für RN-MiniControl
Bauteil Wert Beschreibung Best.Nr. C1 100n Keramik Kondensator KERKO100N C2 22p 22pF Kondensator KERKO-500 22p C3 22p 22pF Kondensator KERKO-500 22p C4 100n 100nF 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 100n Keramik Kondensator KERKO100N C10 100n Keramik Kondensator KERKO100N C11 220uF Elko RAD 220/35 C12 100n Keramik Kondensator KERKO100N C13 10uF Elko 10 uF RAD 105 10/63 C14 100n Keramik Kondensator KERKO100N C15 100n Keramik Kondensator KERKO100N I2C Wannenstecker 10pol WSL10G I2C5V ; Stiftleiste 2polig LU2,5MS2 I2CBATT Stiftleiste 2polig LU2,5MS2 IC1 Spannungsregler 78S05 78S05 IC2 28 polige IC Fassung IC2 MEGA8 Controller oder besser ATMega168 IC3 16 polige IC Fassung IC3 MAX232 RS232 Treiber DIP MAX 232 ISP Wannenbuchse 10pol WSL10G JP1 Stiftleiste 3 polig LU 2,5 MS3 JP2 Stiftleiste 3 polig LU 2,5 MS3 JP3 Stiftleiste 3 polig LU 2,5 MS3 JP4 Stiftleiste 3 polig LU 2,5 MS3 JP5 Stiftleiste 5 polig LU 2,5 MS5 JP5V Stiftleiste 2polig LU 2,5 MS2 JP6 Stiftleiste 5 polig LU 2,5 MS5 JP7 Stiftleiste 10 polig von unten bestücken (siehe Doku) JP8 Stiftleiste 10 polig von unten bestücken (siehe Doku) JP9 Stiftleiste 2x2polig L1 Induktivität 10uH smcc 10u MOTORTREIBER Wannenbuchse 10 pol WSL10G POWER Schraubklemme 2 polig AKL 101-02 Q1 16 Mhz Quarz 16 Mhz 16-HC49U-S R1 Metallschichtwiderstand 10k Conrad 408280-12 R2 Metallschichtwiderstand 10k Conrad 408280-12 R3 Metallschichtwiderstand 10k Conrad 408280-12 RS232 Stiftleiste 3 polig LU 2,5 MS3 RS232_TTL Stiftleiste 4 polig LU 2,5 MS4 10 Stück Jumper vergoldet 4 Stück Befestigungsbolzen 12mm 1 Stück RN-MiniControl Platine
Der erste Test
Nachdem Board aufgebaut ist, können wir daran gehen und das Board testen. Zunächst sollten noch einmal alle Jumper (Kurzschlussbrücken) überprüft werden. Danach ein möglichst ein Netzteil mit 7,2 bis 13 V anschließen, für höhere Spannungen benötigt man noch keinen Kühlkörper. Günstige Akkus gibt’s auch bei robotikhardware.de. Wir empfehlen ein 9,6V oder 12V Akku.
Hat das Netzteil den falschen Stecker, einfach abschneiden und Drähte so in die Schraubklemmen einfügen. Auf Polung achten (Verpolung zerstört das Board). Falls Sie ein Messgerät haben, können Sie auch den Strombedarf des Boards checken. Wenn alles korrekt zusammengebaut wurde, muss dieser deutlich niedriger als 50 mA liegen. Ein wesentlich höherer Strom würde auf Lötfehler hin deuten. Ein weiterer Test wäre das anfassen des Spannungsreglers 78S05. Er darf warm bis sehr warm werden, aber man darf sich nicht dran verbrennen. Er ist im übrigen gegen Überlastung geschützt!
Stimmt das alles, dann kann man den ISP-Programmieradpapter anschließen. Es eignet sich jeder gängige ISP Dongle der STK200 / STK300 kompatibel ist. Bei 16 Mhz machen allerdings billig Lösungen manchmal sehr viele Übertragungsfehler. Hier empfehle ich den AVR-ISP Programmierkabel.Über den Programmieradapter wird nun das Board mit der Druckerschnittstelle ihres PC verbunden. Dabei ist darauf zu achten das der ISP-Stecker auch in die richtige Wannenbuchse auf dem Board gesteckt wird.
Eine Verwechslung kann den ISP-Programmer oder den Controller zerstören.
Also unbedingt auf die Beschriftung achten! Falschrum kann man ihn nicht aufstecken.
Ist man kein AVR-Profi, so empfehle ich für den Test des Board´s die Entwicklungsumgebung und Programmiersprache Bascom. Ein schneller Basic-Compiler mit hervorragender Benutzeroberfläche.
Testprogramm
Das nachfolgende Testprogramm definiert alle Ports als Eingabeports und zeigt dessen Zustand (Pegel) über die RS232 Schnittstelle an. Damit das Programm korrekt läuft müsse die Fusebits zuvor korrekt eingestellt werden (siehe Doku etwas weiter hinten). Zudem muss der PC über ein RS232 Kabel mit dem Board verbunden werden. Über ein Terminalprogramm (das auf 9800 Baud / 8 Bit) eingestellt ist, kann man dann den Zustand der Ports auf dem PC sehen. Es bietet sich an das in Bascom eingebaute Terminalprogramm zu nutzen. Das Ergebnis sieht dann in etwa so auf dem PC-Monitor aus:
Einige Ports haben im Bild Low Pegel. Dies liegt abe rnur daran das während der Aufnahme des Bildes ein Zusatzboard (RN-VH2Dualmotor) angeschlossen war. Wenn dies bei ihnen nicht der Fall ist, so werden bis auf TX (PD1) alle Ports High Pegel besitzen.
Hier das zuständige Testprogramm
'################################################### 'rn_minicontrol_porttest.bas 'Dieses Programm ist für das universelle und kompakte 'Controllerboard RN-MINICONTROL ab Version 1.3 'Boardbeschreibung Roboternetz.de oder robotikhardware.de 'Verwendeter Compiler Bascom V 1.11.7.9 ' 'Aufgabe: ' 'Die Ausgabe erfolgt über Bascom Terminalprogramm. PC muss 'somit über RS232 Kabel verbunden sein 'Es wird der Zustand aller Ports angezeigt ' 'Autor: Frank 'Weitere Beispiele und Beschreibung der Hardware 'unter http://www.Roboternetz.de bzw. robotikhardware.de '################################################### 'Die üblichen Definitionen bei Standardprogrammen auf Miniboard $regfile = "m168def.dat" $crystal = 16000000 'Quarzfrequenz $baud = 9600 $hwstack = 32 $framesize = 32 $swstack = 32 Declare Sub Showadport() Declare Sub Showdigitalports() Wait 1 Print "Warte ich boote ..." Wait 2 Print Print "**** RN-MINICONTROL 1.3 *****" Print "Das neue kleine Controllerboard" Print "RN-MiniControl, der kleine Bruder von RN-Control" Print "Nach RN-Definition vom www.roboternetz.de" Print Do Showdigitalports Showadport Print Print "Viel Spass mit dem Board!" Wait 10 Print Loop End 'Zeigt Die Analogen Messwerte An Port A An Sub Showadport() Local Ws As Word Local I As Integer Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Internal Config Portc = Input For I = 0 To 5 ' Alle internen Pullup Widerständ abschalten Portc.i = 0 Next I Print Print "Ermittelte Messwerte an Port C:" For I = 0 To 5 ' Alle Eingäne inkl.messen Start Adc Ws = Getadc(i) Print "Pin" ; I ; " ADC-Wert= " ; Ws Next I End Sub 'Zeigt den Zustand der Ports an Sub Showdigitalports() Local Zustand As String * 6 Local I As Integer Config Portb = Input For I = 0 To 5 ' Alle internen Pullup Widerständ ein Portb.i = 1 Next I Print Print "Ermittelter I/O Zustand Port B:" For I = 0 To 5 ' Alle Eingäne inkl.messen If Pinb.i = 1 Then Zustand = "H" Else Zustand = "L" End If Print "Pin" ; I ; "=" ; Pinb.i ; "(" ; Zustand ; ") "; Next I Print Config Portc = Input For I = 0 To 5 ' Alle internen Pullup Widerständ ein Portc.i = 1 Next I Print Print "Ermittelter I/O Zustand Port C:" For I = 0 To 5 ' Alle Eingäne inkl.messen If Pinc.i = 1 Then Zustand = "H" Else Zustand = "L" End If Print "Pin" ; I ; "=" ; Pinc.i ; "(" ; Zustand ; ") "; Next I Print Config Portd = Input For I = 0 To 7 ' Alle internen Pullup Widerständ ein Portd.i = 1 Next I Print Print "Ermittelter I/O Zustand Port D:" For I = 0 To 5 ' Alle Eingäne inkl.messen If Pind.i = 1 Then Zustand = "H" Else Zustand = "L" End If Print "Pin" ; I ; "=" ; Pind.i ; "(" ; Zustand ; ") "; Next I Print End Sub
Beispielanwendung mit Ultraschall
Passender Quellcode hier
Beispielanwendung Nr.2: Distanzmessung
Passender Quellcode hier
Siehe auch
- Bascom
- Bascom - Erstes Programm in den AVR Controller übertragen
- Ultraschall SRF05 an RN-MiniControl
- RN-Definitionen
- RN-Board FAQ-Seite
- Avr
- RN-Mega8
- RN-Control
- RNBFRA-Board