Kovács Gábor honlapja

          Évekkel ezelőtt, egy munka során, szükség volt bizonyos mérési eredmények összegyűjtésére, tízes számrendszerbe való alakítására és az eredményekkel aritmetikai műveletek elvégzésére. A feladatot PIC mikrokontrollerrel kellett megoldani. Akkor kezdtem behatóbban foglalkozni a számológépek lelki világával. Nem okozott igazán nagy meglepetést, hogy a kalkulátorok tízes számrendszerű számítások elvégzésére fejlesztett cél-hardware-ek. A vizsgálódás közben hozzájutottam néhány régi számológéphez. Ezek megalapoztak egy kisebb gyűjteményt. A Kalkulátor gyűjtemény oldalon mutatom be a legérdekesebbeket. Ezek a számológépek már 30-40 évesek. A legtöbbjük csak alapos tisztítást igényelt. Néhánynál komolyabb javításra, restaurálásra is szükség volt. Ezeknél a gépeknél részletesebben írok a hiba okáról és a javításról is.
         Több, mint 20 éve használom a PIC mikrokontrollereket. Nem kimondottan kalkulátor gyártására tervezték. Az egyetlen művelet, ami segítséget nyújt a BCD aritmetikában a DAW (Decimal Adjust W Register) utasítás, amely két becsomagolt BCD* szám összeadása után korrigálja az eredményt, ha szükséges, hogy az is becsomagolt BCD szám legyen.
Az összeadás, kivonás és a szorzás viszonylag egyszerűen megoldható. Főleg úgy, hogy a szorzáshoz szorzótáblát lehet használni. (Részletes ismertetés a Kalkulus oldalán.) Az igazi kihívást az osztás gyors megvalósítása jelentette.
A néhány éves „hobbi-fejlesztés” eredménye vagy fél tucat házilag gyártott kalkulátor, melyek közül a Kalkulus nevűt szeretném részletesen a Saját készítésű számológépek oldalon bemutatni.

(Kalkulus lat 1. rég, iskolai osztályzat 2. rég szám, számítás… Idegen szavak és kifejezések szótára, 1974, ISBN 963 05 0461 8 Akadémia Kiadó)
*: Becsomagolt BCD szám: egy Byte-ban két BCD szám foglal helyet. A lehetséges értékek: H’00’ … H’99’.

            A KALKULUS sok tekintetben megközelíti a 70-es évek közepe-vége felé gyártott „profi” számológépek tudását. Néhány tekintetben, elsősorban a modern hardware miatt, túlszárnyalja azokat. A cél nem egy szuper-számológép elkészítése volt, hanem bizonyítani, elsősorban magamnak, hogy egy PIC mikrovezérlővel is megvalósítható egy bonyolult, tízes számrendszerű aritmetika. A processzorban még rengeteg hely (program-memória) van. Nem kis munkával és a billentyűk megfelelő újra-címkézésével, akár programozható kalkulátort is lehet készíteni. (A 30 nyomógomb kevésnek tűnhet, de vegyük figyelembe, hogy a HP Woodstock és Spice sorozatú programozható számológépei is csak 30 gombosak.)

Az alábbiakban bemutatásra kerülő számológép nem sorolható a gyűjteménybe tartozó gyári készülékek közé, sem a saját gyártású kalkulátorok közé. Egy kicsit ez, egy kicsit az. A történet ott kezdődött, hogy sikerült begyűjtenem néhány Hewlett-Packard gyártmányú, a “klasszikus” sorozathoz tartozó számológépet. Ebből kettő, egy HP-65-ös és egy HP-55-ös hibásan került hozzám. Túl értékes darabok ahhoz, hogy csak heverjenek valamelyik cipős-dobozban. A javításukhoz azonban tudni kéne, hogy mi a hibájuk. 

A teszteléshez szükséges áramkör megvalósításához a legnagyobb lökést az adta, hogy néhány éve megjelent a WÜRTH Elektronik cégnek egy új csatlakozó sorozata: Redfit IDC SKEDD. Ez a csatlakozó rendkívül hasonlatos a HP-nél használt csatlakozóhoz, amely a összeköti az alaplapot a billentyűzet panellel. Az alábbi kis képen láthatók a WÜRTH-féle csatlakozó betétjei. A gyári csatlakozóból ki kell “bányászni” a betéteket és beforrasztani a tesztpanelbe. (Pontosabban a tesztpanelhez csatlakoztatható adapterbe, amely egységesíti a különböző típusok jeleit.)

Innen már “egyszerű” volt a teszt áramkör elkészítése. Ezzel az áramkörrel a klasszikus család (HP-35, HP-45,HP-55, HP-65, HP-70 és HP-80)  minden tagját lehet tesztelni. A hibás 55-ös és 65-ös vizsgálatához még nem jutottam el. Először magát a teszt-panelt kellett tesztelni. Ehhez egy jó HP-35-ös alaplapot és az 55-ösből kiforrasztott kijelző meghajtókat használtam fel. (Az eredeti HP kijelzőket is lehet ellenőrizni a panelen. Én inkább a foglalatba rakható nagyobb kijelzőket használom. Ezek pótolhatók, az eredetiek pedig nem nagyon.) 

Ha már megcsináltam a tesztáramkört, miért ne csinálnék alaplapot a kijelzőmeghajtókat is. Ez, azért meglehetősen sok időt vett igénybe. A NET-en rengeteg információ található a HP klasszikus számológép családjáról. A legnagyobb segítséget az US4,001,569 szabadalmi leírás adta. Az alaplap(ok) csak félig-meddig dekódolt jelet küldenek a kijelző-meghajtók felé. Ezek időzítését jól lehet követni a teszt-panelhez csatlakoztatható kétféle logikai analizátorral. A bal oldalon a Teledyne gyártmánú LogicStudio16 csatlakoztatható, a 24-es IC foglalatba pedig egy Parallax gyártmányú BSLA (Basic Stamp Logic Analyzer) dugható. A LogicStudio16-os nagyon jó időfelbontást ad, de csal 20.000 mintát tud venni. A BSLA jóformán tetszőleges számú mintát tud venni, de csak 2MS/sec sebességgel. (Sajnos a BSLA már nem kapható.) Amikor már kellően megismertem az adatátvitelt, neki lehetett fogni a saját gyártmányú alaplap tervezésének.

Ez az alaplap, méretei és csatlakozó-kiosztása miatt,  alkalmas a HP-35, HP-45, HP-70 és HP-80 készülékekbe való elhelyezésre. Természetesen más-más program szükséges mindegyikhez. Jelenleg csak a HP-35-ös programja van készen. Nem az eredeti mikrókódot emulálom, hanem a már régebben megírt és a Kalkulus nevű számológépben használt programot alakítottam át. Az alaplapon két PIC  mikrokontroller dolgozik. A bal oldali (PIC18F67K22), az előbb említett Kalkulus firmware-t tartalmazza. A jobb oldalon lévő (PIC18F46K22) pedig a kijelző-meghajtók által igényelt, nem egyszerű, jeleket állítja elő. A kalkulátor IC egyirányú soros vonalon, 460.800 Baud-dal küldi át a jeleket a kijelző vezérlő felé. Az alaplap látszólag bonyolult. Rengeteg  mérőpont és teszt-csatlakozó van rajta, ami nem igazán szükséges.

Kísérletképpen megcsináltam  az anódmeghajtó IC klónját is. A rendkívül kis méretek miatt csak mikroszkóp alatt tudtam összeszerelni. Elég jól működik. A katódmeghajtó már nem olyan könnyű eset. Bár látszólag nagyon egyszerű áramkör és egyszerű a programja is, nem igazán úgy működik, ahogy szeretném. Nehezíti a bemérését, hogy az IC “GND” lába +3,75V-ra van kötve, a “VDD” tápfeszültség-lába pedig +7,7….+8,2V-on van.

A teszt adapter a WÜRTH csatlakozó betétekkel.

A HP-35-ös billentyűzet panelje az eredeti késes csatlakozókkal.

Tervezem, hogy a közeljövőben, a tesztpanel és az alaplap teljes dokumentációját elérhetővé teszem ezen a honlapon. Bárki letöltheti majd saját felhasználásra. (Sajnos a dokumentáció készítése és a honlap-szerkesztése sem az erősségem.)  A teljes dokumentáció meglehetősen terjedelmes lesz. Amennyiben Önt, Tisztelt Olvasóm, csak néhány részlet érdekli, kérem jelezze ezt nekem a Kapcsolat -on keresztül.

Utolsó módosítás dátuma: 2019. 05. 19.