Conrad Probot: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: Der Support für den [http://www.c-control.de/c-robotics/zubehor_ccrp5/zubehor_ccrp5.html Probot von Conrad] ist noch experimentel! == Named Pin Konfiguration == Hier...)
 
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Der Support für den [http://www.c-control.de/c-robotics/zubehor_ccrp5/zubehor_ccrp5.html Probot von Conrad] ist noch experimentel!
+
Der Support für den [http://www.c-control.de/c-robotics/zubehor_ccrp5/zubehor_ccrp5.html Probot von Conrad] ist noch experimentell!
  
 +
[[Bild:conrad-probot.jpg|thumb]]
 +
 +
== make menuconfig ==
 +
 +
In menuconfig sollte man folgendes einstellen:
 +
* Target MCU: atmega128
 +
* MCU Frequency: 14745000
 +
* Hardware/Periphery Class: (Conrad:Probot
 +
* Named and logic state I/O
 +
* I2C Master Support (mit I2C Detection Support und I2C EEPROM (24cxx) Support)
 +
* ADC Referenzspannung ist AVCC
  
 
== Named Pin Konfiguration ==
 
== Named Pin Konfiguration ==
Hier die passende core/portio/config für [[Named_PIN]]
+
Hier die passende core/portio/config für [[Named PIN]]
 
* Named Pin muss aktiviert sein!
 
* Named Pin muss aktiviert sein!
  
Zeile 18: Zeile 29:
 
  # PIN | IN/OUT | When active? | Name
 
  # PIN | IN/OUT | When active? | Name
 
  #-----+--------+--------------+----------------
 
  #-----+--------+--------------+----------------
  PB0     OUTPUT  HIGH          encoder_ir
+
  PB0 OUTPUT  LOW        encoder_ir     # led for encoder_right AND encoder_left
  PB4     OUTPUT  HIGH           beep
+
  PB4 OUTPUT  HIGH       beep
  PB5     OUTPUT  HIGH           motor_right
+
  PB5 OUTPUT  HIGH       motor_right
  PB6     OUTPUT  HIGH           motor_left
+
  PB6 OUTPUT  HIGH       motor_left
  PB7     OUTPUT  HIGH           motor_enable
+
  PB7 OUTPUT  HIGH       motor_enable
#
+
  PC0 OUTPUT  LOW        led_back_right
  PC0     OUTPUT  HIGH          led_front_left
+
  PC1 OUTPUT  LOW        led_back_left
  PC1     OUTPUT  HIGH          led_front_right
+
  PC2 OUTPUT  LOW        led_front_right
  PC2     OUTPUT  HIGH          led_back_left
+
  PC3 OUTPUT  LOW        led_front_left
  PC3     OUTPUT  HIGH          led_back_right
+
  PC4 OUTPUT  LOW        led_line_sensor
  PC4     OUTPUT  HIGH          led_line_sensor
+
  PD2 INPUT    HIGH       tsop
#
+
  PD3 OUTPUT  LOW        ir_left         # together with pwm_ir
  PD2     OUTPUT  HIGH           tsop
+
  PD4 OUTPUT  LOW        ir_right       # together with pwm_ir
  PD3     OUTPUT  HIGH          ir_left
+
  PE3 OUTPUT  HIGH       pwm_ir         # pwm for ir_left AND ir_right
  PD4     OUTPUT  HIGH          ir_right
+
  PE4 INPUT    HIGH       boot #test invert action
#
+
  PE6 INPUT    LOW        encoder_right       # ?
  PE3     OUTPUT  HIGH           pwm_ir
+
  PE7 INPUT    LOW        encoder_left       # ?
  PE4     INPUT    HIGH           boot
+
  PF5 INPUT    LOW        ldr_right       # active?
  PE6     OUTPUT  HIGH          encoder_right
+
  PF4 INPUT    LOW        ldr_left       # active?
  PE7     OUTPUT  HIGH          encoder_left
+
  PF3 INPUT    HIGH       mic
#
+
  PF2 INPUT    HIGH       line_sensor_right
  PF5     OUTPUT  HIGH          ldr_right
+
  PF1 INPUT    HIGH       line_sensor_left
  PF4     OUTPUT  HIGH          ldr_left
+
  PF0 INPUT    HIGH       ub_measurement
  PF3     OUTPUT  HIGH           mic
 
  PF2     OUTPUT  HIGH           line_sensor_right
 
  PF1     OUTPUT  HIGH           line_sensor_left
 
  PF0     OUTPUT  HIGH           ub_measurement
 
 
 
  
 
== Control6 Scripte ==
 
== Control6 Scripte ==
Zeile 54: Zeile 60:
 
* Script unter control6/control6.src
 
* Script unter control6/control6.src
 
* control6 muss aktiviert sein!
 
* control6 muss aktiviert sein!
* [[Named_Pin]] muss aktiviert sein!
+
* [[Named PIN]] muss aktiviert sein!
  
 
Die 4 LEDs der Hauptplatine blinken alle der Reihe nach
 
Die 4 LEDs der Hauptplatine blinken alle der Reihe nach
Zeile 73: Zeile 79:
 
  THREAD_START(blinkrun)
 
  THREAD_START(blinkrun)
  
 +
== Funktionstüchtig ==
 +
Wichtig ist das man AVCC als Referenzspannung für die ADC Eingänge einstellt, sonst geben die Sensoren nichts sinnvolles zurück.
 +
 +
=== Main Unit ===
 +
* [[I2C]] Bus
 +
* Serielle Schnittstelle für [[ECMD ]](TTL Logik, daher Pegelwandler benutzen)
 +
* 4 Rote LEDs auf der Main Unit
 +
* Helligkeitssensoren mit [[ADC]]
 +
* Buzzer (Piezo Lautsprecher - sehr leise) getestet mit Melodyausgabe aus dem [[Sound]]-Modul
 +
 +
=== Drive Unit ===
 +
* Motoren via H-Bridge angesteuert (Vor, Zurück, Rechts, Links)
 +
* Line Sensor mit [[ADC]]
  
 +
== Bilder ==
  
 +
<gallery>
 +
Bild:Conrad-probot.jpg
 +
Bild:Habo_probot_drive_unit_top.jpg
 +
Bild:Habo_probot_drive_unit_top_bottom.jpg
 +
Bild:Habo_probot_front_view2.jpg
 +
Bild:Habo_probot_front_view3.jpg
 +
Bild:Habo_probot_main%2Bdrive_unit.jpg
 +
Bild:Habo_probot_main_unitbottom_mit_programmieradapter.jpg
 +
Bild:Habo_probot_main_unit_CPU_modul_ohne_Deckel.jpg
 +
Bild:Habo_probot_main_unit_top_mit_programmieradapter.jpg
 +
Bild:Habo_probot_mit_RFM12_modul.jpg
 +
Bild:Habo_probot_selfmade_breadboard.jpg
 +
Bild:Habo_rfm12_probot_modul1.jpg
 +
Bild:Habo_rfm12_probot_modul2.jpg
 +
Bild:Habo_probot_stackable.jpg
 +
Bild:Habo_probot_advanced.jpg
 +
Bild:Habo_probot_lights_on.jpg
 +
</gallery>
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]

Aktuelle Version vom 10. Jänner 2010, 00:05 Uhr

Der Support für den Probot von Conrad ist noch experimentell!

Conrad-probot.jpg

make menuconfig

In menuconfig sollte man folgendes einstellen:

  • Target MCU: atmega128
  • MCU Frequency: 14745000
  • Hardware/Periphery Class: (Conrad:Probot
  • Named and logic state I/O
  • I2C Master Support (mit I2C Detection Support und I2C EEPROM (24cxx) Support)
  • ADC Referenzspannung ist AVCC

Named Pin Konfiguration

Hier die passende core/portio/config für Named PIN

  • Named Pin muss aktiviert sein!
#
#   Named Pin Configuration File
#
# You can assign names to your microcontroller's pins here.
# Keep in mind that this names must consist of alphanumeric 
# characters only!
#
# Every line starting with a hash sign (#) is a comment.
#
#
# PIN | IN/OUT | When active? | Name
#-----+--------+--------------+----------------
PB0 OUTPUT   LOW        encoder_ir      # led for encoder_right AND encoder_left
PB4 OUTPUT   HIGH       beep
PB5 OUTPUT   HIGH       motor_right
PB6 OUTPUT   HIGH       motor_left
PB7 OUTPUT   HIGH       motor_enable
PC0 OUTPUT   LOW        led_back_right
PC1 OUTPUT   LOW        led_back_left
PC2 OUTPUT   LOW        led_front_right
PC3 OUTPUT   LOW        led_front_left
PC4 OUTPUT   LOW        led_line_sensor
PD2 INPUT    HIGH       tsop
PD3 OUTPUT   LOW        ir_left         # together with pwm_ir
PD4 OUTPUT   LOW        ir_right        # together with pwm_ir
PE3 OUTPUT   HIGH       pwm_ir          # pwm for ir_left AND ir_right
PE4 INPUT    HIGH       boot #test invert action
PE6 INPUT    LOW        encoder_right       # ?
PE7 INPUT    LOW        encoder_left        # ?
PF5 INPUT    LOW        ldr_right       # active?
PF4 INPUT    LOW        ldr_left        # active?
PF3 INPUT    HIGH       mic
PF2 INPUT    HIGH       line_sensor_right
PF1 INPUT    HIGH       line_sensor_left
PF0 INPUT    HIGH       ub_measurement

Control6 Scripte

Einen Einstieg in Control6 gibt es auch auf der Seite für PIN_Commands

Beispiel für ein Control6 mit Named Pin

  • Script unter control6/control6.src
  • control6 muss aktiviert sein!
  • Named PIN muss aktiviert sein!

Die 4 LEDs der Hauptplatine blinken alle der Reihe nach

THREAD(blinkrun)
 PIN_SET(led_front_left);
 PIN_CLEAR(led_back_left);
 WAIT(1);
 PIN_SET(led_back_left);
 PIN_CLEAR(led_back_right);
 WAIT(1);
 PIN_SET(led_back_right);
 PIN_CLEAR(led_front_right);
 WAIT(1);
 PIN_SET(led_front_right);
 PIN_CLEAR(led_front_left);
 WAIT(1);
THREAD_END(blinkrun)
THREAD_START(blinkrun)

Funktionstüchtig

Wichtig ist das man AVCC als Referenzspannung für die ADC Eingänge einstellt, sonst geben die Sensoren nichts sinnvolles zurück.

Main Unit

  • I2C Bus
  • Serielle Schnittstelle für ECMD (TTL Logik, daher Pegelwandler benutzen)
  • 4 Rote LEDs auf der Main Unit
  • Helligkeitssensoren mit ADC
  • Buzzer (Piezo Lautsprecher - sehr leise) getestet mit Melodyausgabe aus dem Sound-Modul

Drive Unit

  • Motoren via H-Bridge angesteuert (Vor, Zurück, Rechts, Links)
  • Line Sensor mit ADC

Bilder