Kollar inuti blodtrycksmätaren

Varför ger den så ojämna mätresultat? Kan man få ut värdena från den? Kan man fjärrstyra den? Dessa två frågor var inledningen till veckans helgpyssel. Den tredje frågan visste jag svaret på. Prylar med strömbrytare går alltid att fjärrstyra. Jag har, tror jag, lågt blodtryck. Det var ena anledningen till att jag gick in på Kjell o köpte mätaren. (Andra anledningen var att det var rea). Och visst visar den ofta att jag har lågt blodtryck, men nästa mätning kan lika gärna visa 30% högre systoliskt blodtryck och dubbla pulsen. Så, nej, jag litar inte på den. Fast kanske varierar mitt blodtryck kraftigt? Eller är låga värden mycket svårare att mäta än höga, och det är därför det varierar?

Hur som helst, det är alltid kul att plocka isär prylar. Vad finns det i denna?

Bakom skärmen finns det lite blandade komponenter Nere till vänster en switchad nätdel som kontinuerligt försörjer apparaten med 3.6V. ICn till höger är stämplad LM324DG. 4-kanalig op-amp om jag minns rätt. Den förstärker nog tryckmätarens analoga signaler. Uppe till vänster sitter en 74HC00 som jag inte vet vad den gör. PCBt avslöjar mätarens riktiga identitet, KD-739, från en kinesisk tillverkare vid namn andon. Bara jag som tänker på snöret vid produktionslinan?


Viker man bort kretskortet så syns mekaniken. En dragmagnet tätar kretsen under mätningen så att blåsan kan hålla trycket. En liten motor driver pumpen. utgången (4) har en ”blindgång” neråt som jag inte förstår vitsen med. Slangen avslutas vid den grå prylen (5) som är en plasthylsa som innehåller en silikonplutt som innehåller en mässingfilimoj. På nåt sätt ska den här anordningen se till att lufttrycket minskar lagom fort för att mätningen ska bli bra. Efter att ha haft isär den och försökt förstå mig på tanken bakom konstruktionen så kan jag konstatera att jag inte lyckats med det.

Undersidan på kretskortet har förutom den svarta tryckmätaren (det är alltså två anslutningar till manschetten/luftblåsan) en massa testpunkter. Efter en massa testande kom jag fram till att de används till följande:

1 EEPROM SDA
2 EEPROM SCL
3 3.6V when ON?
4 Always 3.6V, but high impedance. Some kind of input? (går nog till 7400-kretsen)
5 MEM-button, normally 3.6V, 0V pressed
6 Battery voltage via 220R (för att hålla reda på om batteriet är tillräckligt bra)
7 START-button, normally 0V, 3.6V pressed
8 Reset, normally 3.6V
9 32 kHz XTAL (andra kristallpinnen är under den vita ”motorkudden”)
10 3.6V, power, always. (kopplad direkt till den gula kondingen på andra sidan)
11 256 Hz, 60us long pulses to LCD (alltså inget att koppla in nåt till)

Längst upp ses även drosseln till den switchade nätdelen. Lilla blobben döljer EEPROMet. Stora blobben gömmer processorn.

Enda sättet att ”prata” med den verkar vara att avlyssna trafiken till EEPROM. Det sker ju många skrivningar till EEPROMmet under apparatens livstid, så de säkrat upp med en hel del redundans i protokollet mellan cpu och EEPROM. Alla värden utom just mätvärdena (7 bytes för varje mätning) läses två gånger. En offset till senaste mätvärdet skrivs på tre platser 0x02, 0x22, 0x42.

Nedan är min tolkning av värdena:

hexdecformelut:enhet
5282Addera 25107SYS
2C44Addera 2569DIA
4670=70PULS
4064b7=oregelbunden
b6=månad bit0
ejoregelbunden puls
A1161b7-b5=månad bit3-bit1
b4-b0=dag
11
1
Månad
Dag
11=1Timme
0B11=11Minut

Några exempelfiler till PulseView och från mitt oscilloskop hittar du här.
Kan ju notera att med en offset på 25, så kan den lagra blodtryck mellan 25 och 280 mmHg. Databladet säger att mätområdet är 0 – 295. Gör de skillnad på lagra och visa?

Så…. Med informationen ovan så kan du skriva lite arduinokod till en pro-mini (som får plats i mätaren) och göra en DIY dygnsmätare (mät varje x minuter), som kan skicka värdena via serieport till en värddator, eller varför inte via BLE? Jag hade gjort det själv om jag litade på mätaren…