Dirk (Diskussion | Beiträge) K |
Dirk (Diskussion | Beiträge) K |
||
Zeile 1: | Zeile 1: | ||
+ | =Programmierung= | ||
+ | |||
+ | ==RobotLoader== | ||
+ | Der RobotLoader ist die Weiterentwicklung des [[RP6_-_Programmierung#RP6Loader|RP6Loaders]]. | ||
+ | |||
+ | ===Loader Versionen=== | ||
+ | Hier eine Tabelle der (mir) bekannten RobotLoader Versionen für den Wild Thumper Controller: | ||
+ | {| {{Blauetabelle}} | ||
+ | |ZIP-Datum | ||
+ | |Version | ||
+ | |Bemerkungen | ||
+ | |Examples | ||
+ | |- | ||
+ | |16.06.2011 | ||
+ | |1.6b | ||
+ | |Version auf der AREXX Wild Thumper CD-ROM! | ||
+ | |ab Juli 2011 | ||
+ | |- | ||
+ | |} | ||
+ | '''Hinweise:''' Neuere Versionen des RobotLoaders ab Version 2.0 findet ihr [[RP6v2#RobotLoader|hier]]. | ||
+ | |||
+ | ===Projekte=== | ||
+ | Siehe [[RP6_-_Programmierung#Projekte|hier]]! | ||
+ | |||
+ | ==Dokumentation== | ||
+ | [[Bild:WTR_Dimensions_01.jpg|Wild Thumper Maße 1|thumb]] | ||
+ | [[Bild:WTR_Dimensions_02.jpg|Wild Thumper Maße 2|thumb]] | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | ===Manuals=== | ||
+ | Die "Anleitung" zum WTR gibt es [http://www.produktinfo.conrad.com/datenblaetter/175000-199999/191428-an-01-ml-ALLRAD_GELAEND_ROBOTERPLATTF_de_en_fr_nl.pdf hier]. | ||
+ | |||
+ | Die Anleitung zum WTR-CK1 könnt ihr [http://www.produktinfo.conrad.com/datenblaetter/175000-199999/191607-an-01-de-STEUERPLATINE_FUER_ROBOTERPLATTFORM.pdf hier] herunterladen. | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | ===Schematics=== | ||
+ | Einen Schaltplan zum WTR gibt es nicht. Die Stromkabel der rechten und linken Motoren sind bei Auslieferung jeweils an einer Lüsterklemmen-Leiste parallel geschaltet, siehe die Abb. "Lüsterklemmen-Leiste" in [[Wild_Thumper#Aufbau|diesem Abschnitt]]!. Am Ende dieses Abschnitts zeigt die Abb. "Encoderstecker" die Belegung der Encoderstecker. Die Schaltung der Encoder-Motoren des WTR könnt ihr [http://www.communica.co.za/Content/Catalog/Documents/D2749631912.pdf hier] herunterladen. | ||
+ | |||
+ | Die Schaltpläne zum WTR-CK1 sind in der [http://www.produktinfo.conrad.com/datenblaetter/175000-199999/191607-an-01-de-STEUERPLATINE_FUER_ROBOTERPLATTFORM.pdf Anleitung] von Seite 63 bis 67 einzusehen. | ||
+ | |||
+ | <br/> | ||
+ | |||
+ | ===Datasheets=== | ||
+ | Das Datenblatt der WTR Motoren könnt ihr [http://www.produktinfo.conrad.com/datenblaetter/175000-199999/191428-da-01-ml-ALLRAD_GELAENDE_ROBOTERPLATTFORM_de_en.pdf hier] herunterladen. | ||
+ | |||
+ | Die Datenblätter relevanter Bauteile des WTR-CK1 sind im Ordner \Datasheets der CD-ROM zum Controller enthalten. Sie sind darüber hinaus problemlos kostenfrei im Internet erhältlich. | ||
+ | |||
+ | <br/><br/><br/> | ||
+ | |||
+ | ==Demo-Programme== | ||
+ | |||
+ | ===AVR-GCC=== | ||
+ | |||
+ | ===Windows Application=== | ||
+ | |||
+ | ==Library== | ||
+ | Die Libraries für den WTR-CK1 bestehen aus folgenden 14 Dateien: | ||
+ | {| {{Blauetabelle}} | ||
+ | |Library | ||
+ | |Datei | ||
+ | |Funktion | ||
+ | |- | ||
+ | |Main | ||
+ | |WT_Config_Main.h | ||
+ | |Main Konfiguration | ||
+ | |- | ||
+ | |Main | ||
+ | |WildThumperLib_Main.h | ||
+ | |Main Library Header | ||
+ | |- | ||
+ | |Main | ||
+ | |WildThumperLib_Main.c | ||
+ | |Main Library Source | ||
+ | |- | ||
+ | |Main UART | ||
+ | |WT_UART.h | ||
+ | |Main UART Funktionen Header | ||
+ | |- | ||
+ | |Main UART | ||
+ | |WT_UART.c | ||
+ | |Main UART Funktionen Source | ||
+ | |- | ||
+ | |Motor | ||
+ | |WT_Config_Motor.h | ||
+ | |Motor Konfiguration | ||
+ | |- | ||
+ | |Motor | ||
+ | |WildThumperLib_Motor.h | ||
+ | |Motor Library Header | ||
+ | |- | ||
+ | |Motor | ||
+ | |WildThumperLib_Motor.c | ||
+ | |Motor Library Source | ||
+ | |- | ||
+ | |Motor UART | ||
+ | |WT_UART.h | ||
+ | |Motor UART Funktionen Header | ||
+ | |- | ||
+ | |Motor UART | ||
+ | |WT_UART.c | ||
+ | |Motor UART Funktionen Source | ||
+ | |- | ||
+ | |I2C Master | ||
+ | |WT_I2Cmaster.h | ||
+ | |I2C Master Funktionen Header | ||
+ | |- | ||
+ | |I2C Master | ||
+ | |WT_I2Cmaster.c | ||
+ | |I2C Master Funktionen Source | ||
+ | |- | ||
+ | |I2C Slave | ||
+ | |WT_I2Cslave.h | ||
+ | |I2C Slave Funktionen Header | ||
+ | |- | ||
+ | |I2C Slave | ||
+ | |WT_I2Cslave.c | ||
+ | |I2C Slave Funktionen Source | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Versionen=== | ||
+ | Hier eine Tabelle der (mir) bekannten Library Versionen des WTR-CK1: | ||
+ | {| {{Blauetabelle}} | ||
+ | |Version | ||
+ | |Config Main | ||
+ | |Main | ||
+ | |Main UART | ||
+ | |Config Motor | ||
+ | |Motor | ||
+ | |Motor UART | ||
+ | |I2C Master | ||
+ | |I2C Slave | ||
+ | |- | ||
+ | |1.0 * | ||
+ | |13.07.2011 | ||
+ | |11.07./18.07.2011 | ||
+ | |08.07.2011 | ||
+ | |30.06.2011 | ||
+ | |18.07.2011 | ||
+ | |28.06.2011 | ||
+ | |01.12./16.12.2010 | ||
+ | |25.11./01.12.2010 | ||
+ | |- | ||
+ | |} | ||
+ | '''Zu *:''' Auf der Wild Thumper Controller CD-ROM! | ||
+ | |||
+ | ===Main=== | ||
+ | Die Wild Thumper Main Library besteht aus der Main und der Main UART Library. | ||
+ | |||
+ | ====WildThumperLib_Main==== | ||
+ | =====Bug-Report===== | ||
+ | =====Konfiguration===== | ||
+ | =====Port-Verwendung===== | ||
+ | Die Verwendung der Ports des WTR-CK1 Main Microcontrollers wird festgelegt in der Header-Datei "WT_Config_Main.h". In dieser Datei wird auch noch Folgendes aufgeführt: | ||
+ | * Quarzfrequenz (F_CPU) | ||
+ | * True/false Definition | ||
+ | * Definitionen für das APC-220 Funkmodul | ||
+ | |||
+ | Hier eine Tabelle mit den '''Port-Definitionen für den Main Microcontroller des WTR-CK1''': | ||
+ | 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) | ||
+ | |||
+ | {| {{Blauetabelle}} | ||
+ | |Port | ||
+ | |Name | ||
+ | |In/Out | ||
+ | |Pullup | ||
+ | |Wert | ||
+ | |Funktion | ||
+ | |Bezeichnung | ||
+ | |Stecker | ||
+ | |Anmerkungen | ||
+ | |- | ||
+ | |PA0 | ||
+ | |ADC0/PCINT0 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |BAT_VOLTAGE | ||
+ | |HDR4: 8 | ||
+ | |ADC_BAT_VOLTAGE | ||
+ | |- | ||
+ | |PA1 | ||
+ | |ADC1/PCINT1 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |LDR1 | ||
+ | |HDR4: 7; HDR5: 8 | ||
+ | |ADC_LDR1 (links) | ||
+ | |- | ||
+ | |PA2 | ||
+ | |ADC2/PCINT2 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |LDR2 | ||
+ | |HDR4: 6; HDR5: 10 | ||
+ | |ADC_LDR2 (rechts) | ||
+ | |- | ||
+ | |PA3 | ||
+ | |ADC3/PCINT3 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |TEMPERATURE | ||
+ | |HDR4: 5 | ||
+ | |ADC_TEMPERATURE | ||
+ | |- | ||
+ | |PA4 | ||
+ | |ADC4/PCINT4 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |X_ACC | ||
+ | |HDR4: 4 | ||
+ | |ADC_X_ACC * | ||
+ | |- | ||
+ | |PA5 | ||
+ | |ADC5/PCINT5 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |Y_ACC | ||
+ | |HDR4: 3 | ||
+ | |ADC_Y_ACC * | ||
+ | |- | ||
+ | |PA6 | ||
+ | |ADC6/PCINT6 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |Z_ACC | ||
+ | |HDR4: 2 | ||
+ | |ADC_Z_ACC * | ||
+ | |- | ||
+ | |PA7 | ||
+ | |ADC7/PCINT7 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |BUTTON | ||
+ | |HDR4: 1 | ||
+ | |ADC_BUTTON (Taster S2) | ||
+ | |- | ||
+ | |PB0 | ||
+ | |T0/XCK/PCINT8 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |BUMPER1 | ||
+ | |HDR6: 8; HDR5: 12 | ||
+ | |Bumper rechts | ||
+ | |- | ||
+ | |PB1 | ||
+ | |T1/CLKO/PCINT9 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |BUMPER2 | ||
+ | |HDR6: 7; HDR5: 11 | ||
+ | |Bumper links | ||
+ | |- | ||
+ | |PB2 | ||
+ | |AIN0/INT2/PCINT10 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |IR_RECEIVER | ||
+ | |HDR6: 6 | ||
+ | |IR Empfänger (TSOP) | ||
+ | |- | ||
+ | |PB3 | ||
+ | |AIN1/OC0A/PCINT11 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |IR_H | ||
+ | |HDR6: 5; HDR5: 6 | ||
+ | |ACS Sendedioden HiPwr | ||
+ | |- | ||
+ | |PB4 | ||
+ | |SS/OC0B/PCINT12 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |IR_L | ||
+ | |HDR6: 4; HDR5: 4 | ||
+ | |ACS Sendedioden LoPwr | ||
+ | |- | ||
+ | |PB5 | ||
+ | |MOSI/ICP3/PCINT13 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |ISP | ||
+ | |MOSI | ||
+ | |HDR6: 3; HDR11: 4 | ||
+ | |ISP MOSI | ||
+ | |- | ||
+ | |PB6 | ||
+ | |MISO/OC3A/PCINT14 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |ISP | ||
+ | |MISO | ||
+ | |HDR6: 2; HDR11: 1 | ||
+ | |ISP MISO | ||
+ | |- | ||
+ | |PB7 | ||
+ | |SCK/OC3B/PCINT15 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |ISP | ||
+ | |SCK | ||
+ | |HDR6: 1; HDR11: 3 | ||
+ | |ISP SCK | ||
+ | |- | ||
+ | |PC0 | ||
+ | |SCL/PCINT16 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |I2C-Bus | ||
+ | |SCL_PC | ||
+ | |HDR7: 8; HDR12: 7, 8 | ||
+ | |I2C SCL | ||
+ | |- | ||
+ | |PC1 | ||
+ | |SDA/PCINT17 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |I2C-Bus | ||
+ | |SDA_PC | ||
+ | |HDR7: 7; HDR12: 5, 6 | ||
+ | |I2C SDA | ||
+ | |- | ||
+ | |PC2 | ||
+ | |TCK/PCINT18 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | |JTAG | ||
+ | |TCK | ||
+ | |HDR7: 6; HDR13: 1 | ||
+ | | ** | ||
+ | |- | ||
+ | |PC3 | ||
+ | |TMS/PCINT19 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | |JTAG | ||
+ | |TMS | ||
+ | |HDR7: 5; HDR13: 5 | ||
+ | | ** | ||
+ | |- | ||
+ | |PC4 | ||
+ | |TDO/PCINT20 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | |JTAG | ||
+ | |TDO | ||
+ | |HDR7: 4; HDR13: 3 | ||
+ | | ** | ||
+ | |- | ||
+ | |PC5 | ||
+ | |TDI/PCINT21 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | |JTAG | ||
+ | |TDI | ||
+ | |HDR7: 3; HDR13: 9 | ||
+ | | ** | ||
+ | |- | ||
+ | |PC6 | ||
+ | |TOSC1/PCINT22 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |ACS__LF | ||
+ | |HDR7: 2; HDR5: 7 | ||
+ | |ACS Sendediode vorn links | ||
+ | |- | ||
+ | |PC7 | ||
+ | |TOSC2/PCINT23 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |ACS__L | ||
+ | |HDR7: 1; HDR5: 9 | ||
+ | |ACS Sendediode links | ||
+ | |- | ||
+ | |PD0 | ||
+ | |RXD0/PCINT24 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | |UART0 | ||
+ | |RX_MAIN | ||
+ | |HDR8: 8; HDR14: 2 | ||
+ | |UART0 RX | ||
+ | |- | ||
+ | |PD1 | ||
+ | |TXD0/PCINT25 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |UART0 | ||
+ | |TX_MAIN | ||
+ | |HDR8: 7; HDR14: 3 | ||
+ | |UART0 TX | ||
+ | |- | ||
+ | |PD2 | ||
+ | |RXD1/INT0/PCINT26 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |UART1 | ||
+ | |RX_APC | ||
+ | |HDR8: 6; APC: 4 | ||
+ | |UART1 RX | ||
+ | |- | ||
+ | |PD3 | ||
+ | |TXD1/INT1/PCINT27 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |UART1 | ||
+ | |TX_APC | ||
+ | |HDR8: 5; APC: 5 | ||
+ | |UART1 TX | ||
+ | |- | ||
+ | |PD4 | ||
+ | |XCK1/OC1B/PCINT28 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |SET_APC | ||
+ | |HDR8: 4; APC: 7 | ||
+ | |APC-220 SET | ||
+ | |- | ||
+ | |PD5 | ||
+ | |OC1A/PCINT29 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |ACS__RF | ||
+ | |HDR8: 3; HDR5: 5 | ||
+ | |ACS Sendediode vorn rechts | ||
+ | |- | ||
+ | |PD6 | ||
+ | |ICP/OC2B/PCINT30 | ||
+ | |Out | ||
+ | | | ||
+ | |1 | ||
+ | | | ||
+ | |ACS__R | ||
+ | |HDR8: 2; HDR5: 3 | ||
+ | |ACS Sendediode rechts | ||
+ | |- | ||
+ | |PD7 | ||
+ | |OC2A/PCINT31 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I2C_INT | ||
+ | |HDR8: 1; HDR12: 9, 10 | ||
+ | |I2C Interrupt | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | Zeichen: | ||
+ | * Frei, da U13 (Accelerometer) nicht bestückt ist! | ||
+ | ** Frei, wenn JTAG deaktiviert wird! | ||
+ | |||
+ | Abkürzungen der IO-Stecker (Spalte Stecker): | ||
+ | HDR11 ISP-2X3HDR | ||
+ | HDR12 I2C-2X5HDR | ||
+ | HDR13 JTAG-2X5HDR | ||
+ | HDR14 UART-2X5HDR | ||
+ | APC APC-220 Sockel | ||
+ | |||
+ | =====Timer-Nutzung===== | ||
+ | |||
+ | ====WT_UART==== | ||
+ | |||
+ | ===Motor=== | ||
+ | Die Wild Thumper Motor Library besteht aus der Motor und der Motor UART Library. | ||
+ | |||
+ | ====WildThumperLib_Motor==== | ||
+ | =====Bug-Report===== | ||
+ | =====Konfiguration===== | ||
+ | =====Port-Verwendung===== | ||
+ | Die Verwendung der Ports des WTR-CK1 Motor Microcontrollers wird festgelegt in der Header-Datei "WT_Config_Motor.h". In dieser Datei wird auch noch Folgendes aufgeführt: | ||
+ | * Quarzfrequenz (F_CPU) | ||
+ | * True/false Definition | ||
+ | * Definitionen für das APC-220 Funkmodul (?) | ||
+ | |||
+ | Hier eine Tabelle mit den '''Port-Definitionen für den Motor Microcontroller des WTR-CK1''': | ||
+ | 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) | ||
+ | |||
+ | {| {{Blauetabelle}} | ||
+ | |Port | ||
+ | |Name | ||
+ | |In/Out | ||
+ | |Pullup | ||
+ | |Wert | ||
+ | |Funktion | ||
+ | |Bezeichnung | ||
+ | |Stecker | ||
+ | |Anmerkungen | ||
+ | |- | ||
+ | |PA0 | ||
+ | |ADC0/PCINT0 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I_MOTOR6 | ||
+ | | | ||
+ | |ADC_MOTOR6 | ||
+ | |- | ||
+ | |PA1 | ||
+ | |ADC1/PCINT1 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I_MOTOR5 | ||
+ | | | ||
+ | |ADC_MOTOR5 | ||
+ | |- | ||
+ | |PA2 | ||
+ | |ADC2/PCINT2 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I_MOTOR4 | ||
+ | | | ||
+ | |ADC_MOTOR4 | ||
+ | |- | ||
+ | |PA3 | ||
+ | |ADC3/PCINT3 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I_MOTOR3 | ||
+ | | | ||
+ | |ADC_MOTOR3 | ||
+ | |- | ||
+ | |PA4 | ||
+ | |ADC4/PCINT4 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I_MOTOR2 | ||
+ | | | ||
+ | |ADC_MOTOR2 | ||
+ | |- | ||
+ | |PA5 | ||
+ | |ADC5/PCINT5 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |I_MOTOR1 | ||
+ | | | ||
+ | |ADC_MOTOR1 | ||
+ | |- | ||
+ | |PA6 | ||
+ | |ADC6/PCINT6 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | | | ||
+ | |EF_MOTOR2 | ||
+ | | | ||
+ | |Fehler Motor 2 | ||
+ | |- | ||
+ | |PA7 | ||
+ | |ADC7/PCINT7 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | | | ||
+ | |EF_MOTOR1 | ||
+ | | | ||
+ | |Fehler Motor 1 | ||
+ | |- | ||
+ | |PB0 | ||
+ | |T0/XCK/PCINT8 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | | | ||
+ | |EF_MOTOR5 | ||
+ | | | ||
+ | |Fehler Motor 5 | ||
+ | |- | ||
+ | |PB1 | ||
+ | |T1/CLKO/PCINT9 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | | | ||
+ | |EF_MOTOR4 | ||
+ | | | ||
+ | |Fehler Motor 4 | ||
+ | |- | ||
+ | |PB2 | ||
+ | |AIN0/INT2/PCINT10 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | | | ||
+ | |EF_MOTOR3 | ||
+ | | | ||
+ | |Fehler Motor 3 | ||
+ | |- | ||
+ | |PB3 | ||
+ | |AIN1/OC0A/PCINT11 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | | | ||
+ | |MOTOR2_PWM | ||
+ | | | ||
+ | |PWM Motor 2 | ||
+ | |- | ||
+ | |PB4 | ||
+ | |SS/OC0B/PCINT12 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | | | ||
+ | |MOTOR1_PWM | ||
+ | | | ||
+ | |PWM Motor 1 | ||
+ | |- | ||
+ | |PB5 | ||
+ | |MOSI/ICP3/PCINT13 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |ISP | ||
+ | |SR_DATA | ||
+ | |HDR1: 4 | ||
+ | |ISP MOSI | ||
+ | |- | ||
+ | |PB6 | ||
+ | |MISO/OC3A/PCINT14 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |ISP | ||
+ | |SR_STR | ||
+ | |HDR1: 1 | ||
+ | |ISP MISO | ||
+ | |- | ||
+ | |PB7 | ||
+ | |SCK/OC3B/PCINT15 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |ISP | ||
+ | |SR_SCK | ||
+ | |HDR1: 3 | ||
+ | |ISP SCK | ||
+ | |- | ||
+ | |PC0 | ||
+ | |SCL/PCINT16 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |I2C-Bus | ||
+ | |I2C_SCL | ||
+ | |HDR2: 7, 8 | ||
+ | |I2C SCL | ||
+ | |- | ||
+ | |PC1 | ||
+ | |SDA/PCINT17 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |I2C-Bus | ||
+ | |I2C_SDA | ||
+ | |HDR2: 5, 6 | ||
+ | |I2C SDA | ||
+ | |- | ||
+ | |PC2 | ||
+ | |TCK/PCINT18 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |JTAG | ||
+ | |I2C_INT | ||
+ | |HDR2: 9, 10 | ||
+ | |I2C Interrupt ** | ||
+ | |- | ||
+ | |PC3 | ||
+ | |TMS/PCINT19 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |JTAG | ||
+ | |SIG_MOTOR4 | ||
+ | |J11: 2 | ||
+ | |Encoder Motor 4 ** | ||
+ | |- | ||
+ | |PC4 | ||
+ | |TDO/PCINT20 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |JTAG | ||
+ | |SIG_MOTOR3 | ||
+ | |J8: 2 | ||
+ | |Encoder Motor 3 ** | ||
+ | |- | ||
+ | |PC5 | ||
+ | |TDI/PCINT21 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |JTAG | ||
+ | |SIG_MOTOR2 | ||
+ | |J7: 2 | ||
+ | |Encoder Motor 2 ** | ||
+ | |- | ||
+ | |PC6 | ||
+ | |TOSC1/PCINT22 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | | | ||
+ | |SIG_MOTOR1 | ||
+ | |J4: 2 | ||
+ | |Encoder Motor 1 | ||
+ | |- | ||
+ | |PC7 | ||
+ | |TOSC2/PCINT23 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | | | ||
+ | |EF_MOTOR6 | ||
+ | | | ||
+ | |Fehler Motor 6 | ||
+ | |- | ||
+ | |PD0 | ||
+ | |RXD0/PCINT24 | ||
+ | |In | ||
+ | |1 | ||
+ | | | ||
+ | |UART0 | ||
+ | |RX_MOTOR | ||
+ | |HDR3: 2 | ||
+ | |UART0 RX | ||
+ | |- | ||
+ | |PD1 | ||
+ | |TXD0/PCINT25 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | |UART0 | ||
+ | |TX_MOTOR | ||
+ | |HDR3: 3 | ||
+ | |UART0 TX | ||
+ | |- | ||
+ | |PD2 | ||
+ | |RXD1/INT0/PCINT26 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |UART1 | ||
+ | |SIG_MOTOR6 | ||
+ | |J15: 2 | ||
+ | |Encoder Motor 6 | ||
+ | |- | ||
+ | |PD3 | ||
+ | |TXD1/INT1/PCINT27 | ||
+ | |In | ||
+ | |0 | ||
+ | | | ||
+ | |UART1 | ||
+ | |SIG_MOTOR5 | ||
+ | |J12: 2 | ||
+ | |Encoder Motor 5 | ||
+ | |- | ||
+ | |PD4 | ||
+ | |XCK1/OC1B/PCINT28 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | | | ||
+ | |MOTOR6_PWM | ||
+ | | | ||
+ | |PWM Motor 6 | ||
+ | |- | ||
+ | |PD5 | ||
+ | |OC1A/PCINT29 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | | | ||
+ | |MOTOR5_PWM | ||
+ | | | ||
+ | |PWM Motor 5 | ||
+ | |- | ||
+ | |PD6 | ||
+ | |ICP/OC2B/PCINT30 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | | | ||
+ | |MOTOR4_PWM | ||
+ | | | ||
+ | |PWM Motor 4 | ||
+ | |- | ||
+ | |PD7 | ||
+ | |OC2A/PCINT31 | ||
+ | |Out | ||
+ | | | ||
+ | |0 | ||
+ | | | ||
+ | |MOTOR3_PWM | ||
+ | | | ||
+ | |PWM Motor 3 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | Zeichen: | ||
+ | ** JTAG muss deaktiviert werden! | ||
+ | |||
+ | Abkürzungen der IO-Stecker (Spalte Stecker): | ||
+ | HDR1 ISP-2X3HDR | ||
+ | HDR2 I2C-2X5HDR | ||
+ | HDR3 UART-2X5HDR | ||
+ | |||
+ | =====Timer-Nutzung===== | ||
+ | |||
+ | ====WT_UART==== | ||
+ | |||
+ | ===Common=== | ||
+ | ====WT_I2Cmaster==== | ||
+ | ====WT_I2Cslave==== | ||
+ | |||
+ | <br/><br/> | ||
+ | |||
+ | ==Projekte== | ||
+ | |||
+ | <br/><br/> | ||
[[Kategorie:Robotikeinstieg]] | [[Kategorie:Robotikeinstieg]] | ||
[[Kategorie:Praxis]] | [[Kategorie:Praxis]] |
Version vom 28. August 2015, 18:52 Uhr
Inhaltsverzeichnis
Programmierung
RobotLoader
Der RobotLoader ist die Weiterentwicklung des RP6Loaders.
Loader Versionen
Hier eine Tabelle der (mir) bekannten RobotLoader Versionen für den Wild Thumper Controller:
ZIP-Datum | Version | Bemerkungen | Examples |
16.06.2011 | 1.6b | Version auf der AREXX Wild Thumper CD-ROM! | ab Juli 2011 |
Hinweise: Neuere Versionen des RobotLoaders ab Version 2.0 findet ihr hier.
Projekte
Siehe hier!
Dokumentation
Manuals
Die "Anleitung" zum WTR gibt es hier.
Die Anleitung zum WTR-CK1 könnt ihr hier herunterladen.
Schematics
Einen Schaltplan zum WTR gibt es nicht. Die Stromkabel der rechten und linken Motoren sind bei Auslieferung jeweils an einer Lüsterklemmen-Leiste parallel geschaltet, siehe die Abb. "Lüsterklemmen-Leiste" in diesem Abschnitt!. Am Ende dieses Abschnitts zeigt die Abb. "Encoderstecker" die Belegung der Encoderstecker. Die Schaltung der Encoder-Motoren des WTR könnt ihr hier herunterladen.
Die Schaltpläne zum WTR-CK1 sind in der Anleitung von Seite 63 bis 67 einzusehen.
Datasheets
Das Datenblatt der WTR Motoren könnt ihr hier herunterladen.
Die Datenblätter relevanter Bauteile des WTR-CK1 sind im Ordner \Datasheets der CD-ROM zum Controller enthalten. Sie sind darüber hinaus problemlos kostenfrei im Internet erhältlich.
Demo-Programme
AVR-GCC
Windows Application
Library
Die Libraries für den WTR-CK1 bestehen aus folgenden 14 Dateien:
Library | Datei | Funktion |
Main | WT_Config_Main.h | Main Konfiguration |
Main | WildThumperLib_Main.h | Main Library Header |
Main | WildThumperLib_Main.c | Main Library Source |
Main UART | WT_UART.h | Main UART Funktionen Header |
Main UART | WT_UART.c | Main UART Funktionen Source |
Motor | WT_Config_Motor.h | Motor Konfiguration |
Motor | WildThumperLib_Motor.h | Motor Library Header |
Motor | WildThumperLib_Motor.c | Motor Library Source |
Motor UART | WT_UART.h | Motor UART Funktionen Header |
Motor UART | WT_UART.c | Motor UART Funktionen Source |
I2C Master | WT_I2Cmaster.h | I2C Master Funktionen Header |
I2C Master | WT_I2Cmaster.c | I2C Master Funktionen Source |
I2C Slave | WT_I2Cslave.h | I2C Slave Funktionen Header |
I2C Slave | WT_I2Cslave.c | I2C Slave Funktionen Source |
Versionen
Hier eine Tabelle der (mir) bekannten Library Versionen des WTR-CK1:
Version | Config Main | Main | Main UART | Config Motor | Motor | Motor UART | I2C Master | I2C Slave |
1.0 * | 13.07.2011 | 11.07./18.07.2011 | 08.07.2011 | 30.06.2011 | 18.07.2011 | 28.06.2011 | 01.12./16.12.2010 | 25.11./01.12.2010 |
Zu *: Auf der Wild Thumper Controller CD-ROM!
Main
Die Wild Thumper Main Library besteht aus der Main und der Main UART Library.
WildThumperLib_Main
Bug-Report
Konfiguration
Port-Verwendung
Die Verwendung der Ports des WTR-CK1 Main Microcontrollers wird festgelegt in der Header-Datei "WT_Config_Main.h". In dieser Datei wird auch noch Folgendes aufgeführt:
- Quarzfrequenz (F_CPU)
- True/false Definition
- Definitionen für das APC-220 Funkmodul
Hier eine Tabelle mit den Port-Definitionen für den Main Microcontroller des WTR-CK1:
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 | ADC0/PCINT0 | In | 0 | BAT_VOLTAGE | HDR4: 8 | ADC_BAT_VOLTAGE | ||
PA1 | ADC1/PCINT1 | In | 0 | LDR1 | HDR4: 7; HDR5: 8 | ADC_LDR1 (links) | ||
PA2 | ADC2/PCINT2 | In | 0 | LDR2 | HDR4: 6; HDR5: 10 | ADC_LDR2 (rechts) | ||
PA3 | ADC3/PCINT3 | In | 0 | TEMPERATURE | HDR4: 5 | ADC_TEMPERATURE | ||
PA4 | ADC4/PCINT4 | In | 0 | X_ACC | HDR4: 4 | ADC_X_ACC * | ||
PA5 | ADC5/PCINT5 | In | 0 | Y_ACC | HDR4: 3 | ADC_Y_ACC * | ||
PA6 | ADC6/PCINT6 | In | 0 | Z_ACC | HDR4: 2 | ADC_Z_ACC * | ||
PA7 | ADC7/PCINT7 | In | 0 | BUTTON | HDR4: 1 | ADC_BUTTON (Taster S2) | ||
PB0 | T0/XCK/PCINT8 | Out | 1 | BUMPER1 | HDR6: 8; HDR5: 12 | Bumper rechts | ||
PB1 | T1/CLKO/PCINT9 | Out | 1 | BUMPER2 | HDR6: 7; HDR5: 11 | Bumper links | ||
PB2 | AIN0/INT2/PCINT10 | In | 0 | IR_RECEIVER | HDR6: 6 | IR Empfänger (TSOP) | ||
PB3 | AIN1/OC0A/PCINT11 | Out | 1 | IR_H | HDR6: 5; HDR5: 6 | ACS Sendedioden HiPwr | ||
PB4 | SS/OC0B/PCINT12 | Out | 1 | IR_L | HDR6: 4; HDR5: 4 | ACS Sendedioden LoPwr | ||
PB5 | MOSI/ICP3/PCINT13 | Out | 0 | ISP | MOSI | HDR6: 3; HDR11: 4 | ISP MOSI | |
PB6 | MISO/OC3A/PCINT14 | In | 0 | ISP | MISO | HDR6: 2; HDR11: 1 | ISP MISO | |
PB7 | SCK/OC3B/PCINT15 | Out | 0 | ISP | SCK | HDR6: 1; HDR11: 3 | ISP SCK | |
PC0 | SCL/PCINT16 | In | 0 | I2C-Bus | SCL_PC | HDR7: 8; HDR12: 7, 8 | I2C SCL | |
PC1 | SDA/PCINT17 | In | 0 | I2C-Bus | SDA_PC | HDR7: 7; HDR12: 5, 6 | I2C SDA | |
PC2 | TCK/PCINT18 | In | 1 | JTAG | TCK | HDR7: 6; HDR13: 1 | ** | |
PC3 | TMS/PCINT19 | In | 1 | JTAG | TMS | HDR7: 5; HDR13: 5 | ** | |
PC4 | TDO/PCINT20 | In | 1 | JTAG | TDO | HDR7: 4; HDR13: 3 | ** | |
PC5 | TDI/PCINT21 | In | 1 | JTAG | TDI | HDR7: 3; HDR13: 9 | ** | |
PC6 | TOSC1/PCINT22 | Out | 1 | ACS__LF | HDR7: 2; HDR5: 7 | ACS Sendediode vorn links | ||
PC7 | TOSC2/PCINT23 | Out | 1 | ACS__L | HDR7: 1; HDR5: 9 | ACS Sendediode links | ||
PD0 | RXD0/PCINT24 | In | 1 | UART0 | RX_MAIN | HDR8: 8; HDR14: 2 | UART0 RX | |
PD1 | TXD0/PCINT25 | Out | 0 | UART0 | TX_MAIN | HDR8: 7; HDR14: 3 | UART0 TX | |
PD2 | RXD1/INT0/PCINT26 | In | 0 | UART1 | RX_APC | HDR8: 6; APC: 4 | UART1 RX | |
PD3 | TXD1/INT1/PCINT27 | Out | 0 | UART1 | TX_APC | HDR8: 5; APC: 5 | UART1 TX | |
PD4 | XCK1/OC1B/PCINT28 | Out | 1 | SET_APC | HDR8: 4; APC: 7 | APC-220 SET | ||
PD5 | OC1A/PCINT29 | Out | 1 | ACS__RF | HDR8: 3; HDR5: 5 | ACS Sendediode vorn rechts | ||
PD6 | ICP/OC2B/PCINT30 | Out | 1 | ACS__R | HDR8: 2; HDR5: 3 | ACS Sendediode rechts | ||
PD7 | OC2A/PCINT31 | In | 0 | I2C_INT | HDR8: 1; HDR12: 9, 10 | I2C Interrupt |
Zeichen: * Frei, da U13 (Accelerometer) nicht bestückt ist! ** Frei, wenn JTAG deaktiviert wird! Abkürzungen der IO-Stecker (Spalte Stecker): HDR11 ISP-2X3HDR HDR12 I2C-2X5HDR HDR13 JTAG-2X5HDR HDR14 UART-2X5HDR APC APC-220 Sockel
Timer-Nutzung
WT_UART
Motor
Die Wild Thumper Motor Library besteht aus der Motor und der Motor UART Library.
WildThumperLib_Motor
Bug-Report
Konfiguration
Port-Verwendung
Die Verwendung der Ports des WTR-CK1 Motor Microcontrollers wird festgelegt in der Header-Datei "WT_Config_Motor.h". In dieser Datei wird auch noch Folgendes aufgeführt:
- Quarzfrequenz (F_CPU)
- True/false Definition
- Definitionen für das APC-220 Funkmodul (?)
Hier eine Tabelle mit den Port-Definitionen für den Motor Microcontroller des WTR-CK1:
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 | ADC0/PCINT0 | In | 0 | I_MOTOR6 | ADC_MOTOR6 | |||
PA1 | ADC1/PCINT1 | In | 0 | I_MOTOR5 | ADC_MOTOR5 | |||
PA2 | ADC2/PCINT2 | In | 0 | I_MOTOR4 | ADC_MOTOR4 | |||
PA3 | ADC3/PCINT3 | In | 0 | I_MOTOR3 | ADC_MOTOR3 | |||
PA4 | ADC4/PCINT4 | In | 0 | I_MOTOR2 | ADC_MOTOR2 | |||
PA5 | ADC5/PCINT5 | In | 0 | I_MOTOR1 | ADC_MOTOR1 | |||
PA6 | ADC6/PCINT6 | In | 1 | EF_MOTOR2 | Fehler Motor 2 | |||
PA7 | ADC7/PCINT7 | In | 1 | EF_MOTOR1 | Fehler Motor 1 | |||
PB0 | T0/XCK/PCINT8 | In | 1 | EF_MOTOR5 | Fehler Motor 5 | |||
PB1 | T1/CLKO/PCINT9 | In | 1 | EF_MOTOR4 | Fehler Motor 4 | |||
PB2 | AIN0/INT2/PCINT10 | In | 1 | EF_MOTOR3 | Fehler Motor 3 | |||
PB3 | AIN1/OC0A/PCINT11 | Out | 0 | MOTOR2_PWM | PWM Motor 2 | |||
PB4 | SS/OC0B/PCINT12 | Out | 0 | MOTOR1_PWM | PWM Motor 1 | |||
PB5 | MOSI/ICP3/PCINT13 | Out | 0 | ISP | SR_DATA | HDR1: 4 | ISP MOSI | |
PB6 | MISO/OC3A/PCINT14 | Out | 0 | ISP | SR_STR | HDR1: 1 | ISP MISO | |
PB7 | SCK/OC3B/PCINT15 | Out | 0 | ISP | SR_SCK | HDR1: 3 | ISP SCK | |
PC0 | SCL/PCINT16 | In | 0 | I2C-Bus | I2C_SCL | HDR2: 7, 8 | I2C SCL | |
PC1 | SDA/PCINT17 | In | 0 | I2C-Bus | I2C_SDA | HDR2: 5, 6 | I2C SDA | |
PC2 | TCK/PCINT18 | Out | 0 | JTAG | I2C_INT | HDR2: 9, 10 | I2C Interrupt ** | |
PC3 | TMS/PCINT19 | In | 0 | JTAG | SIG_MOTOR4 | J11: 2 | Encoder Motor 4 ** | |
PC4 | TDO/PCINT20 | In | 0 | JTAG | SIG_MOTOR3 | J8: 2 | Encoder Motor 3 ** | |
PC5 | TDI/PCINT21 | In | 0 | JTAG | SIG_MOTOR2 | J7: 2 | Encoder Motor 2 ** | |
PC6 | TOSC1/PCINT22 | In | 0 | SIG_MOTOR1 | J4: 2 | Encoder Motor 1 | ||
PC7 | TOSC2/PCINT23 | In | 1 | EF_MOTOR6 | Fehler Motor 6 | |||
PD0 | RXD0/PCINT24 | In | 1 | UART0 | RX_MOTOR | HDR3: 2 | UART0 RX | |
PD1 | TXD0/PCINT25 | Out | 0 | UART0 | TX_MOTOR | HDR3: 3 | UART0 TX | |
PD2 | RXD1/INT0/PCINT26 | In | 0 | UART1 | SIG_MOTOR6 | J15: 2 | Encoder Motor 6 | |
PD3 | TXD1/INT1/PCINT27 | In | 0 | UART1 | SIG_MOTOR5 | J12: 2 | Encoder Motor 5 | |
PD4 | XCK1/OC1B/PCINT28 | Out | 0 | MOTOR6_PWM | PWM Motor 6 | |||
PD5 | OC1A/PCINT29 | Out | 0 | MOTOR5_PWM | PWM Motor 5 | |||
PD6 | ICP/OC2B/PCINT30 | Out | 0 | MOTOR4_PWM | PWM Motor 4 | |||
PD7 | OC2A/PCINT31 | Out | 0 | MOTOR3_PWM | PWM Motor 3 |
Zeichen: ** JTAG muss deaktiviert werden! Abkürzungen der IO-Stecker (Spalte Stecker): HDR1 ISP-2X3HDR HDR2 I2C-2X5HDR HDR3 UART-2X5HDR
Timer-Nutzung
WT_UART
Common
WT_I2Cmaster
WT_I2Cslave
Projekte
Autoren
--Dirk 19:21, 28. Aug 2015 (CET)