Monday 19 November 2012

INDUSTRY DAY UniKL BMI

Presentation during the Industry Day.


Nasrul, Yusuf, Akmal
 

PROJECT POSTER

Project Poster for Industry Day.


 

RESULT FROM TESTING

Result

Early Warnng Fault Detection System is a system protection that give early alert SMS when overload happen. when the motor in overload condition, the alert SMS will send to the selected personal. The result is shown below.


The system will startup and reading the velocity of motor until the motor is in overload condition then the GSM will send notification to the selected personal. 


1. The Main Board, Arduino Controller, DC speed controller and Rotary Encoder is in On condition.Motor start rotate.



2. When Overload happen, Main Board is in trip condition and DC Speed Controller will stop but Arduino Controller still On to ready send the notification.



3. Serial Monitor show the overload happen. 



4. GSM send the notification to the Phone.











SYSTEM PROTOTYPE EARLY WARNING FAULT DETECTION SYSTEM

This system will be apply to any industry because the concept is protection and the picture below is the prototype of the system.

 

SYSTEM DESIGN FOR EACH PARTS

Parts of the Early Warning Fault Detection System.


1. Main Board Circuit



2. DC Speed Controller



3. Rotary Encoder Sensor



4. Arduino Controller and GSM Shield

 




PROGRAMMING EARLY WARNING FAULT DETECTION SYSTEM

Coding for Early Warning Fault Detection System.

#include <GSM_Shield.h>
# define LED 13
# define BUTTON 7

GSM gsm;
int error;
int hits = 0;
float wheel_radius = 1;
volatile unsigned int current_time;
long time_interval = 1000; //how often do you want to know velocity (milliseconds)
float velocity; //this is the velocity in length units / time_interval

//**************************************************************************
char number[]="+60166638494";  //Destination number
char text[]="MOTOR OVERLOAD  SYSTEM TRIP  PLEASE CHECKING!!!    sent by GSM Arduino";  //SMS to send
byte type_sms=SMS_UNREAD;      //Type of SMS
byte del_sms=0;                //0: No deleting sms - 1: Deleting SMS
//**************************************************************************
 
void setup ()
{

  Serial.begin(9600);
  attachInterrupt(0, count, CHANGE);
  current_time = millis();
  Serial.println("system startup");
  gsm.TurnOn(9600);          //module power on
  gsm.InitParam(PARAM_SET_1);//configure the module
  gsm.Echo(0);               //enable AT echo
  pinMode (LED, OUTPUT);
  pinMode(BUTTON, INPUT);

}

void loop ()
{

  if ( millis() >= current_time + time_interval)
  {

    velocity = (hits*(wheel_radius * 392.7))/time_interval;//the constant is 2*pi*1000/16
    Serial.println(velocity);
    hits = 0;
    current_time = millis();
   
     if (velocity < 10)
    {

    digitalWrite(LED, HIGH);
    Serial.print("Send SMS to ");
    Serial.println(number);
    error=gsm.SendSMS(number,text);

    }

  }
}

void count()
{

 hits++;

}

PROGRAMMING GSM (EARLY WARNING FAULT DETECTION SYSTEM)

Coding for checking GSM.

#include <GSM_Shield.h>
# define LED 13
# define BUTTON 7

//**************************************************************************
char number[]="+60166638494";  //Destination number
char text[]="testing the GSM    sent by GSM Arduino";  //SMS to send
byte type_sms=SMS_UNREAD;      //Type of SMS
byte del_sms=0;                //0: No deleting sms - 1: Deleting SMS
//**************************************************************************

GSM gsm;
char sms_rx[122]; //Received text SMS
//int inByte=0;    //Number of byte received on serial port
char number_incoming[20];
int call;
int error;
int val = 0;

void setup()
{

  Serial.begin(9600);
  Serial.println("system startup");
  gsm.TurnOn(9600);          //module power on
  gsm.InitParam(PARAM_SET_1);//configure the module 
  gsm.Echo(0);               //enable AT echo
 
  pinMode (LED, OUTPUT);
  pinMode(BUTTON, INPUT);

}


void loop()

char inSerial[5];   
int i=0;
delay(2000);
  
           val = digitalRead(BUTTON);
 
    if (val == HIGH) 
    {

    digitalWrite(LED, HIGH);
    {
       
         Serial.print("Send SMS to ");
         Serial.println(number);
         error=gsm.SendSMS(number,text); 
   
     }
  
     } 

     else 
    {

    digitalWrite(LED, LOW);

    }
   
    if (Serial.available() > 0)
    {            
       
        while (Serial.available() > 0) 
        {

         inSerial[i]=(Serial.read()); //read data 
         i++; 
    
       }

       inSerial[i]='\0';
       Check_Protocol(inSerial);
    }
      


void Check_Protocol(String inStr)
{
  
         Serial.print("Command: ");
         Serial.println(inStr);
      
   Serial.println("Check_Protocol");
 
   //  switch (inStr[0])
   
   delay(1500);
   
   return;

 }