El Kit del LT1083

Ja fa dies que tenia ganes de muntar un kit. Fer els teus propis dissenys i projectes està molt bé, però per això fa falta molt de temps, que és una cosa que no tinc. Entre les proves, els errors, els canvis, i el software, acaben passant moltes hores fins que no tens un aparell funciona. I aquesta vegada no em volia complicar, volia quelcom senzill, sense maldecaps. No hi ha res com una estona de soldador per relaxar-se!

Vaig estar buscant algun kit que m’atraiés, que no fos massa car i que una vegada muntat tingués la seva utilitat. Per fi, a la web de ICStation, en vaig veure un que em va cridar l’atenció. Barat, sense components SMD, i útil: perfecte.

pantalla kit LT1083
Clica aquí per anar a la pàgina del producte

És una placa amb un regulador per fer una font d’alimentació. Sí, ja ho sé, no és gens ni mica original, i potser massa simple o bàsic. Qui no ha fet això mateix amb un LM317 o un dels mítics 78XX? En aquest cas, però, hi havia un paràmetre que em cridava poderosament l’atenció: 7 Ampers!

Aquesta immensa capacitat de produïr corrent deixa molt enrere la meva venerable (ja ha fet 20 anys) font d’alimentació de taller basada en un LM317, que pot arribar a donar com a molt 1,5A en condicions òptimes. Per suposat que en tot aquest temps que fa que la tinc m’he trobat alguna vegada que he necessitat més corrent. I naturalment sempre va bé tenir una segona font al taller, de vegades fa falta alimentar un circuit (o dos circuits alhora) a tensions diferents.

O sigui que m’hi vaig llençar de cap. Total no era el que costava, i passaria una bona estona soldant, que era simplement el que pretenia. Vaig fer la comanda; aquest és sempre un procés senzill a la majoria de llocs, i aquest no va ser una excepció. Al final vaig pagar amb PayPal, també fàcil i ràpid. El preu, com ja heu vist, és força ajustat, tot i que en aquesta web hi ha constantment ofertes de tota mena (jo en vaig pagar bastant menys, crec recordar). A més, com ja heu vist, el transport fins a la porta de casa està inclòs al preu, tot són comoditats. Vaig aprofitar per demanar una altra cosa que em feia gràcia (i que possiblement sigui objecte d’un altre post en un futur), i a partir d’aquí a esperar.

Mentre no arribava el carter amb la bona notícia, tenia temps de sobra per pensar què en faria del kit, una vegada muntat. Una ullada a les característiques i components em faria agafar una idea general del que tindria entre mans. Anem a veure què hi posa, a la pàgina.

Description -> Descripció
Board size: 74mmx46mm -> En realitat fa 80x48mm, però no importa, és menys que una targeta de crèdit
DC input: 2.5V-38V -> D’acord, però millor l’alimento en alterna
AC input: 2.5V-27V -> Un bon marge, començo a buscar transformador…
DC output: 2.5V-35V -> Un marge molt raonable. En funció del transformador que hi posi, podré arribar molt més amunt que la meva pobra font, que arriba molt justa a 13V.
Maximum current: 7A -> Aquest número brilla amb llum pròpia, admeto que em va enlluernar. Amb aquesta corrent pots alimentar (i cremar!) quasi qualsevol cosa.
Input and output minimum differential pressure: 2.5V -> O sigui que podré pujar fins als 35V si li dono els 27V AC. Em sembla que mai m’han fet falta més de 24V però qui sap…

Listing -> Llista de components
KF301-2P x2 -> Els blocs de connexió per ficar-hi els cables.
10A10 rectifier diode x4 -> Això és un diode i la resta són parides! 1000V i 10A!
1N4007 diode x2 -> Aquests dos ja són més normalets, però no eren els que hi anaven, després us ho explico.
3MM LED Blue x1 -> El clàssic led per saber que tot funciona. A tensions altres és super-brillant.
4700UF/50V x1 -> Un bon tros de condensador per rectificar, si senyor.
470UF/50V x1 -> Aquest ja és més normalet…
10UF/50V x1 -> … i el germà petit.
5.1K resistor 0.25W x1 -> La resistència pel led.
100 ohm resistor 2W x1 -> La resistència més grossa. Espero que la potència estigui ben calculada, o aquest serà el punt feble de la font.
3296-10K variable resistor x1 -> El potenciòmetre per regular la tensió de sortida.
7A resettable fuse x1 -> Em sembla bona idea posar un fusible en una bèstia com aquesta. Ja tinc ganes de provar-lo…
LT1083 regulator (not original and old) x1 -> El cervell de la màquina, l’integrat que ho fa tot. Un moment, què? Que no és nou ni de veritat? Ara ja sabem per on petarà tot… En tot cas, tampoc no ens podíem esperar que el kit complet valgués com només l’integrat en una web normal, no? No cal que ens fem els tontos, l’integrat és pirata. A veure si funciona, al menys.

Parlant de l’integrat, aquest kit m’ha despertat la curiositat i me n’he baixat el datasheet, sempre és una lectura interessant. Sembla que aquesta és una bona bèstia, perquè negar-ho. No el coneixia, aquest xip, però penso que alguna altra vegada li trobaré una aplicació…

Us deixo l’enllaç al datasheet clicant aquí: LT1083

ARRIBA EL KIT

Després de tres setmanes d’esperar, el paquet per fi ha arribat. He obert la capsa i això és el que m’he trobat. Com podeu veure, l’embalatge del kit no pot ser més senzill: una simple bossa mini-grip, ni tan sols és antiestàtica.

102_0433

I aquest és el contingut de la bossa. És evident que no hi ha cap mena de manual, ni en “chinglish” ni tan sols en mandarí. M’hauré de refiar de la serigrafia; sort que és prou clara.

102_0437

El radiador i la placa de circuit imprès per l’altra cara. És una placa molt senzilla, amb pistes només per una cara.

102_0438

Ara un detall de les dues peces més grans. El xip ja venia collat al radiador amb un cargol, tot i que no estava pas apretat.

102_0445

La placa per la cara de les pistes. Ja es pot veure que són ben gruixudes, per aguantar tanta corrent. El xip realment sembla de veritat, és una bona imitació.

102_0446

HORA DE SOLDAR

Per fi arribar l’hora d’escalfar el soldador i agafar l’estany. Ja ho trobava a faltar…
Es comença sempre pels components més baixets, i llavors es va fent els més grossos. El primer pas és, doncs, soldar les resistències.

102_0447 102_0448

Tot seguit és el moment dels condensadors ceràmics, i després els diodes petits, però aquí em trobo el primer escull. Resulta que la serigrafia de la placa (i el llistat de components de la pàgina web) posa que són dos diodes 1N4007, però en realitat al kit hi havia dos diodes 1N4148. Aquests són més petits, són diodes de senyal i no de rectificació. Segurament no hi hauria cap problema posant aquests, pel que veig al datasheet només serveixen per protegir l’integrat de corrents inverses. Però ja que en tinc aquí, de 1N4007, em decanto per soldar-hi els que toca. Mireu la diferència que hi ha: a l’esquerra els 4007 -més grossos i de color negre- i a la dreta els 4148 -amb el seu color transparent característic-.

102_0451

Superat el dubte, segueixo soldant els components un per un. Les indicacions de la placa són clares, i els forats suficientment grans. Un kit ben fàcil de muntar. A la foto ja està quasi tot soldat. “M’encanta la olor de l’estany al matí!”

102_0452

El condensador gros s’ha de muntar al final. Aquí ja només falta el xip. En aquest punt m’he aturat, ja que si soldo el xip el radiador em taparà els forats de la placa, i ja no la podré muntar enlloc. Fixeu-vos-hi.

102_0453

O sigui que munto quatre separadors hexagonals de M3, amb les seves femelles i volanderes perquè quedin ben fixes.

102_0454 102_0455

El següent pas és soldar l’integrat. Només cal tenir en compte la posició i la mida del radiador per saber a quina alçada ho hem de fer. Una vegada soldat, ja li podem posar el radiador de manera definitiva. Abans de fer-ho, però, cal posar pasta tèrmica entre les dues peces. Això millorarà enormement la capacitat de dissipació de l’integrat i, per tant, la canya que li podrem donar sense que mori carbonitzat.

102_0459

I aquí el teniu, bo i acabat!

102_0462

Com podeu veure, el radiador no toca els separadors que he muntat a la placa. Això té un sentit, ja que normalment aquesta mena d’integrats tenen la dissipació en una part activa, i el kit no portava cap aïllament per posar entre l’integrat i el radiador. Això vol dir que ara mateix el radiador està connectat elèctricament a una de les potes (caldria mirar quina al datasheet).

També he canviat el cargol que portava el kit de sèrie per un d’una mica més llarg, així he pogut posar una volandera i collar el radiador ben fort. Com a detall he de dir que el condensador més gran queda just davant el cargol, i costa una mica de collar des d’un costat. Hauria d’haver deixat el condensador gros pel final, o muntar el radiador al regulador abans de soldar-lo; però tampoc no hauria estat massa còmode soldar el xip amb el radiador posat, és massa voluminós.

Un últim detall que vull comentar. Hi ha una altra cosa molt recomanable per fer, i és cobrir les pistes de la placa amb estany. Això permetrà que passi més corrent per les pistes sense que s’escalfin o es cremin. Aquest és un vell truc de l’ofici, que personalment recomano, sobretot amb les plaques de les que desconeixem el gruix de la capa de coure. Jo diria que el fabricant de la placa ja és el que vol, sinò hauria cobert les pistes amb “solder mask” perquè no es fessin malbé amb el temps. Un bon gruix d’estany farà la mateixa funció, alhora de permetre que els electrons corrin lliures en multitudinària processó…

102_0458

LES PROVES

De moment les proves que he fet són molt bàsiques. Només he comprovat el funcionament sense càrrega, posant a l’entrada del kit 25,5V de corrent altern provinents d’un transformador endollat als 230V de la xarxa. Amb el tester (multímetre!) a la sortida, he pogut veure des de 1,25V fins a 33,9V en contínua.

El led (que és blau i molt brillant) s’encén correctament, tot i que per sota dels 3V de sortida s’apaga, evidentment.

Per fer pujar i baixar la tensió de sortida només cal fer girar el potenciòmetre del kit. Des del punt més baix fins al més alt he comptat 15 voltes completes. Aquest fet té l’avantatge que es pot graduar amb molta precisió la sortida, però l’inconvenient que es tarda molta estona dels 5V als 24V per exemple, cal fer moltes voltes. A més, el potenciòmetre és tan petit que el cargol sobre el que cal actuar és diminut, fa falta un tornavís de rellotger.

És evident que em falten una bona colla de proves per fer. La prova de funcionament sense cap càrrega no té gràcia, el kit haurà de demostrar el que val tot donant corrent a sac. Llavors podré mesurar l’arrissat de la tensió a la sortida, la capacitat tèrmica del radiador, i moltes coses més. Tinc ganes de provar aquest fusible, també, és molt temptador demanar-li uns quants watts al xip. També caldrà veure què tal funciona el mecanisme de protecció per sobre-temperatura del regulador. Dubto que aquest radiador pugui dissipar gaire potència, potser n’hi posaré un de més gran… Ara mateix tot això no ho puc fer, ja que el transformador que tinc és molt petit: abans de cremar el regulador cremaré el transformador, i no es tracta d’això.

Què sé jo, ja em rumiaré tot el que en puc treure, d’aquest kit. La idea bàsica és fer-ne una font d’alimentació de taller, una que tingui una bona capacitat. Però per això farà falta un bon transformador, una caixa maca, potser un voltímetre i un amperímetre… I per suposat un (o dos) potenciòmetres de panell, per regular la tensió còmodament com cal.

Ja us en tindré informats, de moment el pla d’avui només era passar una estoneta soldant tranquil·lament tot escoltant música!

Fins la propera!

Rodes de robot

102_0257

QUÈ ÉS AIXÒ?
Mireu-vos bé la foto, perquè aquest és el meu subjecte d’avui. Que què és això? Doncs és un conjunt de motor, reductor, roda i disc d’encoder. En poques paraules, és una roda per fer robots, joguines i vehicles teledirigits. Us en poso més fotos a sota, així us n’aneu fent a la idea.

102_0263 102_0262
Com podeu veure, són unes rodes força bones pel vostre robot. Els pneumàtics són força grans i tous, i el motor porta un reductor incorporat.

I ara, les fotos de les peces per separat.
102_0261
Aquí tenim les dues rodes. Com podeu veure, no són idèntiques. Després us ho explico.

102_0260
Els dos motoreductors. Un dels dos té eix pels dos costats, i l’altre només per un. Després us explico perquè és millor el que té el doble eix. El motor ja us deu sonar, si us agrada remenar; és el típic que porten les joguines.

102_0258
Aquí teniu totes les peces separades. Els discs de plàstic plens de forats tenen un sentit, no us penseu.

D’ON HO HE TRET?
Aquesta mena de motors i rodes són molt populars a ebay, i molt barats. Per poc més de 3$ podem trobar tot el conjunt amb els ports pagats, a punt per arribar a casa vostra. Si guanyeu una subhasta fins i tot us pot sortir encara més barat!

Jo ja feia molt de temps que els tenia vistos, i per fi vaig decidir provar-los. Vaig comprar totes aquestes peces per separat, a diferents venedors i preus, per veure si eren tots iguals o hi havia diferències de color, mides, etc. El resultat de la prova és que són lleugerament diferents, però no tant com per ser incompatibles entre ells.

Abans d’explicar-vos què fer-ne i com fer-ho, feu la prova de cercar-los per ebay. Només cal que cerqueu “robot motor wheel”, i us n’apareixeran una bona colla, als resultats. Potser la meitat o més són com aquests que us he ensenyat. Curiosament, si a la cerca hi afegim la paraula màgica, “Arduino”, gairebé l’únic model que ens apareix és aquest del que us parlo avui. N’ignoro el motiu, <ironia> suposo que deu ser perquè, com tothom sap, no es pot fer un robot si no és amb un Arduino </ironia>.

Una cosa que heu de tenir en compte és que n’hi ha amb diferents etapes de reducció, d’aquests reductors. Ara no em posaré a fer una xerrada sobre mecànica, només us vull advertir d’un fet evident. Si trieu una reducció molt gran, per exemple 1:120, la roda girarà més a poc a poc (120 vegades més lentament que el motor), i això vol dir que el robot serà molt lent. Si la reducció és més petita, diguem de 1:48, el robot serà més ràpid. Quin avantatge té, doncs, la reducció gran? Doncs que el que perdem en velocitat ho guanyem en parell. En altres paraules, més lent vol dir més potent, té més força i per tant pot moure més pes. O sigui que si voleu fer un robot ràpid i lleuger (un seguidor de línies, per exemple), trieu una reducció petita. Si el que voleu és un robot lent però forçut (per fer sumo, per exemple), la vostra elecció ha de ser una etapa reductora molt gran. Ja ho teniu clar? Què voleu, un Lamborghini o una excavadora?

Jo n’he comprat de tots dos tipus, un de més lent i un de més ràpid, per provar-los a veure què tal van. De moment només els he provat sense cap càrrega, girant lliurement. Pel que expliquen els venedors, els motors funcionen entre 3V i 6V (una gamma de tensions molt bona per fer servir piles i bateries), i així els he provat. Us poso els resultats de les corrents que han consumit mentre giraven, perquè us en feu una idea.

Motor 1 (lent)
3V: 140mA girant lliurement, 250mA frenant l’eix amb els dits.
6V: 170mA girant lliurement, 290mA frenant l’eix amb els dits (no hi ha qui el pari).

Motor 2 (ràpid)
3V: 70mA girant lliurement, 350mA frenant l’eix amb els dits (es para completament).
6V: 90mA girant lliurement, 280mA frenant l’eix amb els dits.

QUÈ SE’N POT FER?
Com ja us he dit, jo en penso fer un robot, un de senzill. O potser dos, ja que se m’acudeixen moltes maneres d’utilitzar aquest motor per fer la tracció, una cosa tan important i necessària. Tinc moltes idees al cap, i algunes de començades en paper o inclús en format físic. Com que de moment no tinc res prou madur com per ensenyar-ho, us poso una colla d’exemples que he trobat per ebay tot buscant els motors. En aquest lloc hi ha una bona colla de kits per fer robots que utilitzen aquestes peces. Mireu les imatges a continuació i us en feu una idea. (Les imatges que poso tot seguit són extretes d’ofertes d’ebay, per tant són propietat de llurs venedors. No he sabut trobar quina llicència hi ha per aquesta mena de temes, però si algun venedor m’ho demana, retiraré encantat la seva imatge).

 

 

 

COM HO FARÉ?
D’entrada, si comencem per les rodes i els motors, que ja tinc, el següent pas seria el controlador del motor. En aquest cas els motors consumeixen relativament poca corrent, com ja heu vist; cadascun el podria controlar amb un transistor, una parella darlington o fins i tot un mosfet. També podria fer un pont en H molt senzill, per poder controlar cada motor endavant i enrere. Els lectors assidus recordareu el post que vaig fer sobre el L298, que és un xip econòmic i molt adient per aquest ús. Amb només aquests components i una roda “boja” al davant, ja tindríem resolt -a més de la tracció- el tema de la direcció: només cal fer girar una roda més ràpid que l’altra, i ja aconseguim que el robot giri (tal com ho fa un tanc sobre les seves erugues).

Em sembla el moment adient per fer un incís, i explicar per què serveix la roda plena de forats que heu vist a les fotos. És un component bàsic per fer un encoder, que ens permetrà saber la velocitat a la que giren les rodes. S’ha de posar un diode led i un fototransistor (una mena d’opto-acoplador) a cada banda de la roda, apuntant l’un a l’altre. D’aquesta manera, quan la roda giri, la llum del diode passarà a través del forat i arribarà al fototransistor, provocant un senyal; un senyal diferent es produirà quan no hi hagi forat, i el fototransistor no vegi la llum del led. Si coneixem l’interval de temps entre els senyals i el nombre de forats, podrem calcular les revolucions de la roda per simple matemàtica. I, sabent el diàmetre de la roda, podem calcular la velocitat del robot. També podem saber si una roda està encallada (si hem topat), i altres factors que hem de tenir en compte per dirigir el nostre aparell de manera autònoma. Per això era tan útil el segon eix, per poder muntar la rodeta dels forats. Tanco l’incís i segueixo amb el control dels motors.

Una altra opció que tinc a mà per controlar els motors és el motor shield d’adafruit. Fa un temps el vaig comprar i muntar, aquest kit, però encara no havia tingut la ocasió de fer-lo servir. És bastant més car que el mòdul del L298, però entre d’altres té l’avantatge que el puc col·locar sobre l’Arduino diecimila sense cap més cable ni preocupació.

Bé, ja veieu que tinc moltes opcions, ara es tracta que em decanti per una o altra, i que pensi en la resta d’aspectes del robot (control, sensors, etc). Però això ja seria molt llarg d’explicar i fer, i aquest no és el propòsit del post d’avui. Seguirem aquest camí un altre dia.

TRES DIMENSIONS
I ara, després de tot aquest text inútil, arribem per fi a algun lloc. Tot això que us he explicat era només per posar-vos en antecedents, ja que la trista realitat d’aquest post és que l’he fet només per penjar uns arxius.
Resulta que he dibuixat totes aquestes peces en 3D per dissenyar un robot. Per estrany que pugui semblar, no tinc temps per trastejar al talleret amb eines i cables, però de tant en tant sí que en tinc una mica -lluny del talleret- per fer ximpleries com aquesta amb l’ordinador.
I aprofitant que ja tinc fets els sòlids, els penjo a la xarxa perquè tots els podeu utilitzar al disseny del vostre següent robot. Si aquest és el cas, us estalviareu la feina que he tingut jo dibuixant (no n’hi ha per tant, tampoc no ha estat tanta!). A més, ara no em negareu que baixar-vos arxius que no fareu servir mai no és un dels vostres vicis, oi?
Els sòlids estan en format STEP, perquè els podeu utilitzar amb el vostre software de tres dimensions preferit, vosaltres mateixos. Pot ser que les mides no siguin exactament iguals a les de les peces que us compreu vosaltres, ja us he explicat que d’un venedor a un altre hi ha petites diferències. Les peces que vaig comprar jo no són pas idèntiques entre elles, n’he dibuixat una de les dues, sense preocupar-me de les dècimes de mil·límetre de diferència que hi pugui haver. A vosaltres tampoc us hauria d’importar, total estem fent robots casolans i no una llançadora espacial. En últim cas, si tant us molesta, editeu els arxius per fer coincidir les mides a la perfecció, què voleu que us digui…

DONWLOADS
Va, anem per feina, que es fa tard. Els següents arxius per baixar són enllaços al meu google drive. Els arxius STEP estan comprimits dins d’arxius RAR sense contrasenya ni res. Vosaltres mateixos, barra lliure!

roda

LA RODA
(és un conjunt de llanda + pneumàtic)

conjunt motoreductor

EL MOTOREDUCTOR
(és un conjunt de motor + reductor + eix de sortida)

IMPORTANT
Jo no he fet el disseny d’aquestes peces, per tant no en tinc els drets, ni la propietat industrial, ni intel·lectual, ni res de tot això. Jo només he dibuixat els sòlids d’unes peces que he comprat, i allibero aquests dibuixos al món sota la llicència CC-SA-BY-NC, que és la mateixa que utilitzo per tot el contingut original que hi ha en aquest blog. Per suposat, si feu servir aquests arxius és sota la vostra responsabilitat, vosaltres sabreu. Jo no assumiré cap responsabilitat de res que us pugui passar per fer-los servir (no sé pas què, però ho poso per si de cas).
Per suposat, si poso aquests arxius aquí és perquè els feu servir. Per tant, us animo a:
-Utilitzar-los pel vostre ús personal.
-Copiar-los, enviar-los, i distribuïr-los com us doni la gana (sempre que no cobreu per fer-ho).
-Penjar-los al vostre blog, web, twitter, o el que sigui.
-Modificar-los al vostre gust.
En tot cas, només us demano que n’esmenteu l’origen (un enllaç al meu blog és suficient).

Ja em direu com us ha anat, m’encantaria rebre comentaris d’algú que els hagi fet servir.

Això ha estat tot per avui… Ja sé que ha estat molt temps sense publicar i això d’avui no és gran cosa, però faig el que puc amb el temps que tinc. Estic preparant moltes coses, però ho tinc tot a mitges i no tinc temps d’acabar res. Fins a la propera.

Quincalla xinesa

Ara que estem en aquestes festes consagrades a la família, l’amor i l’alegria al consumisme més pur i dur, em sembla que és el moment més adient per fer una petita explicació de la mena de compres que fa algú com jo, i la mena de regals que li encantaria rebre enlloc de colònies, mocadors, o calçotets. No em malinterpreteu, jo faig aquestes compres durant tot l’any, i no només en aquestes dates; el Nadal només ha estat l’excusa per començar a introduir el tema d’avui.

No cal dir que quan parlo de comprar material, vull dir material electrònic, i evidentment, a través de la xarxa. L’època en que podies comprar resistències o condensadors a cada poble mitjà ha passat a la història fa temps. Jo ho havia fet, però mica en mica vaig haver de conduir més i més quilòmetres per comprar els components més habituals com resistències, condensadors, diodes i demés. Comprar la meitat dels xips va esdevenir impossible; fins i tot anant a les dues últimes botigues decents d’electrònica que subsisteixen a tot el meu país (que jo sàpiga), molt lluny de casa meva, no acabes trobant el que busques, en el millor dels casos quelcom similar que t’obliga a canviar tots els teus plans. I llavors t’adones que has perdut quasi tot un dia i 50€ de gasolina per comprar 10€ en components. Sort que sempre ens queda la xarxa.

Si us hagués de recomanar que féssiu compres de material per aquesta afició que compartim, us recomanaria llocs web que tenen productes bons, molt ben documentats, fiables, i amb una assistència al client i una logística que fan posar vermells de vergonya els directius de les millors marques del món. Aquest serà el tema d’un altre dia, perquè avui em vull endinsar en un món molt més insegur, desconegut, fosc i emocionant: el de la quincalla “made in xina”. Deixeu-me que us ho expliqui.

Quan parlo de “quincalla” em refereixo a aquests petits mòduls, eines i aparells de molt baix cost que són de gran ajuda per desenvolupar el nostre projecte a la fase de prototipatge, abans que ens plantegem fer una placa a mida i el software definitiu. Pantalles LCD, bateries lipo, “breakout boards” de xips comercials, arduinos clònics de baix cost, carregadors, reguladors, convertidors dc/dc, drivers de motors i un llarg etcètera. No entrarien en aquesta categoria eines imprescindibles com les estacions de soldadura, els oscil·loscopis, les fonts d’alimentació, ni les plaques de desenvolupament comercials; tot això és massa car per anomenar-ho “quincalla”, i jo personalment no tinc clar si m’arriscaria a comprar-ho segons on, tenint en compte la importància que té per poder treballar en condicions.

Pel que fa al “made in xina”, parlo dels llocs on podem comprar-ho directament, perquè tant si és de marca com si no, haurà estat fabricat a la Xina i/o països propers del sud-est asiàtic. I si és barat encara és més probable, però no hi haurà tants intermediaris, controls de qualitat, transportistes i duaners implicats. Parlo de comprar directament als llocs que ja deveu conèixer, com poden ser dealextreme, aliexpress, miniinthebox i semblants, però sobretot, ebay. Per mi cada dia encara és motiu de sorpresa veure el preu que et pot costar segons què, amb el transport des de l’altra banda del món inclòs. I no parlo de guanyar subhastes, sinó simplement del preu que demana el venedor per comprar-li el producte directament. És clar que el canvi de divisa ajuda molt a obtenir aquesta sensació, però tot i això, no deixa de ser sorprenent.

Com ja us he dit, he fet servir aquest sistema en moltes ocasions, amb resultats molt diversos, i tinc la intenció de seguir-ho fent. He de reconèixer, a més, que estic enganxat; buscar el mateix producte aquí i allà a veure quines diferències hi ha i qui el té més barat; obrir cada dia la bústia esperant veure el petit sobre encoixinat de paper kraft; muntar circuits de prova per saber si funciona o no; deixar comentaris al venedor, donant-li les gràcies o insultant-lo perquè ha passat un mes i mig i no he rebut res… És tot un món, i per mi, molt interessant, divertit i fins i tot emocionant.

Que m’agradi aquest sistema “arriscat” de comprar no vol dir que deixi d’utilitzar les altres fonts que us comentava al principi quan vull un producte fiable, de qualitat, i ben documentat. Simplement no sempre necessito tant, o sigui que em puc estalviar uns diners i fer servir aquest altre mètode. Avui us posaré un exemple d’això que us parlo, una de les meves últimes adquisicions.

modul i2c memoria i rtc

El mòdul del DS1307
El primer exemple d’aquesta sèrie serà un mòdul que conté un RTC (rellotge de temps real, o real time clock). Un RTC, per qui ara estigui fent una cara rara, és un xip que manté l’hora, com un rellotge. Això és important pels nostres circuits que necessiten saber l’hora i el dia que és, ja que els microcontroladors no saben a quin dia viuen. Per ells l’únic temps que coneixen és relatiu, per dir-ho d’una manera quants milisegons han passat des de l’última vegada que han rebut alimentació o han fet un reset; però no si és de dia o de nit, ni si l’any és el 1995 o el 2018. Segur que hi ha un RTC a l’ordinador que ara mateix mires, o dins el teu cotxe, per exemple. Una característica important dels RTC és que segueixen comptant, per tant mantenint l’hora, encara que no rebin corrent. És obvi que necessiten alguna energia per fer-ho, però molt poca; per això és sol fer servir una pila petita. Recordes la pila tipus rellotge que hi ha a la placa base del teu PC?

Un xip molt popular per aquest ús, i relativament fàcil de fer servir, és el DS1307. Hi ha llibreries per Arduino arreu, i es poden trobar moltes explicacions de com funciona a la xarxa. Es comunica utilitzant I2C, la qual cosa vol dir que només faran falta dos pins del nostre micro per obtenir les prestacions que ens dóna. He buscat un mòdul per aquest xip a la xarxa, i he trobat aquest.

“Arduino I2C RTC DS1307 AT24C32 Real Time Clock Module For AVR ARM PIC SMD”

Si us hi fixeu a la pròpia denominació hi ha tota la informació rellevant (tags). Adoneu-vos que la paraula “Arduino” no falla mai en aquesta mena de quincalla. És una bona paraula clau per les vostres cerques a ebay; jo la tinc com a etiqueta per descobrir nous productes, de fet.

Aquest és un dels llocs més barats que he trobat (1,15€ amb transport inclòs!), però no un dels que ofereix més informació. La descripció es redueix a les següents línies:

    Item description:

  • Brand new and high quality.
  • This is the DS1307 Real Time Clock developed by one of our designer waiman.
  • The module comes fully assembled.
  • The DS1307 is accessed via the I2C protocol.
  • Two wire I2C interface.
  • Hour : Minutes : Seconds AM/PM.
  • Day Month, Date – Year.
  • DS1307 based RTC without LIR2032 battery.
  • 1Hz output pin.
  • 56 Bytes of Non-volatile memory available to user.
  • Size: 2.9cm x 2.6cm – 1.14inch x 1.02inch.

Si heu mirat la foto amb atenció, haureu vist dos xips i no un de sol (el DS1307). L’altre és una memòria (Atmel AT24C32), o sigui que aquest mòdul és doble, és a dir, un breakout board per dos xips alhora. Em crida l’atenció que, malgrat al títol de l’article si que hi apareix, a la denominació no hi ha informació ni cap referència a l’altre integrat que hi ha a la placa, la memòria; la descripció és exclusiva pel DS1307. I no és massa informació, és clar, però en aquests casos no espereu gaire més. De fet, l’anglès no només és intel·ligible, sinó que és quasi correcte, i això ja és molt! Un lloc seriós proporcionaria l’esquema (complint un dels requisits més bàsics de l’Open Source Hardware), un manual, datasheets, i potser llibreries, exemples de muntatges i codi font… Però això és ebay i xina, no un lloc seriós de “maquinari de codi obert”, recordes? Ens haurem d’espavilar.

Com que aquests venedors d’ebay porten tots el mateix (i mai no saps qui ho fabrica, és una de les principals característiques de Xina), podem trobar informació millor en altres venedors. El risc que el producte sigui molt diferent és mínim; compareu les fotos i us n’adonareu. Feu la prova, busqueu “DS1307 RTC module” a ebay i ja em direu el què. El xip de memòria no em fa cap falta, però he trobat mòduls semblants que no la porten i valen el mateix, o sigui que agafo aquest i ja està.

modul a dx

Mireu on l’he trobat, també, i és clavat!

Ara fem un “fast-forward” en el temps de quasi un mes i ens situem quan m’arriba el paquet a casa (quasi un mes? us ho havia dit!). Està ben embolicat i ha arribat il·lès, és hora de fer les proves. Per fer-les, és clar, faré servir un Arduino. Però no faré servir la meva venerable Diecimila, ja que la tinc ocupada en una altra cosa que estic fent; ni tampoc l’Arduino Nano, que també el tinc muntat en un protoboard per un altre projecte (sí, sempre ho tinc tot a mitges, començo moltes coses i no acabo res). Faré servir un Arduino Pro Mini clònic (l’original és de Sparkfun) que vaig comprar seguint aquest mateix mètode que us he comentat, i que va arribar fa unes setmanes. Llavors li vaig soldar les tires de pins mascle, però no el vaig arribar a provar, ara serà el moment. Tot plegat ho muntaré en un protoboard molt petit que prové del mateix lloc. Us en poso la referència aquí a sota, per si us interessa. Per cert, quasi me n’oblido! Cal posar-li una pila al mòdul perquè faci la seva feina, al meu cas li he posat una CR2032 que tenia per aquí, de fer-la servir en altres projectes. I per connectar-lo al protoboard cal soldar-li uns pins mascle als forats que porta per aquest ús. És només un moment de soldador.

protoboard a ebay

Protoboards, mai no en tens prous! i si són de colors, millor!

mini arduino a ebay

Sí, tot un Arduino per 2,27€! i amb 32K de RAM, no 16K!

Per començar la prova, he de connectar el mòdul del rellotge amb l’Arduino. El GND i el VCC estan clars, com a mínim des del moment que miro el datasheet i m’adono que el DS1307 accepta els 5V de l’Arduino sense problemes; a partir d’aquí a buscar-se la vida. El primer lloc que he trobat amb una mica de documentació és Adafruit, on hi ha un tutorial, com sempre excel·lent. Segons el tutorial, la connexió l’he de fer als pins A4 i A5; molt fàcil, si no fos perquè són els dos pins que no té el petit Arduino Pro Mini! Després de mirar una bona estona la documentació de la llibreria “Wire” a la web de l’Arduino, arribo a la conclusió que no puc fer servir dos pins que no siguin aquests. Per sort, hi ha dos forats a la placa d’on puc treure l’accés a aquests dos pins. El problema és que aquests forats no estan alineats amb els forats del protoboards, o sigui que no hi puc soldar simplement uns connectors mascle com a la resta de pins; la solució és soldar dos cables, i connectar-los directament al punt desitjat del protoboard. No queda massa bonic, però és efectiu al 100%. Trigo més a escalfar el soldador que a soldar els dos cables, però un cop fet faig els ponts amb la placa del rellotge (pins SCL i SDA) tal com diu el tutorial i llestos! El hardware per a la prova està a punt, aquí teniu la foto.

muntatge modul rtc i arduino

Foto del muntatge de prova, amb l’Arduino Pro Mini, el protoboard, el mòdul que estic provant, i només 4 cables. D’aquest cable gris que creua el mòdul encara no n’he parlat, seguiu llegint.

Tot seguit és el torn del software. Per estalviar-vos una estona avorrida explicant tot el que he provat i buscat que no ha portat cap resultat positiu, aniré directament al que sí que ha funcionat i ha estat fàcil de fer anar.

El primer que he fet ha estat instal·lar la llibreria Time que hi ha a la web de l’Arduino. He fet servir un programa -o sketch- que es diu “TimeRTCSet.pde”, i que es troba entre els exemples inclosos a la mateixa llibreria. Carregar el programa al microcontrolador ha estat el procés de sempre: connectar el cable FTDI a l’USB de l’ordinador i a l’Arduino; així ja tenim una connexió sèrie entre el PC i l’Arduino. Al meu cas el port sèrie virtual es diu “/dev/ttyUSB0” (estic fent servir Ubuntu Linux), el vostre pot ser diferent. Un petit problema que he hagut de resoldre ha estat dir-li a l’IDE de l’Arduino que la placa que estava fent servir era una Duemilanove amb Atmega328, fins que no ho he trobat he anat provant una i altra, perquè el programa no pujava. Coses de fer servir Arduinos estranys… Una vegada resolt aquest detall, el programa ha pujat sense problema. He obert la consola sèrie de l’IDE a 9600 baudis i he vist el que m’estava dient el micro. Fins aquí tot va bé, ara he de posar el mòdul en hora.

Això és el que rebem pel port sèrie la primera vegada que connectem el mòdul, no està posat en hora.

Llegint alt per alt el codi del programa que he carregat al micro (no hi ha millor documentació que llegir el codi font), sembla evident que la manera de posar en hora el rellotge és enviar un comandament a través de la connexió sèrie que tinc oberta. Aquest comandament és una lletra ‘T’ majúscula, seguida de la data en format Unix, és a dir, el nombre de segons que han passat des que van començar a sonar les campanades de cap d’any del 1970 (jo no recordo com va ser aquella nit, més que tot perquè encara no havia nascut).

Per mi ha estat molt fàcil obtenir aquest nombre, (ja us he comentat que faig servir Linux?) simplement he obert un terminal i he escrit: “date +%s”, el resultat ha estat 1387631082. Ignoro com us ho fareu els que feu servir ordinadors bonics amb pomes que brillen, o ordinadors normals amb sistemes operatius que tenen finestres amb els vidres de colors. Sempre podeu calcular-ho manualment (però no feu trampes, sense calculadora!), o buscar un lloc online que ho digui o ho calculi (segur que hi és, hi ha de tot). Seguint amb l’exemple, jo he posat “T1387631082” (la T que us deia i el número que m’ha donat el terminal) i el rellotge s’ha posat automàticament en hora a les 13:04:42 del 21 de Desembre del 2013. Que fàcil!

Ha estat enviar la cadena alfanumèrica pel port i el rellotge s’ha posat en hora.

Una vegada posat en hora, podem desconnectar l’alimentació del mòdul, que seguirà mantenint l’hora, gastant molt poca energia (en algun lloc he llegit que una pila nova ens pot durar més de 10 anys!). Quan tornem a connectar l’Arduino al port sèrie de l’ordinador, ens seguirà donant l’hora correctament.

O aquesta és la teoria, perquè quan l’he tornat a connectar, el programa m’ha dit que la hora no estava posada, com si mai l’hagués posat en hora. Que estrany, no funciona. És l’hora del “troubleshooting”! Per molt senzill que sigui un mòdul, projecte, o programa, aquest moment sempre arriba. En aquests casos sempre recordo una màxima que utilitzo des que vaig començar a programar, fa molts anys: “Si funciona a la primera, és que alguna cosa no va bé”.

Em dirigeixo al primer sospitós, tester en mà; no és cap altre que el mòdul RTC, recordeu el títol del post? Després de punxar en una bona colla de llocs, tot buscant tant continuïtat com tensió, he trobat una cosa: em sorprèn que hi ha 0V entre els dos pins de la pila. És estrany, em pensava que era força nova. Culpa meva, canvio la pila i ja està. La trec del porta-piles (que no és massa fàcil, tot s’ha de dir) i la mesuro amb el tester. Ara em dóna 2,3V, això sí que és estrany. Analitzant-ho amb lògica, arribo a la conclusió que el mòdul ha de tenir un curt-circuit, per això la pila dóna tensió quan està fora del mòdul. Alhora el curt està buidant la pila a velocitats bestials. Per tant no era problema meu, la pila estava bé quan li he posat. Però ara sense la pila el tester diu que no hi ha curt-circuit. Al moment m’apareix un gran interrogant al cap, estic desconcertat. Però de nou ho miro fredament, això vol dir que la pila provoca el curt!

Un examen minuciós del porta-piles revela que hi ha una pota sota el lloc on connecta el pol positiu que es fica una mica sota la pila, on hi ha el pol negatiu. És només una punta molt petita de la peça metàl·lica que fa el contacte, però podria ser suficient. Tallo aquesta punta que sobresurt massa amb les alicates que faig servir per tallar les potes dels components després de soldar-los a les plaques, que tenen una punta molt fina. Torno a posar la pila, una de nova de fet, i mesuro la tensió a les potes del porta-piles. A la pantalla apareixen 3,1V, problema resolt! Tot havia estat culpa d’un porta-piles merdós. (Perdoneu que no hagi fet fotos d’aquesta incidència, però és que el mode “macro” de la meva càmera no dóna per tant).

Tornem, doncs, al pla inicial. Repeteixo l’operació de connectar l’Arduino a l’ordinador, posar el mòdul en hora, desconnectar-ho tot, i esperar una estona. Quan ho torno a connectar, de nou ha perdut l’hora! Torno a repassar la pila, però ara està bé. Què caram passa, ara? Pensem-ho amb calma, de nou. Si la pila té tensió i el micro no reté l’hora, o el micro està fotut o no li arriba la tensió de la pila. Anem a comprovar la segona hipòtesi, perquè la primera és molt improbable té molt mala solució. Tot mirant el datasheet del DS1307, trobo que l’entrada de tensió de la pila és al pin 3. Allà hi poso el tester i em trobo 0V. És possible que el fabricant del mòdul hagi obviat aquesta connexió? Com que no en tinc l’esquema, no tinc més remei que seguir investigant amb el tester.

Tot mirant la continuïtat dels diferents punts del circuit he trobat una cosa com a mínim rara. A la citada pota número 3 de l’integrat no hi ha connectat el positiu de la bateria (això ja ho he dit), sinó que aquesta pota va connectada a un pin de sortida que està marcat com a “BAT”. Jo d’entrada suposava que era una connexió a la pila (com puc haver deduït això?) per mesurar-la amb el micro o per carregar-la en cas que fos carregable, però no és així. He buscat per la resta del circuit i no he trobat cap altre lloc que estigui connectat a la pota 3 del xip, o sigui que aquest no rep cap tensió quan està desconnectat del port USB, per tant no pot seguir comptant el temps. Ignoro perquè hi ha una pila al mòdul, si no és per mantenir l’hora del rellotge; la memòria (l’altre xip) no se m’acut perquè la pot necessitar, una pila. Si tingués un esquema ho podria entendre, però és igual; ja tinc clar com ho he de resoldre.

La solució ha estat molt fàcil i expeditiva: he soldat un pont entre el positiu de la pila, i el citat pin de sortida anomenat “BAT”. En altres paraules, fent això he connectat la pila a la pota 3 del xip (és el cable gris de la foto que us he dit que ja explicaria). D’aquesta manera el xip hauria de ser capaç de seguir comptant el temps quan perd la tensió d’alimentació (els 5V que provenen de l’Arduino). Només cal provar-ho: li carrego de nou l’hora, el desendollo de l’ordinador, espero una estona, i el torno a endollar. Segueix donant bé l’hora, solucionat.

Funciona! Ha mantingut l’hora malgrat no rebre corrent de l’Arduino.

O sigui que ja tinc el mòdul del rellotge a temps real operatiu, i he pogut fer-vos una petita demostració de com funciona. He de dir que un dia després sense cap alimentació, he connectat el mòdul de nou i no ha perdut l’hora. Si hem de fer cas a les especificacions, no la perdrà en molts anys…

Espero que aquest exemple del mòdul RTC hagi estat prou il·lustratiu del que us explicava al principi, d’això de la “quincalla xinesa”. Ja heu pogut veure que hi ha enviaments lents, problemes, mala documentació, qualitat justa, però al final acaba funcionant i surt a molt bon preu. De pas exercitem una mica les nostres habilitats, i la matèria gris tot pensant com resoldre els inconvenients que ens van apareixent!

Només em queda dir-vos que aquest mòdul haurà de formar part d’un projecte en el que estic treballant, no l’he comprat només per escriure aquesta presa de contacte. Més endavant ja veureu de què es tracta, de moment no vull dir res més. Per als lectors habituals (si en tinc algun), aquesta vegada no he penjat les fotos al flickr, he cregut que no feia falta, de tan poques, i tan petites la majoria. Fins una altra!