Some time ago, I bought a pulsed 1064nm IR laser (Sculpfun IR2) for metal engraving and I recently figured out that this laser is the perfect tool for removing spray paint from copper PCBs without any residue.
A year ago I tried the same with a common 450nm laser, but this laser rather burned the paint off while leaving a lot of residue on the PCB.
My guess would be that the pulsed operation mode of the new laser is the decisive factor here, which causes the paint to chip off or evaporate when hit with the laser instead of just getting burned away.
PCB Manufacturing Footage:
Laser in OperationLasered PCBHeating the Solution for Faster EtchingEtched PCBPaint cleaned off with AcetoneApplied UV Solder MaskCut out PCB with Components soldered in using Solder Paste and a Hot Air Solder StationBackside with Pins - Later Designs got surface-mounted Pins to avoid drilling HolesFinished PCB
I think having figured out a way of PCB manufacturing that works well for me will help move the project forward and will also be very useful for future projects.
Until now, I always had to build circuits on perfboards and connect the components with solder wire. This was a lot of work and also looked ugly compared to the new design.
New Design VS Old Design (Front)New Design VS Old Design (Back)
It's also an advantage that the circuit and PCB layout can be designed on PC for lasering it 1:1 onto the copper PCB.
This makes the process similar to 3D printing, which will make it easy to share the design with others and will ensure that each copy of it will be identical.
- I figured out a way of designing and manufacturing PCBs that works well for me so that it will be possible to build the needed circuits for the project as proper PCBs.
- I built a TL072-based amplifier by myself to replace the AD620 amplifier that I used so far, which never worked reliably. The new amplifier seems to work much better, while the amplification is currently very low.
- I built a test stand for the printhead, similar to the drop breakup test stand, but out of 2020 profiles and only 500mm high.
- I tried out many different resins for replacing the PVB and ended up using gum sandarac, which is plant-based and has better solubility, finish, and adhesion than the PVB.
- I added filters to the printer to keep the ink clean and prevent the lines and nozzle from clogging.
- I got a new oscilloscope that has 4 channels so that a trigger signal + the signals of the 2 new amplifiers can be displayed in the same timescale to verify that both work correctly.
Will try to write more buildlogs with text and footage of the work I did over the last months when I can find the time for it.
Future Plans:
I'm currently working on a time-of-flight counter for measuring the ink stream's velocity. This will ultimately be used for manual and later automatic pressure adjustments to compensate for changes in viscosity which appear when the machine is used after being off for some time.
Currently, the printer can measure a relative viscosity reading while heating/cooling the ink inside the printer to 25⁰C since the viscosity changes with temperature.
Hardware-wise, there is also a peristaltic pump installed for adding ethanol to the tank to compensate for evaporated ethanol and keep the viscosity steady.
While the feature is currently not activated, it would already be possible to use the viscosimeter reading for automatically adding ethanol.
The stream velocity reading + (auto) pressure adjustment will be used for a finer adjustment in addition to the viscosimeter which can bring the ink stream velocity to the right level immediately.
This, in combination with the viscosity regulation, the right piezo frequency, and the nozzle drive, will ensure that the stream breakup will always occur at the same position (inside the charge electrode).
Once a favorable piezo frequency, nozzle drive setting, and stream velocity are found, these settings can stay as they are since the TOF-based pressure compensation will keep the stream velocity constant at all times during operation and also when the machine is started again after being off for some time.
Even the older CIJ printer models use a TOF counter, so I think this will be a very important step in getting the machine running.
Once this is working, the next thing will be trying to get the phase test working again.
When I tried that last time, I had no way of knowing the ink stream velocity, so I worked with random conditions and only got random results.
For the past months while working on the test stand and code for the ESP32, I did not use the printer prototype, and while it was standing there, some of the fittings got leaky.
Until now, it wasn't that big of a deal that the fitting's NBR seals got dissolved by the ethanol over time, because I changed the prototype's design over and over again, and with it the fittings, but after a lot of testing I thought that most parts of the current design were working reliable enough to keep them this way so that it was finally worth it to replace the push-in fittings with a more suitable type of fitting.
A better option than the pneumatic push-in fittings are CK fittings (sometimes also called rapid screw fittings), which don't have a seal that can get leaky but instead use the tube itself as the seal by clamping it between the two halves of the fitting.
Since I had to replace every fitting connection on the printer, I also wanted to replace the currently used PU tubes with PE tubes, which in contrast to the PU tubes, are suitable for long-time exposure to ethanol because of their better chemical resistance.
From Bottom to the Top: Nozzle Ink Valve, Nozzle Vacuum Valve, Gutter Valve, Ink Tank Valve, Flush Bottle Valve
With this change, it's possible to flush the gutter and nozzle line into the flush bottle to prevent clogged lines and too diluted ink in the future.
Ink Tank, Solvent Bottle, and Flush Bottle
Some Footage
Here are some photos I took while replacing the fittings and tubes:
Printer with old Fittings, PU Tubes, and Water CoolerLeak on one of the Pressure Pump's T FittingsReplaced the 4mm Tubes on the Bottom with a 1/4" T PieceAdded a Valve for taking Ink SamplesGutter Valve Connected via T FittingOld Push In-FittingsOld Flush ValveWatercooling Heat Exchanger and Ink Heat Exchanger with old FittingsViscosimeter Polycarbonate Pipe with Compression FittingsNew Air CoolerPrinter with Flush Bottle, new Valves and AircoolerPump with 8mm CK Fitting4mm PU Tubes replaced with 4mm PE TubesTubes connected with 4mm M5 CK Fittings8mm CK Fitting on the Tank and 4mm PE TubesInk Tank with 4mm CK FittingsCirculation Line with CK T Piece and CK Fitting on the Conductivity Sensor's T PieceOld 8mm Push In FittingsNew 8mm CK Fitting and old 4mm Push Fitting on the Ink TankT Piece with the old Flush Valve removed and old 8mm FittingOld 1/8" 8mm Push-In Fittings on the Ink Heat ExchangerReplacing PU with PE Tube and Push-In Fittings with CK FittingsAll Push-In Fittings were replaced with CK FittingsNew CK Fittings on the Tank with 8mm going into the Circulation Pump and 4mm going into the Pressure PumpsNew 1/8" 8mm CK Fittings on the Heat ExchangerBackside with the PU Tubes replaced by PE TubesPressure Pump Lines were kept as they are because while they are working ok, this Part is still not perfect and will likely change at some PointPrinter with new Lines and Fittings
Working on a new Printhead
With the improved printer, it is now possible to focus on the printhead and charging component without the constant need to repair parts of the ink management component before every test.
New Printhead
I started building a new printhead, this time leaving the piezo transducer in one piece for using the piezo ring stack as it is intended to be used. My idea is that it could transfer the vibration better to the ink stream with the two piezo rings and the metal body. I think that with the last design, a lot of the vibration got dampened because of the more flexible plastic body. The new design will likely be more efficient, so it should be able to break the ink stream into drops even with a lower voltage since the piezo transducer is quite oversized for the task (Normally, the piezo rings used for that are much smaller, while using a higher voltage).
M10 Thread on the Ultrasonic Transducer, 1/8" on the Fitting with an inner M6 Thread. The 1/8" can be screwed into the M10 Fitting, because they have a similar Size. One Coupler Fitting and two 1/4" to 1/8" FittingsGround down 3D Printer Nozzles inside the rear and front Fitting, which act as Stoppes inside the Thread. The M6 Screws can be screwed against it to put pressure on the PTFE Tape that seals the Connection. The rear Fitting is sealed with a M6 Grub Screw and the front Fitting holds a 0.1mm M6 Sapphire Nozzle.0.1mm Sapphire Nozzle with M6 ThreadThe Sapphire Nozzle inside the Fitting4mm M5 CK Fitting for the Ink Line connected to the Coupling Fitting and bent 4mm Copper Pipe as Gutter TubeLED Strip as Strobe Light to make the Ink Drops visibleThe long LED Strip makes the Ink Drops visible across the whole Length of the PrintheadInk Drops visible up to the Gutter PipeLED Strip placed inside the Slot of the Aluminum ProfileInk Drops visiblePrinthead with Charge ElectrodeCharge Electrode made from a 1/4 Plug Fitting Breakup Point inside Charge Electrode
While testing to drive the piezo with a 40kHz sine wave at 12V with a small audio amplifier, I noticed that I had to reduce the amplification quite a lot to shift the breakup point away from the nozzle towards the charge electrode, so it seems like at least this part is working better, now.
With a way to make finer adjustments on the amplification and a way to control the amplification via software, it would be possible to move the breakup point back and forth over the distance between the nozzle and the gutter. This could be used to auto-tune the amplification to get the best charging result.
Currently, I'm doing this manually by changing the amplification while looking at the charge electrode to move the breakup point into the charge electrode.
After testing out how adjusting the piezo vibration strength changes the breakup distance, the next thing I want to test is how changing the piezo frequency changes the look of the stream breakup.
Ultimately, I want to find out how I can do a reliable Time of Flight test for measuring the ink stream velocity, which would be very useful since it depends on pressure, viscosity, and nozzle diameter and has to fit the used piezo frequency.
After taking a look at the charging and charge sensing, I also wanted to take a look at the drop formation. Both processes are crucial for building a working CIJ printer.
On many CIJ printers, a stack of 2 piezo rings is mounted on the nozzle to let it vibrate at a fixed frequency. Normally all parts are designed to work together within certain constraints:
The piezo frequency, stream/nozzle diameter, pressure, and viscosity need to fit well enough together to make a controlled breakup of the stream into equal-sized drops possible.
So much for the theory...
In reality, this seems to be a big challenge, and I'm constantly working to get it right at some point.
To learn more about the drop breakup, I was looking for a way to record it on camera.
Drops in Slow Motion
Changes to the previous Test Stand
For recording the stream on camera, I replaced the 1 1/4 pipe tank with a pump to be able to record a continuous stream breaking into drops instead of drops dripping from a nozzle.
USB-powered Pump in Tap Water
The next step was to let the stream vibrate at a certain frequency to get an even, non-random breakup. To make recording easier, I wanted to use a larger stream so that no magnifying glass or microscope would be needed. Because of that, breaking the stream into droplets now requires a more powerful source of vibration.
For this, I replaced the piezo with a vibration speaker, like the type of speaker that can play music via vibration when attached to the surface of a desk or wall.
8R 20W Speaker and TDA2030 Amplifier
I got an 8R 20W vibration speaker and used a TDA2030 amplifier for driving it which I powered by 12V DC.
After verifying that the speaker could be used well for playing music through my desk, I attached it, together with the amplifier, to the test stand on which I also attached a 9mm hose fitting for using it as a nozzle, a silicone hose that was connected to the pump and some more fittings to hold everything in place.
Speaker and Amplifier mounted on the Test Stand
Now, I had two options for recording a slow-motion effect of the drop breakup:
- Using a strobe light matched with the speaker frequency.
- Matching the speaker frequency with the camera's shutter setting.
At first, I tried using the strobe light, so I got a 50W LED mounted on a heat sink and did a quick test run.
Then later, while waiting on the parts for building a strobe circuit, I also tested out using the other method and it worked well enough that I actually never tried using the strobe for recording.
50W LED on Heatsink
Maybe later, when a higher frequency is used again, the "camera shutter effect" will likely no longer work that well, and so a strobe light will be needed to make the breakup visible.
When I tested it at 50khz last year, I placed the stream in front of a 5mm LED which was also driven at 50khz.
So, it also was a strobe light - but just a small one.
50kHz Piezo Frequency and 50kHz LED Frequency
Testing with Water
First, I did a quick test where I set the speaker frequency just below 60Hz and the camera to 60fps, which made it look like the water would flow in reverse. The pipe with the cap in which the stream flows is used to reduce splatter.
Test with Water 58Hz and 60fps
Link to the video:
While there clearly was some effect visible it was not close to what I wanted.
So, I tried using a container with an overflow hole to reduce possible vibration that the pump could transfer to the stream.
Overflow Box
This is how the test stand looked after the change:
Test Stand with Overflow Box
In addition to that, I also tried using a smaller nozzle (4mm OD / 2mm ID tube)
New Nozzle
With these changes, it started looking more like individual drops, but there was also a lot of splatter, and it seemed like there was a lot of water breaking out of the stream and falling not straight down.
A lot of Splatter
Link to the video:
Testing with Glycerin
To get rid of the splattering, I wanted to try using a fluid with a higher viscosity so I ordered some bottles of glycerin.
Glycerin
Because of a much higher viscosity than water, the brushless pump was no longer able to pump the fluid up to the overflow box so a gear pump was needed.
Gear Pump Glycerin
When using pure glycerin, the stream did not even break into droplets when it fell from the same height. l tried using a 5mm nozzle because there was no steady stream, but only drops with the 2mm nozzle.
5mm NozzlePure Glycerin doesn't break up into Drops when falling from the same Height
So, I tried adding some water and tried some mixtures. It turned out that the viscosity is better to control when adding water to glycerin instead of adding glycerin to water - the viscosity drops fast when a bit of water is added to glycerin.
By adding just a bit of water it was possible to use the 2mm nozzle again while the stream just started breaking into drops.
Glycerin with a Bit of Water
For the next test, I used a mixture ratio of Glycerin Water 2:1 and got a pretty nice result.
There was no more splattering from the stream and the "segments" looked much sharper and steady.
Glycerin Water 2:1
Link to the video:
Placing a lamp next to the stream made the individual segments even more visible.
Stream with BacklightIndividual Segments visible
Link to the video:
After that, I tried changing the exposure settings and was finally able to see individual drops falling down.
Drops
In the recordings, it is visible that the drops not only break up into one single drop but each drop is also followed by a smaller satellite droplet.
I often read that this could be problematic for the charging process, so I want to figure out what is causing it and how to deal with it in the future.
Satellite Droplets visible
Another recording with smaller satellite droplets:
Drop Breakup in Slow Motion
Some more videos:
Conclusion
It's relatively easy to make the drop breakup visible by using just a vibration speaker, amplifier, some backlight, a frequency generator app, and a phone camera set to 60fps in addition to the test stand.
The real challenge would be getting a perfect stable breakup on camera, that has no satellite drops.
I think the viscosity is a major factor here.
When I used pure water, the stream easily broke apart so that parts of the stream got deflected outwards and the separate drops were very wobbly.
When I used pure glycerin, the stream did not even break into drops.
When mixing both the breakup got much better, but not perfect since there were satellite drops visible.
Maybe, since viscosity is a fluid's resistance to flow, a higher viscosity makes it harder for the stream to break up, which prevents the stream from breaking up randomly so that it only breaks up to the vibration of the speaker when present.
The stream still breaks up on its own after some distance, but I think when the speaker's vibration is present, it is the major force that drives the breakup.
The "volume/power setting" of the speaker is also important. When set too low, the stream doesn't break up into drops; when set too high, the breakup starts getting unstable until it disappears. I tried setting the volume to 0 and started increasing it until I got a nice-looking breakup.
From what I have read, the Plateau - Rayleigh Instability is the effect that causes the stream to break up into drops:
So, I'm optimistic that reading more about the topic will help to understand what the key factors of the breakup are for ultimately getting a perfect stream breakup without satellite drops that can be charged and deflected for CIJ printing.
Update:
After reading a bit about the Plateau-Rayleigh Instability, I want to build a setup for measuring the jet velocity, next.
I'm also currently replacing the push in fittings and PU tube with CK fittings and PE tube, because the seals in the fittings get leaky over time and the PU tube seems to get dissolved slowly by the ethanol.
Great thanks to Robert who helps me a lot with this project and thank you for your interest :)
Proof of Concept: Over the past months, I worked on a few things, and I just found the time to write about them.
The first thing I worked on was a stand for charging drops and testing if I could sense the charge somehow to start the work on the charging system from scratch.
I started by building a pipe with a valve and a 1mm nozzle that I could fill with water, which I could let drop out slowly by slightly opening the valve.
1 1/4 Pipe with Valve and Nozzle
Then I built a test stand out of two 1m 3030 profiles and a few shorter pieces for attaching the pipe on it with 3D printed mounting brackets.
Test Stand with Drop Pipe
For charging the drops I soldered a 1.5mm² wire onto a 1/4 inch brass fitting and mounted the fitting on another 3D printed bracket.
Charge Fitting
I used 56V DC for charging the drop while it passed through the fitting without touching it.
The drops get charged at the moment they break loose from the stream, so I placed the brass fitting closer to the nozzle.
Nozzle inside Charge Fitting
At first, I tried to sense the charge on the drop with a piece of copper mesh in a funnel connected to an oscilloscope probe which was connected to an amplifier, but because I could sense nothing but the 50Hz mains frequency with it, I tried using just the tip of the oscilloscope probe for sensing the drop.
Copper Mesh
I guess the mesh acted as an antenna and picked up noise from the environment.
Drops falling on Oscilloscope Probe
With the probe connected to the amplifier and oscilloscope, it was possible to sense the charged drops when they hit the probe's tip.
Drops visible on Oscilloscope
It was also possible to sense the frequency at which the drops hit the probe.
Sensed Voltage and Frequency
Here is a picture of the setup.
I used the AD620 instrumental amplifier module for testing. It was needed to connect the S- input to GND to get a reading out of it.
Oscilloscope, Power Supply and Amplifier
The power supply's ground was connected to the ground clip of the oscilloscope probe, the 1 1/4 pipe, the drip tray, and the frame of the stand.
Probe connected to Power Supply Ground
Based on the test result, it seemed like it would work to sense charged water drops with it, and to prove that it wasn't just luck, I tested 5 of the same amplifiers in the same configuration.
I also tried turning the power supply off and reducing the charging voltage, which was visible on the oscilloscope. Without a voltage, there was nothing sensed when the drop hit the probe, and a lower charging voltage resulted in a lower amplitude of the sensed signal.
When the tip of the probe was connected to the ground of the probe by water, there was also no reading visible on the oscilloscope.
AD620 Amplifier ModulesThe result was the same on all 5 AD620 amplifiers I tested.5 Amplifier Modules - All of them worked
A picture of the whole setup
Test Stand
After finding out that it was possible to sense charged water drops, I wanted to try building a proper sense electrode to replace the oscilloscope probe.
Building a Sense Electrode:
What I want to build here is the gutter sensor of a CIJ Printer.
Many CIJ Printers have such a sensor, and while some models also have a senseless phase detection sensor (sometimes in addition to the gutter sensor), I want to focus on the type of sensor that is located in the gutter for now.
On the printhead of an older CIJ printer model, the gutter sensor looks like this from the top:
Shielded Ink Return Block
The metal on the upper part is connected to the printhead ground and covers the plastic block from the top and sides.
Shielded Ink Return Block
From the bottom, it looks like this:
A small metal pipe with a wire connected is attached to the plastic block.
Sense Pipe and Shielded Cable
Further down the tube, there is a small metal pipe which also has a wire connected to it. Here is a picture of it with the shrink tubing removed while I was replacing the return line:
Pipe Connection to Reference Ground
The cable that goes to the gutter sensor and about 10cm further down to the small pipe is a 3-core cable.
Here is the connection of the cable on the printer's control board:
On the left, there is the shield connection; in the middle, there is the sense connection, and on the right, there is a ground connection.
On the wiring plan, it looks like this:
As far as I can tell, the shield is only connected to the control board and has no connection to the printhead.
The purpose of the sensor on this printer is to do two tests:
- Detecting if an ink stream is present
- Finding out which of the possible four phase shift settings that can be applied to the charge signal give the best feedback signal.
At the moment of writing this, I'm not completely sure why the ground reference is connected to the small pipe in the return line.
My guess would be that it needs a ground reference as close to the return block as possible which is not directly connected to the frame of the printhead.
Normally, there is a vacuum applied to the return line, which sucks the ink back into the printer when the ink stream hits the return block.
When I did my tests with the oscilloscope probe, I couldn't get any reading when the tip was shorted to the ground by water, but maybe the vacuum helps to prevent the buildup of a conductive path from the ground to the sensing pipe or it isn't a problem for the sense circuit used on this printer.
I will keep this in mind for building my own amplifier.
Without further ado, I tried building something by myself with the parts I had lying around:
For that, I sanded down the pins on two SMA PCB connectors and soldered them together. Then, I soldered a wire to a nut that was part of another SMA connector. After that, I screwed the two soldered-together SMA connectors into a 1/4-inch plastic fitting and screwed the nut onto the SMA connector's thread, which I secured with a screw locking ring. Finally, I pushed the plastic insulation of the SMA connector out with a screwdriver so that it could be used as a conductive tube and connected a silicone tube to its end.
Sensor built from SMA Connector
To shield it from noise, I soldered a wire to a 1/4 brass fitting which I screwed on the plastic fitting with a washer in between to attach it to the 3D printed part.
I then soldered a shorter SMA connector to the wires to connect it to an SMA cable, which I connected to the amplifier.Shield for Sensor
While this definitely isn't the best design, it still worked.
Drops hitting the Sensor
To get a reading out of it, it was important to connect the oscilloscope to the power supply's ground.
While in theory the SMA connectors which I soldered onto the AD620 amplifier module should connect the oscilloscope to the ground of the module, in reality that wasn't the case, so I had to connect it separately.
Maybe it had something to do with the bridge between S- and ground on the input side.
Ground Connection on the OscilloscopeWith everything connected, it was possible to see a reading on the oscilloscope when the charged drop hit the sense electrode.Charged Drops visible on the Oscilloscope
And with that, the first charging test was completed sucessfully.
Conclusion:
- It is possible to charge water drops and read when charged drops hit the sensor.
- Shielding seems to be important to not read noise like the mains frequency or noise from power supplies.
- An amplifier is needed to amplify the small voltage from the drop's charge so that it can be read.
- There is more research needed regarding the ground connection of the amplifiers.
- It would be the best to build a custom amplifier for amplifying the charge to learn more about this topic.
- In the future, a better DIY gutter sensor design is needed.
I think it's useful to do such experiments to verify that something works by yourself instead of only relying on informations you have read online. This way you also get something you can base your next experiments on.
For the last month, I tried out different ways to log and monitor the data that the sensors on the machine collect to get a graphical way to watch the operation of the machine over time.
This way it is possible to verify that everything is working as expected and to find problems that would be otherwise hard to detect.
It's also just nice to see your machine's sensor readings on a dashboard :)
I tried out:
- saving the data on my router's FTP server
- saving the data on Google Sheets
- saving the data on InfluxDB
Finally, I ended up saving the data on a MYSQL database that I set up on a Raspberry Pi, which appeared to me as the most independent/universal solution.
In addition to that I installed Grafana on the Raspberry Pi to get a nice way to display the sensor data.
Sensor Reading over 15 Minutes of Operation
In the current picture, all values besides the pressure are as expected, so I still have to find a way to get a stable pressure.
The readings I currently get from the machine are:
- The room temperature
- The nozzle temperature
- The viscosimeter temperature
- The conductivity
- The fall time (the time an 8mm steel ball needs to drop around 100mm in a 10mm PC tube at 25⁰C - equal to the current dynamic viscosity)
- The pressure
Update:
Today, I installed a new pressure regulator which finally outputs a stable pressure.
New Ink Pressure Regulator
It's also visible in the readings:
Pressure ReadingSensor Dashboard
Now, that all sensor readings are stable the work on the fluid management system is finished until new problems appear and I can finally continue working on the printhead design.
Update:
I just found out what caused the pressure regulator to fail:
The pin inside the pressure regulator got stuck, because the used PVB/Ethanol mix is quite sticky. Maybe in the future I can find a pressure regulator with a different design that also works for adhesives or sticky fluids. At least it's no general problem of the system. Until then it's needed to clean and "unstick" the pin of the pressure regulator before running the system.
Another Update:
I switched to using another type of pressure regulator which also has a spring at the bottom for closing the seal so that doesn't get stuck open that easily.
Dual Spring Pressure RegulatorView from the InsideParts of the Pressure Regulator
The next thing I want to do is learn more about things like electrostatic induction and conduction and how to measure the charge on droplets.
For this, I'm planning to build a test stand for charging single water drops with variable voltage, detecting when the drops hit a copper mesh, and measuring their charge to learn how to do these things and which factors are important for a successful charge induction and measurement.
When I started working on the new design around Christmas last year the first part I bought was a portafilter coffee machine pump with a high flow and pressure rating.
My initial idea was to use only one single pump for moving all fluid in the system and use a venturi nozzle to generate the needed vacuum for the return line and makeup/solvent loading.
Venturi Valve and Pressure Pump
While it worked well with water and pure ethanol, more and more problems arose as the viscosity increased.
With the high-viscosity ethanol + PVB mixture that I want to use for printing, the venturi valve injected a lot of small bubbles at a high rate into the mixture creating a layer of foam on top of it which kept on rising until the ink tank started foaming over. At the same time, the small bubbles got sucked into the pump causing it to run unstable which would damage the pump over time while creating a loud unhealthy sounding noise.
Foam on the Ink
Over the last weeks, I tried a few things to reduce the foaming problem, but nothing of it could solve it completely...
Small Bubbles mixed with Ink
Another problem with this design was that while the venturi nozzle could still generate a high-flow suction when powered by a high-viscosity fluid, the vacuum level got reduced so much that it could no longer draw in the fluid through the return line...
While this wasn't already bad enough the pump also generated a lot of heat which makes it hard to keep the temperature inside the system constant...
With these problems and the fact that these kinds of pumps are pretty noisy and also quite expensive when bought new, it was time to start working on a better and cheaper solution.
Brushless DC Pump for Ink Circulation
A few weeks ago I already added two small 24V brushless pumps to the printer for ink circulation inside the viscosimeter and for water cooling.
While thinking about the changes needed for replacing the large pump I realized that the viscosimeter circulation pump can also be used for circulating all the ink inside the printer and not only the ink inside the viscosimeter. Because of that I could remove the valves needed for the "viscosimeter sample refresh" function and just keep the pump circulating the ink all the time.
For lifting the steel ball inside the viscosimeter a solenoid valve connected parallel to the pump outlet can be opened from time to time.
The ink flows from the ink tank to the circulation pump and gets pumped to the viscosimeter.
Outlet of the Ink TankInk Circulation Pump
From there it flows into a T fitting which is connected to the outlet of the relief valve that regulates the pressure of the pressurized part of the system.
Viscosimeter
From there the ink flows into the heat exchanger that keeps the ink at 25⁰C by heating and cooling it.
Heat Exchanger
Finally, the ink enters the ink tank again to complete the cycle that keeps the ink well-mixed and at a steady temperature.
Inlet of the Ink Tank
Brushless DC Pump for Water Cooling
The water cooling system is used for cooling a TEC 12706 Peltier module for heating up or cooling down the ink so that it can be kept always at 25⁰C independent from the room temperature.
The water flows from the water reservoir tank to the circulation pump and gets pumped into the heat exchanger.
Water Cooling PumpHeat ExchangerThe Peltier module is driven by a BTS7960 H-Bridge module so that it can be used for cooling and heating as well.BTS7960 H-BridgeThe H-Bridge is powered by an XL4016 step-down converter module which outputs 12V.XL4016 Step Down ConverterFrom the heat exchanger, the water flows into the radiator and from there it flows into the water reservoir tank to complete the water cooling cycle.Radiator and Water Reservoir Tank
Peristaltic Pump for Solvent/MakeUp
For adding solvent/makeup (ethanol) to the mix I switched to using a peristaltic pump instead of the vacuum line. This pump should be able to add always the same amount of ethanol to the mix when running at the same speed for the same amount of time.
Peristaltic Pumps
The ethanol is drawn from the bottle next to the tank and flows from the pump into the cross-fitting at the top of the tank.
The side connections of the cross-fitting are for makeup and return line and the top connection is for adding pre-mixed Ethanol/PVB ink and venting the air from the return line out.
A quick note here:
While writing this project log I just had the idea to relocate the two valves on the printhead over to the machine frame.
These valves are used for applying the vacuum either to the nozzle or to the gutter.
Two Valves on the Printhead
At the moment the printhead is mostly disassembled and only used for testing the fluid lines.
When everything related to fluid management is working nicely and reliably, I will build a separate prototype only for the printing electronics to ultimately merge both parts into another revision of the project.
Since this is the most complicated project I ever worked on, it will still take a long time until it can be used for anything useful.
Printhead without ValvesNew Location of the Valves
Currently, the printhead is connected to the printer via a 3m long connection line consisting of a ground wire for ESD protection, a cable connection to the nozzle thermistor that checks the ink temperature at the nozzle, the ink line which supplies pressurized ink or vacuum for cleaning to the nozzle, the return line which draws the ink back to the printer and a flush line which is connected to the ink tank that can be used for flushing the nozzle line and return line by applying vacuum to the line that needs to be flushed and connecting the flush line to this line. The vacuum draws the ink from the tank through the line that should be flushed to the peristaltic pump and from the pump back into the ink tank which has a mesh filter inside for separating any dirt that may get flushed out of the line.
3m long Connection Line to the Printhead
Peristaltic Pump for the Return Line
When I tested out the first peristaltic pump for adding makeup, I was surprised at how well these pumps can generate suction.
The generated vacuum level is higher than that of the venturi nozzle when driven with high viscosity fluid and the flow is much lower so that not as much air gets sucked in that could mix with the ink to form bubbles or foam.
Replacing the venturi with a peristaltic pump has not only the advantage that it solves the bubble/foam problem, it also lowers the required high-pressure flow rate, because now, without the venturi nozzle, the only thing on the printer that requires high pressure is the ink stream through the 0.1mm nozzle which only requires a very low flow rate what makes it possible to use other types of pressure pumps for the printer.
The return pump pumps the ink back into the cross-fitting on top of the ink tank which generates a vacuum on the input side of the pump that is used for either returning the ink from the gutter or cleaning the nozzle.
For returning the ink from the gutter, the gutter valve is opened so that the ink from the ink stream hitting the gutter block/pipe can be drawn back into the printer. This is normally done as long as the printer is active and the ink stream is present.
For returning the ink from the nozzle, the gutter valve is closed and the nozzle vacuum valve is opened, so that the ink can flow backward through the ink line via the return line back into the tank. This is normally done to clean the nozzle with either pure ethanol or ink from the flush tube.
While only a small amount of pure ethanol should enter the system to not dilute the ink too much, the flush tube can be used as long as needed for flushing particles out of the nozzle/ink line that may block the nozzle again if they don't get completely flushed out of the ink line.
New Pressure Pumps: 4 Solenoid Pumps
Since the high-pressure flow requirement got much lower with the new design, it is now possible to use other pressure pump types for generating the needed pressure and because small solenoid pumps like the ones used in cheap coffee and fog machines don't make a lot of noise, I decided to use them for generating the needed pressure.
These pumps are available in many different sizes with different flow, pressure, and power ratings. While the smaller ones are very quiet, the larger ones make a louder humming noise.
While some models can run at 100% duty cycle, most of them are only rated for running in 1 min on / 1 min off cycles to prevent them from overheating. This is the major drawback of this kind of pump.
To deal with it, I'm currently using four of them connected in parallel to the ink line wired to a 4-channel relay module to run them one by one with a few seconds of overlapping to prevent the pressure from dropping while switching.
Four Solenoid Pumps connected in parallel4 Channel Relay Module
This way each pump is 1 minute turned on and 3 minutes turned off, which is 3 times the required off time for this model. While testing, they heated up, but not enough to be worried about melting the plastic around the coil.
I'm currently using 4 of the ULKA NMEHP Type 1S models, which are small and silent pumps with a 1 min on / 1 min off rating.
The ink is drawn from the tank into the pumps and is pumped into the high-pressure line. The system pressure is controlled by a relief valve which I set to around 50psi. The relief valve lets some of the ink flow back into the tank to keep the pressure steady.
The pressurized ink flows through a pressure regulator that regulates it down to the desired ink pressure of the stream (eg. 40psi). After that, it flows into a pressure accumulation tank/damper (just a tank with a hollow rubber ball inside) for stabilizing the pressure.
The idea behind that is, that by keeping the system pressure at 50 psi and by using a damper on the 40 psi side, pressure fluctuations on the 50 psi side will not affect the 40 psi side as long as the pressure doesn't drop below 40 psi at some point.
Now, when the ink valve is open, the ink flows to the printhead into the nozzle for ejecting the ink stream that hits the gutter to close the cycle.
Back View of the MachineFront View of the MachineTouch UI
Summary
At first, I thought using many small pumps instead of one large pump would add more complexity to the project, but it turned out to be the opposite, here's why:
One large Pump
I searched for a long time until I found the portafilter coffee machine rotary vane pump that could supply high pressure at a high flow rate. I bought a used one for cheap, but when you buy these pumps new, they can easily cost multiple 100€. The pump I used was also quite noisy and introduced a lot of heat into the system.
I bought this pump especially to power the venturi nozzle which injected a lot of air bubbles into the ink, leading to a buildup of foam, damage on the pump vanes over time, and air bubbles mixed into the ink stream.
In short - I had a lot of problems with this pump.
Before I started using the small pumps I searched for other types of large pumps like garden pumps, hydraulic pumps, high-pressure fuel pumps, and diaphragm pumps, but none of them could meet all of the requirements.
There are also special CIJ pumps available, but they are very expensive and hard to get.
Since this is a DIY project I think it would be very frustrating for others to start the BOM with a pump that is expensive, loud, and hard to get, so I looked for alternative ways.
Multiple small Pumps
Brushless DC Pumps
I already started using the two brushless DC pumps for the new viscosimeter and later also used them for ink circulation. These pumps cost less than 30€ each and are relatively silent. There is also no special type required and it is possible to just use any pump that can provide enough flow and pressure to lift the steel ball inside the viscosimeter and circulate the ink.
Peristaltic Pumps
Same as for the brushless DC pumps, no special requirement, besides generating enough suction for drawing the ink and makeup to the tank. The pumps I used cost less than 30€ each, but any other peristaltic pump should work as well. They also are relatively silent.
Solenoid Pumps
The only requirement for these pumps is being able to supply the needed pressure (eg. 50 psi).
I used 4 small and silent ones which did not cost more than 20€ each, but if you can find a model that has a 100% duty cycle while providing enough pressure and having an acceptable noise level, you could also go with just one pump. The noise of the models I use is very low so it's sometimes hard to see if they are running without taking a look at the pressure gauge.
By replacing the large pumps with the small ones, the noise of the machine could be reduced so much that it is now more silent than my 3D printer. With that, running it at any time of the day including deep at night should no longer be a problem.
Conclusion
In my opinion, using different pump types for different tasks instead of just one pump type for everything makes a lot of things easier. It will be easier to find the right pumps for the project and if one pump should fail, you would just have to repair or replace this cheap (eg. 30€) pump instead of buying a new multi 100€ pump.
Thank you for your interest in my Projects
Great thanks to @Paulo Campos and Robert for helping me a lot with this project :)
Here are some pictures of the 7-inch ESP32 powered control touchscreen and the latest changes to the prototype:
The squares on the left are touch buttons for the printer functions and on the right, you can see the sensor data on the top and the current time, date, day, and room temperature on the bottom.
ESP32 LCD Touchscreen
Since the display has no IO pins, I reassigned the 4 pins that were used for the micro SD card to use 2 of them for I2C (SCL and SDA) and the other two for PWM.
To access the pins I soldered wires to a micro SD extension flat-band cable.
Micro SD "Adapter"
Connected via I2C are a DS3231 real-time clock, an ADS1115 ADC, and an MCP23017 IO extension.
ADS1115, DS3231, MCP23017 and 8Ch Relay Module
- The MCP23017 is used for switching the relays and valves and reading the inductive sensors of the viscosimeter.
- The ADS1115 is used for reading the analog voltage of the pressure, conductivity, and temperature sensors.
- The DS3231 is used to keep track of the time and measure the room temperature.
3.3V/5V logic level converter and AMS1117
The touchscreen is powered by an AMS1117 3.3V regulator.
While the ESP32 is running well on 3.3V the LCD seems to need a higher voltage since it's flickering a bit when powered by 3.3V which doesn't happen when powered by its USB-C connection.
To get rid of the heat from the Peltier module I added a dual-fan radiator, with the fans pointing toward the grid frame of the machine.
Backside of the RadiatorFront View of the Machine
Currently, I'm using two XL4016 step-down converters for converting 24V from the power supply to 5V and 12V.
While the 5V is used for powering the I2C devices and sensors, the 12V is used for the Peltier module and viscosimeter valve.
XL4016 for 12V and 5V
A single relay module is used to open the valve for lifting the 8mm steel ball inside the viscosimeter. The falling steel ball gets detected by 2 inductive sensors.
For the viscosimeter, I used a clear polycarbonate pipe with a 10x8mm diameter and 150mm length. The distance between the two sensors is 60mm.
New Viscosimeter with Peltier Module and Circulation PumpThermometer on the Main Ink Cycle
I used a dual MOSFET module for switching the 12706 Peltier module with a 1kHz PWM signal.
Dual MOSFET Module
The Peltier model draws around 50W during testing and the MOSFET module gets very hot without cooling so I will likely place the MOSFET modules for both Peltier modules next to each other and add a small silent 40mm fan for cooling.
Peltier Module
Together with the pump that pumps the ink around inside the viscosimeter and also heats it up, a thermistor in the cross-fitting, and some PID code, the temperature of the ink inside the viscosimeter can be kept constant without oscillation.
In the future, I will add some code to flush the viscosimeter from time to time with fresh ink to check if the viscosity has changed and automatically add solvent if the viscosity has risen too high because of solvent evaporation.
For flushing, the viscosimeter is connected to the main ink cycle by two valves that can be opened to let fresh ink flow through the viscosimeter while the pump is running and the measuring pipe's valve is opened to flush all the old ink out.
LCD with Wifi Connection IndicatorFor the next update I'm planning to add a data logging feature to write all sensor readings and machine function states together with a timestamp to a file on an FTP server to make it possible to analyze every test run and see what changes in the sensor readings follow the performed action.
I think this will add a lot of value to the machine since it makes the testing results more comparable and will provide a way to share the collected data besides recording videos and taking pictures. In the best case, it would be possible to display the sensor readings as graph lines and have a way to see which machine function was active at a time, e.g. to see that the viscosity decreases with a temperature rise or that the pressure drops when the ink valve is opened and so on.
I'm still working on the project and over the last months I added an ESP32 powered 7-inch touch panel to the machine and changed the code so that a PC is no longer needed for running the machine.
I also built a new viscosimeter that features a thermistor, Peltier cooler, and circulation pump for keeping the temperature, always the same while measuring, even if the room temperature changes.
Before, I couldn't get a reliable reading of the ink's viscosity since it changed from day to day depending on the room temperature. On some days when the sun was heating the room all day long the ball drop time reduced by it's half just by the rising of the temperature during the day.
When the ink gets pumped around it also heats up, so that without cooling the viscosity would continuously drop until the temperature reaches its highest point which is also dependent on the room temperature.
The good thing about ink heating is, that with it the ink in the viscosimeter and the rest of the printer heats up on its own so that only cooling is necessary to keep the ink temperature stable.
Currently, I only finished the Peltier cooler of the viscosimeter, but I will also add a cooler to the printhead to keep the ink that exits the nozzle at the same temperature as the ink sample in the viscosimeter so that the measured viscosity equals the viscosity of the ink stream.
While I haven't seen a cooling system on any CIJ printer so far, I have seen designs that feature a temperature sensor on the viscosimeter and on the nozzle.
In contrast to commercial manufacturers who put a lot of work into designing the best ink for their products, I don't know the temperature-viscosity curve of the ink mixtures I'm using and I think it is nice to have a way to keep the ink's temperature constant at the nozzle and the viscosimeter.