Fa poc ha arribat a les meves mans un termòmetre d’infrarojos sense contacte de tipus pistola, d’aquells que es van posar tan de moda als temps de la pandèmia; ja sabeu, aquells que es feien servir als aeroports per apuntar a la gent al front sense cap mania, i que decidien si pujaves a l’avió o no.
Ara ja han caigut bastant en desús, però sempre em van cridar l’atenció des del punt de vista tècnic. Què hi devia haver, a dins? Com devia funcionar? Per suposat, tinc una més que lleugera idea de com funciona aquest aparell, però això no em treu les ganes d’obrir-ne un i descobrir-ho per mi mateix (us passa el mateix, o sóc només jo?). Bé, doncs, aprofitant que n’acabo de rebre un que està avariat, tinc la ocasió perfecta. És l’hora de fer una autòpsia!
Aquest és el subjecte en qüestió. Fa cara de ser dels més senzills (sinònim de barat), com indica la seva construcció plàstica i sense cap refinament. A part del gallet, que deu servir per prendre la mesura, té un selector i tres botons a un costat, qui sap per què deuen servir…
He fet una ullada per la xarxa a veure si trobava aquest mateix model. Exactament no l’he trobat, però sí que n’he trobat algun de molt semblant:
En efecte, sembla que és dels més barats que hi ha. Seguim amb el nostre pacient, però.
A l’altra cara, només hi ha els forats que indiquen un petit altaveu i l’allotjament d’un cargol.
A la part inferior hi ha la tapa de les piles: dues AAA de 1.5V, les del comandament a distància de tota la vida. Fins ara tot molt normal i bàsic.
A veure què li passa a aquesta criatura. Amb les piles posades, premo el gallet: se sent un «pip» i apareix una pantalla d’error (això és el que suposo que vol dir «Err»).
Em sembla una mica curiós que el fons d’una pantalla d’error sigui verd, hauria de ser vermell, no? Deixant aquest detall a part, he provat de remenar tots els botons i el commutador i res, el resultat és el mateix error, LPVDLM (la pantalla verda de la mort).
Va, prou conya que toca obrir el subjecte… Tornavís!
Només he hagut de treure dos petits cargols d’estrella per obtenir aquesta visió tan bonica, així m’agrada! A part del cargol que ja havíem vist al lateral, n’hi havia un altre sota la tapa de les piles (els més observadors jo ho havíeu vist abans a la foto, segur).
La placa principal està connectada a la resta de components amb cables. La bona notícia és que porten connectors, de manera que separar tots els components és molt fàcil i no fan falta eines.
En aquesta cara no hi ha gran cosa, un petit altaveu piezoelèctric enganxat a la carcassa de plàstic, amb els cables corresponents.
A l’altra cara ja hi ha més teca: els cables de les piles, una placa amb els polsadors i el commutador, i el sensor infraroig envoltat del seu suport. Cal treure dos cargols més, també Phillips, per separar la placa de la carcassa. De moment, tot molt fàcil.
Aquí no hi ha cap misteri, només un selector i tres polsadors.
En treure la placa, el suport del sensor ha quedat alliberat, la mateixa placa i el cargol el mantenien a lloc. Ara que no hi són, el puc treure sense més dificultat.
La carcassa queda així de pelada una vegada desmuntat tot plegat. Podeu veure que els botons són una sola peça de plàstic d’un altre color, soldada amb escalfor a la carcassa. Una construcció molt senzilla, clàssica dels productes barats, però eficaç alhora.
El sensor infraroig va muntat dins un tub negre de plàstic que en focalitza la lectura tot tancant el seu angle «de visió». Les potes de l’encapsulat del sensor van soldades a un circuit imprès que porta els senyals al connector dels cables, i la peça de plàstic de color lila ho aguanta tot plegat. Aquí tampoc hi ha cap secret; de moment m’agrada molt com està fet: simple i directe, sense complicacions.
Com heu pogut veure, tots els cables dels diferents components van a parar a la placa principal, darrere la pantalla. Allà hi ha el secret de tot plegat, el quid de la qüestió, és on es produeix la màgia…
…i aquí és on s’acaba la diversió! Per desgràcia, el cervell d’aquesta maquineta, el microcontrolador que ho fa tot, es troba incrustat directament a la placa sense cap encapsulat, darrere d’aquesta maleïda taca negra d’epoxy. I això és una mala notícia, perquè ens impedeix saber quin microcontrolador és, quins pins té connectats on, etc. Sí, ja sé que podria fer enginyeria inversa i ho podria arribar a saber, però ara mateix no tinc tanta curiositat; ho deixaré per un altre moment, si cal.
Deixant aquesta petita decepció de banda, encara hi ha moltes coses interessants que podem veure a simple vista. A veure una mica més de prop…
Per exemple, la primera que crida l’atenció és aquesta filera de forats perfectament identificats de la part esquerra de la foto; o molt m’equivoco, o aquí tenim exposat el port de programació del micro. Amb un programador, uns quants cables, no massa estona, i una mica de sort, en podria extreure el firmware. Fins i tot hi podria arribar a pujar el meu propi programa… Sona prometedor! Ja estic pensant en les possibilitats de tot plegat (cara de malvat, ha ha ha)… També és possible que sigui un port SPI (Serial Peripheral Interface); amb aquests pins podria connectar altres xips al microcontrolador, i això també obre tot un món de possibilitats.
A veure què més tenim… Un moment! «24C02»? Aquest xip al costat de la gota negra em sona: és una EEPROM, una memòria sèrie re-gravable de 2K. Trobar-lo aquí em sorprèn una mica; per què hauria de gravar dades, aquest aparell? És que potser té un mode de funcionament que desconec? Fa alguna cosa més que treure la temperatura per la pantalla? Interessant… Podria llegir-ne el contingut amb el programador, o fins i tot gravar-hi dades noves i veure què passa…
I aquest altre xip de sis potes? «N1IF», eh? A veure… Sembla que és un «HX4002B», un convertidor DC/DC amb sortida de 3.3V. Aquest xip és aquí per garantir una tensió constant al micro, independentment de l’estat de càrrega de les piles. Re-utilitzable 100% i, pel que veig, força barat.
Hi ha també aquest «KL3» de tres potes, que deu ser un transistor. A veure… Mmmm, doncs no. Sembla que és un tal «BAT54C», dos diodes Schottky de 30V en un mateix encapsulat, amb els càtodes en comú. Res especial, però també aprofitable.
La resta de components són passius i molt convencionals: només resistències i condensadors. També hi ha el polsador del gallet, i els connectors que ja he esmentat per tots els cables. A l’altra banda, hi ha un LCD que sembla fet a mida. Només he d’alliberar quatre cargols i el tindré desmuntat. A veure…
Com podeu veure, no hi ha gaire res d’interessant. La placa conté els pads per connectar el display, i un parell de LEDs a la part de baix, que serveixen per il·luminar el backlight (a la dreta). La pantalla de cristall líquid és transparent, per això fa falta el backlight darrere. Amb els LEDs adients, es pot fer que la pantalla tingui el fons de diferents colors, tot i que en realitat és monocroma.
Faig una connexió ràpida amb les piles per provar el LED; si acciono el polsador del gallet, s’encén; és de color verd, com hem vist abans. Però n’hi ha un altre al costat, suposo que deu ser vermell.
Torno a muntar la pantalla, ja que aquí ja no hi ha res més a veure, i comprovo que tot segueix funcionant igualment. Sí, pantalla d’error.
Un moment, una cosa m’ha cridat l’atenció: quan he re-iniciat l’aparell, tots els símbols de la pantalla s’han encès alhora per un instant, i n’he vist alguns que no esperava. M’ha costat copsar el moment amb la càmera, ja que l’instant és molt breu, però aquí el teniu.
De tots aquests símbols, el que més m’interessa és la «B» de Bluetooth. Podria ser que aquest petit termòmetre tingués una connexió de dades sense fils? Si fos així, hauria superat i per molt les meves expectatives. Després d’un moment de reflexió, però, m’adono que no pot ser: no he trobat cap mòdul ni cap xip dedicat a això. Sí, podria ser sota l’epoxy, però hi ha una altra cosa que falta, i que no hi pot ser, allà: l’antena. Per tant, la meva teoria és que aquesta pantalla es devia encarregar a mida; aquest símbol no es fa servir en aquest model concret, però sí en algun altre que també la porta, però de millors prestacions (i, segurament, més car). Llàstima, amb un mòdul Bluetooth aquest aparell seria encara més trastejable.
Una altra cosa que em crida l’atenció és el comptador de dues xifres més petites, sota la «M». Dades gravades a la memòria, potser? Qui sap, pot ser. Això de la EEPROM em segueix fent ballar el cap… La resta de símbols es poden deduir fàcilment sabent quina mena d’aparell és, no hi ha cap misteri més.
Com que sembla que ja no tinc res més per veure, aquí dins, em disposo a muntar l’aparell de nou. De moment només tenia previst obrir-lo, però ara ja estic pensant què en podria fer. Mentre el cap em bull amb les possibilitats, netejo i encaixo les peces mecànicament, fins que torno a tenir el termòmetre muntat de nou, com si no hagués passat res… amb una petita diferència: quan torno a posar les piles, funciona correctament!
En prémer el gallet, la pantalla es posa verda com sempre, però en comptes del desagradable missatge d’error, em regala una lectura de temperatura! La careta somrient de la part inferior encara fa més agradable el triomf. Ho provo diferents vegades i de diverses maneres, en totes les posicions del selector, i segueix donant lectures; no sabria dir si són prou precises, però si més no són coherents.
Fins i tot em frego les mans ben fort per escalfar la pell i obtenir una lectura de temperatura corporal massa alta (febre), a veure què passa.
Mira, la cara ja no està tan contenta, i la pantalla s’ha posat vermella (com ja havia previst). Ohhhh, sembla que algú té febre i no el deixaran pujar a l’avió…
Provo els diferents modes remenant els botons. El funcionament de l’aparell no és pas gaire intuïtiu que diguem (xinès i barat, clar), però malgrat no disposar de les instruccions aconsegueixo comprendre algunes coses. Si mesuro la temperatura del cos (la pantalla posa la paraula «Body»), em dona valors normals en verd o de febre en vermell; si és massa baixa, apareix el missatge «LO» («low», baix). Però si ho poso en «Surface» (superfície), puc mesurar sense aquests límits. Sembla que l’aparell pot treballar en graus Celsius i en Fahrenheit; el deixo en la primera escala, la segona m’és totalment aliena i no hi tinc referències per saber-ne interpretar els valors.
Pel que fa al petit comptador, he trobat una manera de fer-lo aparèixer fent una combinació de botons. Llavors apareix amb una «M» al damunt (memòria?), i puc moure’l amunt i avall, del número 1 al 32. Fins i tot he aconseguir gravar algunes lectures, però la combinatòria de botons em sembla tan il·lògica que abans de completar la tasca sempre me les empesco per esborrar-les totes. De tota manera, això ja em sembla un petit èxit, ja que la meva suposició quant a l’ús de la memòria era prou encertada. Una altra dada que sembla donar-me la raó és que la disposició interna de la memòria EEPROM és de 32 pàgines de 8 Bytes; no sembla casual, doncs, que aquest comptador de registres sigui de 32 posicions també.
Doncs mira, el que semblava que havia de ser una autòpsia ha acabat esdevenint una reparació, qui ho havia de dir. Ara ja tinc un termòmetre sense contacte per quan algú de casa agafi un refredat… esperem que tardi molt a passar.
De totes maneres, m’he quedat amb les ganes de trastejar una mica més aquest aparell. Ara ja no cal, una vegada arreglat pot tornar a la seva funció original. Però encara hi estic fent voltes…
Al final m’he posat a buscar per internet, a veure si trobava quin pot ser el micro que hi ha sota la gota negra d’epoxy. Resulta que de seguida he trobat un bon candidat: el HY11P13, de la sèrie HY11P, de Hycon Technology (una marca xinesa de la que no havia sentit mai a parlar).
Com podeu veure al datasheet, he trobat unes quantes coses que em quadren: té una colla de pins que es diuen exactament igual que els rètols que hi havia al costat dels pads que us he comentat abans; funciona en un rang de tensions que comprèn els 3.3V que hem dit abans; té un convertidor ADC que podria anar molt bé per fer les lectures del sensor infraroig; té un controlador de LCD integrat, ideal per la pantalla que ja heu vist… Són moltes coincidències, no? Sí, ja sé que ara em direu que hi ha milers de microcontroladors al mercat que també tenen totes aquestes prestacions i també podrien ser, i tindríeu raó. Però encara he trobat més coses.
En primer lloc, aquest xip és xinès. Si mai heu treballat amb Xina, sabreu que prefereixen fer servir els seus xips, que aquí són estranys i difícils (si no impossibles) de trobar, abans que els nostres models més indispensables, com els PIC per exemple.
En segon lloc, aquest microcontrolador es serveix, a més d’encapsulat, en format dau, és a dir, sense encapsulat, directament el circuit integrat; la opció més econòmica si el que et planteges és fer un producte molt i molt barat en unes quantitats absurdament elevades… que resulta que és exactament el que tenim aquí!
I la tercera i definitiva prova que em porta a la conclusió que ja us he explicat, és que remenant a la web del fabricant he trobat aquest article que explica com fer servir el citat micro per a fer un… atenció… termòmetre d’infrarojos! I a més, l’esquema és sospitosament semblant al que tinc entre mans; el sensor infraroig és molt igual si no idèntic, i fins i tot hi apareix la ja esmentada 24C02, al·lucina. Tot quadra.
Per cert, segons aquest article, la EEPROM serviria per emmagatzemar les dades de calibratge del sensor infraroig. Això vol dir que a la fàbrica fan lectures de temperatura amb patrons coneguts per saber quina desviació té cada aparell, i llavors li incorporen un factor de correcció, que graven a la memòria, perquè tots els aparells arribin al consumidor amb la precisió necessària per fer la seva feina. Personalment, em sembla al·lucinant que es calibrin individualment uns aparells que es venen al nostre mercat per 5€ la unitat. Coses de Xina…
Tornant al micro, he quedat gratament sorprès de la quantitat de recursos que aquests tal Hycon posen a disposició dels seus clients (i de gent com jo) a la seva web de manera gratuïta, i a més en anglès: no només hi ha les fulles tècniques, sinó que a més hi ha aquests articles sobre aplicacions que us deia, compiladors, entorns de programació… una mina, vaja (feu córrer fins a baix de tot la pàgina de l’enllaç que us he posat de la sèrie). Potser si tingués temps em dedicaria a fer unes quantes proves amb aquesta família de microcontroladors. En fi, qui sap, potser un altre dia…
Això és tot, fins aquí arriba la meva petita aventura d’avui, gràcies per llegir fins al final. Deixeu les vostres idees, impressions, i fins i tot crítiques als comentaris, que em farà molta il·lusió. Fins la propera!