Difference between revisions of "RaspberryPiRoboter"
From Ghoulwiki
Ghoulsblade (talk | contribs) (→2015-02 B) |
Ghoulsblade (talk | contribs) (→2015-02 B) |
||
Line 186: | Line 186: | ||
* baumarkt : noch ein blech, trennscheibe alu | * baumarkt : noch ein blech, trennscheibe alu | ||
+ | * baumarkt PAF tele : Tel.: 08441 / 789077-0 | ||
* säge für scheiben von alu-zylinder | * säge für scheiben von alu-zylinder | ||
** kappsäge (wie kreissäge, gerung/winkel einstellbar) ? hauptsächlich für holz | ** kappsäge (wie kreissäge, gerung/winkel einstellbar) ? hauptsächlich für holz |
Revision as of 19:53, 1 March 2015
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
// draft version for testing i2c with one motor and IR sensor counting motor rotations // I2C: rpi sends 1 byte, gets 1 byte in return (0 for commands) // commands other than read are handled outside interrupt, // wait at least 2*gStepCycleLen*100usec or until read 0xA6=gCommandExecLater returns 0xFF=COMMAND_NONE before sending next or it might be cancelled defaults: #define COMMAND_NONE 0xFF uint gTimeout = 800; // 6.4ms * 800 = ca 5sec char gPortCMode = 2; char gMotorSpeedMask = 0xff; // 0xff = full speed char gStepCycleLen = 64; // ca 64 x 100us = 6.4ms char cmd = (c >> 4); // hi nibble char x = (c & 0x0f); // low nibble bool a; 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*10; gMySensor = 0; gMySensorTarget = SENSOR_IGNORE; break; // motor duration x 10 case 0x1: gMainActive = 1; MAIN_MOTOR_PIN = 1; gMyCounter = 0; gMyCounterEnd = x*100; gMySensor = 0; gMySensorTarget = SENSOR_IGNORE; break; // motor duration x 100 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: switch (x) { case 0x08: gMotorSpeedMask = 0xff; break; // 11111111 8/8 100% case 0x07: gMotorSpeedMask = 0xfe; break; // 11111110 7/8 case 0x06: gMotorSpeedMask = 0xee; break; // 11101110 6/8 75% case 0x05: gMotorSpeedMask = 0xD5; break; // 10110101 5/8 case 0x04: gMotorSpeedMask = 0xCC; break; // 10101010 4/8 50% case 0x03: gMotorSpeedMask = 0x92; break; // 10010010 3/8 case 0x02: gMotorSpeedMask = 0x88; break; // 10001000 2/8 25% case 0x01: gMotorSpeedMask = 0x80; break; // 10000000 1/8 case 0x0A: gMotorSpeedMask = 0xFC; break; // 11111100 special case 0x0B: gMotorSpeedMask = 0xF0; break; // 11110000 special case 0x0C: gMotorSpeedMask = 0xC0; break; // 11000000 special case 0x0D: gMotorSpeedMask = 0xCC; break; // 11001100 special default: gMotorSpeedMask = 0xff; break; // full speed } break; case 0x8: gTimeout = x*10; break; // set timeout x 10 case 0x9: gTimeout = x*100; break; // set timeout x 100 // 0xA = read (see interrupt!) case 0xB: gStepCycleLen = x; break; // 1 is a little more than 100usec, step gets called once per cycle, 100u x 64 = every 6.4msec case 0xC: gStepCycleLen = x*10; break; } // interrupt: read case 0xA: switch (x) { case 0x0: i2c_mysend = 42; break; // ultimate answer case 0x1: i2c_mysend = 0x01; break; // version case 0x2: i2c_mysend = 0x00; break; // reserved case 0x3: i2c_mysend = (gMyCounter >> 4) & 0xff; break; // gMyCounter case 0x4: i2c_mysend = gMySensor; break; // gMySensor case 0x5: i2c_mysend = (gTimeout >> 4) & 0xff; break; // gTimeout case 0x6: i2c_mysend = gCommandExecLater; break; // command buffer, do not send new commands if this is different from COMMAND_NONE=0xff case 0x7: i2c_mysend = gMotorSpeedMask; break; // gMotorSpeedMask default: i2c_mysend = 0; break; // unknown } break;
einkaufslisten
2015-02 B
- baumarkt : noch ein blech, trennscheibe alu
- baumarkt PAF tele : Tel.: 08441 / 789077-0
- säge für scheiben von alu-zylinder
- GPS modul !
- PIC mit ethernet?
- grosse metall bohrer, mymax bisher = M6.5 (bohrkranzfutter max = 6.0mm) .... vermutlich geht nix grösseres
- heinz tipp: firma "fein" : profi sägen (oszillierend/vibrations), ca 300-400euro, aber für alu / fräs stück usw evtl geeignet
- heinz tipp: andi fragen wegen alu-zylinder scheiben abschneiden gegen bissl was in kaffee kasse bei dem gehäuse menschen ?
- pollin vielleicht 540 082 = 3,95 € 20m 8-adriges telefon flachkabel.
- pollin vielleicht 501 501 = 12,95 € kleinbohrer viele grössen, http://www.pollin.de/shop/dt/ODk0ODk0OTk-/Werkstatt/Werkzeuge/Bohrer_Fraeser_Bits/HSS_Minibohrer_DAYTOOLS_SBS_150_150_teilig.html
- pollin 64-560 290 = 1,00€ widerstandsdraht
- pollin 64 590 036 = 2,5 solar 95x65mm 0.4W, 2V
- pollin 64 810 054 = 4,95€ DCF funkuhr empfänger
- pollin 64 340 316 = 1,25€ zugmagnet 12v
- pollin xx 640 942 = 0,95€ lautsprecher
- pollin 64 712 221 = 2,95€ wifi antenne
- note : trio outdoor cam casing : 64-580 168
- note : baumarkt : trennscheiben, mal fragen was gerät dafür kostet und ob man damit alu stange 5cm durchmesser schneiden kann
- 1.50+1.95+2.50+0.95+3.95+2*1.95+1.95 = 16,70€
- dx.com 37-in-1 (tipp from pi rover book) : http://www.dx.com/p/arduno-37-in-1-sensor-module-kit-black-142834#.VOpVly6IxQJ
- block für sandpapier, vll noch einer im keller
reichelt 2015-02
- (schmirgel-/schleif-) (schnur/faden/draht), abrasive cord (mitchell, preti), mikro-schleifband
- niederohmiger wiederstand (0.5? 1.0?) der viele amper kann fuer L298 senseAB
- schobi tipp: kühlkörper an L298! sonst wirds bald zu heiss
- 10x NE555 timer/clock (solar voltage pump) 0,134 € http://www.reichelt.de/NE-555-DIP/3/index.html?&ACTION=3&LA=446&ARTICLE=13396&artnr=NE+555+DIP&SEARCH=NE555+
- andi: 1x SE 5724M http://www.reichelt.de/SE-5724M/3/index.html?&ACTION=3&LA=446&ARTICLE=17434&artnr=SE+5724M&SEARCH=SE+5724M+
- andi: 2x LHI 968 http://www.reichelt.de/SE-5724M/3/index.html?ACTION=3;ARTICLE=47522;SEARCH=LHI%20968
- probe kopf: steckerverbinder m
- probe kopf: krokoklemme
- FRAGE: L298 fast recovery dioden : (trr < 200 nsec), VF as low as possible, 1Amp schottky!
- 80x (6legs=18 x 4 + x) 0.05€ http://www.reichelt.de/1N-UF-AA-Dioden/1N-5819/3/index.html?&ACTION=3&LA=2&ARTICLE=41850&GROUPID=2987&artnr=1N+5819
- evtl noch opamp (+transistor) passend für SENSE-pin : strombegrenzung (wenn mechanisch festgehalten)
- 10x 0,151€ http://www.reichelt.de/MC-1458-DIP/3/index.html?&ACTION=3&LA=446&ARTICLE=11319&artnr=MC+1458+DIP&SEARCH=opamp
- 8x 0.193€ hex inverter http://www.reichelt.de/ICs-74HC-DIL/74HC-04/3/index.html?&ACTION=3&LA=5&ARTICLE=3123&GROUPID=2930&artnr=74HC+04
- 8x 0.25€ hex inverter http://www.reichelt.de/ICs-74F-74ALS-SN75-/74AC-14/3/index.html?&ACTION=3&LA=5&ARTICLE=58123&GROUPID=2937&artnr=74AC+14
- FRAGE: A non inductive capacitor, usually of 100 nF between both Vs and Vss, to ground. (andi tipp: ceramic=gut, reagiert schneller für kleine störungen)
- condensator 100nf 2*18=36x : 0,034 € http://www.reichelt.de/Vielschicht-bedrahtet-X7R-10-/X7R-2-5-100N/3/index.html?&ACTION=3&LA=2&ARTICLE=22853&GROUPID=3162&artnr=X7R-2%2C5+100N
- FRAGE: O1 vs ground = ok, O1 vs O2 = fail, sensA sensB resistor to ground nötig?
- schobi tipp : strombegrenzung via sense-enable : opamp als comparatur schalten, kein transistor nötig: siehe obenrechts http://en.wikipedia.org/wiki/Operational_amplifier
- fädeldraht! isoliert, schmilzt bei lötstelle (reichelt 20euro für 4) 4er pack=20 euro: zusammen kaufen und teilen, andi+schobi nehmen auch je eins für 5eur. (stift/werkzeug?)
- fädelstift 20euro http://www.reichelt.de/F-DELSTIFT/3/index.html?&ACTION=3&LA=446&ARTICLE=55442&artnr=F%C3%84DELSTIFT&SEARCH=f%C3%A4delstift
- 3d drucker kopf(ersatzteil) + filament (munition?) ?
- kleiner gasbrenner für blech-löten : 14,24€ 1300° http://www.reichelt.de/Gasloetkolben/PETROMAX-HF2/3/index.html?&ACTION=3&LA=2&ARTICLE=128671&GROUPID=4113&artnr=PETROMAX+HF2
- PIC mit usb? (und i2c oder ähnlich)
- 2,56€ USB(otg=host+client)+I2C DIL28 32k http://www.reichelt.de/24FJ32GB002-ISP/3/index.html?&ACTION=3&LA=446&ARTICLE=96601&artnr=24FJ32GB002-ISP&SEARCH=PIC24FJ32GB002
- 3,11€ USB(otg=host+client)+I2C DIL28 64k http://www.reichelt.de/24FJ64GB002-ISP/3/index.html?&ACTION=3&LA=446&ARTICLE=96607&artnr=24FJ64GB002-ISP&SEARCH=PIC24FJ64GB002
- 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 5x stepup : http://www.pollin.de/shop/dt/NTY1ODQ2OTk-/Bausaetze_Module/Module/Step_Up_Schaltregler_Modul_DAYPOWER_M_SU_XL6009.html
- reichelt : 0.28€ http://www.reichelt.de/MC-34063-A/3/index.html?&ACTION=3&LA=446&ARTICLE=39640&artnr=MC+34063+A&SEARCH=step+up
- reichelt : http://www.reichelt.de/MC-34063-AP/3/index.html?&ACTION=3&LA=446&ARTICLE=108126&artnr=MC+34063+AP&SEARCH=step+up
- reichelt : http://www.reichelt.de/MC-33063-AP1/3/index.html?&ACTION=3&LA=446&ARTICLE=39636&artnr=MC+33063+AP1&SEARCH=step+up
- reichelt : 3.25€ 0-3v to 5v 200mA http://www.reichelt.de/MAX-756-CPA/3/index.html?&ACTION=3&LA=446&ARTICLE=108115&artnr=MAX+756+CPA&SEARCH=step+up
- reichelt : 3.55€ 2-16v to ..12v 24w http://www.reichelt.de/MAX-1771-CPA/3/index.html?&ACTION=3&LA=446&ARTICLE=108090&artnr=MAX+1771+CPA&SEARCH=step+up
- reichelt : 6.45€ 2-16v to 12v 50mA http://www.reichelt.de/MAX-642-ACPA/3/index.html?&ACTION=3&LA=446&ARTICLE=11246&artnr=MAX+642+ACPA&SEARCH=step+up
- sortimentkasten 10,50€ http://www.reichelt.de/Sortimentsboxen/RAACO-PSB-4-32/3/index.html?&ACTION=3&LA=2&ARTICLE=15076&GROUPID=5483&artnr=RAACO+PSB+4-32
- 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
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