Hello!
I am working with a team of Engineering students at Rochester Institute of Technology. We have designed a larger Binder Jet 3D printer based on your Oasis design for our Senior Design Project. We have filled an inkjet cartridge and all of our mechanical engineering has been successful. Our computer engineer team member has all your programs loaded, and the printer follows what we think to be the correct path. However, we are having problems with the HP45. Here is some info:
- The HP45 is currently loaded with its original printer ink.
- At the moment, the ink will not eject unless the pulse lengths are increased to thousands (!) of their original lengths and ONLY when a preheat/prime is performed. No ink is ejected during a print even with the pulse length increase.
- We modified your HP45 controller PCB to support a Teensy 4.0 rather than the original Teensy 3.6. In firmware, the clock rate has been successfully modified to 96 MHz (as with the Teensy 3.6) from the Teensy 4.0’s original 600 MHz.
- We are following your process of cleaning the nozzles with a damp and then dry paper towel between each attempted print.
- Communication between the Teensy and the HP45 is fully functional.
- The nozzle test function fails on all 300 nozzles unless the checkThreshold count located in Printhead.cpp is increased, at which point all 300 pass the test.
- The motion system is working properly.
- A loose end for us is the “Preheat” function. Does this need to be performed before each print? What temperature do we want the HP45 to read before starting the print?
Do you have any ideas on what our issue could be? We will continue to test with printer ink through this week, and switch to our own binding solution next week. Our final project demonstration will happen the following weekend.
Problem With HP45 inkjet when working with Oasis Design
- dragonator
- Site Admin
- Posts: 616
- Joined: Fri Aug 14, 2015 4:48 pm
- Location: The Nethelands
- Contact:
Re: Problem With HP45 inkjet when working with Oasis Design
I will reply the same as I have by mail, so hopefully it helps others as well.
Getting the controller to work with a Teensy 4.x is possible. I have just a few days ago had some of the people on the forum here to try and make it work. It is still not entirely there, but is seems possible. As for your questions.
Pulse length from clock rise to clear drop should only be around 1.8us. We have had to increase the delay in the code by quite a bit, but not a factor of 1000. Having the heaters on for this long will definitely damage the head. With pulses that long you can easily overheat the head. When it is overheated it will simply not print anymore.
Check threshold being moved to 300 means something is wrong. Normally 10-20 pulses should be more than enough to charge the capacitor. Either you have too big a capacitor installed, or something in the code is not quite right (the same problem as above).
Preheat should not have to be used under normal circumstances. It is a function that in theory can improve some things, but I rarely used it myself.
The test failing and you having increased the timing that much probably means something is not quite working. The first thing I would verify is if the primitives (TLC59213) and addresses (HEF4017) are actually giving signals of 12V when you prime or print. If they don't, look at the clock, reset and clear signals coming from the microcontroller to see if they all work. Timing should be around 1.8us. You can lower it a bit if you print well first but then it stops after a few centimeters, or increase it a bit if you are not getting a stable print during printing, but increasing and decreasing means somewhere between 1.2us and 2.5us, anything beyond 10us should not even be considered, it simply will damage the head.
Getting the controller to work with a Teensy 4.x is possible. I have just a few days ago had some of the people on the forum here to try and make it work. It is still not entirely there, but is seems possible. As for your questions.
Pulse length from clock rise to clear drop should only be around 1.8us. We have had to increase the delay in the code by quite a bit, but not a factor of 1000. Having the heaters on for this long will definitely damage the head. With pulses that long you can easily overheat the head. When it is overheated it will simply not print anymore.
Check threshold being moved to 300 means something is wrong. Normally 10-20 pulses should be more than enough to charge the capacitor. Either you have too big a capacitor installed, or something in the code is not quite right (the same problem as above).
Preheat should not have to be used under normal circumstances. It is a function that in theory can improve some things, but I rarely used it myself.
The test failing and you having increased the timing that much probably means something is not quite working. The first thing I would verify is if the primitives (TLC59213) and addresses (HEF4017) are actually giving signals of 12V when you prime or print. If they don't, look at the clock, reset and clear signals coming from the microcontroller to see if they all work. Timing should be around 1.8us. You can lower it a bit if you print well first but then it stops after a few centimeters, or increase it a bit if you are not getting a stable print during printing, but increasing and decreasing means somewhere between 1.2us and 2.5us, anything beyond 10us should not even be considered, it simply will damage the head.