Eller, at bringe en 45 år gammel lommeregner ind i det 21. århundrede.
HP-25 var en revolutionerende lommeregner i sin tid. Introduceret i 1975, var det den første overkommelige programmerbare ingeniørlommeregner. Som årene gik, blev der udviklet mere avancerede modeller med mere funktionalitet. Men 25'eren ramte en særlig god balance mellem funktioner, størrelse og brugervenlighed.
I dag lever vi i en meget anderledes verden: vi har alle flere kraftfulde databehandlingsenheder. Ingen ingeniør ville overveje at lave grafer på en lommeregner i dag: vi har computere, der kan gøre dette hurtigere og bedre. Ligeledes for algebraiske manipulationer eller symbolsk databehandling. Hvad vi stadig har brug for, er dog en god ingeniørlommeregner — en lettilgængelig enhed, der kan udføre enkle beregninger hurtigt og som har lige det rigtige antal funktioner.
Dette er grunden til, at HP-25 igen bliver attraktiv. Hvis du arbejder med elektronik eller mekanisk design, har du ofte brug for at arbejde med videnskabelig eller ingeniørnotation og udføre beregninger, for hvilke de simple lommeregner-apps på din telefon er for begrænsede. Den simple tastaturbaserede programmerbarhed betyder, at du hurtigt kan automatisere opgaver: for eksempel har jeg ofte parallelmodstandformlen indtastet som et program, tilgængeligt ved et enkelt tastetryk. Indtast to modstande, tryk på R/S og få resultatet. HP-25 blev designet af ingeniører, for ingeniører, og du mærker det, når du bruger den. Vigtigt er det, at den passer godt i din håndflade og kan bruges med én hånd, hvilket ikke er sandt for mange ellers fremragende senere HP-lommeregnere (som Voyager-serien: HP-11C og HP-15C).
Den HP-25, jeg har, blev købt af min far, omkring den tid jeg blev født. Jeg har altid nydt at bruge den, men denne hele serie af lommeregnere (døbt "Woodstock") var begrænset af batteripakke designet. Den oprindelige batteripakke indeholdt to forseglede NiCd-celler, som åbenlyst fejlede for mange år siden. De fleste mennesker erstattede deres NiCd-celler med nye, derefter med NiMh-celler, eller endda alkaline AA-batterier. Dette var altid problematisk: nyere batterier var en smule større og passede aldrig godt. Også strømforbruget af en lommeregner med en LED-skærm var betydeligt, så hyppige batteriskift var nødvendige.
HP-25 blev leveret med en "oplader" (egentlig bare en transformer), men opladningskredsløbet var forfærdeligt: opladeren uden belastning leverede 10V AC: en højere spænding end lommeregneren kunne håndtere, med antagelsen om, at tilsluttede NiCd battericeller ville klemme spændingen. Hele opladningskredsløbet bestod af en diode og en modstand! Hvis dine celler ikke havde ordentlig kontakt, eller hvis du tilsluttede en oplader uden batteripakken indsat, ville din lommeregner være toast.
Jeg besluttede, at jeg skulle gøre noget for at gøre min HP-25 brugbar hver dag. Så jeg satte mig for at designe en genopladelig batteripakke, som erstatter den originale, men bruger et moderne Li-Po batteri, og har Qi/WPC trådløs opladning med et USB-fallback.
Jeg har nu den perfekte ingeniørregner, der er 45 år gammel og alligevel sidder glad på en Qi-strømpude og oplades. Hvis jeg ikke har en pude tilgængelig, kan jeg fjerne batteripakken og bruge mikro-USB-stikket i siden til at oplade den. Men som det viste sig, er opladning faktisk ikke nødvendigt så ofte - et 900mAh LiPo giver nok energi til mange uger med mit forbrug.
Designantagelserne var:
Jeg designede batteripakkeindkapslingen i Fusion 360, idet jeg tog mål af den originale batteripakke. Det viste sig ikke at være simpelt: den originale pakke var designet til sprøjtestøbning, og skrå vinkler komplicerede geometrien. Da jeg ikke planlægger at masseproducere dem, besværede jeg mig ikke med at designe til sprøjtestøbning og antog 3D-printning ved hjælp af SLS (Selective Laser Sintering). Derfor åbner min batteripakke anderledes end den originale, hvilket giver bedre adgang til elektronik og batteri, men ofrer evnen til at blive sprøjtestøbt.
Ingen fastgørelsesdele blev brugt: en simpel fjederklemme er nok til at holde låget på plads, og pakken bruges i lommeregneren det meste af tiden alligevel, så der er ingen risiko for, at låget åbner.
Lommeregneren blev normalt drevet af to NiCd-celler, som hver har en spænding på 1,2V. Jeg besluttede at producere 2,5V i stedet for 2,4V, idet jeg antog, at den ekstra 0,1V ikke ville skade noget (efter alt, mange mennesker har brugt deres lommeregnere med alkaline celler, som har en spænding på 1,25V), og den øgede spænding ville gøre boost-konverteren i lommeregneren en smule mere effektiv.
Jeg besluttede at bruge en af de moderne lavstrøms buck-controllere fra Texas Instruments (TPS62740). Dens lave 360nA driftsstrøm i hviletilstand betød, at jeg ikke behøvede at bekymre mig om at have en tænd/sluk-knap. Der findes controllere med lavere hvilestrøm (endda ned til 60nA!), men jeg ønskede at have programmerbar spændingsudgang - læs videre for at finde ud af hvorfor.
For WPC/Qi valgte jeg bq51050B (Texas Instruments) og en spole fra Wuerth Elektronik. Dette viste sig at være meget mere udfordrende end jeg troede: at designe enheder med trådløs opladning er svært, kræver flere prototyper og måleudstyr, som jeg ikke har. Til sidst valgte jeg designbeslutninger, som måske ikke er optimale, men i dette tilfælde (med lavt strømkrav) giver acceptabel ydelse. Med andre ord, jeg improviserede. Dette blev gjort en smule mere vanskeligt af, at bq51050B-dokumentationen er skuffende og ikke rigtig lever op til TIs standarder.
Kortet har også en Micro-USB port til kablet opladning, en opladningskontroller IC (den populære MCP73832), et MOSFET par der fungerer som en switch for USB strøm, en masse ESD beskyttelse for udsatte terminaler, og en diskret termistor til at overvåge batteritemperaturen, da mange billige LiPos kommer uden en termistor eller med en der ikke matcher hvad opladnings IC forventer.
At designe en lav-batteri-indikator var en interessant udfordring. Antagende at spænding er en proxy for batteriladning (hvilket ikke helt er sandt for LiPo-celler), hvordan måler du spændingen uden konstant at trække strøm og aflade batteriet i processen? Husk på, at vores strømbudget for dette er i nanoampere: det hvilende strømforbrug af hele enheden skal være under 1μA.
Da coulomb-tællende IC-enheder er alt for dyre og normalt kommer i ufremkommelige BGA-pakker, og også fordi jeg ikke ønskede at overkomplicere designet, måtte jeg finde noget enklere.
En mikrocontroller-baseret løsning kunne være designet, men for første gang i mange år ønskede jeg at designe en enhed uden en mikrocontroller og software.
Desuden, hvordan viser du resultatet? Du kan ikke tænde for en LED, da det hurtigt ville forbruge den resterende energi, muligvis uden at nogen ser indikatoren. En "batteritjek"-knap? Måske, men disse komplicerer mekanisk design betydeligt.
Det tog et stykke tid, men jeg fandt en løsning.
Jeg indså, at lommeregneren faktisk har en indbygget lav-batteri-indikator. Når batterispændingen falder under en tærskel (som jeg målte til at være 2,1V), lyser LED-skærmen alle decimalpunkterne op, undtagen den, der normalt skulle være aktiv. Med "inverterede" decimalpunkter på denne måde, kan du stadig bruge lommeregneren, men du kan tydeligt se, at batterierne skal udskiftes.
Så jeg brugte en spænding (nulstil) overvåger med en 250nA forsyningstrøm til at overvåge batterispændingen. Hvis den falder under 3V, går outputtet lavt. Dette output er forbundet til en af spændingsvælgerpinnene på TPS62740 buck regulator (derfor havde jeg brug for en programmerbar spændingsoutput komponent) og får den til at begynde at producere 2.1V i stedet for 2.5V. Med andre ord, lavt batteri, decimalpunkt LEDs lyser op, mission opfyldt!
Dette viste sig at fungere ganske godt i praksis, og 2,1V-tærsklen fungerede for alle de HP-25 enheder, jeg havde. Den eneste begrænsning er, at med de fleste LiPo-batterier vil deres beskyttelseskredsløb afbryde udgangen lige under 3V, så du har ikke meget tid efter dine prikker lyser op.
Mine tests viste, at 900mAh LiPo er nok til ca. 10 timers kontinuerlig brug, før de lavbatteri-indikatorpunkter lyser op, og i 10-20 minutter derefter. Godt nok for mig!
Alt i alt er jeg meget tilfreds med resultatet af dette weekend-hackeprojekt: mine HP-25 lommeregnere (ja, jeg har mere end én) er nyttige igen, og jeg kan bruge dem hver dag uden at bekymre mig om batterier. Jeg placerer dem bare på opladningspuder fra tid til anden. Batterilevetiden er så god, at det at gøre dette en gang om måneden eller sådan er nok.
Hvis du tænker over det, er det ret fantastisk, at en 45-årig lommeregner fik nyt liv takket være 21. århundredes teknologi!
Jan Rychter (grundlægger af PartsBox)
(Hvis du nød at læse dette, og du arbejder med elektronik, tjek venligst PartsBox ud — det er et uundværligt værktøj for virksomheder, og det er gratis for Hobbyister/Magere)
PartsBox er en online app, der lader dig tage kontrol over dit lager af elektroniske komponenter, BOM-prissætning og småskala produktion. Den holder styr på, hvor komponenterne er opbevaret, hvad de aktuelle lagerbeholdninger er, og hvilke komponenter der bruges i hvilke projekter/BOM'er.