Stillgelegte Projekte/Shr0dBot

Aus LaborWiki
Wechseln zu: Navigation, Suche
Kran
Diese Seite befindet sich noch im Aufbau bzw. wird gerade heftig überarbeitet. Vorsicht: Herumliegende Gedankenfetzen!
Dieser Banner ist hier dokumentiert.


Shr0dBot Hardware und Chassis Version 1.0

Willkommen! Hier geht es um meinen (Benutzer:Hansinator) kleinen Roboter.

Shr0dBot spricht sich "Schrott Bot" und soll eine anspielung auf die minderqualitative mechanische Basis sein.


Die Idee[Bearbeiten]

Dieses Projekt verfolgt die Idee, eine kleine, kostengünstige, modulare Robotik-Experimentierplattform zu kreieren. Die einzelnen Hardware und Software Komponenten welche sich in diesem Roboter wiederfinden sollten wiederverwendbar sein, sodass weitere ähnliche Roboter mit geringem aufwand konstruiert werden können. Der Roboter soll in der Lage sein selbstständig einfache Aufgaben zu erfüllen, aber auch mit einem Computer kommunizieren können, um Laufzeitdaten zurückzumelden und etwaige Steuerungskommandos zu erhalten. Um das modulare Prinzip von anfang an zu verfolgen, wurden, soweit möglich, im Labor bereits etablierte Standardkomponenten verwendet. So kommt es zum Beispiel, dass die drahtlose digitale Kommunikation mit einem Computer mithilfe des RFM12 Moduls realisiert wird, für welches bereits eine Labor-eigene Softwarebibliothek zur Verwendung auf Atmel ATMega Microcontrollern, sowie ein einheitliches Steckerdesign zur realisierung der physikalischen Konnektivität existiert. Dies ermöglichte ein schnelleres Prototyping der Basishardware und Software, da einfach bestehende Komponenten aus anderen Projekten geliehen werden konnten.

Weiterhin dient dieses Projekt als kleine Sensorik-Übungsplattform. Die Idee, welche dahinter steckt, ist folgende: Aussergewöhnliche Sensoren zu verwenden, um deren praktischen Nutzen auf einer autonomen Plattform zu evaluieren. Natürlich macht der Roboter auch gebrauch von einigen weiter verbreiteten Sensoren. Solche einfach zu beschaffenden Sensorikkomponenten, wie zum Beispiel der optomeschanische Encoder-Aufbau aus einer älteren kugelbasierten Maus sollen in einfache Module verwandelt werden. Ferner würden die so gewonnenen Erfahrungswerte eine tragende Rolle bei der Erstellung eines Sensorik-Modul-Guides helfen.

Softwareseitig soll der Roboter beweisen, dass es unter zuhilfenahme von unscheinbaren Sensorikkomponenten und ausgeklügelter Software möglich ist, auch minderqualitative mechanische Basen in einen gut funktionierenden Roboter zu verwandeln. Getreu der modularen Idee, entsteht wärend der Entwicklung beinahe automatisch eine kleine Softwarebibliothek, die als ganzes oder als einzelne Komponenten in anderen Robotikprojekten wiederverwendung finden kann, um schnell zusätzliche oder erweiterte Funktionalitäten hinzuzufügen.


ATmega32 Pin Configuration Dump[Bearbeiten]

Hier steht, welche Pins ich wofür benutzt habe.

==== ATMEGA32 PIN CONFIGURATION ====

Names in () are or were planned.
Pins marked with [in] are inputs, whilst the ones marked with [out] are outputs.
All other pins make use of their respective special function(s).


** GENERIC
RESET	- ISP RESET, RESET SWITCH
XTAL1,2	- 16MHZ, no capacitors
VCC,
AVCC,
AREF	- +5V 7805, 100nF
GND	- COMMON GROUND


** PORT A
0 - BATTERY POWER DIVIDER (capacitive load?) [ADC0]
1 - MOTOR 1 CURRENT MEASUREMENT (capacitive load?) [ADC1]
5 - ACCELEROMETER X (1nF load) [ADC7]
6 - ACCELEROMETER Y (1nF load) [ADC6]
7 - ACCELEROMETER Z (1nF load) [ADC5]


** PORT B
0 - ENCODER A PHASE A [in]
1 - ENCODER A PHASE B [in]
2 - RFM12 INTERRUPT [INT2]
3 - ACCELEROMETER FULLSCALE, 10K SERIES RESISTOR [OUT]
4 - ISP [SPI SS] 
5 - ISP, RFM12 [SPI MOSI]
6 - ISP, RFM12 [SPI MISO]
7 - ISP, RFM12 [SPI SCK]


** PORT C
0 - RFM12 SLAVE SELECT [out]
2 - MOTOR 2 FORWARD [out]
3 - MOTOR 2 REVERSE [out]
4 - TOP LIGHTING [out]
5 - MOTOR 1 FORWARD [out]
6 - MOTOR 1 REVERSE [out]


** PORT D
4 - PWM MOTOR 2 [OC1B]
5 - PWM MOTOR 1 [OC1A]
7 - FRONT/BACK LIGHTING [out]


** FREE
2 I/o LINES (PD6, PC7)
1/2 I²C (PC0/SCL is still free)
2 INTERRUPTS - INT0 (PD2), INT1 (PD3)
1 UART (PD0, PD1)
3 ADC


TODO Dump[Bearbeiten]

Das ist der wichtige ausschnitt aus meiner Gedanken-Sammel-TODO-Liste. Mein Kopf produziert soetwas nativ in englischer Sprache, ich bitte diesen Umstand zu entschuldigen.

==== TODO ====

** HARDWARE [V1] ** FEATURE COMPLETE
+ Ready poject and documentation for first wiki appearance


** HARDWARE [V1.5] ** FEATURE COMPLETE
+ Document changes


** HARDWARE [V2]
+ Construct top lighting, possibly use 68 ohm resistors
+ Finish hot-glue roof
++ Before doing this, finish bootloading


** CHASSIS [V1] ** FEATURE COMPLETE
+ Ready poject and documentation for first wiki appearance


** CHASSIS [V2]
+ Add complete cover
+ Add easy-to-access power-switch


** WIKI DOC [V1]
+ Make photos
+ Think of a good article structure / topic list [OASE Model -> Orientation Analisys Synthesis Evaluation ??]
++ Topics:
++ Idea / Motivation [Orientation]
++ Components, parts list [Analysis]
+++ Document how the different sensor systems work (encoder, motor current drain, accelerometer)
++ Sources, other examples [Analysis]
++ Document chassis / hardware setup [Analysis or Synthesis -> mainboard sections?]
++ Prototype [Synthesis]
+++ Document blocking pwm switching circuit
++ Construction [Synthesis]
++ Roughly document mainboard sections / make an overview [Synthesis or Analysis?]
+++ Say that i have a motor board
+++ Document acc sensor level interfacing, power supply
+++ Document connector pinouts (encoder i/o, encoder power, motor power, motor i/o, motor current drain measure, acc i/o, acc power)
+++ Document motor current drain measurement circuit
+++ RFM12 [Additional subsystem doc?]
++++ Document antenna design (graphics?)
++++ Document Soeren's standard RFM12 connector (graphics?)


** WIKI DOC [V1.5]
+ say i've added dc noise suppression ceramic disc capacitors to motors
+ say i've soldered 0,1ohm resistor to LM293D motor supply voltage and add a cable+connector
+ say i've added small (min. 1nF?) capacitances to acc_x,y,z
++ measure if this gives an advantage
+ say i've changed battery voltage divider to 1/3 to be able to use internal 2,56V adc voltage reference


** DOCUMENTATION
+ Document accu pack (5x NiMH = 6.0V, motor runs best @ 5V -> diode eats 0,7v)


** HARDWARE [V2] DOC
+ Added steering neutral position detector (using a light barrier)
+ No front/back and top lighting enable transistor base resistor (as this is an emitter thingy)


** TESTS
+ Test acc sensor fullscale select
+ (Test opamp current amplification) as soon as measure line is ready | DONE