lehrkraefte:blc:robotics:brainstorm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
lehrkraefte:blc:robotics:brainstorm [2017/04/30 11:24] – [Mathematik] Ivo Blöchligerlehrkraefte:blc:robotics:brainstorm [2017/04/30 14:54] (current) – [Mathematik] Ivo Blöchliger
Line 1: Line 1:
 +===== Ziel =====
 +Roboter aus einfachen, günstigen Komponenten, mit Arduino, batteriebetrieben. Modular und flexibel.
 +
 +
 +===== Komponenten =====
 +
 +==== Batterie ====
 +[[http://www.ikea.com/ch/de/catalog/products/70303876/|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. [[https://www.aliexpress.com/item/DC-DC-SX1308-Step-UP-Adjustable-Power-Module-Boost-Converter/32646930044.html|dieser]]. Stark genug? Zu testen...
 +
 +Sonst tut wohl [[https://www.aliexpress.com/item/PM-1625MU-DC-DC-Boost-Module-0-9V-to-5V-1-5A-Power-module-XZ9218-Low/32575475108.html|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. [[https://www.aliexpress.com/item/LM2596HVS-LM2596HV-DC-DC-Adjustable-Step-Down-Buck-Converter-Power-Module-4-5-50V-to-3/32584276093.html|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 ===
 +[[https://www.aliexpress.com/item/10pcs-G130-10-15mm-SPST-2PIN-ON-OFF-Boat-Rocker-Switch-3A-250V-Car-Dash-Dashboard/32739231057.html|Irgendwas halt.]]
 +
 +
 +==== Arduino ====
 +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
 +
 +==== Motoren und Räder ====
 +z.B. [[https://www.aliexpress.com/item/10PCS-LOT-Smart-car-tires-chassis-robot-suit-wheel-wheel-DC-gear-motor-motor-70g/32618498898.html|diese]]
 +
 +Hinterrad: [[https://www.aliexpress.com/item/10pcs-Smart-Car-Rectangle-Top-Swivel-Caster-Castor-PP-Nylon-Wheel-Diameter-30mm/32593190682.html|Hinterrad]]. Auch zu finden unter [[https://www.aliexpress.com/item/4pcs-NED-7425-10Kg-Universal-Swivel-Casters-1-Wheels-Castor-White-PP-Nylon-Dual-Roller-Bearing/32572389926.html|"furniture caster"]].
 +
 +=== H-Brücke, Driver ===
 +z.B. [[https://www.aliexpress.com/item/20pcs-lot-L9110S-DC-Stepper-Motor-Driver-Board-H-Bridge-L9110-Free-Shipping-Dropshipping/2026612039.html|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: [[https://www.aliexpress.com/item/1-5A-2-way-DC-Motor-Driver-Module-PWM-Speed-Dual-H-Bridge-Stepper-L298N/32688079201.html|ab 2V, bis 1.5A]]
 +
 +Erste Tests mit [[https://www.aliexpress.com/item/HG7881-HG7881CP-2-Channel-Motor-Driver-Board-Motor-Drive-Module/32342077231.html|9110 basiertem Board]] ok, wird schon etwas heiss, wenn man den Motor blockiert. [[https://www.aliexpress.com/item/H-bridge-Stepper-Motor-Dual-DC-Motor-Driver-Controller-Board-L9110S-For-Arduino/2038557946.html|gleich aber günstiger]].
 +
 +[[https://www.aliexpress.com/item/10pcs-lot-DRV8833-2-Channel-DC-Motor-Driver-Module-Board-1-5A-3V-10V/32753126106.html|Wird auch beim Blockieren kaum warm. Handlicher geht's kaum mehr]]
 +==== Sensoren ====
 +CHANGE Interrupts sind auf allen pins möglich, ein bis zwei Sensoren per Rad. 
 +
 +[[https://www.aliexpress.com/item/speed-sensor-Tacho-sensor-Slot-type-Optocoupler-Tacho-generator-Counter-Module-for-Arduino-for-Raspberry-pi/32694762407.html|Lichtschranke als fertiges Board]]
 +
 +[[https://www.aliexpress.com/item/Coded-Disc-Encoder-20-Holds-Motor-Speed-Sensor-for-Robot-Speed-Test-good/32395002796.html|Encoder Disc]] und noch [[https://www.aliexpress.com/item/50pcs-Coded-Disc-Encoder-20-Holds-Motor-Speed-Sensor-for-Robot-Speed-Test/32650023658.html|günstiger]]
 +
 +[[https://www.aliexpress.com/item/10pcs-2016-New-IR-Infrared-Slotted-Optical-Speed-Measuring-Sensor-Detection-Optocoupler-Module-For-Motor-Test/32632020600.html|handliche Lichtschranke, mit Schraubenlöchern]] (10 Stück bestellt).
 +
 +[[https://www.aliexpress.com/item/Smart-Electronics-F249-speed-sensor-module-4-PIN-Infrared-Speed-Sensor-Module-For-arduino-51-AVR/32717080801.html|Weiteres Board]]
 +
 +[[https://www.aliexpress.com/item/Free-Shipping-100pcs-KW-1-2A-Small-lever-micro-limit-switch/32546855308.html|Limit Switches]]
 +
 +=== IR / US Distanz ===
 +[[https://www.aliexpress.com/item/10PCS-TCRT5000-Infrared-Reflective-IR-Photoelectric-Switch-Barrier-Line-Track-Sensor-Module-For-Arduino/32671618820.html|Fix fertig]] oder [[https://www.aliexpress.com/item/20-pcs-TCRT5000L-TCRT5000-Reflective-Optical-Sensor-Infrared-IR-Photoelectric-Switch/1909098476.html|Eigenbau]]
 +
 +=== Counter-IC? Quadrature decoder? ===
 +Siehe z.B. [[http://www.mindspring.com/~tom2000/Delphi/Codewheel.html|hier]]. 
 +
 +=== PCBs ===
 +[[https://www.aliexpress.com/item/5pcs-2x8-cm-double-Side-Copper-prototype-pcb-2-8-panel-Universal-Board-for-Arduino-Free/750979541.html|2x8 boards]] oder [[https://www.aliexpress.com/item/Free-shipping-50PCS-LOT-2x8-cm-PROTOTYPE-PCB-2-layer-2-8-panel-Universal-Board-in/1890416777.html|diese]]
 +==== Gestell ====
 +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 [[https://www.aliexpress.com/item/100pcs-M3-carbon-steel-hex-nut-hexagon-nuts-hw10/32585008102.html|Nuts]]
 +
 +M3: 8mm, [[https://www.aliexpress.com/item/M3-Screw-50pcs-3x8mm-48mm-Match-M3-Copper-Cylinder-M3-Parafuso-Tornillos-High-Quality/32768440309.html|z.B. diese]]
 +
 +z.B. [[https://www.aliexpress.com/item/100pcs-M3-washer-Stainless-Steel-Form-A-Flat-Washers-To-Fit-Metric-Bolt-Screws-Hardware/32668814715.html|Washers 3mm]]
 +
 +[[https://www.aliexpress.com/item/WSFS-Hot-100-Pcs-M3-Male-Female-Brass-Hex-Stand-off-PCB-Spacer-Pillar-8mm/32775383334.html|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.
 +
 +==== Optionale Komponenten ====
 +[[https://www.aliexpress.com/item/10pcs-New-Character-1602-LCD-Module-Display-5V-Serial-Adapter-Module-IIC-I2C-TWI-For-Arduino/32375875531.html|LCD-Display]] oder [[https://www.aliexpress.com/item/10PCS-Yellow-Display-IIC-I2C-TWI-SP-I-Serial-Interface-1602-16X2-LCD-Module-New/2055099019.html|bizzeli günschtiger]]
 +
 +===== Software =====
 +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).
 +
 +===== Mathematik =====
 +  * 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
 +$$