I suspect about half is due to poor contact. I had this issue before with the breakout. I cannot test at the moment though. 25 were broken after my first round of testing where I did not have all addresses and primitives that weren't used pulled down. Also I was messing a lot with timing and got up to 10us. This was all before I got first ink and I kept trying. Now I know that the floating addresses were open or half open and there was 12V at high currents running through the entire head. At some point I got 2 Amps through the head, which I cannot even manage with all nozzles on at the same time. The only way I could have reached that if all addresses were open and all primitives were open.
I still am working with this very same head. It is a miracle it works so well after all it has been through. As long as I can work with it (which I can until I absolutely need a full swatch working) I will continue to use it. No sense in breaking another head just to test something I could have tested on a broken head.
Hacking the HP45
- dragonator
- Site Admin
- Posts: 597
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Why do you think it's not exciting?
- dragonator
- Site Admin
- Posts: 597
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Because I press a button and 2/10th of a second later a set of numbers appears on my screen. Not really oscar worthy material. Anyway.
I want to post the steps I want to do with this controller here. If you have an addition to the list, let me know.
I want to post the steps I want to do with this controller here. If you have an addition to the list, let me know.
- Streamline all functions a bit. Especially test nozzle is still very clunky;
- Print full line function. Right now I need to trigger all addresses separately;
- Write a linebuffer so a line can be printed in one go;
- Write some simple functions to fill the linebuffer. A character generator and simple shapes are in here;
- Move to the Teensy 3.6;
- Print from the SD card. Around this point I also need to have the code that converts STL and SVG to printable lines. Before this point I will also share how I plan to store the data on an SD card;
- Add the parallel RAM and add the functions to the code so I can print from it;
- Convert the code so It can also run on an Arduino Mega. I know people who want to use this, so I will make everything up to this point Arduino Mega compatible;
- Somewhere around here I will also start on either a gantry or a full 3D printer so I can test everything.
- dragonator
- Site Admin
- Posts: 597
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Got a bit of work done today. I wrote a bit of software in my least favorite used program, processing. This because it is the best environment that requires no extra skill for me. What the program does is it imports an image, scales it to 150 by 150 pixels and converts it to bilevel. After that it can convert the file into an array that can be loaded into an arduino program as a constant.
I have attached the program (that needs to run in processing) and the current V2 firmware with the code. Especially the processing code is a mess, but for now it is intended for one time use. The firmware still has some issues getting all the pixels to fire in the right moment, but for now I am happy with it.
And now a video of the code printing in order: the Ytec logo, the jolly wrencher and a banana.
I have attached the program (that needs to run in processing) and the current V2 firmware with the code. Especially the processing code is a mess, but for now it is intended for one time use. The firmware still has some issues getting all the pixels to fire in the right moment, but for now I am happy with it.
And now a video of the code printing in order: the Ytec logo, the jolly wrencher and a banana.
Re: Hacking the HP45
That looks really good!
How many times you fire nozzle for each pixel in this test? I'm asking because I'm also interested in the grayscale.
How many times you fire nozzle for each pixel in this test? I'm asking because I'm also interested in the grayscale.
- dragonator
- Site Admin
- Posts: 597
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
The HP45 is not really that great at greyscale. You could still do it by alternating on and off, but at 600DPI you will see it at close range.
Re: Hacking the HP45
So you fire each nozzle only ones per pixel?
- dragonator
- Site Admin
- Posts: 597
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
Yes, right now every pixel is just one trigger of a nozzle.
On another side note. Does anyone here know how ridiculously difficult it is to find the pin mapping of the Teensy 3.6 to all output pins right now. I spent the best part of 1 hour. 1 HOUR!!! scouring on the internet, not finding it. In the end I ended up downloading the latest version of Teensyduino, with 3.6 beta support, going into all the core files and digging it up in the core_pins.h in the hardware tab of Arduino spending another hour because I am not familiar there.
Because port manipulation is the core of inkjet right now, some stats of these untested pins on the 3.6:
Total I/O: 64
Pins on Port A: 10
Pins on Port B: 16
Pins on Port C: 12
Pins on Port D: 15
Pins on Port E: 11
I prefer a consecutive number of pins on a port from 0 to 13. Port D would have been amazing, going from 0 to 15, but keen observers will note that this does not add up and indeed the Port D pin 10 is not connected. Too bad. Port B is all over the place, so no luck.
I would also check the 3.5, but they are mapped the same. I made an excel to find the pins. I will test these values in the coming week, but I hope that some people will find these useful.
-EDIT: After randomly testing half a dozen pins, I am quite certain that the table in the excel is right.
On another side note. Does anyone here know how ridiculously difficult it is to find the pin mapping of the Teensy 3.6 to all output pins right now. I spent the best part of 1 hour. 1 HOUR!!! scouring on the internet, not finding it. In the end I ended up downloading the latest version of Teensyduino, with 3.6 beta support, going into all the core files and digging it up in the core_pins.h in the hardware tab of Arduino spending another hour because I am not familiar there.
Because port manipulation is the core of inkjet right now, some stats of these untested pins on the 3.6:
Total I/O: 64
Pins on Port A: 10
Pins on Port B: 16
Pins on Port C: 12
Pins on Port D: 15
Pins on Port E: 11
I prefer a consecutive number of pins on a port from 0 to 13. Port D would have been amazing, going from 0 to 15, but keen observers will note that this does not add up and indeed the Port D pin 10 is not connected. Too bad. Port B is all over the place, so no luck.
I would also check the 3.5, but they are mapped the same. I made an excel to find the pins. I will test these values in the coming week, but I hope that some people will find these useful.
-EDIT: After randomly testing half a dozen pins, I am quite certain that the table in the excel is right.
Re: Hacking the HP45
So the only use for the HP45 is 3DP of halftone printing/plotting? I was kind of hopping to try to CMYK printing, but according to you it wont be possible...
- dragonator
- Site Admin
- Posts: 597
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Hacking the HP45
You did not hear me say that. A lot of printheads (especially bubblejets) really cannot control the size of their droplets. It is just a set size that is dictated by the mechanics of the printhead. If you have enough resolution (the HP45 should already have enough) you can alternate on and off in certain patterns to mimic any tint you might need.