Of, een 45 jaar oude rekenmachine naar de 21e eeuw brengen.
De HP-25 was een revolutionaire rekenmachine voor zijn tijd. Geïntroduceerd in 1975, was het de eerste betaalbare programmeerbare technische rekenmachine. Naarmate de jaren verstreken, werden geavanceerdere modellen ontwikkeld met meer functionaliteit. Maar de 25 vond een bijzonder goede balans tussen functies, grootte en gebruiksgemak.
Vandaag de dag leven we in een heel andere wereld: we hebben allemaal meerdere krachtige computerapparaten. Geen enkele ingenieur zou er vandaag de dag nog aan denken om grafieken te maken op een rekenmachine: we hebben computers die dit sneller en beter kunnen. Hetzelfde geldt voor algebraïsche manipulaties of symbolisch rekenen. Wat we echter nog steeds nodig hebben, is een goede technische rekenmachine — een gemakkelijk toegankelijk apparaat dat eenvoudige berekeningen snel kan uitvoeren en dat precies het juiste aantal functies heeft.
Dit is waarom de HP-25 weer aantrekkelijk wordt. Als je werkt met elektronica of mechanisch ontwerp, moet je vaak werken met wetenschappelijke of technische notatie en berekeningen uitvoeren waarvoor de eenvoudige rekenmachine-apps op je telefoon te beperkt zijn. De eenvoudige programmeerbaarheid op basis van toetsaanslagen betekent dat je taken snel kunt automatiseren: ik heb bijvoorbeeld vaak de formule voor parallelle weerstand ingevoerd als een programma, toegankelijk met een enkele toetsaanslag. Voer twee weerstanden in, druk op R/S en krijg het resultaat. De HP-25 is ontworpen door ingenieurs, voor ingenieurs, en dat voel je als je hem gebruikt. Belangrijk is dat hij goed in je handpalm past en met één hand kan worden bediend, wat niet geldt voor veel anders uitstekende latere HP-rekenmachines (zoals de Voyager-serie: HP-11C en HP-15C).
De HP-25 die ik heb, is gekocht door mijn vader, rond de tijd dat ik werd geboren. Ik heb hem altijd met plezier gebruikt, maar deze hele serie rekenmachines (genaamd "Woodstock") werd beperkt door het ontwerp van het batterijpakket. Het originele batterijpakket bevatte twee verzegelde NiCd-cellen, die uiteraard vele jaren geleden faalden. De meeste mensen vervingen hun NiCd-cellen door nieuwe, daarna door NiMh-cellen, of zelfs alkaline AA-batterijen. Dit was altijd problematisch: nieuwere batterijen waren iets groter en pasten nooit goed. Ook was het stroomverbruik van een rekenmachine met een LED-display aanzienlijk, dus frequente batterijvervangingen waren nodig.
De HP-25 werd geleverd met een "lader" (eigenlijk gewoon een transformator), maar het laadcircuit was verschrikkelijk: de lader zonder belasting leverde 10V AC: een hogere spanning dan de rekenmachine aankon, in de veronderstelling dat aangesloten NiCd-batterijcellen de spanning zouden klemmen. Het hele laadcircuit bestond uit een diode en een weerstand! Als je cellen geen goed contact maakten, of als je een lader aansloot zonder dat het batterijpakket was geplaatst, was je rekenmachine kapot.
Ik besloot dat ik iets moest doen om mijn HP-25 elke dag bruikbaar te maken. Dus begon ik met het ontwerpen van een oplaadbaar batterijpakket, dat het originele vervangt, maar een moderne Li-Po-batterij gebruikt en Qi/WPC draadloos opladen heeft met een USB-fallback.

Ik heb nu de perfecte technische rekenmachine, die 45 jaar oud is en toch vrolijk op een Qi-powerpad ligt en oplaadt. Als ik geen pad beschikbaar heb, kan ik het batterijpakket verwijderen en de micro-USB-connector aan de zijkant gebruiken om hem op te laden. Maar zoals bleek, is opladen eigenlijk niet zo vaak nodig — een 900mAh LiPo levert genoeg energie voor vele weken met mijn gebruik.

De ontwerpaannames waren:
Ik heb de behuizing van het batterijpakket ontworpen in Fusion 360, waarbij ik de afmetingen van het originele batterijpakket heb genomen. Dat bleek niet eenvoudig: het originele pakket was ontworpen voor spuitgieten, en lossingshoeken compliceerden de geometrie. Omdat ik niet van plan ben deze in massa te produceren, heb ik geen rekening gehouden met spuitgieten en ben ik uitgegaan van 3D-printen met behulp van SLS (Selective Laser Sintering). Daarom opent mijn batterijpakket anders dan het originele, wat betere toegang biedt tot de elektronica en batterij, maar ten koste gaat van de mogelijkheid om gespuitgiet te worden.
Er zijn geen bevestigingsmiddelen gebruikt: een eenvoudige veerclip is voldoende om het deksel op zijn plaats te houden, en het pakket wordt toch meestal in de rekenmachine gebruikt, dus er is geen risico dat het deksel open gaat.

De rekenmachine werd normaal gesproken gevoed door twee NiCd-cellen, die elk een spanning van 1,2V hebben. Ik besloot om 2,5V te produceren in plaats van 2,4V, in de veronderstelling dat de extra 0,1V geen kwaad zou kunnen (immers, veel mensen gebruiken hun rekenmachines met alkalinecellen, die een spanning van 1,25V hebben), en de verhoogde spanning zou de boost-converter in de rekenmachine iets efficiënter maken.
Ik besloot een van de moderne low-power buck-controllers van Texas Instruments (TPS62740) te gebruiken. De lage ruststroom van 360nA betekende dat ik me geen zorgen hoefde te maken over een aan/uit-schakelaar. Er zijn controllers met een lagere ruststroom (zelfs tot 60nA!), maar ik wilde een programmeerbare spanningsuitgang hebben — lees verder om te weten waarom.
Voor WPC/Qi koos ik voor bq51050B (Texas Instruments) en een spoel van Wuerth Elektronik. Dit bleek veel uitdagender dan ik dacht: het ontwerpen van apparaten met draadloos opladen is moeilijk, vereist meerdere prototypes en meetapparatuur die ik niet heb. Uiteindelijk heb ik gekozen voor ontwerpbeslissingen die misschien niet optimaal zijn, maar in dit geval (met lage stroomvereisten) acceptabele prestaties leveren. Met andere woorden, ik heb geïmproviseerd. Dit werd enigszins bemoeilijkt door het feit dat de documentatie van de bq51050B teleurstellend is en niet echt voldoet aan de standaarden van TI.

Het bord heeft ook een Micro-USB-poort voor bedraad opladen, een laadcontroller-IC (de populaire MCP73832), een MOSFET-paar dat fungeert als schakelaar voor USB-stroom, een hoop ESD-bescherming voor blootgestelde terminals, en een discrete thermistor om de batterijtemperatuur te bewaken, aangezien veel goedkope LiPo's zonder thermistor komen of met een die niet overeenkomt met wat de laad-IC verwacht.
Het ontwerpen van een indicator voor een bijna lege batterij was een interessante uitdaging. Aannemende dat spanning een maatstaf is voor de batterijlading (wat niet helemaal waar is voor LiPo-cellen), hoe meet je de spanning zonder constant stroom te trekken en de batterij in het proces te ontladen? Houd er rekening mee dat ons energiebudget hiervoor in nano-ampères is: het ruststroomverbruik van het hele apparaat moet onder de 1μA liggen.
Aangezien de coulomb-counting IC-apparaten veel te duur zijn en meestal in onvriendelijke BGA-behuizingen komen, en ook omdat ik het ontwerp niet te ingewikkeld wilde maken, moest ik iets eenvoudigers vinden.
Er zou een oplossing op basis van een microcontroller ontworpen kunnen worden, maar voor het eerst in vele jaren wilde ik een apparaat ontwerpen zonder microcontroller en software.
Ook, hoe geef je het resultaat weer? Je kunt geen LED laten branden, want dat zou snel de resterende energie opsouperen, mogelijk zonder dat iemand zelfs maar naar de indicator kijkt. Een "batterijcontrole"-knop? Mogelijk, maar dit maakt het mechanische ontwerp aanzienlijk ingewikkelder.
Het duurde even, maar ik heb een oplossing bedacht.
Ik realiseerde me dat de rekenmachine eigenlijk wel een ingebouwde indicator voor een bijna lege batterij heeft. Wanneer de batterijspanning onder een drempelwaarde daalt (die ik heb gemeten op 2,1V), licht het LED-scherm alle decimale punten op, behalve degene die normaal actief zou moeten zijn. Met decimale punten die op deze manier "omgekeerd" zijn, kun je de rekenmachine nog steeds gebruiken, maar zie je duidelijk dat de batterijen vervangen moeten worden.
Dus gebruikte ik een spannings-(reset)supervisor met een voedingsstroom van 250nA om de batterijspanning te bewaken. Als deze onder de 3V zakt, gaat de uitgang laag. Die uitgang is verbonden met een van de spanningsselectiepinnen op de TPS62740 buck-regelaar (daarom had ik een onderdeel met programmeerbare spanningsuitgang nodig) en zorgt ervoor dat deze 2,1V begint te produceren in plaats van 2,5V. Met andere woorden: batterij bijna leeg, decimale punt-LED's lichten op, missie volbracht!

Dit bleek in de praktijk heel goed te werken, en de drempel van 2,1V werkte voor alle HP-25-eenheden die ik had. De enige beperking is dat bij de meeste LiPo-batterijen het beveiligingscircuit de uitgang net onder de 3V uitschakelt, dus je hebt niet veel tijd nadat je stippen oplichten.
Mijn tests toonden aan dat de 900mAh LiPo genoeg is voor ongeveer 10 uur continu gebruik, voordat de indicatielampjes voor een bijna lege batterij oplichten, en voor 10-20 minuten daarna. Goed genoeg voor mij!
Al met al ben ik erg blij met het resultaat van dit weekend-hackproject: mijn HP-25 rekenmachines (ja, ik heb er meer dan één) zijn weer bruikbaar en ik kan ze elke dag gebruiken zonder me zorgen te maken over batterijen. Ik plaats ze gewoon af en toe op oplaadpads. De batterijduur is zo goed dat dit eens per maand of zo doen voldoende is.

Als je erover nadenkt, is het best verbazingwekkend dat een 45 jaar oude rekenmachine een nieuw leven heeft gekregen dankzij 21e-eeuwse technologie!

Jan Rychter (oprichter PartsBox)
(Als u dit met plezier hebt gelezen en met elektronica werkt, bekijk dan PartsBox — het is een onmisbare tool voor bedrijven, en het is gratis voor Hobbyisten/Makers)
PartsBox is een online app waarmee u de controle krijgt over uw voorraad elektronische componenten, stuklijst-prijzen en kleinschalige productie. Het houdt bij waar componenten zijn opgeslagen, wat de huidige voorraadniveaus zijn en welke componenten in welke projecten/stuklijsten worden gebruikt.