Conrad Probot: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Named Pin Konfiguration)
 
(10 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 experimentell!
 
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|400px]]
+
[[Bild:conrad-probot.jpg|thumb]]
  
 
== make menuconfig ==
 
== make menuconfig ==
Zeile 11: Zeile 11:
 
* Named and logic state I/O
 
* Named and logic state I/O
 
* I2C Master Support (mit I2C Detection Support und I2C EEPROM (24cxx) Support)
 
* 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 41: Zeile 42:
 
  PD3 OUTPUT  LOW        ir_left        # together with pwm_ir
 
  PD3 OUTPUT  LOW        ir_left        # together with pwm_ir
 
  PD4 OUTPUT  LOW        ir_right        # 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
+
  PE3 OUTPUT  HIGH       pwm_ir          # pwm for ir_left AND ir_right
 
  PE4 INPUT    HIGH      boot #test invert action
 
  PE4 INPUT    HIGH      boot #test invert action
 
  PE6 INPUT    LOW        encoder_right      # ?
 
  PE6 INPUT    LOW        encoder_right      # ?
Zeile 59: 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 77: Zeile 78:
 
  THREAD_END(blinkrun)
 
  THREAD_END(blinkrun)
 
  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