Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Balkonkraftwerk Speicher und Wechselrichter Tests und Tutorials

Inhaltsverzeichnis

RP6 Multi IO Erweiterungsmodul

Das RP6-Multi-IO Erweiterungsmodul besteht aus fünf Platinen. Eine Hauptplatine, im üblichen RP6-Layout, enthält eine Vielzahl möglicher Sensoren und Aktoren wie Temperatursensor, Stromsensor, Berührungssensor, Servo-Ansteuerung, LEDs, Buzzer etc. An sie können die vier weiteren Platinen angesteckt werden. Diese sind eine Bumper-Platine zum Anbringen am Heck des RP6, eine Radio-Platine, eine Platine mit vier Tastern und eine mit einem Liniensensor-Array von fünf CNY70-Reflexoptokopplern.

Diese fünf Platinen können bei fabqu ( http://www.roboternetz.de/community/members/47148-fabqu oder fabqu@web.de ) bestellt werden. Sie sind mit Lötstopplack (schwarz) sowie mit einem Bestückungsdruck versehen. Sie sind nicht aufgebaut, aber fabqu bietet an, die schwer einzulötenden SMD-ICs und bei Bedarf auch alle anderen SMD-Bauteile einzulöten.


Abkürzungsverzeichnis

Features des Multi-IO-Moduls

On-Board-Sensoren

  • Externe Stromversorgung
    • Bis zu 10 Volt
    • Verpolungs- und kurzschlussicher
    • Netzgerät möglich
    • 5V- und 3,3V-Regler on Board
  • USRBUS
    • Pinherausführungen
  • Alle 14 Pins stehen zur freien Verfügung
  • XBUS
    • Nutzung des externen Akkus für RP6-Basiseinheit möglich
    • Nutzung des Akkus der RP6-Basiseinheit möglich
    • Pinherausführungen für I2C (5V- und 3,3V-Pegel) und Int1 (5V- und 3,3V-Pegel)
  • Temperatur-Sensor
    • TCN75 (gleicher Sensor ist bei M128 verbaut)
    • Adressbits A0 und A2 einstellbar
    • Sensor ist durch Jumper deaktivierbar
  • 16-fach PWM-Modulator via I2C PCA9685
    • schaltet 8 Servos
    • schaltet 4 LEDs
    • schaltet Versorgungsspannung der Servomotoren zu/ab
    • 3 freie Pins
    • Der PCA9685 ist direkt neben dem USRBUS angebracht, um hier eine Fortführung der Daten zu ermöglichen
  • Servo-Lib für M32
  • Spannungsversorgung Servos
    • Eigene Spannungsversorgung für alle Servomotoren
    • Abgesichert durch 470uF-Kondensator
    • Verwendung drei verschiedener 5V-Regler möglich (78x5, LT1084CP-5 oder LT1084CT-5)
    • Bei Verwendung eines LT…-5 ist die Spannung durch Poti im Bereich 5..7,5V einstellbar
  • Strom-Spannungs-Überwachung
    • LTC2990 überwacht via I2C Batteriespannung, Servospannung, Stromverbrauch der gesamten Platine sowie eigene Temperatur
    • Analoge Messung der 3,3V-Spannung
  • Echtzeit-Uhr DS1307
    • Via I2C
    • 5V sind durch Jumper deaktivierbar
    • StandBy durch 3V-Knopfzelle (20xx-Reihe) möglich
  • Berührungssensor
    • Timerbaustein NE555 registriert Berührung einer Antenne
    • Via ADC
  • Buzzer
  • Spannungsteiler
    • Vorbereitet
    • Anschlussmöglichkeit vieler eigener Sensoren
  • I2C-EEPROM
  • Anschlussmöglichkeit der IO- und ADC-Wannenstecker von M32, M128 und M256

Weitere Platinen

  • Jede hier beschriebene Platine besitzt einen vorkonfektionierten Anschluss auf der Hauptplatine
  • Taster-Board
    • Vier Taster
    • Widerstandskaskade für Messung mit einem ADC
  • Bumper-Board
    • Zwei Bumper mit LEDs
    • Zwei durch Transistor abschaltbare Sharp-GP2Dxx-Sensoren (analog) oder zwei SRF02-Sensoren (digital via I2C)
  • Liniensucher-Board für Liniensensor
    • Bis zu 5 CNY70-Reflexoptokoppler
    • Durch Transistor abschaltbar
    • LED zeigt Status
    • Durch Jumper Wahl zwischen drei oder fünf CNY70-Reflexoptokopplern
  • Radio-Board
    • SI4735 digitaler Radio-Empfänger
    • TDA7050 Verstärker mit Stereo-Kopfhörerbuchse
    • Potentiometer zur Lautstärkeregulierung
    • AM und FM möglich
  • Anschlüsse
    • Taster-Board kann an Hauptplatine angesteckt oder aufgelötet werden
    • Anschlüsse für Bumper- und Liniensensor-Board

Erweiterbare Sensoren

Software

Die Software wird von Dirk erstellt. Diese Bibliotheken sind natürlich nur ein Vorschlag und sollen nur zur Anregung eigener Projekte und eigener Bibliotheken dienen. Es ist geplant, eine Bibliothek mit allen fest installierten Sensoren und Aktoren aufzubauen. Darüber hinaus soll sich eine weitere Bibliothek mit allen Umwelt-Fragen beschäftigen (Luftdruck, Luftfeuchtigkeit, Temperatur) sowie eine mit den Sensoren für Lageerkennung (GPS, 3D- oder 9D-Kompass, SRF02 und Sharp-Sensoren). Diese Bibliotheken liegen – wie das gesamte Projekt – als Open Source vor und werden den Usern zugänglich gemacht.

Multi IO Projekt Library

Diese Avr-gcc Library für das Multi IO Projekt Board (= "MultiIO") geht von folgenden Voraussetzungen aus:

  • Die RP6v2#RP6v2_M256_WiFi_Platine (= "M256") wird für die Ansteuerung der MultiIO benutzt (1).
  • Die M256 ist der I2C-Bus Master.
  • Die I2C-Bus Geschwindigkeit beträgt 100 kHz.
  • Alle Hardware-Komponenten der MultiIO sind aufgebaut (2).
  • Alle Jumper auf der MultiIO sind in ihrer Standardstellung (3).
  • Die MultiIO und die M256 sind mit dem XBUS des RP6-Systems 1:1 verbunden.
  • Der Wannenstecker IO_Mxxx der MultiIO ist mit dem Wannenstecker IO_PWM/T2/T3 der M256 1:1 verbunden.
  • Der Wannenstecker ADC_Mxxx der MultiIO ist mit dem Wannenstecker ADC_IO2/CMP der M256 1:1 verbunden.
  • Der Wannenstecker ADC_M256 der MultiIO ist mit dem Wannenstecker ADC_IO1 der M256 1:1 verbunden.
Zu (1): Dies soll nur der 1. Schritt sein. Natürlich ist die MultiIO auch an die
        RP6 BASE, die RP6#RP6_CONTROL_M32_Platine und die RP6#RP6_CCPRO_M128_Platine
        des RP6-Systems und an praktisch alle anderen Microcontroller-Plattformen
        anschließbar!
Zu (2): Wenn nicht alle Komponenten aufgebaut sind, sind die zugehörigen Funktionen
        natürlich nicht funktionsfähig und können nicht benutzt werden.
Zu (3): Siehe Hardware-Teil!

Die Library (Software-Bibliothek) besteht aus drei Teilen:

  • Dem Configuration Header -> Hier stehen alle Definitionen und Festlegungen, die der grundlegenden Konfiguration der MultiIO dienen. Diese Datei kann auf die eigenen Hardware-Voraussetzungen angepaßt werden, ohne dass die eigentliche Library (Header und Source) verändert werden muss.
  • Dem Library Header -> Hier gibt es Definitionen, Variablen- und Funktionsdeklarationen für die Library.
  • Der Library Source -> Das ist die eigentliche Library.

Configuration Header

Library Header

Library Source

Erklärung

Demo

Erklärung

Linienfolger Board Software

Demo

Erklärung

Bumper Board Software

Demo

Erklärung

Radio Board Software

Demo

Erklärung

Library für die Messung von Umweltdaten

Library Header

Library Source

Erklärung

Demo

Erklärung

Library für die Orientierung im Raum

Library Header

Library Source

Erklärung

Demo

Erklärung

Hardware

Die Hardware des Multi-IO-Moduls muss erst verlötet werden. Bitte lese dafür eine ausführliche Lötanleitung! Diese finden sich u.a. im Netz: Löt-Tutorial Du musst nicht alle Komponenten einbauen! Du kannst diejenigen einbauen, welche du benötigst oder ausprobieren möchtest. Die Platine ist jederzeit erweiterbar. Nach dem Löten kann es sinnvoll sein, die Lötstellen durch „Plastik 70“-Spray vor Korrosion zu schützen.

Anschluß anderer Module

An den 10-poligen Wannensteckern IO_Mxxx (SV_IO_Mxxx ) und ADC_Mxxx (SV_ADC_Mxxx) an der Rückseite des Multi-IO-Moduls können IO- und ADC-Wannenstecker der Module M32, M128 und M256 angesteckt werden. Der 10-polige IO-Wannenstecker „SV_SERVOSM32“ der M32 kann zusätzlich für acht Servos genutzt werden. Für die M256 steht ein zusätzlicher, 14-poliger Wannenstecker (SV_ADC_M256) zur Verfügung.

Taster-Board

Das Taster-Board kann an der Vorderseite der Hauptplatine befestigt werden.

Benötigte Teile

Artikel Name Anzahl
Taster T1-T4 4
Widerstand SMD, 1206-Package, 10kΩ R20, 21, 34, 35 4
Evtl. 1x1 Buchse, RM2,54 P_T1, 2, 3, 4 4
Evtl. 1x1 Pin 90°, RM2,54 P_T1, 2, 3, 4 4

Beschreibung

Die vier Taster schalten eine Widerstandkaskade, welche als Spannungsteiler fungiert. Dadurch können sie – analog zu den Tastern der M32 – mit nur einem ADC-Kanal gemessen werden. Das Board kann entweder mit den vier Lötpunkten am vorderen, linken Rand des Multi-IO-Moduls angelötet werden, oder mittels vier rechtwinkliger Pins in vier Buchsen dort eingesteckt werden.

Bumper-Board

Die Schraublöcher sind so angepasst, dass das Bumper-Board am Heck des RP6 angebracht werden kann.

Benötigte Teile

Artikel Name Anzahl
Bumper 2
Widerstand SMD, 1206-Package, 750Ω R30, 31 2
Widerstand SMD, 1206-Package, 270Ω R23, 24 2
LED SMD, 1206, rot LED7, 8 2
Pinreihe 1x7, RM2,54, stehend oder 90° P_BUMPER 1
Evtl. Pinreihe 1x4, RM2,54 P_BUMPER1, 2 2
Verwendung der Sharp-Sensoren
Artikel Name Anzahl
Transistor BC807, SOT23-Package Q1 1
Kondensator SMD, 1206-Package, 100nF C36 1
Kondensator SMD, EIA3528- od. 1206-Package, 10uF C37 1
Widerstand SMD, 1206-Package, 1kΩ R4 1
Jumper 1x2, RM2,54, stehend oder 90° J_SHARP-ON 1
Evtl. Pinreihe 1x3, RM2,54, für Sharp-Sensoren P_SHARP1, 2 2
Verwendung der SRF02
Artikel Name Anzahl
Kondensator SMD, 1206-Package, 100nF C3, 4 2
Pinreihe 1x5, RM2,54, für SRF02 P_SRF__1, 2 2

Beschreibung

Die Bumper-Taster haben drei Pins: Eingang (5V), Ausgang wenn gedrückt, Ausgang wenn nicht gedrückt. Hier werden nur der Eingang und der Ausgang im gedrückten Fall verwendet. Dieser schaltet dann auf die LEDs und die Pins 2 (rechts) und 3 (links) von P_BUMPER durch. Die LEDs können zusätzlich über den IO-Kanal angesprochen, also geschaltet werden (analog zur RP6-Base) . Es können zwei Sharp-Abstandssensoren angebracht werden, oder zwei SRF02. Es werden dann nur die jeweiligen Kondensatoren und Pinreihen benötigt.

Verwendung der Sharp-Sensoren

Werden die Sharp-Sensoren verwendet, sind die Kondensatoren C36 (100nF) und C37 (10uF) anzubringen sowie der Transistor Q1 (BC807) und der zugehörige Widerstand R4 (1kΩ). Die Sensoren können an den 1x3-Pinreihen P_SHARP1 und 2 angesteckt oder angelötet werden. Die Sharps können durch Jumper J_SHARP-ON oder durch den Transistor geschaltet werden.

Verwendung der SRF02

Werden die SRF02 verwendet, können diese an P_SRF__1 und 2 angesteckt oder angelötet werden. Die Kondensatoren C3 und 4 (100nF) sind zu verwenden.

Anschluß auf Hauptplatine

Das Board kann mit einem 7-poligen Flachbandkabel am Multi-IO-Modul angesteckt werden. Dort kann via Jumper JP1 und JP2 gewählt werden, ob digitale (SRF02 via I2C) oder analoge Sensoren (SharpGP2D via ADC) benutzt werden. Die Verwendung von analogen Sensoren geht nur mit dem Modul M256, da hier die ADC-Kanäle PF3 und PF4 des 14-poligen ADC-Wannensteckers verwendet werden.

Befestigt werden kann das Board mit zwei M3-Schrauben am Heck des RP6. Dafür benötigst du noch zwei Distanzbolzen mit M3-Gewinde und zugehörige Muttern (analog zur Befestigung des originalen Bumper-Boards auf der Vorderseite des Rp6). Diese kannst du von Innen am RP6 befestigen und danach das Bumper-Board anbringen.

Liniensucher-Board

Benötigte Teile

Für Verwendung von 3 Sensoren
Artikel Name Anzahl
CNY70 von Vishay IC8-10 3
Widerstand SMD, 1206-Package, 15kΩ R45, 46, 18 3
Widerstand SMD, 1206-Package, 15Ω R57 1
Widerstand SMD, 1206-Package, 240Ω R15 1
Widerstand SMD, 1206-Package, 47kΩ R47 1
LED SMD, 1206, gelb LED9 1
Kondensator SMD, 1206-Package, 100nF C28, 29, 30 3
Transistor BUZ172, SO220-Package Q9 1
Pinreihe 1x8, RM2,54, stehend oder 90° P_CNY_ALL1 1
Zusätzlich für die Verwendung von 5 Sensoren
Artikel Name Anzahl
CNY70 von Vishay IC11-12 2
Widerstand SMD, 1206-Package, 15kΩ R19, 43 2
Widerstand SMD, 1206-Package, 68kΩ R56 1
Kondensator SMD, 1206-Package, 100nF C6, 7 2
Jumper 1x2, RM2,54, stehend oder 90° J_CNY 1


Beschreibung

Das Board besitzt drei CNY70 (L, M, R = IC8-10) sowie zwei weitere, durch Jumper zuschaltbare (L1 = IC11, R1 = IC 12). Die Spannungsversorgung (5V) kann durch einen Transistor (Q9) geschaltet werden. Eine LED (LED9) zeigt den Status On/Off an.

Die Reflexoptokoppler CNY70 können gut zur Linienerkennung (hell/dunkel) eigesetzt werden. Siehe dazu http://www.rn-wissen.de/index.php/CNY70.

Anschluß auf Hauptplatine

Das Board kann durch ein 8-poliges Flachbandkabel auf dem Multi-IO-Modul angesteckt werden. Die Sensoren R1 und L1 können dabei nur mit dem M256-Modul verschaltet werden (freie ADC-Kanäle PF2 und PF3). Die Sensoren L, M und R können durch Jumper JP4 auf die ADC-Pins ADC_1, ADC_3 und ADC_5 gelegt werden (Pins 1, 3 und 5 des 10-poligen ADC_Mxxx-Wannensteckers).

Radio-Board

Benötigte Teile

Artikel Name Anzahl
SI4735 im SSOP24-Package U2 1
3,5mm Stereo-Buchse X2 1
Quarz, 32.768kHz, TC26H-Package Q5 1
TDA7050-NF-Amplifier, DIL8-Package IC4 1
Kondensator SMD, EIA3528- od. 1206-Package, 10uF C16, 25, 32 3
Kondensator SMD, EIA3528- od. 1206-Package, 47uF C40, 42 2
Spule SMD, C0402-Package, 180nH L1 1
Spule SMD, C0402-Package, 4,7uH L2 1
Kondensator SMD, 0402-Package, 220nF C8 1
Kondensator SMD, 0402-Package, 33pF C20 1
Kondensator SMD, 0402-Package, 18pF C19 1
Kondensator SMD, 0402-Package, 470nF C23 1
Kondensator SMD, 0402-Package, 22pF 18 1
Kondensator SMD, 0402-Package, 100nF 24 1
Widerstand SMD, 0402-Package, 22kΩ R29 1
Potentiometer SMD, 3223G-Package, 22kΩ R27, 28 2
Widerstand SMD, 1206-Package, 240Ω R37 1
LED SMD, 1206-Package LED2 1
Pinreihe 1x4, RM2,54 P_RADIO 1
Jumper 1x2, RM2,54 L-R-OUT, J_F-ANT, J_AM, P_GPIO 4
Jumper 1x1, RM2,54 P_ANT 1

Beschreibung

Das Radio-Board besitzt einen digitalen I2C-Radioempfänger U1 und einen Verstärker IC4. Eine Antenne kann an P_ANT angesteckt werden. Für eine Ferrit-Antenne muss Jumper J_F-ANT geschlossen sein. Wird Jumper J_AM geschlossen, ist AM-Empfang aktiv. Ist er offen, wird FM empfangen. An der Buchse X2 können 3,5mm-Stereo-Kopfhörer (oder Lautsprecher) eingesteckt werden. An den Potentiometern R27 und 28 können die Lautstärken links und rechts eingestellt werden.

An den beiden Pins der Pinreihe P_GPIO können die beiden GPIOs 1 und 2 des Empfängers U1 genutzt werden.

An den Pins der Pinreihe L-R-OUT können die Signale für rechts und links abgegriffen werden.

Stromversorgung

Benötigte Teile

Artikel Name Anzahl
Sicherungshalter 20x5mm F1 1
Sicherung 20x5mm F1 1
Schalter S1 1
Schalter oder Jumper, 2x1 Pins, RM2,54 S2 1
2x2-Jumper, RM2,54 P_UB 1
Buchse 2mm/2,5mm B1 1
5V-Regler 78x5, TO220- oder TO92-Package U1 1
LED low current, 3mm LED1 1
Widerstand SMD, 1206-Package, 820 Ohm R1 1
Diode D1 1
Bei Bedarf: Jumper, 2x1 Pins, RM2,54 J_UB, J_UB2, J_VCC 3

Beschreibung

Ein externer Akku kann an die Pins P_UB angeschlossen werden (auf Polung achten!). Um ihn zu laden, kann ein Ladegerät an Buchse B1 angeschlossen werden, wobei dafür automatisch die Platine vom Akku getrennt wird.

Es ist auch möglich, einen Akku oder ein Netzgerät an B1 anzuschließen. Um dafür die genannte Trennung der Platine zu überbrücken, kann der Schalter S2 bzw. der dort angebrachte Jumper diese Verbindung herstellen.

Der Schalter S1 schaltet die Batteriespannung entweder des externen Akkus oder des RP6-Eigenen Akkus zum 5V-Regler U1 (jeder Regler der Baureihe 78x5 ist möglich) durch. Möchte man den Akku des RP6 verwenden, muss hierfür Jumper J_UB2 gesteckt sein.

Die LED LED1 zeigt an, ob der 5V-Regler U1 in Betrieb ist.

ACHTUNG: Es ist auch möglich, den RP6 mit dem am Multi-IO-Modul angeschlossenen externen Akku zu betreiben. Dafür muss Jumper J_UB gesteckt sein und es darf kein Akku im RP6 verbaut sein! Ansonsten können Bauteile und Akkus Schaden nehmen!

Des Weiteren können die meisten Bereiche (NICHT der Servobereich) mit der 5V-Versorgung des RP6 versorgt werden. Dafür den Jumper J_VCC einstecken, ein weiterer 5V-Regler auf dem Multi-IO-Modul ist dann nicht notwendig. Jedoch wird empfohlen, diesen Jumper nicht zu setzen, sondern einen eigenen 5V-Regler für dieses Modul zu verwenden.

Die Sicherung F1 sollte mindestens 3A zulassen (je nach Anforderung: werden keine Servomotoren verwendet, kann auch eine kleinere Sicherung verwendet werden).

Die Diode D1 lässt einen Stromfluss erst zu, wenn ein Akku falsch gepolt eingesteckt wird. Dann kommt es durch die Diode zum Kurzschluss und die Sicherung F1 verhindert Schäden an der Hardware.

USRBUS

Benötigte Teile

Artikel Name Anzahl
14polige Wannenbuchse SV_USRBUS1,2 2

Beschreibung

Die 14 Pins des USRBUS sind nicht belegt und stehen zur freien Verfügung. Durch sie kann man Signale des Multi-IO-Moduls mit anderen Modulen austauschen.

XBUS

Benötigte Teile

Artikel Name Anzahl
14polige Wannenbuchse SV_XBUS1,2 2

Beschreibung

Die Leitungen des XBUS sind analog zu den anderen RP6-Modulen. Es werden lediglich die I2C-Leitungen, der Int1, GND und (bei Bedarf) die Batteriespannung verwendet.

Es sind diverse Pinherausführungen für die I2C-Leitungen auf dem Multi-IO-Modul vorhanden.

Der 3,3V-I2C-Bus

Benötigte Teile

Artikel Name Anzahl
BSN20, SOT-23-Package Q6, 11 2
Widerstand SMD, 1206-Package, 4,7kΩ R67, 68, 70 3
Widerstand SMD, 1206-Package, 2,2kΩ R71 1
Widerstand SMD, 1206-Package, 10kΩ R69 1
Widerstand SMD, 1206-Package, 470Ω 36 1
Kondensator SMD, 1206-Package, 100nF C13, 14 2
Kondensator SMD, 1206-Package, 470pF C12 1
3,3V-Regler MIC5219-3.3BM5 , SOT23-5-Package IC2 1
2x1-Jumper, RM2,54 J_INT_ON, J3_I5, J3_SDA, J3_I3, J_3VON 5

Beschreibung

Die Widerstände und Feldeffekttransistoren dienen als Pegelwandler für die Leitungen des I2C (SDA und SCL) und der Interruptleitung (Int1). Die Kondensatoren dienen der Abschirmung. Es muss darauf geachtet werden, dass der 3,3V-Regler MIC5219-3.3BM5 verwendet wird (oder ein identischer).

Der Jumper J_3VON schaltet den 3,3V-Regler an.

Der Jumper J_INT_ON verbindet die Interrupt-Leitungen im 3,3V-Pegel mit der Int1-Leitung des XBUS.

Der Jumper J3_I5 schaltet einen Pullup-Widerstand (R71) zur Interrupt-Leitung auf der 5V-Seite zu.

Der Jumper J3_I3 schaltet einen Pullup-Widerstand (R67) zur Interrupt-Leitung auf der 3,3V-Seite zu.

Der Jumper J3_SDA schaltet einen Pullup-Widerstand für die SDA-Leitung zu.

Nähere Erläuterungen finden sich im Netz:

http://www.rn-wissen.de/index.php/RP6v2_Orientierung

http://www.roboternetz.de/community/threads/59387-RP6%28v2%29-Experimentierplatine-Orientierung

Temperatursensor

Benötigte Teile

Artikel Name Anzahl
TCN75-Temperatursensor, MSOP8-Package U26 1
Kondensator SMD, 1206-Package, 100nF C39 1
2x3-Jumper, RM2,54 J_TCN_ADR 1
2x1-Jumper, RM2,54 J_TCN 1

Beschreibung

Der Temperatursensor TCN75 kommt auch bei dem M128-Modul zum Einsatz. Er sendet seine Daten via I2C. Die Adressleitungen A0 und A2 können am Jumper J_TCN_ADR eingestellt werden. Das Adressbit A1 ist 0. Der Jumper J_TCN schaltet VCC an/aus.

16-facher PWM-Modulator

Benötigte Teile

Artikel Name Anzahl
PCA9685, TSSOP28-Package U7 1
Kondensator SMD, 0805-Package, 10uF C10 1
Widerstand SMD, 0805-Package, 220Ω R48-R55 8
LED low current, 3mm SL1-4 4
Widerstand SMD, 1206-Package, 820Ω R5-R8 4
1x3-Jumper, RM2,54 J_S1 bis J_S8 8
1x8-Jumper, RM2,54 P_PWM 1
2x3-Jumper, RM2,54 JP_PWM_ADR 1

Beschreibung

Der PCA9685 ist ein 16-facher PWM-Modulator via I2C. Seine Adressbits A0 und A1 sind am Jumper JP_PWM_ADR einstellbar, alle anderen Adressbits sind 0.

Acht Pins (PWM0 bis 7) sind für Servos reserviert. PWM8 schaltet die Servospannung an/aus. PWM12 bis PWM15 sind für die Status-LEDs SL1 bis SL4 reserviert. PWM9 bis PWM11 sind frei.

Servos der M32

Benötigte Teile

Artikel Name Anzahl
10-polige Wannenbuchse SV_SERVOSM32 1
1x1-Jumper, RM2,54 P_S_M32_5 1
3x8-Jumper, RM2,54 P_S_M32_1-4 1

Beschreibung

Es ist möglich, mit Hilfe der Servolib (siehe Weblinks unten) acht Servos durch das M32-Modul anzusteuern. Hierfür den 10-poligen Wannenstecker der M32 in SV_SERVOSM32 einstecken.

Spannungsversorgung für Servomotoren

Benötigte Teile

Artikel Name Anzahl
BUZ11 Transistor, TO220-Package Q4 1
Widerstand SMD, 1206-Package, 100kΩ R11 1
Widerstand SMD, 1206-Package, 10kΩ R17 1
Widerstand SMD, 1206-Package, 240Ω R25 1
LED SMD, 1206, grün LED10 1
Kondensator, E3,5-8-Package, 470uF C11 1
1x2-Jumper, RM2,54 J_SERVOS_GND 1
Kondensator SMD, EIA3528- od. 1206-Package, 10uF C50 1
Kühlrippen für ICs - 2
Verwendung eines LT1084CP-5 oder eines LT1084CT-5 als 5V-Regler
Artikel Name Anzahl
LT1084CP-5 im TO247-3-Package oder LT1084CT-5 im TO220-Package IC1 1
Kondensator SMD, EIA3528- od. 1206-Package, 10uF C49 1
Kondensator SMD, EIA3528- od. 1206-Package, 470uF C51 1
Potentiometer, PT-10-Package, 500Ω, liegend oder stehend R26 1
Verwendung eines 78x5 als 5V-Regler
Artikel Name Anzahl
78x5, TO220-Package IC6 1
Kondensator SMD, 1206-Package, 100nF C49, 51 2

Beschreibung

Die Servospannung ist über den BUZ11 (Q4) schaltbar. Wird ein LT1084CP-5 oder ein LT1084CT-5 als 5V-Regler verwendet, müssen größere Kondensatoren eingebaut werden. Zusätzlich wird ein 500Ω-Potentiometer benötigt, über welche die Spannung im Bereich von etwa 5V bis 7,5V eingestellt werden kann.

Bei Verwendung eines einfachen 78x5 Reglers werden weniger Teile benötigt. Die Kondensatoren C49 und C51 können nur 100nF betragen. Außerdem sind Regler der 78x5-Reihe bedeutend billiger.

Nachteile der 78x5er-Reihe sind die bedeutend geringere Leistungsumsetzung und die Servospannung kann hier nicht justiert werden.

Strom-Spannungs-Temperatur-Sensor

Benötigte Teile

Artikel Name Anzahl
LTC2990, MSOP10-Package U10 1
Widerstand SMD, 1206-Package, 10kΩ R2, 3, 9, 12, 14, 22 6
Widerstand SMD, 1206-Package, 15kΩ R32 1
Widerstand SMD, 1206-Package, 22kΩ R13 1
Kondensator SMD, 1206-Package, 100nF C41 1
Shuntwiderstand, 0,05Ω, 5Watt R10 1
2x3-Jumper, RM2,54 J_CURRENT_ADR 1

Beschreibung

Der Sensor U10 überwacht durch den Shunt-Widerstand (R10) den gesamten, von der Platine benötigten Strom, die Batteriespannung und die Versorgungsspannung der Servos. Darüber hinaus misst er seine eigene Temperatur.

Über den Jumper J_CURRENT_ADR sind die Adressbits A0 und A1 einstellbar.

Echtzeit-Uhr

Benötigte Teile

Artikel Name Anzahl
DS1307, SOIC8-Package IC3 1
Kondensator SMD, 1206-Package, 100nF C38 1
Quarz, 32.768 kHz, TC26H-Package Q3 1
Knopfzellenhalter, SN2032 BAT1 1
1x2-Jumper, RM2,54 JP_RTC 1

Beschreibung

Diese Uhr (Real-Time-Clock, RTC) kann durch Jumper JP_RTC von VCC getrennt werden. Dann übernimmt die 3V-Knopfzelle für den Stand-By-Betrieb. Sie kann via I2C ausgelesen und gestellt werden.

Berührungssensor

Benötigte Teile

Artikel Name Anzahl
NE555, SO8-Package IC14 1
Widerstand SMD, 1206-Package, 1MΩ R58, 59 2
BC847, SOT23-Package Q13, 14 2
Kondensator SMD, 1206-Package, 10uF C31 1
1x1-Jumper, RM2,54 J_NE 1

Beschreibung

Bei Berührung einer Antenne schaltet der Timerbaustein (IC14) den Output auf etwa 3V. Dies kann an einem ADC gemessen werden. Der Berührungssensor kann entweder auf PF3 des ADC_M256-Wannensteckers oder auf ADC1 (Pin 1) des ADC_Mxxx-Wannensteckers gemessen werden.

Buzzer

Benötigte Teile

Artikel Name Anzahl
Buzzer BMT1205XH7.5 SG2 1

Beschreibung

Der Buzzer ist derselbe wie bei den Modulen M32 und M128. Er wird durch Pin 5 des IO_Mxxx-Wannensteckers gesteuert.

Spannungsteiler

Benötigte Teile

Beschreibung

An den Pins P_LDR können analoge Sensoren angeschlossen werden, welche einen Spannungsteiler benötigen. Dies könnten z.B. zwei lichtsensitive Widerstände (LDRs) sein. Dafür müssen für R41 und R42 sie nötigen Widerstände eingelötet werden. Diese liegen bei vielen LDRs z.B. bei 68kΩ. Die Sensoren können nur in Verbindung mit dem M256-Modul verwendet werden, da sie an PF0 und PF1 des ADC_M256-Wannensteckers angeschlossen sind.

EEPROM

Benötigte Teile

Artikel Name Anzahl
I2C-EEPROM, DIL8-Package IC5 1
IC-Sockel, DIL8-Package IC5 1
Kondensator SMD, 1206-Package, 100nF C43 1
1x3-Jumper, RM2,54 J_EEP_A0-2 3

Weitere Infos zu EEPROMS siehe http://www.rn-wissen.de/index.php/RP6v2_I2C-Portexpander/ .

Beschreibung

In den IC-Sockel (IC5) können diverse I2C-EEPROMs gesteckt werden. Am Jumper J_EEP_A0-2 können die Adressbits A0, A1 und A2 gewählt werden.

Anschluß der anderen Boards

Taster-Board

Das Taster-Board kann an die linke Vorderseite des Multi-IO-Moduls aufgesteckt oder angelötet werden. Statt dieses Boards können auch andere Tastaturen mit ADC an die dreipolige Stiftleiste P_TAST-EXT angesteckt werden.

Bumper-Board

Das Bumper-Board kann an der 7-poligen Stiftleiste P_BUMP angesteckt werden. Die Bumper-Ausgänge gehen dabei auf Pin 4 (L) und Pin 8 (R) des IO_Mxxx-Wannensteckers. Dafür müssen noch die Jumper bei diesen Pins gesetzt werden.

Die analogen (Sharp-Sensoren) oder digitalen (I2C der SRF02) Sensorleitungen sind dieselben. Um das zu realisieren, müssen zwei Jumper gesetzt werden. Dies geschieht über JP2 und JP1. Hier kann man (siehe Platinenaufdruck) die Leitungen des Bumper-Boards wahlweise auf den I2C legen, oder auf PF3 und PF4 des ADC_M256-Wannensteckers.

SDA des I2C liegt dabei auf einer Leitung mit dem Signal des linken Sharp-Sensors, SCL auf dem des rechten.

Liniensucher-Board

Das Liniensucher-Board kann mit einem 8-poligen Flachbandkabel an das Multi-IO-Modul gesteckt werden. Jedoch ist die Pinreihe am Liniensucher-Board einreihig (1x8), auf dem Multi-IO-Modul zweireihig (2x4). Dabei bitte die Pinbelegung beachten!

Radio-Board

Das Radio-Board hat keinen speziellen Anschluss. Da das Board aber auf 5V läuft und via I2C gesteuert werden kann, kann es mit der Pinreihe P_RADIO überall auf dem Multi-IO-Modul angesteckt werden.

Anschlussmöglichkeiten weiterer Sensoren

DCF77-Funkuhr

Diese kann an die Pinreihe P_DCF angesteckt werden. Zur Sicherheit wird ein Kondensator (100nF, SMD, 1206-Package, C35) empfohlen. Das Signal des DCF77 wird über Pin 1 des IO_Mxxx-Wannensteckers ausgelesen, wenn der Jumper bei Pin 1 geschlossen ist.

GPS-Modul

Artikel Name Anzahl
Kondensator SMD, 1206-Package, 100nF C22 1
Widerstand SMD, 1206-Package, 4,7kΩ R39 1
Widerstand SMD, 1206-Package, 10kΩ R40 1
1x5-Jumper, RM2,54 P_GPS 1
1x2-Jumper, RM2,54 J_GPS_5V 1
1x3-Jumper, RM2,54 P_GPS1, J_GPS_TX 2

Das GPS-Modul Navilock NL-552ETTL kann an P_GPS angeschlossen werden und wird via UART ausgelesen. Dafür müssen die Pegel für Rx des GPS-Moduls jedoch angepasst werden, da das GPS auf 3,3V-Pegel liegt. Ein 5V-Pegel könnte das GPS-Modul beschädigen. Die ausgehenden Daten (Tx) des GPS-Moduls müssen dagegen nicht unbedingt angepasst werden, da UART auch 3,3V-Pegel akzeptiert.

Der Jumper J_GPS_5V schaltet das GPS an.

Der Jumper J_GPS_TX wählt den Tx-Pin des Master-Moduls (Basis, M32, M128, M256) aus: bei manchen ist dies der Pin 6 (Jumper muss links stecken), bei manchen der Pin 8 (Jumper muss rechts stecken).

An P_GPS1 kann ein weiterer Mikrocontroller über UART direkt an Rx (mit Pegelwandler) und Tx des GPS-Moduls angeschlossen werden.

3D-Kompass

Dieses Modul kommuniziert über I2C und kann daher auf allen 5V-, GND- und I2C-Pins des Multi-IO-Modul angesteckt werden. ( http://www.pollin.de/shop/dt/NTM4OTgxOTk-/Bausaetze_Module/Module/Kompassmodul_HDMM01.html )

9D-Kompass

Für den 9D-Kompass ( http://www.pololu.com/catalog/product/1268 ) ist am unteren rechten Rand eine Pinreihe P_KOMPASS angebracht, an welcher das Kompassmodul direkt auf- oder angesteckt werden kann. Es wird ein Kondensator (SMD, 1206-Package, 100nF, C33) empfohlen.

Luftfeuchtigkeits-Temperatur-Sensor

Dieser Sensor ( http://www.conrad.biz/ce/de/product/505671/Digitaler-Feuchte-Temperatur-Sensor-HYTIST-AG-HYT-221-18-0-100-rF-03-C-40-125-C/0231310&ref=list ) misst die Luftfeuchtigkeit und die Temperatur. Er kann über I2C ausgelesen werden und an der Pinreihe P_FEUCHTE an- oder aufgesteckt werden.

Es wird ein Kondensator (SMD, 1206-Package, 100nF, C21) empfohlen.

Luftdrucksensor

Dieser Sensor ( http://www.watterott.com/de/Breakout-Board-mit-dem-BMP085-absoluten-Drucksensor ) kann an der Pinreihe P_LUFTDRUCK an- oder aufgesteckt werden. Da er 3,3V Versorgungsspannung und 3,3V-I2C benötigt, liegen diese hier an.

Es wird ein Kondensator (SMD, 1206-Package, 100nF, C34) empfohlen.

SRF02-Abstandssensoren

Bis zu vier SRF02 können an die Pinreihen P_SRF1 und P_SRF2 angeschlossen werden. Pinbelegung siehe Platinenaufdruck.

Es wird ein Kondensator (SMD, 1206-Package, 100nF, C5) empfohlen.

Snake-Vision-Modul

Artikel Name Anzahl
2x3-Jumper, RM2,54 P_SNAKE 1

Das Snake-Vision-Modul kann an die Pinreihe P_SNAKE angeschlossen werden (auf Pinbelegung achten). Die Sensoren (rechts, links) sowie Taster und GND sind einfach an P_SNAKE anzuschließen.

Für die Versorgungsspannung gibt es drei Möglichkeiten:

Überbrückung des Spannungsreglers und der Dioden des Snake-Vision-Moduls und Anschluss von VCC des Snake-Vision-Moduls an VCC des Multi-IO-Moduls. Der Umbau wird im RP6-Forum beschrieben, siehe Weblinks unten.

Die zweite Möglichkeit entspricht der Ersten, mit der Ausnahme, dass VCC des Snake-Vision-Moduls an IO des Multi-IO-Moduls angeschlossen wird. Dadurch kann das Snake-Vision-Modul über einen High-Side-Switch (Q2 und R16) an Pin 4 des IO_Mxxx-Wannensteckers an- und abgeschaltet werden.

Die dafür benötigten Teile sind:

Artikel Name Anzahl
Evtl. Transistor SMD, 1206-Package, BC807 Q2 1
Evtl. Widerstand SMD, 1206-Package, 1kΩ R16 1


Die letzte Möglichkeit benötigt keinen Umbau des Snake-Vision-Moduls, da an seinen Eingang OC2 eine Ladungspumpe angeschlossen wird. Schließe dafür VCC des Snake-Vision-Moduls an VCC des Multi-IO-Moduls und OC2 an IO. Des Weiteren wird ein Jumper J_OC2 benötigt, welcher den nur hier notwendigen Widerstand R33 als Pulldown hinzuschaltet. Der Jumper J_OC2 sollte also geschlossen sein.

Artikel Name Anzahl
Evtl. Widerstand SMD, 1206-Package, 2,2..4,7kΩ R33 1
Evtl. 1x2-Jumper, RM2,54 J_OC2 1

Weitere Pinreihen

  • Am vorderen linken Rand kann man bis zu 10 Pins anbringen. Belegung siehe Abb.

BILD!!!!!!!!!!!!!!!!!!!!

  • Hinter dem 78x5-5V-Regler (U1) kann man auf 3x6 Pins VCC (die linken sechs Pins), GND (die mittleren sechs Pins) und die Batteriespannung (die rechten sechs Pins) abgreifen.
  • Am Jumper P_5V-I2C kann man 5V, GND, Int1 (5V-Pegel) und die I2C-Leitungen (5V-Pegel) abgreifen.
  • Am Jumper P_3V3-I2C kann man 3,3V, GND, Int1 (3,3V-Pegel) und die I2C-Leitungen (3,3V-Pegel) abgreifen.
  • Vor dem 10-poligen Wannenstecker SV_IO_MXXX befindet sich eine zweireihige Stiftleiste JP_IO1,2. An JP_IO 1 liegen alle auf der Platine verwendeten Signale für den Wannenstecker SV_IO_MXXX an. An JP_IO2 sind die Pins des Wannensteckers SV_IO_MXXX direkt herausgeführt. Dadurch können diese Pins auch auf andere Weise verwendet werden.

Wünscht man eine Verwendung, wie in dieser Anleitung empfohlen, müssen nur alle 9 Jumper gesetzt werden. Da Pin 2 jedoch nur von der M32 angesprochen werden kann (auf anderen Modulen ist dieser Pin auf GND) und Pin 9 nur von M32 oder der M128, liegt an beiden der Transistor zum Schalten des CNY-70-Boards. Damit kann dieses Board sowohl von der M32 (Pin 2 oder Pin 9) als auch von der M256 (Pin 9) aus geschaltet werden. Lediglich die M128 kann diesen Transistor nicht schalten.

Anmerkung: Natürlich steht es jedem frei, andere Pins des Wannensteckers mit der IO-Leitung des CNY70-Boards zu verschalten.

  • Ähnlich wie im gerade genannten Fall ist es auch beim 10-poligen Wannenstecker SV_ADC_MXXX. Jedoch sind hier manche Pins (1, 3, 5 und 6) direkt auf einen Wähl-Jumper JP1,2,4 gelegt, wo sie mit Jumpern weiter auf Signale gelegt werden können. Nur Pin 6 ist nicht weitergeführt und steht zur eigenen Verfügung, ist jedoch nur bei dem M128-Modul als ADC verwendbar, auf allen anderen Modulen liegt hier GND an.
  • Vor dem 14-poligen Wannenstecker SV_ADC_M256 liegt eine weitere solche doppreihige Stiftleiste: JP_ADIO. Dieser verbindet wieder durch setzen der Jumper die Signale der Platine mit den Pins des Wannensteckers.
  • Der Jumper J_WAHL, eine 2x6-Stiftleiste, kann dazu verwendet werden, einige Signale auf verschiedene Arten weiterzuleiten:
Eigehendes Signal 1. Möglichkeit 2. Möglichkeit
Sharp links bzw. I2C der SRF02 PF4 des ADC_M256 (für Sharp-Verwendung) SCL des I2C (für SRF02-Verwendung)
Sharp rechts bzw. I2C der SRF02 PF3 des ADC_M256 (für Sharp-Verwendung) SDA des I2C (für SRF02-Verwendung)
Messung der 3,3V-Spannung PF4 des ADC_M256 Pin 3 des ADC_Mxxx
NE555-Berührungssensor PF3 des ADC_M256 Pin 1 des ADC_Mxxx
CNY70-L (linker der drei Sensoren) Pin 1 des ADC_Mxxx -
CNY70-M (mittlerer der drei Sensoren) Pin 3 des ADC_Mxxx -

Teileliste

Nicht alle der in diesen Listen aufgeführten Teile werden für den Bau benötigt. Bitte dafür die Anleitung genau lesen. Man muss nicht die gesamte Platine aufbauen, man kann auch nur einen Teil der Schaltung realisieren. Für das Löten lese bitte eine Lötanleitung und übe das Löten vorher. Ansonsten können Teile durch den zu langen Kontakt mit dem Lötkolben überhitzen oder es kann zu Kurzschlüssen auf der Platine kommen. Die angegebenen Bestellnummern sind nur ein Vorschlag, wo die Teile gekauft werden.

Die Teileliste samt Bestellnummern der Shops und Preisen wird als MS Excel-Sheet veröffentlicht.

Kondensatoren

Spulen

Widerstände

ICs

LEDs

Dioden

Pins, Jumper, Stiftleisten

Sonstiges

Siehe auch


Weblinks

Servo-Lib für M32 von Dirk: http://www.roboternetz.de/community/threads/40090-RP6Control-M32-Library-f%C3%BCr-8-Servos?highlight=servo+lib

Orientierungs-Mitmach-Projekt von Dirk: http://www.rn-wissen.de/index.php/RP6v2_Orientierung

http://www.roboternetz.de/community/threads/59387-RP6%28v2%29-Experimentierplatine-Orientierung

Umbau des Snake Vision für RP6: http://www.roboternetz.de/community/threads/47843-Projekt-RP6-mit-Snake-Vision

Für das EEPROM siehe http://www.rn-wissen.de/index.php/RP6v2_I2C-Portexpander/

Autoren

--fabqu 21:30, 17. Feb 2013 (CET)

--Dirk 08:48, 19. Feb 2013 (CET)


LiFePO4 Speicher Test