A solution to replace the nozzle with a solder paste dispenser

477 views
Skip to first unread message

bing luo

unread,
Nov 25, 2024, 9:44:59 PM11/25/24
to OpenPnP
I saw Lumen's solder paste dispenser design and didn't think it needed to be so complicated, so I bought a push rod stepper motor and an injection solder paste. I plan to use this push rod to push out solder paste. Just 3D print a structural component and load them together. My problem now is

1: How to easily get  the coordinates of the solder pad.
2: How to make the C-axis always rotate in one direction, so that the required solder paste can be extruded by setting different rotation steps.

BBBBBB.jpg


SSSSSSSS.jpg



Mike Menci

unread,
Nov 26, 2024, 2:46:05 AM11/26/24
to ope...@googlegroups.com
This stepping motor that you have on picture does not have a gearing inside to get the needed torque to press the paste out of syringe ! 
Get one with gears !
I don’t know how to get spots on PCB for dispensing 
You could ask in OpenPnP group how people do it easy way from the placement layout of PCB!
Poslano iz iPhon-a

Dne 26. nov. 2024 ob 03:45 je oseba bing luo <tianl...@gmail.com> zapisala:

I saw Lumen's solder paste dispenser design and didn't think it needed to be so complicated, so I bought a push rod stepper motor and an injection solder paste. I plan to use this push rod to push out solder paste. Just 3D print a structural component and load them together. My problem now is

1: How to easily get  the coordinates of the solder pad.
2: How to make the C-axis always rotate in one direction, so that the required solder paste can be extruded by setting different rotation steps.

<BBBBBB.jpg>


<SSSSSSSS.jpg>



--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openpnp/2d42babe-ebd5-4468-9c34-e576c306c543n%40googlegroups.com.
<BBBBBB.jpg>
<SSSSSSSS.jpg>

Litterio Andrea Guainella

unread,
Nov 26, 2024, 2:59:40 AM11/26/24
to OpenPnP
1) With Altium it's quite simple because in the export of the positioning files you can select PADX and PADY while in kicad I don't think you can do it (unless you manually create it starting from the pad coordinates).
2) Here lumenpnp don't use openpnp but (I think) a python script. With openpnp you could make an implementation such that the special nozzle never has to pick up a part (ex: solder paste placement job) but only has to position it. so the NozzleBeforePlace event could be a trigger to send a number that contains the steps or degrees of rotation to then reset them (without moving the motor) and be useful for the next task

LAG

bing l

unread,
Nov 26, 2024, 3:03:46 AM11/26/24
to OpenPnP
The torque of this stepper motor is 20N, and its diameter is 25mm. If the torque is not enough, then switch to a 60N one, with a diameter of 35mm and the same price of $12.    Is 60N enough? 

bing l

unread,
Nov 26, 2024, 3:06:35 AM11/26/24
to OpenPnP
Coordinates can be edited by oneself, which is an efficiency issue. The main issue is how to set the C motor to select only one direction and rotate a specified number of steps each time. For example, capacitor 0402 needs to rotate 5 steps, capacitor 1210 needs to rotate 10 steps, and TO-220 needs to rotate 30 steps.

Litterio Andrea Guainella

unread,
Nov 26, 2024, 3:20:22 AM11/26/24
to OpenPnP
Your point is very clear but I fear that without making changes to the openpnp code, the only way is to create an ad hoc script (via scripting).  It should be pretty simple to implement (at least for a preliminary test).
I can help you with this if that's your choice. In the past openpnp had started playing with a paste dispensing nozzle but it was abandoned due to lack of supporters in version 1.0

LAG

Mike Menci

unread,
Nov 26, 2024, 3:30:53 AM11/26/24
to ope...@googlegroups.com
Well: “ For example, capacitor 0402 needs to rotate 5 steps, capacitor 1210 needs to rotate 10 steps, and TO-220 needs to rotate 30 steps.“
You could replace this with
1x 5 , 2x 5, 6x 5 steps ?
Dispensing torque varies due to viscosity of paste used / more liquid it is easier will dispense !
Poslano iz iPhon-a

> Dne 26. nov. 2024 ob 09:06 je oseba bing l <tianl...@gmail.com> zapisala:

Jan

unread,
Nov 26, 2024, 3:32:51 AM11/26/24
to ope...@googlegroups.com
Hi Bing!
Nice idea, however, as you might know, solder past dispensing was part
of OpenPnP v1 and dropped in v2 likely because of low interest. Stencils
are just to cheap...
Anyhow, this is what you could do:
- pad information is already available as part of the footprint
definitions associated with the package.
- At present I'm not aware that there is any option to skip the pick
step in the current job processor. Even worth, the job does not even
start if not all parts have feeders assigned and enabled. To overcome
this I'd
- Implement a dispenser based on the nozzle class. One would inherit all
the offset, Safe-Z and motion stuff that nozzles have. For dispensing
one would just have to add to reset to axis location (already supported)
and then move the axis per dot.
- Finally a new job processor would be needed that collects all pads of
all packages of all placements and moves the new dispenser to each.
Based on the shape/area one could even directly derive the amount of
past to dispense and/or how many dots to place where. That shall be easy
as well by reusing the existing code... IIRC Jason even mentioned some
time back that OpenPnP is prepared to support multiple job processors...

Jan
> BBBBBB.jpg
>
>
> SSSSSSSS.jpg
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion visit
> https://groups.google.com/d/msgid/openpnp/2d42babe-ebd5-4468-9c34-e576c306c543n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/2d42babe-ebd5-4468-9c34-e576c306c543n%40googlegroups.com?utm_medium=email&utm_source=footer>.

bing l

unread,
Nov 26, 2024, 3:38:43 AM11/26/24
to OpenPnP
Some people don't care about the appearance of PCBA, they only need functionality, and distributing solder paste for capacitors and resistors through injectors has practical value. It's just that the precision requirements for the solder paste of the IC are too high to achieve. I think the official version of OPENPNP can consider supporting this feature .   I am unable to modify the code, I can conduct testing and publicly disclose the hardware BOM and 3D drawings here.  
In  Shenzhen  don't have this requirement  because the price of Stencil here is $5 and the delivery time is 24 hours,It is much faster than JLC's PCB.
 

bing l

unread,
Nov 26, 2024, 3:42:40 AM11/26/24
to OpenPnP

Different countries have different needs, and in CN, no one considers this issue. However, customizing a stencil is not easy in many countries. They can use injection solder paste to solder capacitors and resistors, and then manually solder ICs.

Mike Menci

unread,
Nov 26, 2024, 3:57:46 AM11/26/24
to ope...@googlegroups.com
Few years beck when stencils were not avalible like today I spent quite a lot of time on this hand held semi auto dispenser ; https://wordpress.mencinger.biz/ 

For PnP solution I would recommend is combination of air pressure to press on paste in syringe and auger screw on the discharge of stepper shaft! 
Mike 
By my iPhone

Dne 26. nov. 2024 ob 09:42 je oseba bing l <tianl...@gmail.com> zapisala:


To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openpnp/ea7d327d-ef32-470a-a80d-8a210cf25350n%40googlegroups.com.

Alexander

unread,
Nov 26, 2024, 4:07:14 AM11/26/24
to OpenPnP
P1010010.jpg

вторник, 26 ноября 2024 г. в 10:57:46 UTC+2, mike....@gmail.com:

Mike Menci

unread,
Nov 26, 2024, 4:13:41 AM11/26/24
to ope...@googlegroups.com

Mike Menci

unread,
Nov 26, 2024, 5:29:12 AM11/26/24
to OpenPnP
When you watch this video - see the coupling Moving forward to dispense and than each dispensing dot is auto reverse to avoid oozing from nozzle! 

Ben

unread,
Nov 26, 2024, 9:19:30 AM11/26/24
to OpenPnP
Hi all
bing, I thought of adding a dispensing function to my machine, but my plan is to use the air pressure I already have for manual paste dispensing. I just need a device to connect the syringe to the camera head, and adding script for it's activity.
However, to get good result, you should add another moving axis: to move the syringe up/down in addition to inject paste. I thought to use one head of the double head I have in the machine, but special attachment parts are needed. any idea will be appreciated.

bing l

unread,
Nov 26, 2024, 10:36:46 AM11/26/24
to OpenPnP

The cost of using screw extrusion is too high

Mike Menci

unread,
Nov 26, 2024, 12:04:44 PM11/26/24
to OpenPnP

You can draw it and 3D print it .....: https://www.youtube.com/watch?v=kK25gvB-UVs

Mike Menci

unread,
Nov 26, 2024, 12:11:56 PM11/26/24
to OpenPnP
Some of my attached..
ConeAugerAssby.STEP
auger-valve-rotor.STEP
ConeAugerAssby.STL

Wayne Black

unread,
Nov 26, 2024, 12:28:51 PM11/26/24
to OpenPnP
I have a lot of experience with syringe dispensing using pneumatics. I wouldn't recommend air for precise high viscosity, low volume dispensing as needed for solder paste. Air is compressible and doesn't do well with ambient and material temp changes.

I tried an open source auger design similar to Mikes above. It worked well briefly but then stopped. Disassembly showed the solder was actually melting within the nozzle due to heat/compression. That was using ill-fitting parts from the local hardware. I would be curious to see how Mikes precision design would work over time.



vespaman

unread,
Nov 26, 2024, 4:30:32 PM11/26/24
to OpenPnP
Also for me, using pneumatic for dispensing regular paste would not come as my first choice - I used it some 10 years ago, and while it worked, it was hard to get a consistent blobs over the day, probably because of the temp change, leading to constant adjustments of the dispense time, and smaller nozzles did not work well, just air pressure building up, jamming nozzle tips. I still have the dispenser on my bench, but it is collecting dust.

And, as for the whole concept of dispensing solder paste; I would see this as a *convenient* way of doing single-ish boards, not having to take the trouble of lining up, messing, cleaning stencils and tools. Not because of it being cheaper than stencils, and not in some kind of serial production. Then the jet printers are the solution. But obviously out of our budgets.
So I'd be interested in it, but it would have to be super quick, and in line with OpenPnP, using the already setup job data (including pads data).

But of course anything automation is interesting, so I'll follow this regardless! :-)

  - Micael

Mike Menci

unread,
Nov 27, 2024, 2:58:52 AM11/27/24
to OpenPnP
Well we are talking about for small amount of PCBs - prototyping - than such "low cost" solutions could be used. The Auger screw is doing the job and air pressure is used only to keep paste flowing out of syringe, see here :


and pdf enclosed.. 


EFD_-_Auger_Valve_Dispensing.pdf
Auger Rotary Valve.png
Auger Plastic.png

vespaman

unread,
Nov 27, 2024, 3:17:32 AM11/27/24
to OpenPnP
I think there's a lot of different solutions discussed here, I was referring to a direct pneumatic syringe dispenser.
In combination with something else, like your screw solution, the control of the paste dispensing will obviously be much better.

Having said that, IMHO, not pushing directly from the syringe has the downside of cleaning - I take it you would have to clean the screw assy' unless you are using it often?
This is why the direct mechanical syringe solution appeals to me (if it can be made to work well enough ). I hate cleaning :). But I am well aware that we all have different views on what might be a priority and what is good and what is bad, there's a place for all designs, I'm sure.

 - Micael

Mike Menci

unread,
Nov 27, 2024, 5:41:18 AM11/27/24
to OpenPnP
I agree with plastic low tolerance parts of auger screw there will be a lot of cleaning needed -especially after the job was done, or before the first job starts - mainly - but as well during dispensing paste - there would need to be un area where dispensing nozzle would need to clean itself 
while on high tolerance metal auger with metal housing this would be minimal - or not as match needed.. & the COST of such dispenser will be much higher ...

bing l

unread,
Nov 27, 2024, 11:53:44 AM11/27/24
to OpenPnP

I have  get  the  stepper motor with a diameter of 35mm and a torque of 60N, and 3D printed a fixture that allows it to be directly installed on the C1 motor base. I have tested it, and its thrust can push out solder paste.

As a temporary solution, my idea is to configure the parameters of the C1 motor in the congfig. txt file. When I input a G900 command to the motherboard on the OPENPNP command line, the C1 motor will  rotate at a pre-set speed and direction. The solder paste will slowly squeeze out. Then OPENPNP touches each pad according to the coordinate list.  
   
There is no need to edit such a complex program that squeezes solder paste every time it comes into contact with the solder pad.  

微信图片_20241128004539.jpg

微信图片_20241128004534.jpg

微信图片_20241128004523.jpg

微信图片_20241128005125.jpg

bing l

unread,
Nov 27, 2024, 12:01:55 PM11/27/24
to OpenPnP
I know that the best way to extrude this semi-solid substance is with a screw, but the cost of the screw is too high,approximately $150.  very heavy, and requires an air compressor to provide 4 atmospheres of pressure.

Purchase finished injection solder paste (because its solder paste does not have air), and then use a push rod stepper motor to squeeze it out, so there is no problem of air compression. If you pour solder paste yourself, you will never be able to clear the air, which will lead to uneven pressure.

bing l

unread,
Nov 27, 2024, 1:03:48 PM11/27/24
to OpenPnP
Add a more three-dimensional photo.
微信图片_20241128020156.jpg

Alexander

unread,
Dec 13, 2024, 2:10:31 AM12/13/24
to OpenPnP
In DipTrace Version 5.1 (November 19, 2024) the option Export G-code for Solder Paste Dispensing was added.

Code

M107 (turn off dispensing solenoid)
M42 P6 S0 (turn off pnp vacuum)
G28 Y0 (Home y - away from holding bracket)
G91 G1 Y-0.394 G90 (Printrbot simple specific, otherwise z-probe will not work)
G28 X0 (Safe to home X now)
G28 Z0 (.. and z)
G20 (set to inch)
T1 (Use E1 extruder, our 'A' axis for PnP component rotation)
M302 (cold extrusion override - because it is not actually an extruder)
G90 (Use absolute positions in general)
G92 E0 ('home' E axis)
G1 Z0.457 E0 (Move needle out of way)
( -- component C2 , pad 1 -- )
G0 F24000 X2.238 Y2.337 Z0.047 (move there)
G1 F6000 Z0.025 (Go down to dispense)
M106 (switch on fan=solenoid)
G4 P0.4 (Wait time dependent on area 0.0025 inch^2)
M107 (switch off solenoid)
G1 Z0.087 (high above to have paste separated)
( -- component Pad38 , pad 1 -- )
G0 F24000 X2.337 Y2.34 Z0.047 (move there)
G1 F6000 Z0.025 (Go down to dispense)
M106 (switch on fan=solenoid)
G4 P0.4 (Wait time dependent on area 0.0027 inch^2)
M107 (switch off solenoid)
G1 Z0.087 (high above to have paste separated)

The file code is designed to work together with a pneumatic dispenser; with a small modification of the stepper motor control circuit, you can use a screw dispenser, which requires air pressure of approximately an order of magnitude (less than 1 atm.).

паста.jpg

среда, 27 ноября 2024 г. в 20:03:48 UTC+2, tianl...@gmail.com:

bing l

unread,
Dec 13, 2024, 11:51:46 PM12/13/24
to OpenPnP
I have solved the problem of solder paste extrusion with a simple way。Add an automatic feeder and name it paste feeder. Ask it to issue the command M600 N20 to MEGA2560. MEGA2560. After receiving this command, MEGA2560 will send  100   STP pulses  to TMC2209(MEGA2650 automatically multiplies by 5 times), and the stepper motor will advance 100 * 8 =800steps (because it is divided into 8 segments). If the instruction issued is M600 N5, The stepper motor will advance 5 * 5 * 8=200 steps.    

So  the quantitative extrusion of solder paste can be completed when the nozzle reaches the solder pad.

All you need to do is import the coordinate files of the solder pads into openpnp.


微信图片_20241214123628.png
微信图片_20241214123724.png

bing l

unread,
Dec 14, 2024, 12:11:41 AM12/14/24
to OpenPnP
I can easily export the coordinates of Pad by JLC's EDA. I don't know what other EDA software will do.

微信图片_20241214130838.png
微信图片_20241214130906.png

vespaman

unread,
Dec 14, 2024, 4:38:03 PM12/14/24
to OpenPnP
Would it not be possible to use the pads already specified within OpenPnP for bottom vision?

 - Micael

bing l

unread,
Dec 14, 2024, 11:59:36 PM12/14/24
to OpenPnP
Can only turn off the bottom vision,Otherwise, it cannot work.

vespaman

unread,
Dec 15, 2024, 3:56:30 AM12/15/24
to OpenPnP
No, I meant that it should be possible to use the pads data already in OpenPnP, so no extra pads export/import from EDA. Or maybe it is the belly pads that cause trouble?
The job/board data will anyway be shared, I suppose, even if the paste machine is not the same as the PnP machine.

 - Micael

bing l

unread,
Dec 15, 2024, 11:32:08 AM12/15/24
to OpenPnP
Import the coordinates of the pad directly from the PCB file. This requires modifications to the openpnp software, and as a non essential feature, it is not worth it.

vespaman

unread,
Dec 15, 2024, 2:22:38 PM12/15/24
to OpenPnP
Sorry, I don't follow. Is it the belly pads you are talking about? The "normal pads" are already there as foot print.

 - Micael

Leon Kainz

unread,
May 1, 2025, 4:05:22 PM5/1/25
to OpenPnP
Hi LAG,
I would be very interested to know how you can skip the pick process using scripting. I am trying to control a soldering iron instead of the solder paste extruder, but the principle is exactly the same and I have not yet managed to skip the pick process at the right time via event script... Leon
ls.info...@gmail.com schrieb am Dienstag, 26. November 2024 um 09:20:22 UTC+1:
Your point is very clear but I fear that without making changes to the openpnp code, the only way is to create an ad hoc script (via scripting).  It should be pretty simple to implement (at least for a preliminary test).
I can help you with this if that's your choice. In the past openpnp had started playing with a paste dispensing nozzle but it was abandoned due to lack of supporters in version 1.0

LAG

Il giorno martedì 26 novembre 2024 alle 09:06:35 UTC+1 tianl...@gmail.com ha scritto:
Coordinates can be edited by oneself, which is an efficiency issue. The main issue is how to set the C motor to select only one direction and rotate a specified number of steps each time. For example, capacitor 0402 needs to rotate 5 steps, capacitor 1210 needs to rotate 10 steps, and TO-220 needs to rotate 30 steps.

在2024年11月26日星期二 UTC+8 15:59:40<ls.info...@gmail.com> 写道:
1) With Altium it's quite simple because in the export of the positioning files you can select PADX and PADY while in kicad I don't think you can do it (unless you manually create it starting from the pad coordinates).
2) Here lumenpnp don't use openpnp but (I think) a python script. With openpnp you could make an implementation such that the special nozzle never has to pick up a part (ex: solder paste placement job) but only has to position it. so the NozzleBeforePlace event could be a trigger to send a number that contains the steps or degrees of rotation to then reset them (without moving the motor) and be useful for the next task

LAG

Il giorno martedì 26 novembre 2024 alle 08:46:05 UTC+1 mike....@gmail.com ha scritto:
This stepping motor that you have on picture does not have a gearing inside to get the needed torque to press the paste out of syringe ! 
Get one with gears !
I don’t know how to get spots on PCB for dispensing 
You could ask in OpenPnP group how people do it easy way from the placement layout of PCB!
Poslano iz iPhon-a

Dne 26. nov. 2024 ob 03:45 je oseba bing luo <tianl...@gmail.com> zapisala:

I saw Lumen's solder paste dispenser design and didn't think it needed to be so complicated, so I bought a push rod stepper motor and an injection solder paste. I plan to use this push rod to push out solder paste. Just 3D print a structural component and load them together. My problem now is

1: How to easily get  the coordinates of the solder pad.
2: How to make the C-axis always rotate in one direction, so that the required solder paste can be extruded by setting different rotation steps.

<BBBBBB.jpg>


<SSSSSSSS.jpg>



--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.

-- 
sendance GmbH 
Pulvermühlstraße 3
A-4040 Linz
ATU76802319 | FN 554309k

javier.hern...@gmail.com

unread,
May 2, 2025, 4:03:33 AM5/2/25
to OpenPnP
Do you think it's useful to use the dispenser? It's faster to use a stencil. That's why I abandoned this project years ago.

javier.hern...@gmail.com

unread,
May 2, 2025, 7:30:37 AM5/2/25
to OpenPnP
The only system I saw at the time that could be useful for OpenPnP machines was the Pico Pµlse, but it is expensive. The Archimedes screw thing is fun but it's not very precise and it's slow. Perhaps it is more useful for applying glue. Nowadays any manufacturer makes the stencil for you, or you can do it yourself in a short time with etchant pcb.

The paste dispenser can serve as "marketing" for those who sell machines but I believe that any laboratory or company that wants to assemble its prototypes will ask for a stencil. And if they manufacture PCBs in said laboratory/company, they will also make the stencil. 

https://www.youtube.com/watch?v=K3QOJt43OKE

javier.hern...@gmail.com

unread,
May 2, 2025, 7:36:12 AM5/2/25
to OpenPnP
This appear a upgraded version
Reply all
Reply to author
Forward
0 new messages