Hacking the HP45

Powder and inkjet printing
Jurif
Posts: 6
Joined: Mon Aug 15, 2016 10:38 am

Re: Hacking the HP45

Post by Jurif »

Hello dear co-hackers :D

I have been following this forum for a few months now. I found this topic quite useful so I decided to give you something useful in return. Attached below is a ZIP file, which contains a library for HP45 head. All pins are marked according to the excel file that Dragonator provided. If you find any mistake in annotations or anything please message me, so I can correct them.
Attachments
Hp 45 eagle library.zip
(2.26 KiB) Downloaded 1185 times
User avatar
dragonator
Site Admin
Posts: 595
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

@ Jurif: I currently do not use eagle, so I cannot check whether the library is correct, but I will see if I can get a version so I can check it.

@Bigbomber:
As mentioned by Dragonator, the high level pulse width for Fet of each nozzle is about 2 us. To ensure the duration of pulse, I've used a 555 at monostable mode, and just triggering it by each 150 us (actually for 12 kHz we must triggering it by 81 us but best result for me was 150 us).
Actually, there are 22 addresses and the 12kHz relates to how often the entire head is triggered. This means that in 83us each primitive needs to pulsed not once but 22 times. I do like the idea of the 555 monostable circuit though. I will look into that.
I've also designed my own Head Holder and connector Pins (can't find your accessories in my location) and I will post some photos as they arrived.
Very curious to see what you have designed.
And some questions from Dear Dragonator, as you get successfully drive the head, can you exactly guide me about timing pulses and voltage levels?
At my tries, some nozzles work for a while and after a time stop working, and then get work again. And some never works.
The voltages and timing came from someone I know how has been working on these heads for a long time. He got them from the original printers. They seem to be right, so I won't doubt him. Also some information came from the patent. I don't know enough about your setup to understand why the heads sometimes fire and sometimes do not. Do you have all unused addresses tied to the ground?
Also on some tests, a big drop of ink stick to head outlet and disturb ink jetting. what is the reason?
That is likely due to an unclean head when you start. If there is muck on the head when you start, ink will stick to that and once ink starts sticking to the head, only more will come.
I need to know the exact possible driving timing. I do not want to lose my next Ink Head.
It is mostly as you said. 2us pulses on the primitive side. 3us before the primitive pulses I open the addresses, and 3us after the primitive is done pulsing, I close the address. I do not switch the primitive on the HP45 address Fet. The patent strictly forbids this and I while it might work for a while, it will not yield a long life. Especially considering the maximum trigger frequency of these heads.
and for last, Dear Dragonator, are you designer and inventor of Plan B?
Mostly designer because I don't think I did much inventing, but yes.
User avatar
dragonator
Site Admin
Posts: 595
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

2 announcements, no new progress.

1: I have seen the future. THIS: http://hackaday.com/2016/08/17/introduc ... 5-and-3-6/. I had preferred the Teensy over the Arduino DUE for the Oasis controller, but until now I had problems with the Teensy having too few I/O pins. No more it seems. I still have to do most checks, but I am strongly considering using a Teensy instead of the Arduino DUE to control Oasis. (This is not the HP45 controller, which has no microcontroller.)

2: I have ordered a batch of HP45 controller boards. The layout is mostly as it was a few pages ago, according to the schematic there. I needed to order PCB's anyway and wanted to test this one. I might ship out PCB's to anyone interested, but I would really like to test them myself before I do that, because I know I am not perfect and they still need to be tested.
HP45 Controller V1.01 final.png
HP45 Controller V1.01 final.png (204.54 KiB) Viewed 17955 times
(PS. I finally have an idea for a more sleek HP45 carrier, but I need to design and test it first.)
bigbomber
Posts: 9
Joined: Mon Aug 08, 2016 10:56 pm

Re: Hacking the HP45

Post by bigbomber »

Actually, there are 22 addresses and the 12kHz relates to how often the entire head is triggered. This means that in 83us each primitive needs to pulsed not once but 22 times. I do like the idea of the 555 monostable circuit though. I will look into that.
Yes, I know, there are 22 address and between firing each nozzle, a 81 us delay is needed.Also you mentioned after each 81 us of delay, it shall be fired for three times of 2 us, but on my tests, only by one 2 us firing, the ink is squirted.
Also a question: how much delay is needed between firing two separate near nozzles?
The voltages and timing came from someone I know how has been working on these heads for a long time. He got them from the original printers. They seem to be right, so I won't doubt him. Also some information came from the patent. I don't know enough about your setup to understand why the heads sometimes fire and sometimes do not. Do you have all unused addresses tied to the ground?
Somewhere you said the Primitive voltage is 9v <v< 12v. Can I ask what dose it depend on?
It is mostly as you said. 2us pulses on the primitive side. 3us before the primitive pulses I open the addresses, and 3us after the primitive is done pulsing, I close the address. I do not switch the primitive on the HP45 address Fet. The patent strictly forbids this and I while it might work for a while, it will not yield a long life. Especially considering the maximum trigger frequency of these heads.
I can see, but in my location I couldn't find suitable source driver ICs. I think I should design my own driver by myself using P-channel MOSFET.

Also this is my Head Holder Design. It is not so far from yours, but with not small changes. Also manufacturing process is completely different (not using 3D Printer due to large cost).
C2.JPG
C2.JPG (47.07 KiB) Viewed 17969 times
C1.JPG
C1.JPG (49.79 KiB) Viewed 17969 times
User avatar
dragonator
Site Admin
Posts: 595
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

Yes, I know, there are 22 address and between firing each nozzle, a 81 us delay is needed.Also you mentioned after each 81 us of delay, it shall be fired for three times of 2 us, but on my tests, only by one 2 us firing, the ink is squirted.
Also a question: how much delay is needed between firing two separate near nozzles?
No, that is not how the timing is. In said 81us, ALL addresses will have been high. The actual delay between 2 addresses is only around 2-4us. All primitives are triggered at once in an address, and 2-4us later the next set is of primitives is triggered. At 81us delays you will barely manage 600Hz. Also I did at the beginning talk of 3 triggers for every droplet, but that was based on old information. I already know (and have mentioned) that 1 pulse on a primitive is used for ejecting 1 droplet of ink.
Somewhere you said the Primitive voltage is 9v <v< 12v. Can I ask what dose it depend on?
How hot the printhead is. It will become hotter as it prints.
I can see, but in my location I couldn't find suitable source driver ICs. I think I should design my own driver by myself using P-channel MOSFET.
That is possible, it just takes up more space. Look at how fast your mosfets can switch too. Most of them will be fast enough, but do look at it.

I don't know if 3D printing is that much more expensive than laser cutting, but your carrier looks nice. I hope that it will work.
User avatar
dragonator
Site Admin
Posts: 595
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

IMG_20160912_190938.jpg
IMG_20160912_190938.jpg (218.9 KiB) Viewed 17761 times
IMG_20160912_184809.jpg
IMG_20160912_184809.jpg (257.99 KiB) Viewed 17761 times
Finally I can move forward again. I now got my new PCB's. I still need a carrier and I need to solder the PCB's, but I can move forward again.
User avatar
dragonator
Site Admin
Posts: 595
Joined: Fri Aug 14, 2015 4:48 pm
Location: The Nethelands
Contact:

Re: Hacking the HP45

Post by dragonator »

All the PCB's have been soldered and are currently undergoing tests. The address side with level shifters has been tested and appears to work. The primitive side drivers, gate and nozzle tester still needs to be tested. After that I will solder in the pogo pins and put it in a carrier.
IMG_20160917_164602.jpg
IMG_20160917_164602.jpg (388.89 KiB) Viewed 17713 times
Also the pinout of the V1.01 controller, not because people need it right now, but because I want to have it available when I need it.
HP45 controller V1.01pinout.png
HP45 controller V1.01pinout.png (108.86 KiB) Viewed 17713 times
All pins are:
  • GND: The ground of the driver;
  • V var: variable printhead voltage. Usually between 9 and 12V;
  • Logic: The logic level voltage, between 3.3V and 5V;
  • Addr CLK: The address side clock signal. Advances to the next address;
  • aux2: attached to an broken out pin on the PCB;
  • Print enable: The printhead FET to enable the printhead, Also used to check the nozzles;
  • 10x Res: connected to the printhead 10x resistor;
  • Prim CLK: Primitive side clock. Latches the active primitive signals on the driver;
  • Primitive 1-14: Connected to the driver of the primitives;
  • Prim _CLR: Primitive side reset. Resets the primitive signals on the driver (active low);
  • TSR: Connected to the printhead thermal sense resistor;
  • Nozzle check: The signal the controller returns when a nozzle is ok;
  • aux1: attached to an broken out pin on the PCB;
  • Addr RST: The address side reset signal. Returns the address to 0;
  • 12V: address side 12V input;
jnesselr
Posts: 19
Joined: Sat Sep 17, 2016 7:54 pm

Re: Hacking the HP45

Post by jnesselr »

I unfortunately don't understand as much about the electronics side of this and why you are having trouble with various parts of the circuit. I'm currently looking at building another 3d printer with an inkjet head and would like to upgrade from 96 dpi to 600 dpi. :)

I can have boards made and solder SMT components though. If we get a working board configuration, I can definitely help out with software and driving it well. Is there any way I can help out in this project now, given my limited understanding of exactly how electronics work? Possibly by running other tests?
Wonko
Posts: 110
Joined: Sat Aug 15, 2015 8:13 pm

Re: Hacking the HP45

Post by Wonko »

Looking great! I can't wait to see it actually work.
bigbomber
Posts: 9
Joined: Mon Aug 08, 2016 10:56 pm

Re: Hacking the HP45

Post by bigbomber »

Hi Friends
Finally I succeed to design and create my first version of driver, and So far the circuit has nice performance.
It is a fully self-dependent Driver (not controller), by means of:

- It gets number of nozzles which are needed to be fired via Serial or SPI protocol (From a foreign controller like another micro-controller or Raspberry pi).
- and by sending a triggering pulse to driver (from same controller), it starts to fire considered nozzles.
- and after ending a firing cycle, an IO pin change its state from Low to High which tells the Controller the firing process is completed.

It is based on an AVR ATMEGA 64 micro-controller which operates in 16 MHz. It can communicate via SPI or Serial Protocols and at 3.3v~5v of voltage level. This make it easy to use beside other micro-controller like XMEGA of ARM or Raspberry Pi as a Controller.

Signal Pulses applied to Cartridge are Protected and limited to a predetermined width by an analog circuit, So during micro-controller programming
process, or when any other problem occurred for logic level of circuit, non of cartridge pins go High for more than 2 us. Also Using Zener Diodes, All Voltage levels and polarities are limited and protected.
All input pins of ICs and transistor have pull-down and pull-up resistors to stabilize the initial and default state of pins.


There are 5 Main Connectors on Board:

- Two pieces of 2*30 Connector (Wired to Cartridge)
- One 2*8 Connector (containing "GND" "14v~24v Supply Voltage" "Trigger pin" "End Cycle Pin" "SPI or Serial Pins" "Some Other Free Pins for future Development")
- one 1*6 Connector for Programming of micro-controller (connected to "GND" "RST" "SCK" "PDI" "PDO" of micro)
- one 1*5 connector as second serial port of micro-controller (maybe used in future development)


The only problem is Voltage Regulators; Two Pieces of them (+5v and +12v) get Hot after a while. and my suggested solutions are using switching Regulators (not best solution) or using separate power Supply (better). Switching Regulators create large noise and can cause problem for operation of circuit and micro controller. It is just needed to wire out three voltage traces and connect them to a separate power supply.
Below You can See Some Photos of My Driver + Cartridge Holder and a video clip of its performance (sorry for low quality of photos, I will send some more photos with more details).
EIMG_0511.jpg
EIMG_0511.jpg (122.96 KiB) Viewed 17751 times
EIMG_0506.jpg
EIMG_0506.jpg (73.57 KiB) Viewed 17751 times
EIMG_0510.jpg
EIMG_0510.jpg (98.59 KiB) Viewed 17751 times
EIMG_0512.jpg
EIMG_0512.jpg (146.4 KiB) Viewed 17751 times
PCB.JPG
PCB.JPG (56.46 KiB) Viewed 17751 times
https://youtu.be/9CqEEKkPQ5A
In the video it is firing not all of nozzles, to show you a clearance between ink lines.
Post Reply