Hi, it may be silly to ask this. But i need to, as i so far still failed to connect it.
My project is simple, turn on the pump and off with relay.
My relay and pump is this one
My trouble is when my relay said to stop my pump is still keep running and too fast.
I use 9V battery as power supply, and my failed wiring is this
DC+ to 5V pin
DC- to GRD pin
Ch1 to digital 10 pin
A1 to battery negatif side
B1 to pump negatif side
Battery positif side connected to pump positif side
My code:
/*-----( Import needed libraries )-----*/
/*-----( Declare Constants )-----*/
#define RELAY_ON 0
#define RELAY_OFF 1
/*-----( Declare objects )-----*/
/*-----( Declare Variables )-----*/
#define Relay_1 10 // Arduino Digital I/O pin number
//#define Relay_2 3
//#define Relay_3 4
//#define Relay_4 5
void setup() /****** SETUP: RUNS ONCE ******/
{
Serial.begin(9600);
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(Relay_1, RELAY_OFF);
// digitalWrite(Relay_2, RELAY_OFF);
// digitalWrite(Relay_3, RELAY_OFF);
// digitalWrite(Relay_4, RELAY_OFF);
//---( THEN set pins as outputs )----
pinMode(Relay_1, OUTPUT);
// pinMode(Relay_2, OUTPUT);
// pinMode(Relay_3, OUTPUT);
// pinMode(Relay_4, OUTPUT);
delay(4000); //Check that all relays are inactive at Reset
}//--(end setup )---
void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
//---( Turn all 4 relays ON in sequence)---
digitalWrite(Relay_1, RELAY_ON);// set the Relay ON
Serial.println("on");
delay(3000); // wait for a second
// digitalWrite(Relay_2, RELAY_ON);// set the Relay ON
// delay(1000); // wait for a second
// digitalWrite(Relay_3, RELAY_ON);// set the Relay ON
// delay(1000); // wait for a second
// digitalWrite(Relay_4, RELAY_ON);// set the Relay ON
// delay(4000); // wait see all relays ON
//---( Turn all 4 relays OFF in sequence)---
digitalWrite(Relay_1, RELAY_OFF);// set the Relay OFF
Serial.println("off");
delay(6000); // wait for a second
// digitalWrite(Relay_2, RELAY_OFF);// set the Relay OFF
// delay(1000); // wait for a second
// digitalWrite(Relay_3, RELAY_OFF);// set the Relay OFF
// delay(1000); // wait for a second
// digitalWrite(Relay_4, RELAY_OFF);// set the Relay OFF
// delay(4000); // wait see all relays OFF
}//--(end main loop )---
just realized that you can take your line voltage and put in a regular electrical box and put in a receptacle for a plug.
get a double wide box and mount your relay inside.
wire the receptacle through the relay.
turn the relay on and off and your receptacle will come on and off.
then put in a wall wart that has output voltage as needed for the pump.
but do check the data sheet for that exact model. it says 230 AC, not 120/230
it may require 230 VAC, means it would be intended for the european market.
blockhunt:
i dont really know how to make schematic diagram so... yeah i can only draw this kind of things
that is excellent. we get real krazy things, but your lines are clear and well marked.
helps us understand .
only thing you could do better is label the battery voltage
it means i just need to use relay that output in DC?
Any idea what relay i should use for my pump?.
As i will use peristaltic pump and normal water pump
I am kinda confused choosing the fitting relay as i don't really understand electricity much like how many volt my pump need.
This relay said 240V so it's around that?
Thanks dave-in-nj for your kind words ,i am glad mine is not crazy
In order to help choose a relay or other driver for a motor one needs to know the rated voltage of the motor and the stall current of the motor (locked rotor current). Stall current can be estimated if the winding resistance is known. Also if the motor only turns in one direction, a properly rated MOSFET might be a more efficient driver than a relay.
groundfungus:
In order to help choose a relay or other driver for a motor one needs to know the rated voltage of the motor and the stall current of the motor (locked rotor current). Stall current can be estimated if the winding resistance is known. Also if the motor only turns in one direction, a properly rated MOSFET might be a more efficient driver than a relay.
not sure if this is the data sheet, just something that seemed to look the same.
another thing about using a FET is that you can PWM (vary the speed) of a motor.
for a peristaltic pump, I think you need to watch rotation and then cycle per stroke, there is no benefit to run it slowly as the pump releases pressure on the stroke, and is not variable.
I don't really know the voltage needed by my pump, as there is nothing like that on the pump even it's name like it's manufacturer or something like that. Maybe it's 6V?
I guess 9V battery is too much then
So it's better to put it on PWM digital pin? As yes i need the pump to run for specific time and at specific speed
Funny things is that my pump back then running so fast it's even make the pipe go out from it's place. So i guess it's too fast
i don't know where, it's not me who bought it.
I just borrow it from my teacher for my project, i guess i should ask him.
But if i may ask for opinion? Is regular water pump is good enough for this:
Pumping already equally mixed solution A & B to the nutrient solution of hydroponic
Because back then i though different kind, pumping undiluted solution A & undiluted solution B separately to the nutrient solution
And then my teacher give me this peristaltic pump because i need to be accurate
You might not even need a relay module for a small low voltage pump.
A logic mosfet or NPN transistor with a few resisors and diode is all you need.
Ask your teacher, or Google "Arduino pump driver".
Leo..