Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

Der RP6v2

Was bisher geschah:

Mon, 27. Feb 2012 - Ankündigung des RP6v2
Don, 08. Mär 2012 - Auslieferungsbeginn des RP6v2
Sam, 17. Mär 2012 - Ankündigung der RP6v2 M256 WiFi
Mon, 11. Jun 2012 - Beginn der "Testaktion: Kostenlose RP6v2-M256-WIFI Module!"
Die, 10. Jul 2012 - Ende der "Testaktion: Kostenlose RP6v2-M256-WIFI Module!" nach Abstimmung
Mit, 11. Jul 2012 - Veröffentlichung der RP6v2 M256 WiFi Bedienungsanleitung
Die, 17. Jul 2012 - Eintreffen der kostenlosen RP6v2 M256 WiFi bei den Testern
Mit, 25. Jul 2012 - Auslieferungsbeginn der RP6v2 M256 WiFi


Allgemein

Der RP6v2 (191584) wurde am 27.02.2012 von SlyD angekündigt (siehe Weblinks!). Er ist eine leicht verbesserte Version des RP6. Der RP6v2 ist softwarekompatibel zum RP6. Alle Erweiterungs-Module können auch mit dem RP6v2 eingesetzt werden.

Dieser Artikel beschreibt die Grundlagen zum RP6v2, sofern sie vom RP6 abweichen, und die Grundlagen und Programmierung seiner zukünftigen Erweiterungs-Module.


Eigenschaften

Laut Ankündigung haben sich beim RP6v2 folgende Details gegenüber dem RP6 geändert:

  • Neue Drehgeber
    • Justierung dank neuer Sensortechnik üblicherweise nicht mehr erforderlich
    • leicht zugängliches und deutlich größeres Potentiometer
    • Potis nur noch zur Feinjustierung erforderlich
  • Zusätzliche Steckverbinder (im RP6 schon seit 2010 verbaut)
    • vom Mainboard zu den Drehgebern
    • vom Mainboard zu den Motoren
  • Neue Anschlüsse (Steckverbinder / Stiftleisten)
    • 2 3-polige ADC Anschlüsse mit VDD/GND inkl. zusätzlichem Stützkondensator
    • 2 4-polige VDD Anschlüsse (je 2x +5V und 2x GND)
    • 1 3-poliger +UB Anschluß (1x +UB, 2x GND)
    • 1 5-polige Stiftleiste für den I2C Bus und VDD/GND
    • 1 8-poliger EXT Steckverbinder (JST-Wannenstecker)
    • 2 4-polige Steckverbinder (LIO1/LIO2) für die I/O-Pins von 4 LEDs und VDD/GND
  • Hauptsicherung
    • von 2,5A auf 3,15A erhöht
  • Motortreiber
    • leistungsfähigere und robustere MOSFETs
  • Experimentierplatine
    • gehört nicht mehr zum Lieferumfang


Technische Änderungen

Der RP6v2 weist einige Detail-Änderungen gegenüber der Vorversion auf. Diese Änderungen sind für die Nutzung und Programmierung des RP6v2 weitgehend irrelevant.

Fast alle passiven SMD-Bauteile sind jetzt in Bauform 0603 bestückt (Ausnahmen: R6 (SP2 C2: R6), Induktivitäten und größere Kondensatoren). Im Text gibt es Verweise auf den Schaltplan des RP6v2 (RP6v2_MAINBOARD.pdf) in der Form: (SP2 B1: Bauteil). Dies bedeutet, dass man das Bauteil auf Blatt 2 des RP6v2-Schaltplans im Feld B1 finden kann.

Mainboard

  • C14 (SP2 A3: C14) -> Liegt jetzt an VDD (parallel u.a. zu C6..C10)
  • C26 (SP2 A1: C26) -> Jetzt bestückt mit Elko 220uF/16V (laut SP: 470uF/16V!)
  • C29 (SP2 E1: C29) -> Jetzt bestückt mit SMD Kondensator 10uF
  • IO3/IO4 Bestückungsaufdruck geändert in IO4/IO5 (Stecker LIO2)
  • UBAT Bestückungsaufdruck geändert in UBAT_SENSE
  • F2.5A Bestückungsaufdruck geändert in F3.0A (Feinsicherung flink 3,0A)
  • Trennstelle +UB Sensor (siehe Abschnitt 6.4.6 RP6#.2BUB_Sensor des RP6-Artikels!) existiert beim RP6v2 nicht mehr
  • Als Motortreiber (SP3 BCD23: Q1..Q4) werden anstelle von IRF7309 (ID 3,0A; PD 1,4W) die leistungsfähigeren und ESD-geschützten Typen SP8M3 (ID 4,5A; PD 2W; Schutzdiode) verwendet

Encoderplatine

Schaltung siehe Datei RP6v2_ENCODERS.pdf!

  • Jetzt mit Operationsverstärker IC2 (MCP6001U) anstelle eines Transistors
  • Größeres Potentiometer R2 (200kOhm)

Die Encoder sind mittlerweile auch einzeln unter der Conrad-Bestellnummer 191625-62 verfügbar.

USB-Interface

Schaltung siehe Datei RP6v2_USB_INTERFACE.pdf!

  • C2 -> Jetzt bestückt mit SMD Kondensator 10uF
  • C5 -> Neuer Blockkondensator 100nF an VCCIO von IC1

Steckverbindungen und Stiftleisten

Motoren

RP6v2 Motorstecker.JPG

Beim RP6v2 sind die beiden Motorkabel mit 2-poligen Winkelsteckern RM 7,5mm an das Mainboard angeschlossen.











Encoder

RP6v2 Encoderstecker.JPG

Beim RP6v2 sind die Encoder mit einem 6-poligen Winkelstecker RM 2,54mm an das Mainboard angeschlossen.

Auch die 3-polige Verbindung zu den beiden Encoder-Platinen ist steckbar.
















LIO1/LIO2

RP6v2 LIO12.JPG

Beim RP6 waren die Anschlüsse der Status-LEDs SL1,2 und SL4,5 (RP6#IO1..IO4) einzeln auf dem Mainboard zu kontaktieren.

Beim RP6v2 gibt es zwei 4-polige Stiftleisten (LIO1, LIO2). Sie führen an den Pins 1 und 2 +5V und GND.

An den Pins 3 und 4 finden sich die Anschlüsse von IO2, IO1 (LIO1) bzw. IO4, IO5 (LIO2).

Bitte beachten: Der Bestückungsaufdruck IO4, IO5 des RP6v2 bezeichnet die selben Anschlüsse, wie beim RP6 IO3, IO4!

Es handelt sich in beiden Fällen um die Anschlüsse der Status-LEDs SL4 (PB7) und SL5 (PB1).


ADC0/ADC1

RP6v2 ADC01.JPG

Beim RP6 waren die 3-poligen Anschlüsse von ADC0 und ADC1 (RP6#Analoge_Sensoren_an_ADC0.2F1) nicht mit Stiftleisten bestückt.

Dies ist jetzt beim RP6v2 der Fall,- zusätzlich ist auch C26 (SP2 A1: C26) bestückt.

Damit können analoge Sensoren direkt angeschlossen werden.










I2C/+UB/+5V

RP6v2 I2CUB5V.JPG

Die beim RP6 vorhandene 5-polige I2C-Schnittstelle (RP6#I2C-Schnittstelle) findet sich (jetzt mit Stiftleiste bestückt) genau so auch beim RP6v2.

Bitte beachten: Die Anordnung der Pins auf dem Mainboard ist beim RP6v2 umgekehrt wie beim RP6!


Beim RP6 gab es (nicht mit Stiftleisten bestückte) Anschlüsse für VDD und +UB (RP6#VDD.2FGND.2F.2BUB_Anschlu.C3.9F).

Beim RP6v2 gibt es jetzt drei Stiftleisten für +UB, +5V (VDD) und GND:

  • Eine 3-polige Stiftleiste mit GND, +UB, GND
  • Zwei 4-polige Stiftleisten jeweils mit GND, +5V, +5V, GND






EXT

RP6v2 EXT.JPG

Beim RP6 war keine Stiftleiste für den 8-poligen EXT Anschluß bestückt.

Beim RP6v2 ist jetzt an dieser Stelle ein Wannenstecker vorhanden, in den auch Steckbuchsen (RM 2,54) gesteckt werden können.



Beschreibung des EXT Anschlusses: RP6#EXT_Anschlu.C3.9F


Erweiterungs-Module

RP6v2 M256 WiFi Platine

Die RP6v2 M256 WiFi

Die RP6v2 M256 WiFi Zusatzplatine wurde am 17.03.2012 von SlyD angekündigt (siehe Weblink!).

Beschreibung

Laut Ankündigung bietet die RP6v2 M256 WiFi:

  • Atmel ATmega2560 Mikrocontroller
    • 256kB Flash ROM
    • 8kB SRAM
    • 4kB EEPROM
    • 16MHz Taktfrequenz
    • 6 Hardware Timer und 86 I/O Ports
    • Bis zu 16 A/D Wandler Kanäle (10 Bit Auflösung)
    • 12 16 Bit Hardware PWMs
    • 2 USART/SPI Ports
  • Energieeffizientes 802.11g WLAN Modul
    • Typ: Roving Networks RN-171
    • Telemetriedaten übertragen
    • Roboter vom PC aus fernsteuern
    • Neue Programme drahtlos per WLAN in den Mikrocontroller laden
    • Bootloader nachträglich erweitern
    • Einstellung des WLAN Moduls über das RP6 USB Interface mit dem RobotLoader 2.x
    • Änderung der Einstellungen über eine Netzwerkverbindung oder mit dem eigenen Mikrocontrollerprogramm
    • Eigener Prozessor (entlastet den ATmega)
    • Funktioniert mit jedem Standard WLAN Accesspoint/Router
    • Kann als transparente serielle Schnittstelle arbeiten
    • Kann vom PC aus per TCP/IP angesprochen werden
    • 10cm 2.4GHz Antenne mit RP-SMA Anschluß
  • Sonstige Ausstattung
    • 8 Bit Display Port
    • I2C Bus
    • microSD Kartenslot
    • 7 Status LEDs
    • 2 Eingabetaster
    • ISP Anschluß
    • 4 WLAN ADC Kanäle
    • AREF 3,3 und 5V

Technische Daten

Mikrocontroller: AVR ATmega2560
Speicher: 256 kB Flash-Speicher

8 kB SRAM
4 kB EEPROM
? GB microSD Speicherkarte

Programmierung: Über Bootloader, belegt ca. 8 kB des Flash-Speichers

Drahtlos über WLAN

Vorhandene Sensoren: 2 Eingabetaster

4 WLAN ADC Kanäle
60 GP I/O Ports, davon bis 16 AD-Wandler (10-bit)

Vorhandene Aktoren: 7 Status LEDs

1 LC-Display-Port
802.11g WLAN Modul

Abmessungen: (L × B × H) 112 × 90 × 42 mm (ohne Antenne)
Ausführung: Fertig aufgebautes Erweiterungsmodul
Stromversorgung: 6 AA NiMH Akkus (über die RP6v2 Base)
Hersteller: Arexx Niederlande

Umbau-Optionen

Zubehör und Ersatzteile

Über die Zubehör- und Ersatzteile informiert der Artikel RP6#Zubehör und Ersatzteile.

Darüber hinaus sind bei CONRAD für den RP6v2 erhältlich:

  • Arexx RP6v2 Drehgeber-Satz RP6-ENCv2 191625
  • Arexx RP6 USB-Interface RP6V2-TRANS 191638

RP6v2 Drehgeber-Satz RP6-ENCv2

RP6 USB-Interface RP6V2-TRANS

Programmierung

RobotLoader

Loader Versionen

Hier eine Tabelle der (mir) bekannten RobotLoader Versionen für die RP6v2 Base, CONTROL M32 und ab Version 2.0 auch für die M256 WiFi:

ZIP-Datum Version Bemerkungen Examples
12.07.2010 1.5h Auch für die RP6 Base, für Roboterarme und Caterpillar ab 16.10.2007
23.02.2012 2.0 BETA Testversion! Ab v2.0 auch für die RP6v2 M256 WiFi Platine
05.06.2012 2.3a Testversion! Siehe auch hier!
18.06.2012 2.3b Testversion! Siehe auch hier!
17.07.2012 2.3c Über Kommandozeile nutzbar, siehe auch hier! ab 16.07.2012

Hinweis: Ältere Versionen des RP6Loaders bis Version 1.4 findet ihr hier: RP6_-_Programmierung#RP6Loader

Projekte

RP6v2

Der RP6v2 (191584) ist softwarekompatibel zum RP6.

Zur Programmierung des RP6 und des RP6v2 gibt es einen eigenen Artikel: RP6 - Programmierung

RP6v2 M256 WiFi Platine

Demo-Programmme

Die RP6v2 M256 WiFi Demo Programme sind hier zu finden.

Library

Die Library für die RP6v2 M256 WiFi besteht aus folgenden 21 Dateien:

Library Datei Funktion
RP6M256 RP6M256.h RP6M256 Hardware-Konfiguration
RP6M256 RP6M256Lib.h RP6M256 Library Header
RP6M256 RP6M256Lib.c RP6M256 Library
RP6M256uart RP6M256uart.h RS232 Funktionen Header
RP6M256uart RP6M256uart.c RS232 Funktionen
RP6M256_I2CMaster RP6M256_I2CMasterLib.h I2C Master Library Header
RP6M256_I2CMaster RP6M256_I2CMasterLib.c I2C Master Library
RP6M256_WIFI RP6M256_WIFIlib.h WIFI Library Header
RP6M256_WIFI RP6M256_WIFIlib.c WIFI Library
SDC byteordering.h Byte-order handling header
SDC byteordering.c Byte-order handling implementation
SDC fat_config.h FAT configuration
SDC fat.h FAT header
SDC fat.c FAT implementation
SDC partition_config.h Partition configuration
SDC partition.h Partition table header
SDC partition.c Partition table implementation
SDC sd-reader_config.h Common sd-reader configuration (all modules)
SDC sd_raw_config.h MMC/SD support configuration
SDC sd_raw.h MMC/SD/SDHC raw access header
SDC sd_raw.c MMC/SD/SDHC raw access implementation
Versionen

Hier eine Tabelle der (mir) bekannten Library Versionen der RP6v2 M256 WiFi:

ZIP-Datum VERSION_ RP6M256Library RP6LIB_VERSION RP6M256.h RP6M256Lib WifiLib UartLib I2CMasterLib SDCLib
24.02.2012 1.7 1.0_24.02.12 16 1.0_24.02.12 1.0_24.02.12 1.0_24.02.12 1.0_24.02.12 (1.0_24.02.12) ?
16.07.2012 1.7 * 1.1_16.07.12 16 1.1_16.07.12 1.1_16.07.12 1.1_16.07.12 1.1_16.07.12 (1.0_24.02.12) (2006-2011)

Zu *: Ab der Version 1.7 sind auch die Libraries und Examples der RP6v2 Base und CONTROL M32 enthalten! Siehe RP6_-_Programmierung#Versionen!

In der 1. Spalte findet ihr das Datum der RP6Examples.zip Datei, in der die Library enthalten ist. Die 2. Spalte nennt die Version, die im Dateinamen der VERSION_x.x.txt Datei als x.x vorkommt. In der 3. Spalte steht die Versionsangabe der RP6M256Library laut Angabe in der VERSION_x.x.txt Datei.

In der 4. Spalte gebe ich den Wert der Konstante RP6LIB_VERSION an. Es gibt sie ab den RP6v2 Base und CONTROL M32 Examples vom 16.10.2007. In den Spalten 5 bis 10 führe ich nacheinander die Versionsnummern und ggf. das in der Datei genannte Datum der Header-Datei/Library an: RP6M256.h, RP6M256Lib, WifiLib, UartLib, I2CMasterLib, SDCLib.

RP6M256
Bug-Report
Konfiguration
Port-Verwendung

Die Verwendung der Ports des RP6v2 M256 WiFi Microcontrollers wird festgelegt in der Header-Datei "RP6M256.h". In dieser Datei wird auch noch Folgendes aufgeführt:

  • Quarzfrequenz (F_CPU)
  • True/false Definition
  • Verschiedene Macros
  • Baudraten und Baudraten-Tabelle

Hier eine Tabelle mit den Port-Definitionen für die RP6v2 M256 WiFi:

Erklärung der Spalten:
Port        -> Atmel Portpin Bezeichnung
Name        -> Atmel Funktionsbezeichnung
In/Out      -> Eingang (In) oder Ausgang (Out)
Pullup      -> Falls Eingang: Pullup ein- (1) oder ausgeschaltet (0)
Wert        -> Falls Ausgang: Logikpegel high (1) oder low (0)
Funktion    -> Schnittstellenfunktion
Bezeichnung -> Portpin Bezeichnung der Library
Stecker     -> Portpin verfügbar an STECKER: Pin
Anmerkungen -> Kommentare (ADC_xx: ADC-Kanal Bezeichnung)
Port Name In/Out Pullup Wert Funktion Bezeichnung Stecker Anmerkungen
PA0 AD0 Out 0 DISP_D0 DISPIO: 7
PA1 AD1 Out 0 DISP_D1 DISPIO: 8
PA2 AD2 Out 0 DISP_D2 DISPIO: 9
PA3 AD3 Out 0 DISP_D3 DISPIO: 10
PA4 AD4 Out 0 DISP_D4 DISPIO: 11
PA5 AD5 Out 0 DISP_D5 DISPIO: 12
PA6 AD6 Out 0 DISP_D6 DISPIO: 13
PA7 AD7 Out 0 DISP_D7 DISPIO: 14
PB0 SS/PCI0 In 1 SPI_SS OUT SDCARD / ISP
PB1 SCK/PCI1 In 1 ISP SPI_SCK OUT SDCARD / ISP
PB2 MOSI/PCI2 In 1 ISP SPI_MOSI OUT SDCARD / ISP
PB3 MISO/PCI3 In 0 ISP SPI_MISO IN SDCARD / ISP
PB4 OC2A/PCI4 In 1 OC2A_P14 PWM23: 5
PB5 OC1A/PCI5 In 1 OC1A_P15 PWM01: 7
PB6 OC1B/PCI6 In 1 OC1B_P16 PWM01: 9
PB7 OC0A/OC1C/PCI7 In 1 OC0A_OCM_P17 PWM01: 4
PC0 A8 In 1 IO_PC0 PC01: 2 I2C
PC1 A9 In 1 IO_PC1 PC01: 1 I2C
PC2 A10 Out 0 SLED1
PC3 A11 Out 0 SLED2
PC4 A12 Out 0 SLED3
PC5 A13 Out 0 SLED4
PC6 A14 Out 0 WLAN_GPIO14_OUT
PC7 A15 In 1 WLAN_GPIO8_IN
PD0 SCL/INT0 In 1 I2C-Bus SCL
PD1 SDA/INT1 In 1 I2C-Bus SDA
PD2 RXD1/INT2 In 1 RS232 RXD1 USPI15: 8
PD3 TXD1/INT3 In 1 RS232 TXD1 USPI15: 6
PD4 ICP1 In 1 IO_PD4_ICP1 PWM01: 1
PD5 XCK1 In 1 IO_PD5_XCK1 USPI15: 4
PD6 T1 In 1 IO_PD6_T1 PWM01: 3
PD7 T0 In 1 IO_PD7_T2 PWM01: 6
PE0 RXD0/PCI8 In 1 RS232 RXD0 USART RX
PE1 TXD0 Out 0 RS232 TXD0 USART TX
PE2 XCK0/AIN0 In 1 IO_PE2_XCK0_AIN0 ADCIO2: 8
PE3 OC3A/AIN1 In 1 IO_PE3_OC3A_AIN1 ADCIO2: 4
PE4 OC3B/INT4 In 1 IO_PE4_OC3B_I4 PWM23: 9
PE5 OC3C/INT5 In 1 IO_PE5_OC3C_I5 PWM23: 4
PE6 T3/INT6 In 1 IO_PE6_T3_I6 PWM23: 3
PE7 CLKO/ICP3/INT7 In 1 IO_PE7_ICP3_I7 PWM23: 1
PF0 ADC0 In 1 IO_ADC0 ADCIO1: 3 ADC_0
PF1 ADC1 In 1 IO_ADC1 ADCIO1: 1 ADC_1
PF2 ADC2 In 1 IO_ADC2 ADCIO1: 5 ADC_2
PF3 ADC3 In 1 IO_ADC3 ADCIO1: 7 ADC_3
PF4 ADC4/TCK In 1 JTAG IO_ADC4 ADCIO1: 9 ADC_4
PF5 ADC5/TMS In 1 JTAG IO_ADC5 ADCIO1: 11 ADC_5
PF6 ADC6/TDO In 1 JTAG IO_ADC6 ADCIO1: 12 ADC_6
PF7 ADC7/TDI In 1 JTAG IO_ADC7 ADCIO1: 13 ADC_7
PG0 WR Out 0 DISP_WR DISPIO: 5
PG1 RD Out 0 DISP_EN_RD DISPIO: 6
PG2 ALE Out 0 DISP_RS_ALE DISPIO: 4
PG3 TOSC2 In 1 BUTTON_SW2
PG4 TOSC1 In 1 BUTTON_SW1
PG5 OC0B In 1 IO_OC0B PWM01: 5
PH0 RXD2 In 1 RS232 RXD2 USPI24: 8
PH1 TXD2 In 1 RS232 TXD2 USPI24: 6
PH2 XCK2 In 1 IO_PH2_XCK2 USPI24: 4
PH3 OC4A In 1 IO_PH3_OC4A USPI24: 9
PH4 OC4B In 1 IO_PH4_OC4B USPI24: 7
PH5 OC4C In 1 IO_PH5_OC4C USPI24: 5
PH6 OC2B In 1 IO_PH6_OC2B PWM23: 7
PH7 T4 In 1 IO_PH7_T4 USPI24: 3
PJ0 RXD3/PCI9 In 1 RS232 WLAN_RXD3 WLAN USART RX
PJ1 TXD3/PCI10 Out 0 RS232 WLAN_TXD3 WLAN USART TX
PJ2 XCK3/PCI11 Out 1 WLAN_RTS Output RTS
PJ3 PCI12 In 1 INT1_PI12
PJ4 PCI13 In 1 INTU_PI13
PJ5 PCI14 In 1 INT3_PI14
PJ6 PCI15 In 1 INT2_PI15
PJ7 In 1 WLAN_CTS INPUT CTS
PK0 ADC8/PCI16 In 1 IO_ADC8_PI16 ADCIO2: 1 ADC_8
PK1 ADC9/PCI17 In 1 IO_ADC9_PI17 ADCIO2: 3 ADC_9
PK2 ADC10/PCI18 In 1 IO_ADC10_PI18 ADCIO2: 5 ADC_10
PK3 ADC11/PCI19 In 1 IO_ADC11_PI19 ADCIO2: 7 ADC_11
PK4 ADC12/PCI20 In 1 IO_ADC12_PI20 ADCIO2: 9 ADC_12
PK5 ADC13/PCI21 In 1 IO_ADC13_PI21 PWM01: 8 ADC_13
PK6 ADC14/PCI22 In 1 IO_ADC14_PI22 PWM23: 8 ADC_14
PK7 ADC15/PCI23 In 1 IO_ADC15_PI23 PWM23: 6 ADC_15
PL0 ICP4 In 1 IO_PL0_ICP4 USPI24: 1
PL1 ICP5 In 1 IO_PL1_ICP5 USPI15: 1
PL2 T5 In 1 IO_PL2_T5 USPI15: 3
PL3 OC5A In 1 IO_PL3_OC5A USPI15: 5
PL4 OC5B In 1 IO_PL4_OC5B USPI15: 9
PL5 OC5C In 1 IO_PL5_OC5C USPI15: 7
PL6 Out 0 WLAN_WAKE Output
PL7 Out 0 WLAN_RESET Output
Zeichen:
*   Standard-Belegung! Über Jumper/Lötbrücke änderbar.
²   I2C-Master: Out, Slave: In

Abkürzungen der IO-Stecker (Spalte Stecker):
PWM01    IO_PWM/T0/T1
PWM23    IO_PWM/T2/T3
USPI15   UART_SPI1/T5
USPI24   UART_SPI2/T4
ADCIO1   ADC_IO1
ADCIO2   ADC_IO2/CMP
DISPIO   DISPLAY/IO
PC01     PC0/1
Timer-Nutzung
RP6M256uart
RP6M256_I2CMaster
RP6M256_WIFI
SDC

Projekte


Erfahrungsberichte

...in Arbeit...(kann aber gerne ergänzt werden)


Siehe auch


Weblinks


Autoren

--Dirk 19:04, 25. Jul 2012 (CET)


LiFePO4 Speicher Test