lehrkraefte:blc:robotics:brainstorm

Roboter aus einfachen, günstigen Komponenten, mit Arduino, batteriebetrieben. Modular und flexibel.

Ikea hat günstige NiMH Batterien (4x 2400mAh für 7.-, 500 Ladungen), oder 4x 1000mAh für 4.- (1500 Ladungen). 6-fach AA-Batteriefach, betrieben mit 6 NiMH AA-Batterien. Spannung zwischen 6.5V und 8V, je nach Ladung und Belastung. Laut http://www.powerstream.com/AA-tests.htm sollten diese Batterien auch bei 2A noch 1.1V liefern. Der Roboter sollte kaum mehr als 1A ziehen.

Wahrscheinlich habe ich einfach zu billige Akkus… Spannung bricht auf unter 5V zusammen, Arduino stellt ab, reset etc…

Vorschlag: 4-fach AA plus Boost-Converter, wie z.B. dieser. Stark genug? Zu testen…

Sonst tut wohl dieses gute Dienste.

Spannungswandler

Mit vollen Batterien, halbwegs ok. Sonst Spannungsabfall…

DC-Motoren werden direkt ab Batterie versorgt. Arduino über Vin mit 7V. Kleine 5V und 3.3V Komponenten ab Arduino. Für grössere 5V-Komponenten (z.B. Servo), evtl. zusätzlich ein Buck-Converter, z.B. 3A, 1.2V Dropout, regelbar.

Alternative: LM298 Dual H-Bride mit 5V Output, (allerdings kein Buck-Konverter).

Variante

4x AA-Batterien, Step-Up auf 5V, Motoren direkt an Batterie.

Arduino über USB-Kabel an Wandler: Sicherung plus Trennung beim Programmieren.

Hauptschalter

Standard oder Mega 2560 (evtl. sechs pins motoren, 8 für motor sensoren…)

Anschlüsse

Als Stecker zusammenlöten (z.B. Motorensteuerung, Decoder).

Besser: Female pins auf Bauteilen.

Port-Expander

Optional: MCP23016, bis 25mA per Pin, in beide Richtungen

z.B. diese

Hinterrad: Hinterrad. Auch zu finden unter "furniture caster".

H-Brücke, Driver

z.B. die hier. Bis 0.8A (max 2x 0.25A = 0.5A wird benötigt). Frisst 2.5V bis 12V.). Möglichkeit via step-up Converter auf 5V zu betreiben.

Besser: ab 2V, bis 1.5A

Erste Tests mit 9110 basiertem Board ok, wird schon etwas heiss, wenn man den Motor blockiert. gleich aber günstiger.

Wird auch beim Blockieren kaum warm. Handlicher geht's kaum mehr

CHANGE Interrupts sind auf allen pins möglich, ein bis zwei Sensoren per Rad.

Lichtschranke als fertiges Board

Encoder Disc und noch günstiger

handliche Lichtschranke, mit Schraubenlöchern (10 Stück bestellt).

Weiteres Board

Limit Switches

IR / US Distanz

Counter-IC? Quadrature decoder?

Siehe z.B. hier.

PCBs

3mm Acrly, Eigenbau. Steckbare Halterungen für Arduino, ICs etc.

Evtl. zweistöckig.

Schrauben, Winkel etc.

1 Typ Schrauben M3 (Motoren). Lochgröse auf Platinen: 3mm passt.

Go Nuts

M3: 8mm, z.B. diese

z.B. Washers 3mm

Spacers.

Kabel, Drähte

Flexible Drähte (28AWG ok), Drähte für Motoren: 28AWG ginge auch noch, besser aber 24.

Dupont lines für den Rest.

Flexible kleine Drähte für Rest.

Interrupts für Motorendecoder. Einfachste Variante, 1 Sensor, steigende Flanke: 200rp → 32 Hz mal 20 Löcher → 640 Hz maximal Luxus-Variante Quadrature Encoder: 200rpm → 32 Hz mal 20 Löcher * 4 → 2560 Hz maximal

PWM für Motoren (2 pins) (Reicht 1kHz PWM Frequenz)?

Timer-Interrupts für Motorensteuerung? Pro: kein Polling. Cons: Stört u.U. den decoder. Einfache PI-Regler (Regelgrösse s oder v).

  • Batterie mit Spannung $U_B$ ohne Last (variabel aber messbar). Innerer Widerstand $R_B$ (variabel, muss geschätzt/angepasst werden).
  • Motor mit Widerstand $R_M$ (messbar, zwischen 3 und 5 $\Omega$), Induktivität $L_M$ (wie messen?) und Konstante $K$ für “Back-EMF” (Gegenspannung $K \dot{\vartheta}$). Trägheitsmoment $J_M$ und Reibungskoeffizient $b$ (kann nur abgeschätzt werden).
  • Strom $I$.

Summe der Spannungen ist Null: $$ U_B - R_B\cdot I - R_M\cdot I - L_M \cdot \frac{\mathrm{d}I}{\mathrm{d}t} + K \omega = 0 $$

Bewegungsgleichung (Drehgeschwindigkeit $\omega$) $$ K \cdot I = J_M \cdot \frac{\mathrm{d}\omega}{\mathrm{d}t} + b \omega $$

  • lehrkraefte/blc/robotics/brainstorm.txt
  • Last modified: 2017/04/30 16:54
  • by Ivo Blöchliger