HP Forums
HP97 The journey begins - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: HP97 The journey begins (/thread-12156.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43


RE: HP97 The journey begins - teenix - 01-28-2020 05:41 AM

Hi all,

The HP-55 CPU is nearing completion.

Here is an image of it running under the PIC clock generator. I haven't tested the frequency yet but it should be very close to 784KHz. I had to order some different value caps to change the PIC crystal loading and haven't fitted them yet, so will test then. You can see in the image that the original crystal is missing and a thin wire running up the right side of the calculator to the anode driver input.

The oscillator output can be switched on or off depending on whether the original crystal is working or not.

The calculator functions ok. The PC interface is working over Bluetooth and I can transfer programs back and forth as well as set functions. The [f][BST] key combination is working allowing a quick program clear function.

As with the other CPU boards, you can dump the calculator memory directly into the emulator.

cheers

Tony


RE: HP97 The journey begins - teenix - 01-30-2020 02:19 PM

Hi all,

The HP-55 CPU board seems to be behaving itself so I have made it available from http://www.teenix.org.

The CPU board crystal can be evenly divided to the original 784KHz frequency, but the one I have is running slightly fast and this appears to be due to crystal capacitive loading, so some might do the same or run a bit slow. The timer I have runs fast by just under 4 seconds over 8 hours which is a little worse than the original +/- 1.5 seconds over 8 hours.

To counter this the user can tweak the timing by enabling a software adjustment feature to slow down or speed up the timer. The adjustment has a fairly wide range and the setting is stored in EEPROM which is recalled on power up.

I have been playing with the HP-65 and HP-67 CPU boards and now all 3 CPU boards support saving and recalling the calculator state and memory.

Some calculator state examples are: the error display is showing or flashing, a program is running, numbers are partially entered etc. This feature has been added to a top level menu item in all 3 boards.

The only thing that can physically change is the position of the Run/Prgm/(timer) switch, so if that has changed, the recalled state becomes unusable. In this case a message will be displayed to inform the user. Just put the switch where is was when the state was stored, recall again, and the calculator will resume where it left off.

The updated 65 and 67 flash files have been uploaded to the web site.

cheers

Tony


RE: HP97 The journey begins - Archilog - 01-31-2020 12:19 AM

Quote:[...] All 3 CPU boards support saving and recalling the calculator state and memory.

Very good news, Tony, many thanks for this major improvement.


RE: HP97 The journey begins - Helix - 02-04-2020 04:16 PM

(01-31-2020 12:19 AM)Archilog Wrote:  
Quote:[...] All 3 CPU boards support saving and recalling the calculator state and memory.

Very good news, Tony, many thanks for this major improvement.

How does it work exactly? It's not described in the help file.


RE: HP97 The journey begins - teenix - 02-04-2020 11:58 PM

(02-04-2020 04:16 PM)Helix Wrote:  
(01-31-2020 12:19 AM)Archilog Wrote:  Very good news, Tony, many thanks for this major improvement.

How does it work exactly? It's not described in the help file.

Apologies, I'll put it in today.

When you access the menu, the first item is [CALC StAtE].
Selecting this brings up choices to save or recall the state data.

The idea is to save the data then turn off the calculator, although you can continue on and have that state saved for later use. For example if you are about to try and modify a complex program and break it, you could recall the state that has the original program and start again.

When the calculator is switched on again, and the data recalled, the calculator will resume in that state.

The PRGM/RUN/(timer) switch is tested for the same position on state recall. If there has been a change then the state data is invalid and a message is displayed. Just put the switch in the same position and recall again.

The state function can be done in a different hardware/software setup and leave the PIC processor in low power mode when it senses main power is removed. However, the HP on/off switch removes all power to the CPU board, and a separate power wire will need to be connected from the battery to the CPU board which gets a bit messy and I decided not to go that path.


Edit: The help file has been amended and uploaded.


cheers

Tony


RE: HP97 The journey begins - Helix - 02-06-2020 01:44 AM

Thanks!
I still have a couple of questions.
The help file says not to exceed 4.5V battery voltage.
Does that mean that fresh alkaline batteries should be avoided?
I suppose that standard AAA NiMH batteries, recharged on an independent charger, are safe.

Out of curiosity, is the power consumption of this CPU board different from the original board?


RE: HP97 The journey begins - teenix - 02-06-2020 02:32 AM

(02-06-2020 01:44 AM)Helix Wrote:  Thanks!
I still have a couple of questions.
The help file says not to exceed 4.5V battery voltage.
Does that mean that fresh alkaline batteries should be avoided?
I suppose that standard AAA NiMH batteries, recharged on an independent charger, are safe.

Out of curiosity, is the power consumption of this CPU board different from the original board?

3.6-5.0V is ok for all CPU boards. There are voltage regulators after the battery voltage boost circuitry that will keep the original card reader/display circuitry at their original voltages. 4.5 was an arbitrary safe value.

The original 67 was not supposed to be used while the charger is on without batteries, so I would suggest not using the modules while battery charging, unless the charger voltage that feeds the calculator circuitry is <= 5V.

With 0.00 showing on the display and 4V battery...

Current for the 65 is 138mA (orig) vs 84mA
The 67 is 165mA (orig) vs 65mA.
The 55 new is 76mA with PIC oscillator driving the anode driver

Active Bluetooth will add about 8mA.

cheers

Tony


RE: HP97 The journey begins - teenix - 02-08-2020 10:34 AM

Hi all,

After playing with the HP-55 replacement CPU the timer adjustment seems to be working ok.

With the crystal driven PIC clocking the anode driver, the time was out nearly a second in 4 hours, but after setting the software adjustment, after 4 hours I cannot visualize any timing difference so it must be quite small.

The adjustment is easy to set. If you know it is fast by 1 second in 4 hours, then you can type those three values into a timer screen as [1] second [fast] in [240] minutes and the software will calculate the closest adjustment value it can. The PIC will use this value to adjust the timer while it is running.

cheers

Tony


RE: HP97 The journey begins - teenix - 03-04-2020 12:58 AM

Hi all,

I have been looking into a replacement for both the HP-97 CPU and printer interface boards. The 55, 65 and 67 boards are simple plug in replacements but the 97 is a bit different.

I'll keep looking, but I have not found replacements for the card reader and print head ribbon connectors so these would have to be removed from the original board and resoldered to the new one.

I am not sure, but there appears to be differing CPU boards for the 97 and if so, I don't know if the interfacing pins to the key/display boards are the same.

Most of the functionality of the 97 is similar to the 67 so a lot of work has already be done. The extra work is in getting the new processor to model the PIK chip and printer interface of which I am looking into now.

Assuming I get this functional, and while in the design phase, are there any ideas for additional periferals. Things like a real time clock, GPS module, etc.

I have also been looking into an interface like the 97-IO model but the BCD digit inputs seem a bit cumbersome with lots of wiring. For example, if you have a analog signal representing weight, temperature etc., or digital signals, you would have to create purpose built circuits to generate the HP-97 BCD input data. A trivial task for a modern microcontroller I guess, but maybe just a simple analog input, a few digital inputs which would cause a program run from LBL A, execute R/S or Pause, and keep the original flag outputs.

Ideas welcome :-)

cheers

Tony


RE: HP97 The journey begins - Hans-Peter - 03-04-2020 12:39 PM

- Power management for using 3.7v lipo or li-ion cells charged by the standard charger.
- Timer like the 41 time module.
- BT Module
- Special charakters via the keyboard not only the PC
....

Like christmas and easter together

Cheers
Hans-Peter

PS:
I like my 65er with his 2nd live. My 97er patient is still waiting for a new heart.


RE: HP97 The journey begins - Massimo Gnerucci - 03-04-2020 01:06 PM

(03-04-2020 12:39 PM)Hans-Peter Wrote:  Like christmas and easter together

First and second life?!? Huh Angel


RE: HP97 The journey begins - teenix - 03-05-2020 12:10 AM

(03-04-2020 12:39 PM)Hans-Peter Wrote:  - Power management for using 3.7v lipo or li-ion cells charged by the standard charger.
- Timer like the 41 time module.
- BT Module
- Special charakters via the keyboard not only the PC
....

Like christmas and easter together

Cheers
Hans-Peter

PS:
I like my 65er with his 2nd live. My 97er patient is still waiting for a new heart.

The power circuitry in the 97 is split across two circuit boards and is integrated with display brightness and overvoltage, so modifying it to suit different charging methods would be problematical. The 97 won't work properly with a partially flat or removed battery while connected to its charger, plus the battery voltage on the 97 is around 5V, so I think external charging might be a better choice for different battery types.

I'll look into the 41 timer, the rest I can do.

cheers

Tony


RE: HP97 The journey begins - teenix - 03-15-2020 07:37 AM

Hi all,

For those that might be interested, here is a oscilloscope trace of the HP-97 printer circuitry printing 0.00

The top trace is the seven print head drivers working.

The middle trace is expanded to show the pulse width modulation for the print head pixels which controls the print intensity. The pulse width is determined by battery voltage (VB) and the formula:

Pulse width % (uS) = (Vref / VB)sqr * 100

This value is calculated continuously by some op amps and most of the smaller circuit board that is encapsulated in the red/brown coating as part of the print driver PCB. The ratio calculated by the formula alters if you change the print intensity resistor value. As per the printed info available for the 97 you can see the staggering of the print head pixels to reduce instantaneous power consumption. You might notice that the angle of the printed text is opposite to that of the actual printer. That is because of the right to left printing.

The lower trace is the PWM signal that is driving the motor forward. The duty cycle is again dependant on battery voltage and is continuously determined by the speed of the motor on that part of the PWM cycle when power is removed. ie The dc motor briefly becomes a generator. It also forms part of the encapsulated circuit board and a single op amp. The final speed can be changed by altering the resistor value that is part of the op amp circuit.

cheers

Tony


RE: HP97 The journey begins - teenix - 04-09-2020 04:49 AM

Hi all,

I've slowly been making progress on the HP-97 CPU board replacement.

Here is an image of the board design so far. I still have to tidy it up and verify it but it is starting to take shape.

[Image: pcb97.jpg]

I've put together the print character ROM for the PIK chip emulation and how it will work under the control of the new processor. Once the HP microcode sends the data to the processor, I wasn't sure how it would handle the print data but after some access to the character ROM it should only take a few 100 nano seconds of processing to output it to the print heads. This means the processor should easily cope with executing the microcode, keyboard and other odds and ends.

cheers

Tony


RE: HP97 The journey begins - Paul Berger (Canada) - 04-09-2020 12:35 PM

Very nice I would be interested in getting one of these as I have a 97 with a broken PIK. It also has one bad element in the print head its resistance measures about 40% higher than all the other elements and does not print, finding a replacement could be a problem.

Paul.


RE: HP97 The journey begins - teenix - 04-14-2020 06:49 AM

Hi all,

I've completed the circuit board design for the replacement 97 CPU board and I have put the code together including the PIK chip emulation.

I've simulated as much as I can, but I don't know how I will go with the physical testing as I'm not sure about getting the circuit board and parts delivered with so much in lock down. I'll have a go but it may have to be shelved for awhile until things settle down a bit.

cheers

Tony


RE: HP97 The journey begins - mfleming - 04-14-2020 02:55 PM

Congratulations on the board design! The parts suppliers I deal with have all sent email indicating they are open for business. All are local, in-country of course. I just had some boards shipped from a China fab via DHL, and the quoted delivery time is something like four or more times longer than usual. Same for delivery times by other carriers, if they are delivering at all (FedEx wasn't).

~Mark


RE: HP97 The journey begins - Harald - 04-14-2020 11:06 PM

(04-14-2020 02:55 PM)mfleming Wrote:  Congratulations on the board design! The parts suppliers I deal with have all sent email indicating they are open for business. All are local, in-country of course. I just had some boards shipped from a China fab via DHL, and the quoted delivery time is something like four or more times longer than usual. Same for delivery times by other carriers, if they are delivering at all (FedEx wasn't).

~Mark

I ordered a couple of PCBs in China on January 22nd. Usually they get produce in about a week. This time they shipped on March 2nd. Still waiting for the package to arrive...
Locally I could get them in 2 weeks. At about 10 times the cost. I guess you get what you pay for :-)


RE: HP97 The journey begins - teenix - 04-15-2020 05:24 AM

I was surprised and actually got some parts today, so that looks promising.

Normally I've ordered circuit boards from China and they take 4 days to a week to arrive. The last lot I ordered for a separate HP project I've been fiddling with, I opted for normal post to keep costs down as there is no rush for them but I have a feeling they will take quite some time to get here :-)

cheers

Tony


RE: HP97 The journey begins - teenix - 04-18-2020 01:55 AM

Hi all,

I have been testing the print head drive code in a test jig. It is quite a complex task to produce the data required to drive these heads at the correct time, including giving the type face an italic look as the real printer does. On top of that the output has to be pulse width modulated with a 10KHz signal in accordance with the battery voltage formula that the original printer analog circuitry creates.

The italic way of outputting the pixels is to keep the total head drive current progressively applied instead of all at once.

The test jig is "printing" 9.999999999 +99 ***

Here is an image of part of the print data as seen on my scope. It shows the pixel dots in the upper part with a small section enlarged in the middle part which shows the PWM control for each pixel. Further down is shows the PWM for normal battery voltage and to the right at lower battery voltage.

The calculator microcode still has to function plus the "PIK" keyboard scanning and other bits and pieces while all this is happening so it is quite a complicated set of tasks for a single processor.

As a safeguard, the PIC will have its watchdog timer enabled in case the code freezes and one or more heads stay energised. Hopefully it will reset before any damage is done.

[Image: hp97pnop.jpg]


cheers

Tony