Single phase induction motor over current protection

Hi

I am facing a problem with my water pump motor.

When the motor is tripped/off by the Over current protection. The current becomes 0 and system try to ON it again. Therefore motor starts again but the over current protection switches it OFF again . So the cycle is repeating ON and OFF .

I am using Arduino UNO to monitor and protect the pump motor from Over and under current.

What logic I should implement to overcome this problem ?

Hi,

Can you please post your code?
Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

It sounds like you have not programmed you arduino to trip properly.
It should cause a disconnect and not reconnect until a reset button has been pushed or the supply to the arduino has been turned OFF and ON.

Thanks.. Tom... :slight_smile:

Hello Tom George Sir
My arduino code is very messy and un-commented therefore, I am attaching the code which is particularly responsible to switch OFF the pump relay.

I have connected Current sensor to Analog pin A1 and the Relay to pin 11
The Pump relay is operated when there is no alarm condition.

int AlarmCheck(){
   if(alarm !=0 && !flashF){
      lcd.setCursor(6,1);
      if(alarm != 0)
        lcd.print("Alarm");  
      lcd.setCursor(12,1); 
      if(alarm == 1)
        lcd.print("DRY");
      if(alarm == 2)
        lcd.print("OC ");
      if(alarm == 3)
      lcd.print("UC ");
    }else if(alarm !=0 && flashF){
      lcd.setCursor(6,1);
      lcd.print("          ");  
    }
    flashF = !flashF;
    
   alarm = 0;
   Voltage = getVPP();
   VRMS = (Voltage/2.0) *0.707; 
   AmpsRMS = (VRMS * 1000)/mVperAmp;
   if(digitalRead(GT_Lo)){//Alarm 1
     alarm = 1;
     digitalWrite(PumpRelay, LOW);
     digitalWrite(IndRelay, LOW);
     flag = true;
     pump = false;
     getFlow(lastTime);
     pumpStatus = 0;
     writeEEPROM();
    
     Display(1);
   }

   if(AmpsRMS>currentMax){//Alarrm 2// If the motor current is more than max  current value
     alarm = 2;
     digitalWrite(PumpRelay, LOW); // switch OFF the Pumprelay
     digitalWrite(IndRelay, LOW);
     flag = true;
     pump = false;
     getFlow(lastTime);
     pumpStatus = 0;
     writeEEPROM();

     Display(1);
   }

   if(AmpsRMS<currentMin){//Alarrm 3 if the motor current is less than the set min value
     alarm = 3;
     digitalWrite(PumpRelay, LOW);// switch OFF the Pump relay
     digitalWrite(IndRelay, LOW);
     flag = true;
     pump = false;
     getFlow(lastTime);
     pumpStatus = 0;
     writeEEPROM();

     Display(1);
   }

   if(alarm == 0){
     //start pump if start conition met
   }
    
   return alarm;
}

What I should add to my code to keep it OFF until the power to the arduino is reset ?
I don’t have the separate RESET switch.

(deleted)

With no documentation, I conclude the OP has confused motor running current with starting current and only designed for running current.

Paul

There is a good reason why these motors mostly use a "klixon" style o/l which must be physically reset after a cool down time.