Convert PWM wave to VDC to operate a valve

kihtrak

Member
Join Date
Apr 2016
Location
Fullerton
Posts
16
Hello there,
We're trying to build a prototype for a 3D food printer. The main control board for the printer sends out PWM signals.
For extrusion process, we use air pressure. The desired air pressure will be set before the actual printing starts. When the printer starts to fix the axes for printing ,our idea is set a air-regulator valve which opens up the air pressure flow through a pipe to syringe, which extrudes the food.
The air valve seems to be operated in DC ( 12 VDC ). Hence, we trying to find out some means to actually convert the PWM wave sent by the board to VDC which would switch on the valve. Can this be made by a PLC?
We planned to build a second order filter to do this. But, we couldn't exactly understand how to calculate the values of the components( since we all are students handling our senior design project).
P.S. - The logic level of the control board is 3.3V.
Please help us solve this issue.
Thanks in advance :)
 
Do you simply want to turn the valve on and apply full pressure to the syringe or are you trying to regulate the pressure sent to the syringe?

Keith
 
Hello Keith,
Am just trying to turn the valve on/off. The pressure will be set to the required level manually.
I need the PLC to acknowledge the PWM signal from our main control board and accordingly turn on/off the valve(which operates on 12 VDC). Can it be done?
 
Last edited:
yep (not by PLC but with arduino it is easy.
you will also need two valves, one to push the air in the syringe and one to deflate when not printing.
and a pressure sensor, to see when pressure is oke (thus the food comes out, and this should trigger the head to start moving.

simpler is mechanic with a push rod or a bowden cable.
 
Going out on a limb, reading between the lines...
Assumptions:
You want to use the signal that would normally control the filament feed to control the food feed.
The food feed control is a small on/off solenoid valve supplying air to a small reservoir of food. The air pressure to the solenoid valve is pressure regulated.

I think that simply interfacing the controller board to the solenoid with a solid state relay is worth a try. You'll want to be careful about how much current the controller supplies, but it should be doable.

Since you want to use air pressure on the food reservoir to control flow, you may need to vent the pressure when you want the flow to stop.

I'd be interested to know exactly what this PWM signal looks like. I'm assuming a square wave, but what frequency? At 100% is it just ON all the time?
 
Last edited:
Hello shooter,
We found few ways to do with the arduino, but sadly it was found that even arduino sends out just PWM signal. This signal got to be passed through a low pass filter which converts it to a DC signal. And, then this VDC need to be pumped up to 12VDC by a boost converter and then fed into our electrically operated solenoid valve. This seems to be the brute force method, but the only issue with this method is we don't know how to pick up values of the components like resistors and capacitors.
Do you mean this cannot be done by a PLC?
 
Hello mellis.
You're assumptions exactly speaks out what we try to do.
We tried finding a SSR which operates on PWM signal. This is what we found to be : http://delphi.com/temp/eec/solid-state-relay
Do we have to bother about the frequency of our main control board or any other parameters before purchasing the SSR?

refer to this image for PWM signal
https://www.arduino.cc/en/Tutorial/PWM
The example there is a 500Hz PWM at 0, 25, 50, 75 and 100%. At 100% it's basically a dc output.

What I'm suggesting is if you can set your feed rate to maximum (100% duty cycle) you have effectively made your PWM output into an on/off output. Then all you have to do is use that output to control the 12VDC to the solenoid. The solid state relay is just a means to match your 3.3vdc output to the 12vdc solenoid. No real PWM remains, since you are not varying the feed rate.

If you can put the controller output on a scope and verify how it behaves, you can be pretty confident this will work. My main concern is: the PWM duty cycle can't be set to 100% and the frequency is so high it will destroy the valve if it tries to cycle at that rate. Testing may show that the frequency is so high that the valve pretty much ignores it. That works too.

On the other hand, there is nothing really wrong with PWM to the valve. It will need a relatively low frequency PWM to keep from destroying the valve by cycling it too fast, but it's a valid control method. More experiments.

The more I think of it, the more I think controlling air flow is going to be a hard way to control food flow. I understand why you would like to avoid the food flowing through the valve, but I think locating the valve as close to the print nozzle as possible will give the best performance. But that's why you are building a prototype. Minimizing the volume of air should help some too.
 
Thanks for the reply, mellis. :)
Since we're newbie, we've few questions on your idea.
If the duty cycle has been set to 100%, will it be permanently "on"? Say for eg., we connect the ssr to a port on the main control board. Will it be set to "on" state forever?
Also, could you please explain more in detail why the valve got to be placed near the print nozzle?

Thanks :)
 
on arduino check how leds are controlled with a simple transistor.
if you really want analog signal, a simple resistor and a small cap in the base is enough,
i can also use a servo controller module, (WAGO)
nowadays is this PWM, as analog is not very efficient.
 
Thanks tarik and shooter ! :) That really helped.

Thank you all for the info.

Let me go try out connecting a SSR . like what mellis said. If it'd worked that would keep the job easy and simple.
If not, tarik1978 and shooter gave out the best explanation for doing this using a second order filter, let me try it out!

I'll keep you guys posted about this! :)
 

Similar Topics

Does anyone know how to convert a PWM output to an analog output? Thanks in advance for your time.
Replies
65
Views
25,744
Hello all, I'm currently working on a servo motor linear positioning system (ball screw). I'm all set up regarding communication between my HMI...
Replies
1
Views
86
I have an application using an incremental encoder and then I convert it to degree (0-360) using calculation program. For a while, the calculation...
Replies
7
Views
232
Hi all. Me again still learning Rockwell. So I'll be polling an INT data array from a Modbus SE power meter with a L82 (with a Modbus ProSoft in...
Replies
56
Views
1,352
Hello, could someone kindly convert the attached RSP files that are currently used for SLC 5 PLC into PDF please
Replies
6
Views
518
Back
Top Bottom