FPN

August 11th, 2011

FPN o Flying Ping Nano. Últimament no estic gaire creatiu amb els noms… de fet tots son variants del Ping original. Doncs bé, aquest és l’últim projecte en que estic treballant

Flying Ping Nano

Després de l’experiència del Flying Ping original, he decidit fer una rèplica en petit del quadrotor. La primera raó es per motius meteorològics. Com que fer volar el Flying Ping dins de casa es merament impossible ( ho he provat creieu-me..) la raó de ser de l’FPN es que pugui fer-se volar en entorns tancats no massa grans. Amb el Flying Ping sempre haig d’estar pendent del vent que fa ja que si bufa una miqueta de vent, l’artilugi s’en va a pendre… ( vent).

La segona raó és l’estabilitat del quadrotor. Com més petit és l’aparell menys inèrcia té i per tant més fàcil es de controlar-lo. Amb l’FP qualsevol moviment massa brusc derivava en una oscil·lació del PID i al final el descontrol portava a conseqüències bastant catastròfiques.

La tercera… es que em venia de gust.

El disseny del quadrotor està basat en el que va fer aquest bon home però en comptes d’utilitzar l’MCU de Texas Instruments li he posat un Arduino que tenia per allí..

Les especificacions de l’FPN son les següents:

-Arduino Pro Mini com a MCU

- Wii Motion Plus clònic amb giroscòpi ITG3205.

- 4 ESC Turnigy Plush de 6 A.

- 4 motors brushless hexTroniks 2000Kv 5 grams

- 4 helices de 4 inches.

- Bateria Rhino de 610 mAh 2S

Pes total: 135 grams.

Tamany FPN

El primer que diferencia l’FPN de l’FP es el tamany. Com es pot veure, el tamany de l’FPN es una mica superior al tamany de la meva mà mentres que l’FP era de 55 cm motor a motor.

En comptes d’utilitzar giroscòpi i acceleròmetre aquesta vegada m’he decantat només per giroscòpi ja que l’experiència m’ha demostrat que és força dificil calibrar els dos sensors perquè funcionin bé i alhora.

muntatge del Wii Motion Plus clònic

La placa del sensor WMP clònic l’he posat sobre dues espumes de 3 mm per tal d’evitar que la vibració del frame doni lectures errònees del giroscòpi. El giroscòpi del WMP clònic es un ITG3205 i per tant funciona amb protocol I2C digital ( no analògic). Al site MultiWii tenen un forum on expliquen abastament el procediment per la conexió amb l’arduino.

Una altre diferència que hi ha amb l’FP es que tots els motors giren en el mateix sentit i per tant no fa falta posar-hi hèlices de diferent sentit ( les que es diuen pushers ) que costen bastant de trobar i son cares.

axis tilted in FPN

Per aconseguir eliminar ( o minimitzar ) el moment d’inèrcia el que he fet es girar 8 graus els motors del davant i darrere de l’aparell i d’aquesta manera contrarresten el moment. Es diu que fent això es perd sustentació però pel que sembla no es gaire important…

De moment el muntatge ja està acabat. Ara falta la programació de l’MCU ( faré servir el programa de MultiWii )  i a volar… o no.

Pròximanet videos dels vols.

admin Uncategorized

SMT

December 1st, 2010

El nom del post fa referència a la “Surface Mount Technology”. Aquesta tecnologia permet empaquetar els circuits integrats i els components discrets d’una manera molt reduida ja que no s’han de “clavar” y soldar sino només soldar a la superficie de la PCB.

El perquè parlo de la SMT es perquè he decidit fer un pas endavant amb les meves tècnices de creació de PCBs. He decidit utilitzar components SMD en els meus circuits.

És més aviat una necessitat ja que m’he trobat que per a utilitzar els nous giroscòpis i acceleròmetres pel Flying Ping haig d’utilitzar components SMD i treballar (comprar) plaques breakout es més aviat car podent-ho fer jo mateix.

Els components SMD son minúsculs. Realment cal tenir una mica de pràctica i sobretot paciència per soldar-los.

El primer pas que he seguit ha estat millorar la tècnica de creació (planxat) de PCB. Fins ara utilitzaba la tècnica de planxar (amb una planxa, si) una fulla impresa de toner amb el circuit directament sobre la placa de coure. Aquesta tècnica es poc precisa i no permet fer pistes massa primes perquè directament no queden impreses, es per això que he construit una insoladora DIY amb fluorescents de llum actínida (UV dels matamosques..). El resultat es aquest:Insoladora1

De fet, la insoladora no és res mes que un escàner vell en desús al que li he posat els fluorescents de 8w de Black Light. Per l’encesa dels fluorescents, en comptes d’utilitzar la típica reactancia i cebador he utilitzat el circuit de les bombetes de baix cost que venen als basars dels “xinos”. Son barates i el circuit funciona de meravella, només cal buscar una bombeta una mica superior a la potència dels fluorescents, obrir-la i soldar quatre cables.

Per tal de fer la placa cal, primer, imprimir el nostre circuit en un fotolit (transparència de tota la vida) i després col.locar el fotolit contra la superficie de la placa PCB verge positivada ( n’hi ha de negativades ). Millor que es faci la operació el més a les fosques possible. Aleshores es posa a la insoladora uns 7 minuts i després es passa la placa a un cubell amb una sol·lució que actua de revel·lat. De sol·lucions reveladores n’hi ha de molts tipus però he fet servir la sossa càustica perquè es senzilla i fàcil de trobar.

Per tal de fer la sol·lució cal barrejar uns 20 grams de sossa amb 1,5 litres d’aigua en un recipient com una ampolla. Després només se’n farà servir una petita part, per tant es pot guardar en algún lloc. Es important que la sossa no ens toqui mai ja que és un agent altament corrossiu per tant totes les operacions s’han de fer amb guants i qualsevol altre protecció. En cas que ens caigués sossa a la pell cal remullar la zona amb aigua corrent força estona..

Una vegada la placa es dins de la cubeta amb el revelador, s’ha d’anar removent força estona fins que vegem que queda només el circuit imprès i la capa de impressió ha desaparegut de la resta de la placa. El temps depèn molt del circuit de la placa.

Per tal de fer ‘l’etching’ preparem la mescla de dos ingredients que també podem trobar fàcilment a les drogueries: salfumant i aigua oxigenada a 110 volums. L’aigua oxigenada a vegades no la tenen a la vista perquè es un producte altament volàtil (com molts peròxids). Preparem en un cubell (de plàstic) dues parts d’aigua oxigenada amb una part de salfumant. Jo faig servir un petit vas com a mesura, per tant hi poso 2 vasos d’aigua oxigenada i un vas de salfumant. Compte altre cop perquè el peròxid també es altament corrosiu i millor que no toqui la pell ( et comença sortir una mena de cremada blanca…) i no diguem el salfumant… Totes les operacions amb guans i si pot ser ulleres i en un lloc ventilat perquè es deprènen vapors no massa sans.

Una vegada s’ha fet ‘l’etching’ el resultat vindria a ser com això:

Etching

La veritat es que sembla poca cosa però amb la tècnica de la planxa era impossible fer unes pistes tant petites.

El resultat final es que ja tinc una placa breakout amb un component MSOP que fa de I2C Level Shifter i a més gairebé de manera gratuita si demanes mostres als fabricants ( en aquest cas Texas  Instruments):

I2C Level Shifter

I finalment la placa acabada. El soldatje es un tema un mica especial, però amb molta paciència es pot arrivar a fer:

Breakout board

En fi, que ara ja podré contruir el següent shield pel flying ping amb els nous giroscòpis.

admin Robotica , , ,

Flying Ping

October 24th, 2010

Feia temps que em rondava una idea pel cap, ja que havia fet sempre robots terrestres, què passaria si  provava de fer un robot que volés? Seria massa dificil? Potser impossible?

Vaig començar a buscar informació dels UAVs (Unmanned Aerial Vehicle) per veure què hi podia arrivar a fer i curiosament vaig trobar molta informació de “hobbyists” que es dediquen a fer DIY UAVs. De fet hi ha tot de grups que publiquen diagrames i software open source per tal de consrtuir i calibrar aquests tipus de vehicles.

Vaig decidir seguir els passos d’un grup d’aficionats del site Aeroquad.com i el resultat es aquest:

El flying ping

Tot i que semblen quatre ferros i una mica de fusta, la veritat és el “robot” que més m’ha costat de fer. Sobretot la part del cos (el “frame”).

És fet d’alumini (molt poc pes) i fusta de balsa i el pes total de l’aparell no supera els 1.100 g. L’electrònica potser es l’apartat més avançat tot i que es basa principalment amb mòduls (breakouts) que es poden comprar fàcilment en botigues d’eletrònica.

Bàsicament es tracta d’un microcontrolador (arduino) amb un custom shield on hi ha els sensors IMU (Inertial Measurement Unit). L’IMU està compost per 3 giroscòpis i 3 accelerometres. Cada giroscòpi i acceleròmetre es fixa a una coordenada cartesiana d’aquesta manera es pot controlar el moviment de l’aparell en totes direccions. Un concepte molt important de l’IMU es que els acceleròmetres  mesuren acceleració (en el nostre cas gairebé sempre es la de la gravetat) i els giroscòpis mesuren velocitat angular ( ratio de rotació)

L'IMU del FPV1

A la imatge es pot veure l’IMU Razor 6DOF que he hagut de modificar un pel per tal que no filtri les freqüències mes baixes dels giroscòpis ( moviments mes lents) eliminant un filtre HP que havien afegit.

Es tracta, doncs, que el microcontrolador rebi informació de la posició i l’”actitud” del vehicle i que corregeigi constantment la posició variant la velocitat dels 4 motors brushless mitjançant els respectius ESCs (Electronic Speed Control). La clau està en que aquestes correcions siguin suficientment ràpides i acurades perquè no es descontrol·li l’aparell.

Per sort, tots aquests aspectes estan molt ben explicats i implementats amb el software que es pot instal·lar a l’arduino des de la pàgina dels aeroquad i a més han desenvolupat una aplicació per tal de poder configurar el quadrotor abans que s’envoli. La calibració es un pas important ja que si comences a “volar” amb un aparell sense compensar el que probablement passi es que s’estabelli i alguna peça s’acabi trencant ( m’ha succeït alguna que altre vegada).

Tot seguit un video dels primers tests del Flying Ping una vegada calibrat en un banc de tests casolà:

Tot i que sembli que no és massa estable és mes aviat que el pilot és del tot inexpert…. costa molt al començament.. Al video es pot apreciar que els primers tests van ser una mica accidentats. El resultat va ser que el motor devanter del FP ha deixat de funcionar i que tot el tren d’aterratje s’ha trencat. Per sort sembla que no es massa greu.

admin Robotica , ,

Ping 2.0 (TupperPing)

April 9th, 2010

En els primers posts del Ping, vaig comentar que calia cambiar el disseny del “cos” del robot per fer-lo una mica més circular. Bàsicament és el que he fet amb la nova versió però no és l’unica ni la més important.

ping 2.0

Potser el canvi més important ha estat la inclusió d’encoders als motors. Primer em vaig decantar per posar unes bandes blanques-negres a les rodes per tal de poder contar quantes vegades passaven les bandes fosques, però el resultat de les lectures era pobre i donava molt pocs clicks/segon i feia dificil el control posterior. Al final he optat per a modificar els engranatjes del motor, pintant-los amb franjes negres per tal d’obtenir una lectura més acurada i sobretot més clicks/segon.

Una altre millora ha estat la realització d’un “shell” per a l’Arduino que conté el driver dels motors (el mateix) i totes les conexions per a servos i sensors, d’aquesta manera m’estalvio espai i tot queda més ordenat.

He passat d’alimentar el Ping amb 6 piles alkalines mes una pila de 9 volts a fer-ho amb una bateria de 8,4 volts de NiMh que jo mateix vaig fer amb piles recarregables ( és mes barat que comprar-la feta). Això em permetrà recarregar el Ping i poder fer una rutina perquè busqui el dock per carregar-se tot sol ( ja veurem si ho aconsegueix-ho)

alimentació

Ara el Ping també disposa de 3 reguladors de voltatge diferents. Dos d’ells son de 5v i son per alimentar el/els micros i sensors el tercer es de 6v que alimenta els motors i servos. D’aquesta manera intento evitar el soroll que pot propagar el control PWM dels motors a la resta de components electrònics i a la vegada no sobreescalfo un únic regulador amb sobrecorrents.

Com comentava abans, l’aspecte més important del Ping 2.0 és la inclusió dels encoders. En la primera versió em trobava que era molt dificil fer que el robot anés recte. Tendia a anar girant suaument i a desviar-se de la trajectoria inicial. Això impossibilatava fer-li seguir uns “camins” preestablerts ya que es desviava de forma bastant aeatòria. Amb els encoders ara puc saber la velocitat a la que gira cada roda i per tant regular-la per tal que mantinguin la mateixa velocitat. Sembla un tema trivial però m’he trobar que no ho és tant i es fa necessàri l’ús d’un PID. En un altre post explicaré l’estat en què em trobo actualment amb el PID.

De moment el Ping 2.0 ( o millor Tupperping) només és una plataforma mòbil sense sensors, però aviat això canviarà.

admin Robotica

Migracions

April 9th, 2010

Ahir vaig estar migrant el blog de la versió 2.7 de Wordpress a la versió 2.9. Tota una odissea sobretot quan la BBDD no manté el model…

El cas es que el resultat es el que es pot comprovar, hi han tot de símbols extranys als posts anteriors. M’ha fet mandra arreglar-ho i de moment es queda igual. Poster més endavant ho arrango…..

admin Uncategorized

Odometria

January 22nd, 2010

Mentres estic esperant que m’arrivi la nova placa BeagleBoard he anat intentant fer millores al Ping. En comptes de fer un robot de zero, començaré per un que ja tinc fet però no massa desenvolupat.

Una de les coses que m’agradaria que fés el nou Ping és que tingués “noció” d’on es troba. Un dels objectius és que se sàpiga situar dins d’un mapa pregrabat o bé “descobert” pels seus sensors. Per a fer això cal que sàpiga estimar la velocitat a la què es mou per tal de saber on es troba en un moment donat partint d’un punt X. L’estimació de la velocitat és el que es coneix com a odometria.

L’odometria del Ping consisitirà en saber a quina velocitat gira cada roda. Per fer això, he desenvolupat un exemple senzill d’encoder per tal de contar el número de “zones fosques” que passen per davant d’un sensor en un determinat periòde de temps. Tal com s’explica aqui o bé aqui (LMR).

Un dels punt positius del tema és que no m’ha costat gairebé res. Els sensors els he tret d’una cadena de música que no funcionava i que amablement vaig rebre… Només calen un parell de resistències i ja està.

sensor-reflectiu

Omron EE-SY124

El problema que he tingut es trobar el patillatge correcte del sensor, al no haber-hi cap número de sèrie he hagut d’anar fent a proba i error.

Tot seguit un video on es veu el sensor “acoplat” a la roda del motor amb l’encoder i la sortida de que dona a l’oscil·loscòpi. Es poden apreciar les interferències generades pel motor. Haurà d’instal·lar-hi un condensador per eliminar-les…

Una vegada sàpiga la velocitat de cada roda, podré implantar un sistema PID per tal de control·lar la direcció del Ping mes o menys correctament amb el microcontrolador ( alguna cosa encara se m’ha quedat de la carrera….)

admin Robotica

Idees

December 15th, 2009

√öltimament he estat pensant que la manera que tinc de fer les coses, d’actuar, d’interessar-me.. √©s m√©s aviat c√≠clica. A vegades em trobo completament versat en un tema en concret fins que arriva un dia que de cop i volta em trobo una altra cosa que em crida l’atenci√≥ i deixo de banda el que estava fent. Potser vull fer masses coses per√≤ no en faig cap? No ho se.

Em passa una cosa semblant amb el tema dels robots. A vegades es un no parar d’investigar coses, de fer prototips etc, i a vegades res de res… passivitat. Per√≤ tot torna a comen√ßar c√≠clicament.

Tenia la idea de no fer robots en una temporadeta per a fer altres coses, o no fer res, i ara ja he encarregat una BeagleBoard per comen√ßar un nou projecte…. Sembla que hi ha escassetat d’aquest article. Em tocar√† esperar. Espero no haber canviat d’opini√≥ quan m’arribi….

Uncategorized

Pang 2.0

November 20th, 2009

Dels meus anys en el m√≥n de la inform√†tica he apr√®s que els n√∫meros que es posen a les versions dels programes tenen a veure amb el salt quantitatiu ( i a vegades qualitatiu) d’un producte en concret. En aquest cas, la versi√≥ que li he donat al Pang, √©s la 2.0. M√©s pel tema quantitatiu que no el qualitatiu…..

Pang 2.0

El Pang ara es pot activar de forma remota amb el circuit que he comentat en anteriors posts. He fet esment del tema de la qualitat perqu√® he tingut for√ßes problemes amb el circuit d’activaci√≥, l’he anat arreglant i al final ha quedat una mica de nyap. Per√≤ funciona!

Hi he incoroporat un telèfon mòbil que al sonar per una trucada ( no us dire el número de telèfon je je je ..) activa el Pang.Mobil del Pang

Una altre modificaci√≥ que hi he fet, √©s la c√†mera. Ara, la c√†mera pot girar amunt i avall en comptes de a dreta i esquerra. Ho fet perqu√®, com tot seguit es veur√†, necessito una mica de visi√≥ per tal “d’aparcar” el Pang al seu dock.

dock

El dock b√†sicament es una carcassa d’un antic router, p3r on hi sobresurten un parell de cables que est√†n soldats a dos clips que fan contacte amb la part inferior del cos del Pang. Sota la carcassa del robot hi he posat dues zones amb tira d’alumini adhesiva que mitjan√ßant uns cables comuniquen directament amb la bateria. D’aquesta manera, quan el robot est√† ben posicionat damunt del dock, es carrega la bateria.

pang inferior

La creu que es pot veure a la part de cartr√≥ del dock (la pintada de forma cutre) es una ajuda per tal d’aparcar correctament el robot mitjan√ßant la c√†mera.

Finalment una imatge de com queda el Pang “aparcat”

pang docked

Finalment, sembla que el Pang ja est√† llest. Potser alg√∫n que altre retoc a l’interface web o b√© a l’streaming de video, per√≤ no gaire res m√©s. Ara m’√©s possible engegar el Pang desde qualsevol punt del m√≥n (sona fort aix√≤) i conduir-lo per casa meva tot assegut davant d’un ordinador en un bar, hotel, cafeteria…..

M’hi he passat gaireb√© un any en aquest projecte. He apr√®s molt i he anat improvitzant sobre la marxa. Em sembla que ara far√© un petit inc√≠s en tot el tema de rob√≤tica i em dedicar√© a altres coses. De tota manera ara estava pensant de fer alguna cosa amb c√®l¬∑lules solars…. je je je je…

Apa.

Robotica

PCB encesa remota

August 27th, 2009

Al final ha funcionat el circuit!! He estat alguns dies intentant esbrinar perquè no funcionava a la PCB quan a la protoboard si que ho feia. Resulta que no es que hi hagués cap problema amb la PCB sino que havia fet algunes errades en el disseny del circuit que feia que se sobreescalfés i es desactivés el regulador 7805.

Ara ja es pot engegar el Pang remotament per√≤ encara em falta fer una base per col¬∑locar el m√≤bil i l’alimentaci√≥ que li fa falta a tot el circuit.

Aqui una foto de la pcb acabada:

Encesa remota i control pang

Robotica

Encesa remota

August 21st, 2009

Com ja vaig comentar en l’anterior post, una de les millores que li vull fer al Pang 1.0 es la capacitat d’activar-se de forma remota. Per tal d’aconseguir-ho far√© servir la sortida del motor de vibraci√≥ d’un m√≤vil conectada a un PIC que em permeti conectar o no un rel√©.

Aqui teniu l’esquema del circuit:

Esquema circuit

Esquema circuit

En el circuit es pot veure que la sortida del microcontrolador PIC (12F675) activa un Rel√© ( minirel√© de 5v) a trav√©s d’un transistor NPN, El diode que hi ha entre la bobina del rel√© es per evitar els pics de corrent quan es desactiva.

Per tal d’aguantar la tensi√≥ d’alimentaci√≥ del circuit sobre els 5v, hi he col¬∑locat un condensador electrol√≠tic de 1000uF, suficientment gran com per mantenir la tensi√≥ per sobre els 4,5 v els 6ms que dura l’activaci√≥ del rel√© i evitar que el PIC faci un reset per p√®rdua d’alimentaci√≥.

A l’esquema tamb√© hi han un parell de reguladors de tensi√≥ (7805 i lm317) que alimenten a 5v(electr√≤nica) i 6v (servos) respectivament en Pang.

La conexi√≥ al tel√®fon es fa per l’entrada GP2 del PIC. Tamb√© hi he col¬∑locat un parell de switch per tal d’engegar i parar el Pang sense el tel√®fon.

Sobre una protoboard funciona, ara cal veure si funciona a la PCB….

update: 26/08/2009 La placa ara com ara no funciona… sembla que hi han problemes de calor amb els reguladors i a m√©s ja m’he carregat el di√≤de i un led per sobrecorrent… Anirem fent…

Robotica