Arduino Uno - Valves and Pumps Control Question!!!!

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello, my name is Taehoon Yi.

I'm trying to control two Diaphragm Pumps (12VDC/4.3W) and four Solenoid Valves (24VDC/10W) with Arduino Uno.

I know there are many different ways to control these parts, but first I've purchased two Motor Drive Shields (http://www.sainsmart.com/sainsma...) since one couldn't control all 6 components.

But now I found out that the Motor Drive Shields are not stackable, and I have no idea how to connect those two Motor Drive Shields together.

Now, I decided to use two stackable relay shields (http://www.dfrobot.com/index.php...) to control my system.

So my question is, can I still use two Motor Drive Shields to control my system, or should I just use two stackable 4-way relay shields?

I just want my valves to open/close and my pumps to start/stop.

Is there any better way to control my system?

And if I decide to use the relay shields, do I still need transistors, resistors, etc.?

Thank you so much,

Sincerely.

-Taehoon Yi

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Welcome to the Forum.

Sounds like a fun project.

Short answer: Go ahead and use the relay driver shields.
For occasionally turning the motors and values on and off this should work quite well.

The Normally Open and Common connections on the relay are used to switch the power to the devices.

You will not need any other transistors or relay driver protection diodes as the Shield includes them.

Connect your motor's or valve's V+ to the Normally Open relay contact. Connect the Common to the motor or the valve, and the other side of the motor or valve to ground.

I'm not familiar with the Arduino series' schematics. But a quick look at the relay shield suggests that you should NOT use the push button switches to test the relays if the microcontroller's pins go directly to the Doutx signals.

Pushing the switches to pull the relay driver high will also feed the high to the micro's pin, which is apt to be driven low. If the Arduino (etc) schematics include a small series resistor or other digital pin protection then ignore this comment.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No series resistor or other digital pin protection so don't ignore the above advice...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you so much JC and Michael. And sorry, I'm a mechanical engineer, so what do you mean by using the push button switches to test the relays?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Please go delete your other thread.
It is essentially the same as this one.
Until someone else posts a reply there is a small X on the Thread you can use to delete it.

Read the data sheet for the Shield. It states that there are push button switches also installed on the Shield. In theory you can activate a relay by using the micro, or by pushing the push button switch.

This "feature" appears to have been poorly implemented, in my opinion, and using the push button switches could damage the micro's I/O pin.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm sorry, but now i need to know how i would stack 4D Arduino Adaptor Shield for my LCD touchscreen display (uLCD-43-PT) (http://www.4dsystems.com.au/prod...), motor shield, and two relay shield together.

Would it be okay to just stack all the shields on top of each other? and if you can, in what order?

And would it be possible to control my pumps and valves (on/off as well as flow rate) with the following Arduino touchscreen LCD module? (http://www.4dsystems.com.au/prod...)

Thank you so much JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry. I don't have an Arduino, and don't know the rules regarding stacking their shields. I'll let someone else give you some guidance in this regard.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Regarding shields.

Most are designed for the UNO.
Some are designed only for the MEGA.
UNO shields will fit on a MEGA but obviously can't use the extra MEGA pins.

I would guess that a TFT / Touch shield will use all or most of the pins. So you won't be able to use Relay shields at the same time.

In other words, shields are brilliant but you must study which pins / resources each shield uses if you are stacking multiple shields. You are probably limited to specific digital pins to drive your relays.

As a general rule, it is easier to use a single big AVR to provide all the pins for your LCDs, LEDs, Relays, ...

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

guccyi wrote:
I'm sorry, but now i need to know how i would stack 4D Arduino Adaptor Shield for my LCD touchscreen display (uLCD-43-PT)

If you want to use it in combination with an arduino, then you’ll need the uLCD-43PT-AR. It only uses one serial port and one GPIO pin, so that should not be a problem.
guccyi wrote:
Would it be okay to just stack all the shields on top of each other? and if you can, in what order?

Although I’m not familiar with the arduino boards, but by the look of it all pins will be ‘paralleled’ when stacked, thus the order will not play any role, all you will have to do is to configure it, with probably some hardware jumpers for the relay boards.
guccyi wrote:
And would it be possible to control my pumps and valves (on/off as well as flow rate) with the following Arduino touchscreen LCD module? (http://www.4dsystems.com.au/prod...)

Yes, why not?
Although, this doesn’t mean it will be all that simple, especially if you want to change(and measure, if you need feed-back) the flow rate with the pumps.

I just took a look at the 4D intelligent display modules, and by the look of it, it may well be possible that you could do it without the arduino board, as it has already a µC(well two actually, there’s one Solomon that drives the LCD) on it, with some spare GPIO pins…

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Arduino shields use a pass-through connector system, so the order in which they are stacked does not really matter. What you have to look at are which pins are used by each shield, and make sure there are no conflicts between them.
The Arduino itself is essentially an Atmega328 with supporting hardware. Most of the Atmega pins are brought out to the connectors and labeled D0-D13 and A0-A5. A0-A5 are inputs to the A/D converters, but they can be used for digital I/O as well. A4-A5 are also used for the I2C port.
The display adaptor you want to use uses Arduino pins D0 and D1 for communications, and D2 for display reset. D0 and D1 are also used for the built-in USB-Serial converter, so there will be a conflict there any time the USB cable is plugged in. A simple workaround is to unplug the display before attempting to download a program to the Arduino.

Your motor shield link doesn't give any technical detail of the shield, but it appears to be a clone of the Adafruit motor shield.
http://www.adafruit.com/products/81 If it is, it's using pins D3-D12.

The relay shield appears to be using D2, D7, D8, and D10. If you simply stack two of them, then turning on a relay will turn on the same relay on BOTH shields together. There's also a conflict between the relay #1 control line using D2 and the display reset using the same pin. To fix both of these issues, you'll have to cut some traces on the shield, and rewire the inputs to use different digital pins on the Arduino.