You are on page 1of 13

r'

t,'J
,!:

..F

.]"" I

5(

- ELETfnoillCn Di(embre 2009 2010 lI / 6enna0

fir_,i^r^t;..--

tr,l, !.rllf Y .1..'r,r, rlr r,h,i l r L p ! r l fr. f r n . r r f L , ! 1 rr l i . t . r r / . r i h b : . rI r , , r 1 . . l n J r , . . r/l / . i r . r


. f l i , r f . r ! i L . ( : L ,\, , l . n L ! ri L i [ , . ] r L , l . r r / f m,,,.! r.|:r r1.r ,!f' , t r \ r r n rr . g r \ l t L iI i r i L r \l.r f\,n \ f r L\.:ut,,,tf

l , r . i . . Lr . L f . r , r , - L r, I .,\lf:rli Lrn.r,J\\.rrl , 1 . 1 ! t \ | l i \ , . , , t , r r r i . l h ! 1 . . , , n , . t . i r t \ 1 r , ,
L,r., li \ L, l.r .l I I j.r.,l . Ir,,r.LL Lr I r|rlir!.! L . i , r l ! , , , ,! , ! ! , . ! , r : l , l nrL frr !lr ii t l, \ | tL fri ri ir!.tfitr ( i ..r.L,, L\ !iL.f 1,,,-.,,, .. L L' l L , . r i t ,r r . r t r L t f . i r . , r I u L L L r LrL r / . I l f r : .r!,,I !r,., L.L.

,, r r i L I r f . t . \ . u r.r qL,i q r ! , . . 1 t 1 lL , r'.rr!,.1.r .r i i i L . !ir L(, t'r1,,1 ft*. !.,. r frL\, ff.rl ( hr LL!rnr.(.r . f n,r.ll, / L , . r l i f r t r r t , L r,N L . f ! L r r f r i n ! ' : . r l Li,rrllif. l. f' t,. \I r l . f ' f . r r l L . t , , , r , , f f r q r . - r f r L , r. L f l . l . r . i t . l .r g,l:,,rf J. l.lf,r L. r r ffrlli .,. \,\ ,.,,' .i.rfrr, r\'iii .r!l L,(t.r'L I ni .ir ll! rr ftrl.r.L i /tr \',!f .. lrl L:.f.r,l r.ir1,,tiu {.rrhr. .1 I urrrLiLLi f lr,i ! q r t ' f \ , I L ' I fr rii rli .ffL,.rglL),. n r r s L r L i r fq , r i r r . i L , . r i . r L.r Lr;f(, ff.:i(, if L fri.rLi:tuLlL(f rf ni r,l r L , r , L \ . I , f . n ' . r L L ii ! t t , L , ,r . u ( \ h \ , r \ h L .i i \ /.n|.. 1.,,,. rrnr Lr r f.!f( ll,f L,!|L r.. rl.l

r,, i . ,,1r l..rnr ! . r r r r r r ,t . r r r , l . r /L j L .


L LL L r r ' i r , , i . r r L l r.,r.tftr rL.-..r:rt ' r., | , ..r ! l r L L r , .i t , j . . | r . r 1 1 L , r, L. . . r r f i
lifr.f:r1.r/ Lit ri,LtLr.l i rif r,r1.1i \rLfrL.i!1Li , (r, !L,nf ,,.r,,r. I ri.rl(,f,,,rLt!, . t. I r t a : rn i , , l i ( , . r : , , \ !

R@T RAGS$O AAZAffi

,lrLi rt n , / . r f r f , . .lf .ffJL,.r r. ,.j rr.!ll,l lrtrfri f,., /frirf. \, . . t r , 'L i r , r . 1 . r ' ' , q .r L L j ( l t , , r r r , , r L. r r t , L . r .( rt .,.il,r ! fll.r ti.LtL rrfr,.r.,r .lr ir.rrL i !L urfr.r,itt \. frL)g,,1r ,i,r. r(.1,,t li\.1 , frJL(, J p,Lllr.r;,,r,.11 Ll .Llt,,,J In.r, \,i.

1if ql.rlill il.r Li .rL li rf \: ifruli r'll L!rl. , r , , \i r : r r t , i i . l l ' / . 1. tlL i I riq.i,, ri r,(t.lrl(l d ! ' . \ t L r r ! i r . n r . r t I I j l l t r

ELETTSONIC I F D.eiib . llli! r Iri ]i ll i

55

Schemaa blocchi
S(hdadi(ontrollo

()

Pus

Ptct8F2550

parlare dei costi.L'unico Punto fermo di Partenzaera quello di prei'edeleper i vari movimenti l'ntilizzo di seNocomandida tiPo di modellismo dello stesso quelli usati nel bipede,in modo da permettereun dutilizzo detli stessi ed una semplificazione generaledal punto di vista elettromeccanico. Altro Punio di partenzaera prevedereurL controler dedicatoalla gestione dei seNo. in modo da svincolare il microcontrolloreprinciPaldal compito pi gravoso,con il valltaggio di ottenere un firmwale pi snello ed na gestione perifeihe. Uno ottimale de1le pir impo anti per aspetti degli come oPen-soulce un Proteto questo di prevederePi di una piattaformadi sviluPPocheun prodotto finito, dato chea questo pensanogi molte aziendecinesi che staruo inondando il metcato di robot per impieghi ldci, dalle forme pi svariaie.Per tale ragione era nostro interessePredisporre degli input come pulsanti (o comandoremoto)failmenie

riutilizzabiliperaltreaPPlicazioni; anche la scheda di controllo riuiilizzata pff atli pu essere robot. Pensando al nostro ragno comead un sistemadi svluppo, era nosira intenzionePotervi metterenelle condizioni di svilupparea vostro piacimento il programmadi gesiione, Prevedendo un sisiemamolto sempice ed immediato per la progammazione de1microconirollore.Come vedremoin seguito,non serve m quanro un ProSrammatore USB ed un un sempliceca\,etto softlvarc sono sufficienti per a programmazione consentire del microcontrolloredella scheda di controllo. IL ROBO Adessoche finalmenteabbiamo entriamo chiarito le premesse, nei dettagli del nosho Progetto. stata La nostla pdma selta ]'utilzzo di quattro gambecon du gradi di libefta di movimento, per un toiale di otto Sradi d iibertj questo il minimo una forma per poter realizzare

simile ad ull ratno ed assicurare Tale dei movimenti acceitabili. sceltaimpone l'utilizzo di uJl controller per otto servocomandii allo scopoabbiamosceltoun modello reperibilenel catalogo della Futura Elettronicarilmodulo MSSC (Micro Sria Se o Controller),cheplevede tutta un serie di funzioni quali il conirollo della velocitae dela posizione indipendente per ogni servo. A questopunto siamopartiti on il disegnodlla parte meccanica,la quale si ispirata al robot bipede e quindi si realzzacon la siessa tecnica utilizzata per gl stampati di circuiti elettronici. Con un attento uso delle forme siamoriusciti ad evitardifficoltosesaldatureo incollature, e, comevedremo.per l'assemblaggio snfficinte del semplic la biadsivo.Nella sostanza, meccanica formata da rm corpo base sul quale sararro fissat i servo adibiti ai movimenti e dai quali si dipartono le zampe, in due questeultime reaizzate con una forma pezzi,cascuna

56

- gLETTnoIlCn lil 2010 200s 0icembre / Gennaio

"q
molto sinilc queladei ra gni. Un pezzosupplcnentare statopensaioper esserc Postoal disotto di tutta la strLriiuraallo di inobllstirla, in nodo da scopo flessol tndenza.rlla eliminarc ntipica della vetron'te. All fnre c siamoac.orii clequestopezzo non del tlrtto fonclamntale c P essere omessoa patb di rlna lie\' clef ormazione accettarc dclla struttura duranie i1 funzion quesk) namciio. ConsiSliamo casodi reaizzare lt strutiura con nr della vetronitedoppia faccia, modo che la ramatrra rimanga e al suo rafforzamencolrirbuisca to. In aliemati!a pu andar bene q lsiasiatro materalepurch leggeroe rigcto,comc alluminio (spesso 2 mm) o tcxiglass dellospessore dl n. Ln bcla |efniciata di colorcncro oPacocolscntir di oitenreun aspetto moltosimilea qcllodci ragni !eri, anchese nLrlla\'ieia ' di costruircuna 'cafrozzria a condell piacimenk:ad cscmpio dclla spugna coloraia.I1 discgno prie meccafica riportato m qucstcpagine,ma collsgliamod i rclatir,fil dal nostro scaricnre sito. Tlrtti i fori riportati in essi fanno o|viamente riferimenio ai in scr\comandi 5209Lriilizzat

\-:

'

'r

/--

i-_

-,

ti

l.l

Qui soprc llustrata la dina per ]a realizzazione dei partcolari meccanici componentila base e le zampe del robot ragnoi ildisegno i scala 1:2,5 cio tidotto al40 %. ln alto, le dimensionieettive del robot.

MECCAI{ICO ASSEMBLAGGIO de Non appenain posscsso pczzi meccanici, poiete pfocedefacendo re al loro asscmrlaggio, riferinentoa dsegni(rdallc foto pubblicaie.Per ogni zamPa doveteaccoppiare cuescn'ocomandi che servirannouno Per il ed r1o movimento di rotaziorlc, per alzac o abbassafe la gamba. L'urione tra i due pu essere ottenuia cordel biaclesi!o,chc dale prove da noi efietiuaie ha c fetto benetli sforzi meccanici consente un elentuale rccuPc(l L'nlcollaggio dei servocomandi.

senz'alirol soluzionepiir performante,nra assicurate! i di uijlizzare delabuona colla per impicghi spccificisu Pl.stiche. Nor abbiamoprcvisto complcati scttaggisofh{arc pcr posiziona rc i scio in mo.to ottinale,in quanto se seguirete la procdura qui descriitanon a\.reiealcl.r1 ploblena. ln plaiica bisognaporiar'etutti i seNocomandiin posi ziolredi neutro e pcr farc quesio poteie uiilizzare un pposito icstcr Pcr ser\lrcomandroPpure a!vale\'i dcllo stesso circuiio

i quac, al',ccen di controllo, srone, statoprogrammatoper portarc ttti i se o in posizone di ogni di neuiro. La squadretta servocomando Gluellatonda) Ya fissaiaalla siruttura basetramite vit,in modoclci due pjccole sen o rsultino allineaii. Sula squadrcttaci sono s\.aritifori, qlrcllipi adaitia utlizzate raggiLrnsere lo scopo.Assemtrlate le zampeunendo i due pezzi con una vii .la 3 mm e relatii o dado (o ncollat)ed allineaieenr modo cheiuite e qu.ttro abbiano

ELETTR0ilICn lil - Dicembre 2009 / Gennaio 2010 57

6
r.. &-,
r sui quattro servo chahamo i le compito d alzareo abbassare zampe.Abbiamo scctoquesta posizionedi neutro Pcrch permeitevadi non mettcresoito sforzoi servoc qund contcnere di corrcite da gli assorbimenti

I,r.
F'EF

U3
2

Guardandoil ragno frontalmcnte, la distanzatra i punti di PPo8$o delle zampc dovr risltare di circa22 cm e ogn zampadoortogonalecon la strui vr essere Utilizzate dei tura meccanica. disianziaiorie i fori PredsPosti soPraal lo stamPato per fissare robot e dalle fasceite Per radLare ordinatameniei cavi dei se G comandi.Frontalmeniesi dovr ad ultrasuoni, inscrireil sensore che,anchse non strettamentc aggiunSeun ioccodi necessario/ veridicit simularldola Presenza degll occhi. tL ctRcullo Dl col{lRollo Come poteic vedere,lo schema elettricodel circuito che govema il robot ragno llon affatto com plcatoed tutto incentrab sul l'Lilizzodi un microconirdlore La scelia caduta P1C18F2550. su qestoPIC Per s\.ariaiimotivi: in prmo luoto la Possibilitclj farlo funzionarecon un clockdi 48 MHz; poi per la disPonibilit del moltulo USB iniemo, che ci permette,iramlte LrnaPPrlca-

0sc

A lavoro angoazione. la stessa robot s appotgiando uliimato, i quattro un tavolo, Punti d'aPalla Parte corrspondenti poggio
t

termnaledelle zamPesr dovranno trovarea qualchemillimetro dal tavolo ed il roboi Pogge-

- ELETTn0illCn lil : 2010 2009 Dicembre / Gennaio

I inn, --"uLt
rlo;tto-l -- r

I ll

I'n

cl

lo

"0,e
Elenco Gomponenti!
B 1 : R 5 1 0k o h m R 6 : 5 6k o h m F 7 r 1 8k o h m R 8 ,R 1 1 1 : 0 0o h n B9: 330 ohrn R 1 0 :3 3 0o h r n C 1 ,C 2 : 1 0 0 0 / r F 2 5V L C3. C4: T00 nF multistrato C5:10/JF 25VLeettrolitico

C6,C7:22 pFceramico C8=C11r 100 nFmultiskato 20 MHz Q1,Quazo ul:1M2576-5 \-)2. LM294O U3:P1C18F2550-l/SP (\1F852) U4:PNA46O2 NISSC: Dr ver MotoriMSSC SRF05, Modulo ultrasuoni SBFO5 MACC:Modulo accelerome-

tro lvl-ACC D1:1N5819 LD1:Led3 mmrosso LD2:Led3 rnmverde L1:IndLrttanza 400gH BZ1 : Buzzer senza elettronica SW1:Deviatore a slittalVlV P1+P5: lVcrcswtch

- Sirip fmmina2 po i - Strip femmina 5 pol ' Skip femmina 6 poli - S t r i pf e m mn a 5 p o l i 9 0 " - Skip maschio 6 po i - Viie l0 mm 3 MA ' Dado3 MA Dissipatore Servornotore SEBVO20S (8 pz.)

Bootloadet di programmare dircttamente il PIC da PC senza 'ausilio di alcl pro8ramlnatore. Abbiamo comunque previsto il connettore J6 compatbile Microchip PICKIT2. da sare per a pro$ammazione classi ca.L'alimentazione sdoppiata e prcvede un'alimentazione con regoatore ineareper la parte di contlollo e quella che alimenta i PIC, ed una sezione switching pI l'alimentazione di potenza.Perla regoazione

lineare abbiamo indicato l'utilizzo di un integrato tipo LM2937 o LM2940. perch del tipo Low Dropout, or.veo a bassacaduta uscta/ingresso e perci in grado di stabilizzare anche con basse tensioni di ingesso. Senzamolte preoccupazoni potete adottare un LM7805, a patto di usae un'alimentazione Bupriote ag]i 8 volt. Questo p mo stabiizzator non per in grado di fomire tutta la couente ncessariaai servocomandi che ad un primo

cacolo abbiamo valutato in chca 3 A. O!.viammte il ctcuito non assorbecontinuamente questa corrente, ma duante le valie fas di manovra s possono verificarc mote oscillazioni nell'assorbimento. Un alimentatore di tipo 1ineare non avrcbbe consentito un buon rendimento e, sapendo che i robot sar alimentato da una batteiia, si deciso di adottare un alimentatore di tipo switching Step-Down, realizzato ttamite lm LM257G5. Questo ci pemefte di

- Dicembn ELETTEoillCn 200S 2010 / Cnnajo

59

deiservocomandi Leconnessioni
c ascuno.La co regare in bassoa de dlsegno sa in questorlqLradro toialir gestt . s s ( ! i g l i n o l l o a ! l L r e l l .( l i r l L k l o c c l i. l l n c i t i . ( ( l r c { l b i p c d e , abea 1 nL.Lrirrro ffe\ islo Lrn n l..oar1 MSSC dedicato. f i cefle rLtiliTTo d o a L ln r t r ' . r o s s .lel s..sorc l'\.\]6(:, Per n pf.aigorazone zampaatr0red6t3 . i s l o n e , L l i . i i D r oc h c l t r r N r n r e Elv62lon mpa anter oG d6va p r c v r s t og c s h \ c c e s t t . ' r n l r o angoaz ore zarF porcro, dst3 s t c s s ot c c . o n r . n d o ( l c l b i l c d , Erw:ioneapa p6Elo d6na qlrindsc rolir Lrs.frqrsi. zampapsrr rcs i n,a AioraTone modulo[/SSC, f u n r i ( l r c d . \ r c t r .f i ' . l i z z . r c i l n ! Erwazioneanpa p6terlor snlstc l c'coi..do.l..critr, sL'.rticolo ancoauDne:anpa arer0,e s sva \Lrl dcl loLd BlPe.lc pL.Lrlic.h, Elezlone lampa.nt o shrst.a l1rlmc'fo L3l drll. ri\ si. L. rc s i s t c n z cl { 6 e . l R 7 r . t p f c s c n t . l l l o rm prtilorcdi icnsiolc utilizzr n r p c r t g g e r i r n n r i t . i l c i . . l c \ a n a 1 r , g i cA o NI Lil PIC i r'rorc drlla r.i(t rli rlincrl.zLo.c. i r r ( r ( ] n cr n r l c s s r Ln nrssrnrn \ olt il chc pcrnrtte, .li 20,.rS t l i z z . l r d oi l . o . \ r f t i n ' r A D C rld l)lc1:on risolur(nc r l{rLit. di l1isLufl.on una frc.jsjor0 di 20 nr\'. ^bbirno ilss.lo ln n n n . t c f s i o n . d i . l i c n t . r z i o dci Ltu.liil n c i n 6 , 5\ ' , i . l r s o L i ( , r()Lt non sl nruolc r F)ft. n o s t . t od i C ) F Ft L r i t i s . r \ . c o r . l r c l l jl p.r cvt.fL' (1s..c.f. r\:ctssr\ Ln cceLeroneir) pacco per.ccogllere con un alimntare robot D r c n t ch L . t t . Q L r . s t o\ r l o r c c Attu.!nr!tc tipo MMA7260QT. fornire un battcria chepossa gcl ' i c l r a L .s c s i r l i n e J t . i l f o b o t . o n ron tiene questo compone.tc ampio, rante di iensioli molto n1 tuttlro d u f c e l l e L i - l ' ( o t p a 'c o n S . ( 1 1 . firm$,.re, nla di 7 l]d stib dl compresotra n minimo \i Crl; sf if|ccc uiil/ritc la pc sviuppare alcuni qunrdi sar Ltilc n massimodi 12 \'olt. E ir i o r s x c l . i i r l t . r ,s n r e b l n r . . . c s cal11minata esperiment d possibjieutilizzarc pacchibat\.l(r. l'ef riLe!arc s . r i o r c j n r p o s r r ( 'q L r e s t o amrienti accdeniati. te.a L;Po da 2 o 3 celleoppure d c l n u m t r c d c cllc l'a\ nza a s e c o n d a gli ostcoli dur.ntc pacchibatteriaNiCd o Ni MH p e r f r . t t . p r c s { I t j . l l t u t t ( ) \ i Lu mento abbiamo utlizzto co Consiglimo con8:1il celle. i u . z ion . f . I i r f c s n ) . l e l ti|o SRF05, d i o t t ( scnsore ad rlltr.rsuoni mNrqucdi limitareilpeso delle . l i r v c f s c r f l c.to r l r r r c ' r t n p r i n r . per ur f.tio cstcti sceltoanchc btterie,quindi se opiatc Pcr lc ( i l d n r . n t c ' l ( ' L . r i i c f l f per la sa forma chc c . c c s s i \ baitcde Ni-Cd o Nj-MH meglo co, ovvero lscite del N4SSC.

usareform.io AAA, mcntre Per le batterieagli oni di litio o Piir performanti,!anno bene2 o 3 mA/h. Ciustoper celleda 1000 ilnostro prokfipo a a cronaca, sia con un racco statocollauclto batteriada 8 cellelichel cadmio da 800mA/h, sia con un Pacco di Li-Po formato da clueccllc da equipag80mA/h. La scheda gataco! pulsnii,led e cicalnro utizzabili a piacere,inolirc irovercteil connettore l5 pre|isto 60

llcircuito.li contrcll delrabot si interfacctadirerranente ad uh PC ediante na connessioneUSB ed predispst Per osptlare un SONAB

- ELETTBo Cnlil o 2010 Dicembre 2009 / Genna

zanpa fissata ad un setuocomando, a sua volta fissato at corpo di un seMdo setvo. t cui albm attaccato alla base: ci pemette i movimentidi rotazione e so ewnento.

da poterlo disinserircall'occor, renza,oPPuresemPlicemente per poterlo riutilizzare in un altro IL CABLAGGIO progetto.una raccomandazione Per l'assemblaggio della parte riguarda le resistenze R6 ed R7, elettdcanon ci sono particolari cheessendo adibite alla lettuindicazioni;lo stampatopu ra della tensionedella batteria essere realizzatopartendo dai file clovrannoessere molto Precise/ scaricabilidal nostio sito a'?r?r. con $rindi utilizzate resistenze dlcttlofl icrh.if . Tutto i1materiale precisione dell'1 % oppure se fate di facilereperibilited il firmvaricorsoa resistorial 5 % misurare occorrente teneil valore con un buon tester Per la Programmazonedel micro lo trovate scegliendo quellepi precise anch'esso nel nostro sito Internet. (quelleil cuj valore pi si awic; Una voia in possesso delabaset, na a quello dichiarato). ta ramata,comeal solito procede- Quando collegherete i servocote alla saldaturadei componenti mandi dovrete farc aitenzone a pi bassoprofilo e sccessiva- alla loro posizioneseguendola mentequelli pi alti per finire Tabella 1. con i condensato da 1.000 FF e l'integratorcgolatoredi iensione. COLLAUDO Particolare attenzioneva messa Per un primo collaudoconsiglianella saldaturadel rcevitoread mo di disnserire il controller infrarossiU4, il quale dovr esdei servi e di non inserirel PIC: srepiegatoin modo chela parte una resiPonetesemplicemente bombatasia volta verso l'alto, stenzadel valor di 100ohln tra questoper favorire la ricezione i terminali + e - del connettore J2. dei comandi.Per quantoriSuarcorrispondentiall'alimentazione da l'induttanza essadovr essere di potenzadei seflo. Fornite realizzatapadendo da un nucleo tensionealla schdae controlate tipo poliferro (di solito di colore con ur testetla presenza dei 5 'i.oltsia sul lato PIC chesl l'atidallo) delle dimnsionidi 17,8x 9,6x 6 mm sl quale awolgerete mentatoreswiiching, il LED D2 circa80 spire di filo di rae del doi'r essere acceso.Verificato diametro di 0,6mm di diame, questosieteprontj per inserireil tro, coriispondentia due strati PIC oppounamente programd spir.Alf inteSratoU1 dovr mato ed il controllerdei seffo. esser colletaio un dissipatore al All'accensione, dopo 1 secondo fine di smaltireil caloreprodotro; (trascorso il warm,up dell'ali non necessario uiilizzate alcur mentatoteswitching),tuiti i setisolatorein quanto il dissipatore vo sararmoposizionatinel punto non entra in contattocon altri di neutro. Potrebbe capirareche componenti.Per quanio riguarqualcheseryo i'ibri letgermente, da il connettore per la batteda questo dovuto al meccansmo consigliamodi usame uno che interno chenonha ancorahovapreventa t'invefsionedi polarit, to il punto di neutro.Alle volte in quanto la connessione etrata sufficienteun piccolocolpo al dell'alimentazione comportail seruoPer sistemare le cose, danneggiamento deila scheda. I1 modulo controllo servocomandi IL FIRMWARE pu essere saldatodrettamente/ Il programmadel PIC (sviluppama consigtiamodi uiilizzare dei io on il compilatorePICBASICsemplicistrp femmina n modo PRO) si occupaessenzialmente

riguardo, vedetela descdzione del firmware).

i
di controllarelo stato delle pedfedchee di inviare i conetti comandial controllerdei servo. In linea di massimanon molto complicaioper necessario cacolare con estrema precsione la posizonedi oSni sinSoloseo a seconda del movimento chesi vuole ottenere/ dspettandotutte le tempistichein modo esatto. Ma iniziamo con ordine: ail'avvio comedi consueto configutiamo tutte i regstriintemi del PIC ed in modo particolareil modulo USART che useremo per ricevere i comandivia teecomando ad inftarossi.La ricezioneviene gestita tramite inteuupt ed stataconfigurataper una velocit di 1.200baud, per questomotvo non possiamoutilizzare il TX del modulo USARTper gestire il modlo MSSCcheinvecesar comandatoa 9.600 baud con il comando software SEROUT del

ELETTT0NICn lil - Derbre 2009 / 6en-aio Z0l0

5 | a ' t b y r e = o ! 8 o D u ( e D = 0 ' 0 l r o m m a n dseroNum I DaLal Dataz

0X
Sttuttura di

X X X
| I

l\'_-J -oiroa'
,ar,se

compilatorc.Prima di addentrarci nei dettatli dl firmware il modulo andiamo a descrivere MSSCusatoper il controllodei servoe una prima domandada pors il perchdel suo utilizzoCome sappiamoi servosi omandanocon degli impulsi ripetuti circa50 volte al secondo,

la cui durata ltecnicadel PWM) consente di definire la posizione da ragSiungere. Con 8 sewo generare otto imPulsi necessario ogri 20 ms, la cui durata deve di volta in voltai essere calcolata chiaro chenon rmanemolto

^";x54"'3fi1[]::li" lil#ffi?::,:::,T*" "''" Ie

frarossi,bzzer ed airo. Risuia Pi immediato far fare il lavoro "sPorco",cio la Eenerazjona deSli imPulsi, ad un altro PIC, ed di calcoare occuparcisolamente le coordinaterelativealla Posi zione.Il modulo da noi adottato

- ELEfTRotllCg lll 2010 0icembre 2009 / Gennaio

posizioneda far ggiungere al servo,anchela sua velocit;questo indipendeniemente per ogn scr\o. ln questomodo potremo ad escmpn)spostarcl'angolazione della gambaad una velocit, ma azarlaad una velocitdiversa.Abbiamo sfrutiato poprio questafunzioneper crearedelle andaiure. \'eocitdifferenti. Questafunzionc piir a!anzata (Poblu Mode) disponibil qualorano]r vengacortocircuitato il "probcol selectionjumpcr "; altrimcnti sarattivata la modalit Pi linitata (Mini ssc II Mode) che prevedesolamente il posizionamento immediato dei servo.L'invio dei comandavvie ne in modait RS 232,facilmente dal PIC con un apposito Bestibile protocolodescfittodi seguiio. "Pololu Modc" Nella 1odalit si hanno sl,ariateopzioni di controlodei se o. Ogn servo comandatosecondoil valore di una variabjeinterna,che pu essere compresotra s00 e 5.500, con una risoluzionecli mezzo microsccondo. La posizione in modo pu essere specificata assouto o relaiivo rispetto ad rl punto di neuiro, quindi possibileimpostroil valore di neuiro,la direziorrcdi conando e la scalausataper definire la variabile di controllo.Il baudrate per a connicazione viee auiomaiicamenie riconosciuto dal microconirolloredi bordo c deve essere compresotra 2.000 e 10.000 baud.ll pfotocollo di comunicazione prevcde l'invio di 5 o 6 byte: il primo serveper la sincronizzazione e dei,evalere 80H (128D)ed il secondo, in vece,I'indilzzo dc dispositivo, chevale 01H.I rimaertibyte definscono quale com.nclo sta to inviato e il suo valore,in ogni casoil primo bi di ogni byte deve v.lerezro.Nela paSina accanto illustratala strrtturadi

una tipica stringadi dati. corrispondente e quindi l'assorbiVediamo ora in detiaglio i vari mento di corrente si pofta quasi a comanddisponibili, tutti imparzeroi qesta funzione la usiamo tibili tfamite l'istruzione SEa batteriascarica per imitare la RUOT del compilatore. corente assorbita dal robot sela COMMANDO tensionedi aimeniazione inCon qestocomandosi definisce sufficiente. Il bit pi significativo la scalacon la qualesarfomita semprea zero.Il comandoda la posizioneda raggiungere, la serot LSA, 2,t$80,$aL$0a, A,$6F1 direzionedi movimenio e s da dpeteisi per ogni selvo sostiimpostase il selvo attivo o tuendo di volta in vota il penudisattivo.Il comandoconstadi timo byte con i valore del seflo 8 bit:i primi 4 bit definiscono il rangecon il qualesarpossibile COMMANDl stabilire1aposizionedel servo; Con questocomando possibile nel nostrocasolavoreremoin impostareIa veocitdi moviun rante compreso tra 0 e 127, mento del servo.Impostandoa mantenendoil pnto di neutro a zero questovalofe il servosar 63.Quindi qestovalore sala imposizionaioimmediatamente. postatoal so massimo,owero 15.In qustomodo gestiremouna altrimenti il sevo si muover in un tempo vauvadabea 7 bit che corrispondeBradualmente r ad un movimento di 90'. La direzionedi ogni singolo se ostata impostatain modo che ad un valore superiore a 63 (vaordi netro) cordspondaun movi mento della gambain avanti ed un movimento di antolazionetale da alzarcil robot, e ci indipendeniemente da comesia stato insiallato il selvo.La funzioneser vo OFF spetne il servo @

h ffi

Tabella 2 5rEP4

@
ELETTR0IIC8 lil - 0irembre 2009/Gennaio Z0r0

!i Mkrc.hip U53HIo Bootlo'ds v23

ap- k Fi.

"*;

Il

*;':*

@
in cui duc zampc toccanoterra c spintono in avanti i robot e le altre due si sianloriposizionando; nelo step successivo i movimcnti si invetiranno.ln soli de step siamo h grado di far avanzarcil robot, ma va da s ch se ci sono solo due punti di appoggiola stabilit staticanon tarantita; per seconsideriamo un po' di inerzia dclla sttuttura cd r bacntro ben equilibratoal centro,il tutio funziona,seppureestetiamenie non sia il massimo.Nella Fig. 1 sono riportati i movimenti jn cui con le frecceblusi indicano i movimenti delle zampebasse (appoSSiate al terreno)e in rosso i movimenti a zmpealzaie(non appoggiate tera). C' un secondoapproccioal problemache prevededi lasciare sempretre zampea terr.e d1 muoveme na sola senzaappogtio a terra.Partiamodal presup posio cheper esegfire un passo occorrccompierequatiro fasi, ma avereife zamPea terra Permetie una maggiorestabilit.Il massi mo lo si otterrebbe se la struttura fosseassolutamente rigida e non si deformasse con una zampa sol levata,e se il baricentrodsultasse semprealf interno dl triangolo formato dai punii di :ppoggio delle rimanii zampe.Permigliorare la stabilitfacciamoin modo che le zampenon rimangano mai troppo chiuse,ma piutiosio un po'aperte. Perogni sjngola fasedi un passo, ciascunsewo si muove d un ertonumero di gradi (alpha)e quindii possibili movmenti sonoripotati nella Fig.2. All'nieno del firmwarc, a corrispondc quesii spostamenti il posizionamenio dei servonei punti repilogatineaTabela 2. I movimenti corrispondcnti sono meglio descrittidalla Fig.3. In questamodalit,djsponando di soli duc gradi di libertper zampa,ogni mol,imentodescrive

rr Mi.re.liF usa HD soodddv?3

op-H-,' Lq-4a9

_ry1r.+

*+;

lI

a.,io*.

Ee"^ H-

ii; i."-

tabile in circaTmove=(pos partenza-posarrivo)*15o/Speed lmsecl dove Speed il valore mpostatonella vadabilee dovr compresotra 1e 127.Il essere comandoda inviare sara: LSO, 2,t$80,$41,$01, 0,speert serort l vdr a variabile speed impostata d volta in volta a seconda Il codella velocitdesiderata. mando in quesiione sar dpetuto Per ogni servo. COMMAND2 Questo il comandocheusere mo pi spesso, perchci peri servometterdi posizionare comandnella posizionevoluta. Invieremoquindi: 0, Posl serat LSO, 2,t$80,$0r,602, dove con il valore della variabile Posdefiniremo la posizionecheil
pulsantisul robot abe a 3 - Funzionidei

sewocornando dovr raggiungere, rispettandola scalaimpostata precedentemente. Il valore 63 cordspondea posizionareil seF vo al centro,mentre con i valod estremisperioredi 127e infe oie di 0, il servosi posizioner dspettivameniea +45' e a 45". I MOVIMCNIDEISERVO ora quale ragionaSpghiamo mento abbiamofatto per definire i movimenti dei servoin modo da ottenereun movimento in avanii. Perspie8arcimeglio, useremodei semplicidisegni sti lizzati chemppresentano il robot visto dall'alto con indicaii mo vimenti del1e quattro zampe.In linea generale possiamoaffernar chein ogni istanteci dovranno essere delle zampeche ioccano tera e spin8onoin avanti il robot mentre,le dmanenti, sollevate, Possiamo si riposizoneranno. quindi ipoiizzarc un pdmo caso

Tabelta 4

t-.*

@
I

: lF"I-P
||JP7

P5

\
P3 P2 -{IlPa

PT

61

- ELETTn0HICn 2010 lil 0irembre 2009 /6ennaio

lltrasmettitore lR
un angolo dl cechiorper quesio moirvo re zampea terfa non rimangonofrme sul punto di appoSgoma subiscono un picco lo sposiamento. Questocomporia inei itabilmcntcuna ceria frizio ne delle zampecon il parimnto e quindi i iuiio funziona solo su superficiche permetianoun certo slitiamentodelle gambe.Il sensore ad ultrasuonivien uti lizzato per rile!are la presnza di ostacoliad una distanzainfedore a 30 cm, nal qual casobocca auiomaticamenie l'avanzatadel robot; non viene,invece,utilizzaio nellcmanolredi rotazonc.Il sensore pu essere omessoed i firm\,'aregifer comurque, tutta notereiecomc risareil sonar mi8iorl nettamente l'auionomia c1i movmento.iel roboi UI PROGRAMMAZIOiIE Era un nostro prccisoobietij|o poter mctteretLttinelle condizioni di sperimentare e s\iluppare questonuovo progettoc Pcr questoabbiamoprevisto la possi bilit di programmareil micro a bordo del circujio semplicement ccedendo la schedavia USB.I1 PIC deve essere prcprogrammaio con un piccok,applicaiivo residentenelaparte alia dea memoda,in grado di gesiirela comunicaziorlc USB di trasfe rire i dati in arivo direitamen te nell'areamemoria del PIC. applictiYos chiama QLesto Bootloadr e lo tro\.atedi solito aiiivo in ce1ularj, naviBatode in tutt quele apparecchiature jl chepcrmettanodi a8gioll1are lirm\^'arcsenzal'impiego di programmatori estem. PIC previsb per questoprog.tto gi programmatocon il bootloadr checonsente successivamente di caricarci] firmr",'are de robot kamite poria USB.Sevi procurate 'ambieniedi sviluppo PICBASICPRO sareteanchein grado
I trasmettiiore deltelecomando a infrarossl lo stessoche avetegvistoimptegato ne robotbipededescritto nelfasccolo n. 133: e basatosu un m crocontrol ore che genera una portante a 38 kHzchernoduta in baseal pilotando tasto premuto, poidue led tR.

f*

*,r,

T" 77,

I I I I I I
I

di editari sorgcnii del progetto e rjcompilrli in mod'r.1 personalizzare le funzioni s!olte o semplicemenie pcr rarcj dtli studi.Nulla i ieia,ovviamen te, cli utilizzare qualsiasialtro comPxarorc a vosro Placrmanto, quel checonta utilizzare d1 lirm\^ are compilato. E importartespecificare al'inter no dcl programma1'utilizzodel bootloaderiin quesio modo an dretc a soi rascrivere il bootoader stesso dutante la programmzion.In PICBASICquesto viene indicato con le seguenti due rithe di programma: DEFINE LOADER_L'SED 1 DEFINE RESETORC iOOOh A quesiopr.nto installaiei1 soitwarc HID BoolLoader.exe lorniio sempreassieme ai file dj quesiopfogetto ed avviatelo. programQuestosemplicssimo mnn, e il bootloaderper il PIC - PIC18F2ss0) (HID Bootloader

sono s.aricaLili BratLritamente dal siio della\licro.hp Con il robot ccesoe conn-.ssotrami, i e a p p o s i t oc a v o a 1 l aU S B . l e l

6r
componentiutizzal in questopro g e i t os o n ol a c m e n t er e p e r b i i n c o n r . merco I f rmwareedI master delc rcuito stampatosonoscaricabili gratuitamente dal sto della rvsta (\^rWeletironica n. t ) . E a n c h ed i s p o n b e l a s c a t o ad i montaggo completa de robot ragno (cod. FT852SET) a prez2o di 179,00 Euro. I kit comprende lutt i paricoiar eetfon c emeccanc, setuocontro ,l c rcuit stampati,lsensore,ilteecomando ad nrrarossied I microcontro loreg programmato. Quest!ltinro d sponibile ancheseparatarnente al prezz d 14,00 Euro(cod N/F852). Tuti prezzis inten -futtl

ELETfRoillCn lI - Dcembre 2009 / Gennaio 2010

la proglammaz ione pi veloce che con lm normale ProSraunatore. II IELEOOMA{DO Il robot pu essere gestito almeno neefunzioni

$senziali, direttamenteconi pusanti presenti sulla suascheda principale;le possibili Iunzioni sonodpiloPC,abilitatla proceduradi modo gatenlla Tabella 2. Riferendoci ione nel Programmaz ad essadiciamochecon model il setuente:Premete Pulsante il abbiamoindicato la camminata a segute Pl(boot), Premete con he punti di apPoggioe con quindi rilasciadi reset, pulsante caminata con due sccessimode2la di reset e te il pulsante la rotazione di appoggio; P1. punti dlasciate il pulsante vamente comunque con due Punti (in questo awiene Il sistema operativo appoggio. una di emette caBo Windows) di Abbiamoprevisto,comunque, a conJemadell'atnota acustica diil robot anche a poter gesdre nuova tivazionedi lma Perifedca a stanzatramite un telecomando ed iI softwareevidenzierah di sette infrarossi powjsto raggi prcseriza della nuovaPeriferica pulsanh.In questocasodutiliz(Fig.4). Non dovetfar altlo che gi telecomando ziamolo stesso apdre il file sortent comPilato per il robot bipede che uhlizzato (estensione HEX) e cadcatlosul gia sette prevedeva PIC con il comandoProgtamrna, PusantiPer del altrettantefiEioni cheandiamo al terminecliccatesu Reset a ridefine per il nuovo robot e softwareo premeteil Pulsantedi chesonodepilogatenella Tablil nuovo Prore6etsulla scheda, $amma gi Prontoa funziona_ la Pro- Il smsoreuhlizzato per la ricere. ComePoteteconstatale zionedei comandied installato e cedula decisammtesemPlice

si chiama a bordo della scheda PNA4602 ed predispostoper furizionaread una ftequenzadi chedo\a essere 38kHz, segnae da inviamodulato con il segnale re, Nel nostrocaso suJficiente il inviare un b)4econtenente valorenumericodel comando baud. cofl una velocitdi 1.200 Ad otni dcezionedi seSnale un piccolobpvime tenerato dal buzzer e seil comando viene eseguito riconosciutoesso ifimediatamente.Peri momento tutto, lasciamoa voi lettori il piacrcdi divertirvi con questo nuovo robot. I

68

- ELEITSoMCn [l 2010 2009 Dicembre / Gennaio

You might also like