RaspberryPiRoboter
From Ghoulwiki
Contents
Info
Plan : 4/6-beinige Spinne mit RaspberryPi als Steuereinheit, Webcam, ferngesteuert via UMTS/LTE stick, Offroad gelände (noch nicht fertig)
- Beine 2 gleidrig
- 1 achse zw Unterschenkel und Oberschenkel
- 2-3 achsen Obersch. zu Körper
- Beine lang,dünn,leicht, z.b. dünne stange aus metall oder holz
- Beine ca 0.5-1m lang, stelzende bewegung
- Outdoor verwendung, z.b. wiese, waldboden, also mittelschweres-schweres gelände mit hindernissen und pflanzenfasern die räder oder raupen antriebe nicht passieren können
- treppensteigen sollte auch möglich sein
- webcam + umts stick für fernsteuerung
- später dickere plastiktüten-hülle um körper für schutzt gegen regen
- evtl solarzelle
- gewicht ca 2-5kg bei 4 beinen mit je 30+40cm = theoretisch ca 150cm spannweite mit voll ausgestreckten beinen, in praxis aber immer gewinkelt
- lowbudget projekt, ziel < 10 Euro pro achse(Motor+Getriebe+Sensor) (4 beine mit je 1+3 achsen = 16 motoren)
- gleichstrom motoren mit "getriebe"/übersetzung durch mechanik statt schrittmotoren, ca 3-5 euro / motor
- materialkosten spinne inklusive raspberry+webcam und batterien vorraussichtlich unter 300 euro
- siehe auch RaspberryPiRoboter-archiv
Gallery
Hauptprobleme
Motoren
Lowbudget, 4 Beine a 1+3 achsen -> 16 Motoren, also vermutlich Gleichstrom Motoren
- https://docs.google.com/spreadsheets/d/1iaU6sRysh9EPKOIowLAqT95YozVn-eboqtOssOtJt44/edit?usp=sharing
- https://docs.google.com/spreadsheets/d/1-13-MSCfAaMvfJuHTINGuwiT-5M1VMiHLqcN-7GVc-Y/edit#gid=0
- neue motoren pollin 2014-11
- http://www.pollin.de/shop/dt/MDM0OTg2OTk-/Motoren/Gleichstrommotoren/Racing_Motor_DAYPOWER_75030.html
- http://www.pollin.de/shop/dt/NzI0OTg2OTk-/Motoren/Gleichstrommotoren/Racing_Motor_DAYPOWER_1070002.html
- http://www.pollin.de/shop/dt/ODI0OTg2OTk-/Motoren/Gleichstrommotoren/Racing_Motor_DAYPOWER_70045.html
Gewinde
- statt getriebe aus zahnrädern (teuer,kaum verfügbar) werden gewindestangen verwendet, billige meterware im baumarkt, versch. steigung(feingewinde)
- querverstrebung zwischen ober+unterschenkel ähnlich muskel, abstand der befestigung zum knie/achse bestimmt tradeoff schnell vs kraftvoll
- http://de.wikipedia.org/wiki/Metrisches_ISO-Gewinde
- führung mit kippbar gelagerter mutter
Auslenkungserkennung der Beine
- IR lichtschranke: an scheibe an gewindestange, 10 IR-LED+sensor paare für €1 pollin -> detect auf PIC chips, zähler mit i2c an raspberry pollbar
- kontakt bei gewindestange zur regelmässigen justierung einmal pro durchlauf. bei zahnrad+schnecke an gewindestange auch am zahnrad.
Ideen :
- verbrauchs-strom-messung der motoren
- regelmässige korrektur mit drehbarer webcam
- gefederte normalhaltung und motoren nur für auslenkung -> kein strom -> null position
- mausrad-sensor verbauen (1 kugel maus mit wheel = 3 sensoren -> 5-6 mäuse)
Energie : Batterie + Solar
- solarzelle mit weniger spannung als akku zum laden braucht : entweder einzelne batterien laden, oder step-up wandler für spannung
- motoren + raspberry + webcam + umts stick
- vermutlich 2 spannungen benötigt, a) raspberry, b) motoren
- 88gramm, 8watt 5v http://www.conrad.de/ce/de/product/759578/BEAR-GRYLLS-SOLARPANEL-8-W?WT.ac=bs_technik_preis
- 700g, 5watt 12v https://www.pollin.de/shop/dt/NzY5OTA0OTk-/Haustechnik/Solartechnik/Solarpanele/Solarmodul_DiVolta_DS_OG5_12_12_V_5_W.html
- ladegerät : 39,95 € https://www.pollin.de/shop/dt/Nzg3OTcxOTk-/Fundgrube/Modellbau/Modellbau_Ladegeraet_DF_MODELS_I_Peak_7_1.html
- balancer : 12,95 € https://www.pollin.de/shop/dt/MDM4OTcxOTk-/Fundgrube/Modellbau/Balancer_Ladegeraet_DF2_LiPo.html
funkverbindung
- optional da umts-stick genutzt werden kann, aber interessant
- wiki: Richtfunkantennen lassen sich bei Sichtkontakt mehrere Kilometer überbrücken. Rekorde bis zu hundert Kilometer
- schobi longrange bluetooth bis 1km bei sichtverbindung
PIC features
- matrix at http://www.microchip.com for 8/16/32bit
- I2C bus <-> raspberry comm
- ADC,DAC,PWM,timer,USB,Ethernet,watchdog,
- segment LCD
- ICSP programming, JTAG, single wire debug
- Configurable Logic Cell (CLC) : programmable combinational and sequential logic (also flipflop!, Operation while in Sleep), on-chip interconnection of peripherals and I/O micro e.g. PIC16F1713,
- Zero Cross Detect : AC signal crosses through the ground potential, e.g. audio, wave.. micro e.g. PIC16F1703
- Slope compensation : powersupply micro
- CTMU Charge Time Measurement Unit (CTMU) e.g. PIC24F08KM202
- Input Capture (interrupt) !!!! e.g. PIC24FJ16GA002 example
- CWG complementary waveform generator micro
- PSMC Programmable Switch Mode Controller : PWM, motor,power... micro
- nanoWatt (power saving, hibernate)
Bauteil beschaffung
- pollin
- conrad
- reichelt
- https://www.wegertseder.com/ riesen sortiment kleinschrauben, auch gewinde schneideisen! m4 besorgen
- http://www.helisport-pratter.de/ andi tipp : allershausen modellbauladen, riesen auswahl
- http://www.voelkner.de/ : texas instruments 13 euro board mit usb jtec debug
i2c protocol notes
// first draft version for testing i2c with one motor and IR sensor counting motor rotations char cmd = (c >> 4); // hi nibble char x = (c & 0x0f); // low nibble switch (cmd) { // read case 0xA: DEBUG_SET_RC3 switch (x) { case 0x0: i2c_mysend = 42; break; // ultimate answer case 0x1: i2c_mysend = 0x01; break; // version case 0x2: i2c_mysend = i2c_lastdata; break; // echo last command for i2c testing case 0x3: i2c_mysend = gMyCounter; break; // gMyCounter case 0x4: i2c_mysend = gMySensor; break; // gMySensor case 0x5: i2c_mysend = gTimeout; break; // gTimeout case 0x6: i2c_mysend = gCommandExecLater; break; // command buffer, do not send new commands if this is different from COMMAND_NONE=0xff default: i2c_mysend = 0; break; // unknown } break; default: i2c_mysend = 0; gCommandExecLater = c; break; // see ExecCommandMainThread } // outside interrupt: ExecCommandMainThread: switch (cmd) { // start/stop motor commands case 0x0: a = (x==0)?0:1; // 0=stop gMainActive = a; MAIN_MOTOR_PIN = a; gMyCounter = 0; gMyCounterEnd = x; gMySensor = 0; gMySensorTarget = SENSOR_IGNORE; break; // motor duration case 0x1: gMainActive = 1; MAIN_MOTOR_PIN = 1; gMyCounter = 0; gMyCounterEnd = x*10; gMySensor = 0; gMySensorTarget = SENSOR_IGNORE; break; // motor duration x 10 case 0x2: gMainActive = 1; MAIN_MOTOR_PIN = 1; gMyCounter = 0; gMyCounterEnd = gTimeout; gMySensor = 0; gMySensorTarget = x; break; // motor sensor case 0x3: gMainActive = 1; MAIN_MOTOR_PIN = 1; gMyCounter = 0; gMyCounterEnd = gTimeout; gMySensor = 0; gMySensorTarget = x*10; break; // motor sensor x 10 case 0x4: gMainActive = 1; MAIN_MOTOR_PIN = 1; gMyCounter = 0; gMyCounterEnd = gTimeout; gMySensor = 0; gMySensorTarget = x*100; break; // motor sensor x 100 // config commands case 0x6: gPortCMode = x; break; // PORTC "LEDS" 0=reserved, 1=counter, 2=sensor, 3=counter-mod8-circle-LEDs 4=like 3 but slower case 0x7: gMotorSpeed = x; break; // full speed = 0x0f (motor on if (c & mask) <= speed, ~16msec cycle) case 0x8: gTimeout = x; break; // set timeout case 0x9: gTimeout = x*10; break; // set timeout x 10 }
einkaufslisten
reichelt 2015-02
- fädeldraht! isoliert, schmilzt bei lötstelle (reichelt 20euro für 4)
- 3d drucker kopf(ersatzteil) + filament (munition?) ?
- kleiner gasbrenner für blech-löten
- PIC mit usb? (und i2c oder ähnlich)
- transistoren tipp
- bipolare transistoren guide
- 0,042 € BC 560C :: Transistor PNP TO-92 30V 0,1A 0,5W http://www.reichelt.de/BC-560C/3/index.html?&ACTION=3&LA=446&ARTICLE=5028&artnr=BC+560C&SEARCH=BC560C+
- 0,034 € BC 557C :: Transistor PNP TO-92 45V 0,1A 0,5W http://www.reichelt.de/BC-557C/3/index.html?&ACTION=3&LA=446&ARTICLE=5019&artnr=BC+557C&SEARCH=BC557C+
- 0,034 € BC 550C :: Transistor NPN TO-92 45V 0,1A 0,625W http://www.reichelt.de/BC-550C/3/index.html?&ACTION=3&LA=446&ARTICLE=5014&artnr=BC+550C&SEARCH=BC550C+
- 0,034 € BC 547C :: Transistor NPN TO-92 45V 0,1A 0,5W http://www.reichelt.de/BC-547C/3/index.html?&ACTION=3&LA=446&ARTICLE=5007&artnr=BC+547C&SEARCH=BC547C
- pollin
- 0,95Eur lautsprecher http://www.pollin.de/shop/dt/NzUwOTUzOTk-/HiFi_Car_HiFi_Video_TV/Lautsprecher/Lautsprecherboxen/TV_Lautsprecher_Y513_836_10_W.html
- 1,50Eur 10 AA mignon bat http://www.pollin.de/shop/dt/MjY4ODI3OTk-/Stromversorgung/Batterien/Alkali_Batterien/Mignon_Batterien_MAXELL_Alkaline_10_Stueck.html
- 1,95Eur LCD 320x256 pixel http://www.pollin.de/shop/dt/MzE1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Grafikmodul_320x256.html
- 2,50Eur laufrollen 4st http://www.pollin.de/shop/dt/Mjk4NzU1OTk-/Heimwerkerbedarf_Eisenwaren/Laufrollen_Raeder/Laufrollen_Set_22_mm_4_Stueck.html
- 0,95Eur lichtschranke http://www.pollin.de/shop/dt/Nzk4ODc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Optoelektronik/Gabellichtschranke_SHARP_GP1S93.html
- schwarze feine litze (IR-sensor <-> stecker)
- sortimentkasten
links
- note : cool spider robot https://www.youtube.com/watch?v=-vVblGlIMgw
- schobi kollege quad-copter bausatz http://flyduino.net/Quadrokopter-Set-25cm-X2216_1
- http://issuu.com/philpremium/docs/c_t_wissen_-_quadrokopter_-_das_kom
- http://www.mikrocontroller.net/articles/Modellbauservo_Ansteuerung#Signalaufbau
- stirling engine: fire(candle) + air = rotation, https://www.youtube.com/watch?v=xF15NA4vR2w