Weekend hacken: draadloos opladen voor een HP-25 rekenmachine

Of, het brengen van een 45 jaar oude rekenmachine naar de 21e eeuw.

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 er geavanceerdere modellen ontwikkeld met meer functionaliteit. Maar de 25 had een bijzonder goede balans tussen functies, grootte en gebruiksgemak.

Vandaag leven we in een heel andere wereld: we hebben allemaal meerdere krachtige computerapparaten. Geen enkele ingenieur zou er vandaag zelfs maar aan denken om grafieken op een rekenmachine te maken: we hebben computers die dit sneller en beter kunnen doen. Evenzo 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 met elektronica of mechanisch ontwerp werkt, 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 toetsenbordgebaseerde programmeerbaarheid betekent dat je snel taken kunt automatiseren: bijvoorbeeld, ik heb vaak de formule voor parallelle weerstand ingevoerd als een programma, toegankelijk met één 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 het gebruikt. Belangrijk is dat het goed in je handpalm past en met één hand gebruikt kan worden, wat niet waar is 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 geboren werd. Ik heb er altijd graag gebruik van gemaakt, maar deze hele serie rekenmachines (bijgenaamd "Woodstock") was beperkt door het ontwerp van de batterijpakketten. 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 door 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 significant, dus frequente batterijvervangingen waren nodig.

De HP-25 werd geleverd met een "oplader" (eigenlijk gewoon een transformator), maar het oplaadcircuit was verschrikkelijk: de oplader zonder belasting leverde 10V AC: een hogere spanning dan de rekenmachine aankon, met de veronderstelling dat aangesloten NiCd-batterijcellen de spanning zouden begrenzen. Het gehele oplaadcircuit bestond uit een diode en een weerstand! Als uw cellen geen goed contact maakten, of als u een oplader aansloot zonder de batterij ingevoegd, zou uw rekenmachine toast zijn.

Ik besloot dat ik iets moest doen om mijn HP-25 elke dag bruikbaar te maken. Dus, ik ging aan de slag om een oplaadbaar batterijpakket te ontwerpen, dat het originele vervangt, maar een moderne Li-Po batterij gebruikt, en heeft Qi/WPC draadloos opladen met een USB fallback.

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

De ontwerpaannames waren:

  • Moet de originele batterij vervangen
  • Geen wijzigingen aan de rekenmachine zelf
  • WPC/Qi draadloos opladen
  • Micro-USB connector voor bedraad opladen
  • Li-Po batterij die ten minste meerdere dagen normaal gebruik meegaat
  • Indicator voor lage batterij

Ik heb de behuizing van het batterijpakket ontworpen in Fusion 360, metingen van het originele batterijpakket genomen. Dat bleek niet eenvoudig: het originele pakket was ontworpen voor spuitgieten, en ontwerphoeken compliceerden de geometrie. Aangezien ik niet van plan ben die massaal te produceren, heb ik me geen zorgen gemaakt over ontwerpen voor spuitgieten en aangenomen 3D-printen met SLS (Selective Laser Sintering). Daarom opent mijn batterijpakket anders dan het originele, wat betere toegang biedt tot elektronica en batterij, maar de mogelijkheid om te worden spuitgegoten opoffert.

Geen bevestigingsmiddelen werden gebruikt: een eenvoudige veerklem is voldoende om de deksel op zijn plaats te houden, en de verpakking wordt toch meestal in de rekenmachine gebruikt, dus er is geen risico dat de deksel opengaat.

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, ervan uitgaande dat de extra 0,1V niets zou beschadigen (tenslotte hebben veel mensen hun rekenmachines gebruikt 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 laagvermogen buck-controllers van Texas Instruments (TPS62740) te gebruiken. De lage 360nA werkende ruststroom betekende dat ik me geen zorgen hoefde te maken over het hebben van een aan/uit-schakelaar. Er zijn controllers met een lagere ruststroom (zelfs tot 60nA!), maar ik wilde een programmeerbare uitgangsspanning hebben — lees verder om te weten waarom.

Voor WPC/Qi ging ik met bq51050B (Texas Instruments) en een spoel van Wuerth Elektronik. Dit bleek veel uitdagender dan ik dacht: apparaten ontwerpen met draadloos opladen is moeilijk, vereist meerdere prototypes en meetapparatuur die ik niet heb. Uiteindelijk ging ik met ontwerpbeslissingen die misschien niet optimaal zijn, maar in dit geval (met lage vermogensvereisten) acceptabele prestaties bieden. Met andere woorden, ik heb het geïmproviseerd. Dit werd enigszins bemoeilijkt door het feit dat de bq51050B-documentatie teleurstellend is en niet echt aan de normen van TI voldoet.

Het bord heeft ook een Micro-USB-poort voor bedraad opladen, een laadcontroller IC (de populaire MCP73832), een MOSFET-paar dat fungeert als een schakelaar voor USB-voeding, een aantal ESD-beschermingen voor blootgestelde terminals, en een discrete thermistor om de batterijtemperatuur te monitoren, aangezien veel goedkope LiPos komen zonder een thermistor of met een die niet overeenkomt met wat de laad-IC verwacht.

Het ontwerpen van een indicator voor lage batterijspanning was een interessante uitdaging. Uitgaande van het idee dat spanning een proxy is voor 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 stroomverbruik budget in nano-ampères is: het ruststroomverbruik van het hele apparaat moet onder 1μA zijn.

Aangezien de coulomb-tellende IC-apparaten veel te duur zijn en meestal in onvriendelijke BGA-pakketten komen, en ook omdat ik het ontwerp niet te ingewikkeld wilde maken, moest ik iets eenvoudigers vinden.

Een oplossing gebaseerd op een microcontroller zou kunnen worden ontworpen, maar voor de eerste keer in vele jaren wilde ik een apparaat ontwerpen zonder een microcontroller en software.

Ook, hoe toon je het resultaat? Je kunt geen LED laten oplichten, want dat zou snel de resterende energie verbruiken, mogelijk zonder dat iemand zelfs maar naar de indicator kijkt. Een "batterijcontrole" knop? Mogelijk, maar deze compliceren het mechanische ontwerp aanzienlijk.

Het duurde even, maar ik heb uiteindelijk een oplossing bedacht.

Ik realiseerde me dat de rekenmachine eigenlijk wel een ingebouwde indicator voor lage batterijspanning heeft. Wanneer de batterijspanning onder een drempel valt (die ik mat op 2,1V), lichten alle decimale punten op het LED-scherm op, behalve degene die normaal actief zou moeten zijn. Met de decimale punten op deze "omgekeerde" manier, kun je de rekenmachine nog steeds gebruiken, maar je ziet duidelijk dat de batterijen vervangen moeten worden.

Dus, ik gebruikte een spannings (reset) supervisor met een toevoerstroom van 250nA om de batterijspanning te monitoren. Als het onder de 3V valt, gaat de uitgang laag. Die uitgang is verbonden met een van de spanningsselectiepinnen op de TPS62740 buck-regulator (daarom had ik een programmeerbaar spanningsuitgangsonderdeel nodig) en zorgt ervoor dat het begint met het produceren van 2,1V in plaats van 2,5V. Met andere woorden, batterij laag, decimale punt-LED's lichten op, missie volbracht!

Dit bleek in de praktijk vrij goed te werken, en de drempel van 2.1V werkte voor alle HP-25 eenheden die ik had. De enige beperking is dat met de meeste LiPo-batterijen, hun beveiligingscircuit de uitvoer net onder 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 lage 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 genoeg is.

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

Jan Rychter (oprichter van PartsBox)

(Als je dit leuk vond om te lezen en je werkt met elektronica, bekijk dan PartsBox eens — het is een onmisbaar hulpmiddel voor bedrijven, en het is gratis voor Hobbyisten/Makers)

PartsBox is een online app waarmee je de controle over je voorraad elektronische onderdelen, BOM-prijzen en kleinschalige productie kunt nemen. Het houdt bij waar componenten zijn opgeslagen, wat de huidige voorraadniveaus zijn en welke componenten in welke projecten/BOMs worden gebruikt.

Blogindex