Dispensing robot CNC conversion

I am looking for advice/discussion for retrofitting a cheap CNC style machine into one that will deposit precise amounts of CA glue (superglue) onto wood parts via a peristaltic stepper pump. for anyone unfamiliar with these, the fluid is pumped through a cheap and easily replaceable silicone tube with paddles that squeezes the tube to move the fluid. if you drive the pump with a stepper motor, you can achieve decent control of the amount of liquid you dispense. I know this to be true because they are used in pharmaceutical applications and what’s good enough for them will be overkill for me. i am not sure how the viscosity of the glues will change things, but I am confident this can be done and decent consistency can be achieved.

i have to imagine others on this forum would be interested in such a device if they glue wood parts together repeatedly for products they sell, so using lightburn and ruida to control this should be a nice seamless workflow experience for anyone using lightburn.

all of the wood parts that i (we) need to drop glue onto are already in lightburn, so creating tracks to drop glue and being able to adjust the amount of glue that is dropped around the piece (and adjust to perfection) within lightburn itself seems to make sense. we will likely also create jigs for this gluing machine within lightburn too.

the basic idea is to take a cheap 5 watt engraver (or CNC) and retrofit a peristaltic stepper pump onto the gantry as the head. I would add a ruida controller for the purposes of using lightburn to send the jobs over ethernet, since I do this with 3 laser cutters now. the PWM laser output would simply control the speed of the pump. z axis is optional but it may be good to have.

i could also use a CNC, but the cost of the milling motor and larger steppers might be a waste, or maybe the cost difference is negligible the bigger steppers are worth it for speed and reliability.

I am quite certain it will work, and I see cheap engravers for $250 on amazon. if the ruida will run somewhere near $300, i think it’s safe to say this can be done under $1000.

my first thoughts on choosing a donor device or kit, is that a homing ability is a must, and limit switches would be very welcome. i think we want the steppers included with the starting point, but we also need to know the specs of the movement to enter into the ruida controller, right?

Personally, I would use GRBL firmware and a much less expensive control board to match. Ruida is ill suited for controlling a stepper in lieu of a laser.

I have some experience with CNC dispensing systems, though my experience was with silicone and an air pressure pot for the dispenser control.

The specific problems related to the use of super glue are probably solvable with some research, but as for the tool pathing, LightBurn would probably work fine; perhaps some hand editing of code would be required, along with customizing your GRBL firmware settings.

This may be a good paper for you to review: https://www.instructables.com/Control-peristaltic-pump-with-TA7291P-and-an-Ardui/

If you want to keep the costs low, use a grbl controller board, not a ruida. A grbl board ($30) will do the same, there is no difference in control / possibilities in the end.

I could imagine using the z-axis control to dispense the glue, not using the PWM signal. The PWM signal will vary in duration depending on the shape, whereas the z-step is a single command at a defined step amount that is only sent once while the operation is ongoing. So you get a more defined output. Using the PWM signal, you would need a very exact calculation of the length of the shape combined with the “power” to be used.
There are boards and firmware versions that are also able to drive servos instead of steppers which might also be beneficial (though I don’t know which types of dispensers are available).

Interesting project, keep us updated :slight_smile: I might be able to do some testing here, I have many diode laser (frames) and mainboards here as well as experience with many different firmwares (though, all related to grbl / diode lasers, no Ruida).

GRBL streams from the pc, that might be fine for some, but I’m going to be repeating the job 30-100 times per session, and the operator will be using the lag time to load the glued pieces into a jig to dry and reloading the dispenser. So start and pause from the unit, or even a foot switch, as well as zero chance of serial data issues is worth $200 for me. I need it to work everytime.

When you say the pwm signal will vary, it will only vary between the min and max of the lightburn layer, if both are set to the same value there should be a constant output. But i actually think there could be benefits allowing the pwm to vary based on the shape.

I have lots of different designs, and within each design the amount of glue dropped will not be consistant based on the speed of the head. Some areas need more glue and allowing it to spread will be strategic in certain areas. There will be a lot of trial and error getting each file perfect, so i was hoping not to have to do custom code. So while pwm for a stepper might not be ideal, there may be a tradeoff to how easily i can adjust that output and test using lightburn without any customizations.

I don’t want to give up the ability to tweak and retest instantly.

I see the pwm for the laser is different than the pwm a stepper driver wants. I want to find a solution that allows me to use the output power in lightburn to change the glue flow.

I think that would be easier for most people (here) to use once solved, for the same reasons i want it.

You can do it with the $30 board as well (the most famous MKS DLC32 board features multiple I/O signals that can be wired to buttons and an SD card slot for offline use) :slight_smile: But the Ruida is offering more functionality, I guess. I have no experience using those.

What I meant is that the amount of glue will vary with the length of the shape (but this might be desirable, as you said). What I had in mind was more like dispensing defined drops of glue that always have the same amount of glue, no matter if the shape differs. That’s more simple but less flexible, I think.

That’s why I mentioned the z-axis function. This already drives a stepper at a defined amount, so you can start right away without thinking about the PWM to stepper conversion :slight_smile:

I misused this function as well to integrate a turn table to a diode laser, see my post here: DIY laser turn table Imagine each turn of the disc is a glue dispersion operation of a defined amount.

The z axis signal is perfect yes, but i would rather have the power settings control the glue, it makes more sense based on how all of us are used adjusting laser power, right?

I’ll likely buy a MKS DLC32 also. If it’s open source, i can translate the lightburn power in the grbl right in that controller to what a stepper wants, no lightburn changes needed.

To that point, i could connect the ruida laser output to an arduino and have the arduino output what i need for the stepper.

But, a solution that easy for others to replicate would be ideal.

1 Like

Also, i imagine that my files have the potential to throw an error if i’m adjusting a phantom z-axis in 1 direction continuously, not only in lightburn but within the ruida. Might not be an issue with grbl. As i move from area to area in lightburn, would i have to manually add up the z heights in order? I’ve never used z.

An analog stepper driver would solve my desire to use the lightburn power output to control glue flow.

I pulled the trigger on an openbuilds acro 60x40", or 1500x1000mm.

I also got the ruida, steppers with driver boards on the back for movement, and 4 of the stepper pumps.

The silicone tube was cheap, i got 5 meters each of 3 different inner diameter. 1mm, 1.5mm and 2mm as a starting point for exploration.

There will be some trial and error with the proper height to dispense above the material, and possibly some challenges with surface tension once the glue leaves the tube, which could effect the timing. (The glue will not shoot out at laser speed)

I realized speed may be slower than i want out of the gate, so if this works, i will immediately create a double head with 2 pumps to dispense on 2 pieces at the same time, which was part of my decision for the 60x40 with the gantry spanning the shorter axis. I realize it could be a triple head if the gantry was along the other axis, but i like the idea of removing some completed units mid job. Jig trays that slide out of the front of the machine would really be awesome if they could be hot swapped.

i ordered some extra extrusions and brackets. the plan is to enable the 5v analog laser output on the ruida and read this with an arduino, which will translate that into step pulses to control the drivers for the stepper pumps.

the current theory is that I will be able to generate glue paths and pump speeds directly in lightburn by changing the laser output percentage, with no other programming. the same lightburn file will be used to laser cut a jig prior to the glue job on this machine.


3 Likes

Seems like reading an analog output, converting it to digital is taking the difficult path. The pwm and analog outputs of the Ruida are directly related… Reading analog then converting it to pwm seems like a lot of work when I don’t see why you would do this.

There’s an old engineering principle called KISS, suggest you use that as much as possible.

:smile_cat:

The laser pwm from the ruida is a fixed frequency with variable duty cycle, but Stepper signal is not really pwm, its a fixed duty cycle and it is the variable frequency of edges that triggers steps. So the digital signal you mention is mostly useless since it will not drive a stepper directly, how is it easier to read a pwm square wave if all i am looking for is the percentage value lightburn is sending?

I’m not interested in using the motion control or z axis from lightburn, that will be a nightmare within lightburn to control what is really just output power at the end of the day.

Reading an analog input and outputting stepper signals is the easiest part of this whole thing, 2 minutes of coding tops. There are stepper libraries, the work is done. Plus, it’s gauranteed to work and i expect other surprises in this build as it is.

Having an easily adjustable arduino covert the ruida signal to what i need is worth it for me, and it will still be easy for others to implement even if they set and forget it.

analog is simple.

Whatever works for you… I was under a different idea of what’s going on and I have no idea how to manage your motors to apply glue.

Sorry about that.

:smile_cat:

With enough elbow grease you can get either controller to work - good luck with the Ruida! Not the choice I would have made, but excited to see how you make out.

no, its not about what works for me, it’s about what works and you suggested i should be using the digital signal PWM from the ruida because it would be less work than the analog. so please explain how that is less work, or refrain from making comments like “keep it simple, stupid” if you don’t understand what you are suggesting to be true.

why is it so common people who have thousands of posts on a forum will jump the gun poking holes in something, then backpedal and try to spin it that it won’t work in this situation instead of just being plain wrong.

1 Like

i’m with you, ruida is not my first choice either. i am only using it for the first go because i have 3 cutters on ruida and have only ever used lightburn with ruida.

it’s the path of least resistance for me, at least for the first build. the next build i may attemp linuxcnc to automate the glueing of parts aspect of this, but that would be after the holidays.

Hi.

IMO that’s as good a reason to use it as any other one.
Also, regardless of whether it works (as intended) or not, the whole community benefits from Your experiences with it.

Regardless of the problem, IMO/IME unless someone comes forward with a solid solution that is guaranteed to work, it is daft to try something unfamiliar raher than something one’s familiar with.

I’m also exited to hear how this turns out :slight_smile:

Regards,
Sam

:finland:

Since I really liked the idea, I did some further research. I found this pump at Amazon:


That I might buy just to check how it works out. As I mentioned in the beginning, I would directly connect this one to the z-axis and just need to calibrate how many steps lead to one drop of fluid. I can imagine that this pump doesn’t work well with glue, but just for fun, I’d like to try it :slight_smile:
In my opinion, the advantage is that I don’t need to change anything hardware-wise.