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….)

omercader 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….

omercader 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.

omercader 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

omercader 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…

omercader Robotica

Eines

August 20th, 2009

eines

A mesura que he anat desenvolupant la idea de millorar el Pang 1.0, m’he anat trobant amb diferents maneres de realitzar el que volia fer. Com que partia d’una base bastant limitada d’eïnes, m’he hagut d’anar espavilant per tal de poder fer proves i mesurar els resultats. En aquest últim cas, la meva primera idea era poder activar el robot a distància amb un circuit típic “Flip Flop” i la sortida del vibrador d’un telèfon mòvil ( que ens dona uns 3,2 v). Al fer el circuit sobre la protoboard em vaig adonar que m’era una mica difícil llegir els resultats… i per tant vaig optar per fer-me un petit oscil·loscopi. La idea la vaig treure d’aquesta web . Bàsicament es tracta d’un integrat ADC0820 endollat directament al port paral·lel del PC. El resultat es un aparell que en teoria pot llegir fins a uns 200 kHz….. però a la pràctica em sembla que no arriva a 100khz. Tot i així ja em va prou bé.

Després d’estar fent proves, mes aviat infructuoses, amb els circuits amb biestables flip-flop, vaig decidir arriscar-me una mica més i en comptes de fer-ho amb portes discretes, fer-ho amb un microcontrolador. Potser es matar mosques a canonades però el fet de tenir-hi un microcontrolador (PIC12F675) em permet fer moltes mes coses com apagar en Pang per software o calcular el temps de bateria.

I tornem al tema d’eïnes. Per a programar un PIC cal un Programador, que no es res mes que un circuit que rep les dades per port sèrie del PC i les transforma al voltatge adeqüat del PIC.

Vaig treure el disseny del programador d’aqui i la veritat es que m’ha funcionat fantàsticament fins ara.

Això si; programació en l’assembler del PIC!! El tenia força oblidat però m’ha agradat tornar-m’hi a posar. Es molt rudimentari però té el seu encant en programes curts…… en programes llargs no tant…

omercader Robotica

Etching

July 10th, 2009

Tot i que pugui semblar una mica pedant o presumptuós, sempre m’ha agradat aprendre noves paraules i tecnicismes. La deixes anar de tant i et quedes tant ample…

Segons la wikipedia etching es una tècnica per a grabar parts no protegides en superfícies metàliques. Curiosament és el que he estat aprenent aquestes últimes setmanes però amb cap finalitat artística ( ja m’agradaria) si no amb la finalitat de fer PCB ( printed circuit board) o circuits impresos…

La raó que m’ha portat a fer els circuits impresos és que a mesura que volia refinar els circuits ja fets pel Pang s’anaven complicant i al final eren un garbuix de cables , un damunt de l’altre, sense sentit aparent.

El resultat de tot plegat ha estat el disseny dels circuits amb software ( el que utilitzo jo es l’Eagle) i el posterior “planxat” a una placa de coure.

Hi han multitud de tutorioals per la xarxa de com fer-ho. El resultat es aquest:

PCB de l'oscil·loscopi

PCB de l'oscil·loscopi

La imatge es força pèssima però es poden intuir les pistes de coure que queden una vegada s’ha passat la placa per un bany d’àcid.

El mètode es força pedestre però efectiu. Consisteix en imprimir el disseny del circuit en una impressora laser ( amb toner) i després amb un planxa, de les de tota la vida per planxar roba, “estamplar-la” directament sobre la placa. Per últim es banya la placa en una solució de salfumant i aigua oxigenada de 110 volums i ja està.

Em sembla que a partir d’ara utilitzaré aquesta tècnica per fer tots els circuits. Queda prou bé.

omercader Robotica

Interface

May 29th, 2009

Doncs aqui deixo el video del Pang. No feu massa cas de l’ornamentació del menjador… l’estem renovant pas a pas..

La versió 1.0 del Pang es pot control·lar mitjançant uns CGIs (mooolt senzills) instal·lats al router. La pàgina web l’únic que fà es fer crides asincrones als scripts i ja està.

El tema del video es més complicat. La càmera IP ve amb un control ActiveX però això no em serveix per incrustar-ho en navegadors diferents a IE. L’Applet que m’estic currant ha resultat més complicat del què em pensava perquè sembla que haig de tenir en compte el temps de latència de la xarxa quan es llegeix l’stream que enxufa l’mjpeg (encara no sé ni què es..).

Espero tenir això resolt per a la versió 1.1

omercader Robotica

Pang 1.0

May 26th, 2009

Ja fa uns dies que he “acabat” la primera versió del Pang

Aqui deixo una imatge:

pang 1.0

Encara li falta polir l’interface web per a control·lar-lo de forma remota. La càmera funciona amb un control ActiveX el que em limita a fer-ho servir amb IE. Per això m’estic currant un Applet que pugui llegir el format mjpeg de la càmera però es més difícil del que pensava…. o es que m’estic rovellant…

La propera versió del Pang inclourà un sistema per poder-lo engegar a distància per mitjà d’un telèfon mòbil.

Properament un video amb el Pang campan pels passadissos..

omercader Uncategorized

I ara… la bateria

May 13th, 2009

Una vegada en Pang sembla que comença a funcionar, m’he hagut de fixar en el tema de la font d’alimentació. Fins ara s’alimentava de la xarxa mitjançant un parell de transformadors (el del router i un per alimentar l’SSC ) però per dotar en Pang de certa autonomia haig de fer servir bateries (recarregables). 

Quina bateria haig de fer servir?….. doncs una que em permeti maniobrar el robot una estona ( mes de 30 minuts a ser possible). Per això cal saber quin es el consum (en mA) del robot….

Aquest robot consumeix força mes que no pas en Ping ( potser pel nom?). El manteniment de la conexio Wifi es un forat energètic considerable. A més també tenim la càmera, que no sé quan gasta però m’imagino que ronda el centenar de miliampers. Però sobretot, on hi haurà mes despesa energètica és en els servomotors ja que s’han d’encarregar de moure tot el conjunt… i em fa l’efecte que no serà precisament lleuger.

En total la despesa de current en miliampers pot ser de 700 mA (uuuooouuu!)

 Per aquesta raó he triat aquesta bateria de NiMh

 

Batery

Batery

Aquesta bateria es de 9,6V i 3700 mAh, això vol dir que teoricament pot sostenir 3700 mA en 1 hora. Si el Pang gasta 700 mA aleshores pot mantenir-se “despert” 5,1 hores!! Ja veurem que això no es veritat….

El que té aquesta bateria, es que pesa 530 g. i això vol dir més feina pels servos….. Ja podràn amb tant de pes?

omercader Robotica