Wednesday, October 11, 2017

Solar Car

Solar Powered Electric Car

Specifications:

1. Solar Panels -----  3 x 120W
2. BLDC Motor ------ 48v, 3KW 
3. BLDC Motor Controller ---- FOC
4. Battery Bank capacity ----- 48V, 192AH 

Project Cost ---- Rs. 2 Lakh
Funded by CVR College of Engineering


 The Final Look


Previous outer shape (the black dome is later replaced with a new design)


Motor - chain - Rear axle arrangement


During the first tests, the clamp has broken. The structure is replaced with a custom made pillow bearing

The exact size of pillow bearing was not available in the market. We took a near size bearing and the axle was polished by the shopkeeper himself.


The rear axle was being polished by the shopkeeper (Left) and his assistant (right)


The bearing was fixed to the axle in a small workshop at Ranigunj, Hyderabad (above :Ranigunj street )


One of the project members (Student of CVR College of Engineering) trying to fix the axle at the workshop


The car outer body frame pipes are bent, shaped and welded at our college (CVR College) workshop
(Project members)


After the modification of outer body (Paint job left)



Its me in blue shirt :-) with my colleagues (above picture)





Paint job (Anti Rust)


My colleague..... fixing the motor controller


Proximity sensor for car speed measurement


Shunt resistor for motor current measurement



Wiring the motor controller and battery


The A - Team !




Progress pictures





Rear axle issues

The car is ready



With our chairman Dr. Raghava V. Cherabuddi



With the vice chancellor, Osmania University -  Dr. S. Ramachandram



Installing Battery Box



Before modifications (Without brakes)





Test Ride






Test on inclined road







Annual Day
















Saturday, June 24, 2017

Network Topolgy - Video tutorials


#01. Network Topolgy - Basics



#02. Network Topolgy - Incidence Matrix



#03. Network Topolgy - Tie-Set Matrix



#04. Network Topolgy - Cut-Set Matrix





Wednesday, March 8, 2017

3 level Diode Clamped Multilevel Inverter based PMSM drive


Hardware Setup



PMSM voltage and Current waveforms



Performance Characteristics Data



Performance Characteristics

Space Vector Modulation implementation for 3 level NPC inverter (R - Load)

Space Vector Logic (Simulink Model)



Generating gating pulses from SV references (Simulink model)



Output waveform (R-Load)




3 level Diode Clamped Multilevel Inverter based Induction Motor Drive

Stepped Wave Logic (simulink Model)



Stepped Wave output


 Phase Voltage


SPWM logic (Simulink Model)



SPWM output

  Phase Voltage



 Line Voltage


ADRUINO code for stepped wave logic

void setup()
{
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(9,HIGH);
  digitalWrite(10,HIGH);
  digitalWrite(11,HIGH);
  delayMicroseconds(3333);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);

  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(9,HIGH);
  digitalWrite(12,HIGH);
  digitalWrite(13,HIGH);
  delayMicroseconds(3333);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);

  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(12,HIGH);
  digitalWrite(13,HIGH);
  delayMicroseconds(3334);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);

  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(12,HIGH);
  digitalWrite(13,HIGH);
  delayMicroseconds(3333);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(12,LOW);
  digitalWrite(13,LOW);

  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(10,HIGH);
  digitalWrite(11,HIGH);
  delayMicroseconds(3333);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);


  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(9,HIGH);
  digitalWrite(10,HIGH);
  digitalWrite(11,HIGH);
  delayMicroseconds(3334);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);
}






Arduino based Remote controlled servo - motorized pot





//////// ARDUINO
///////code by V. SaiKiran.......https://www.facebook.com/saikiran27


#include <IRremote.h>
#include <Servo.h>
Servo front;  // create servo object to control a servo
Servo center;
Servo rear;
Servo bass;
int LED=0;  //power status initially set OFF
int pos1=10;    // variable to store the servo position
int pos2=10;
int pos3=10;
int pos4=10;
int x=10;  // increment or decrement angle of any servo
int RECV_PIN = 11; //out pin of tsop sensor

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  front.attach(10);  // attaches the servo on pin 10 to the servo object
  front.write(10);
  center.attach(9);
  center.write(10);
  rear.attach(6);
  rear.write(10);
  bass.attach(5);
  bass.write(10);
  pinMode(13,OUTPUT);
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}


void loop()
{
  if (irrecv.decode(&results))
  {
    Serial.println(results.value);
 
//POWER LOOP
    if(results.value==284131455)
    {
      if(LED==0)
      {
        LED=1;
        digitalWrite(13,HIGH);
      }
      else
      if(LED==1)
      {
        LED=0;
        digitalWrite(13,LOW);
      }
    }
//RESET LOOP
    if(results.value==284119215)
    {
      pos1=30;
      pos2=30;
      pos3=30;
      pos4=30;
      front.write(pos1);
      center.write(pos2);
      rear.write(pos3);
      bass.write(pos4);
      delay(15);
    }
//MUTE LOOP
      if(results.value==284151855)
    {
      pos1=10;
      pos2=10;
      pos3=10;
      pos4=10;
      front.write(pos1);
      center.write(pos2);
      rear.write(pos3);
      bass.write(pos4);
      delay(15);
    }  
//FRONT LOOP
    if (results.value==284157975)
    {
      pos1+=x;
      Serial.println(pos1);
      if(10<pos1<170)
      {
        front.write(pos1);
        delay(15);
      }
      else
      {
        pos1-=x;
      }
    }
    if (results.value==284104935)
    {
      pos1-=x;
      Serial.println(pos1);
      if(10<pos1<170)
      {
        front.write(pos1);
        delay(15);
      }
      else
      {
        pos1+=x;
      }
    }
 
//CENTER LOOP
    if (results.value==284141655)
    {
      pos2+=x;
      Serial.println(pos2);
      if(10<pos2<170)
      {
        center.write(pos2);
        delay(15);
      }
      else
      {
        pos2-=x;
      }
    }
    if (results.value==284109015)
    {
      pos2-=x;
      Serial.println(pos2);
      if(10<pos2<170)
      {
        center.write(pos2);
        delay(15);
      }
      else
      {
        pos2+=x;
      }
    }
 
//REAR LOOP
    if (results.value==284125335)
    {
      pos3+=x;
      Serial.println(pos3);
      if(10<pos3<170)
      {
        rear.write(pos3);
        delay(15);
      }
      else
      {
        pos3-=x;
      }
    }
    if (results.value==284106975)
    {
      pos3-=x;
      Serial.println(pos3);
      if(10<pos3<170)
      {
        rear.write(pos3);
        delay(15);
      }
      else
      {
        pos3+=x;
      }
    }

//MASTER VOLUME LOOP
    if(results.value==284102895)
    {
      pos1+=x;
      pos2+=x;
      pos3+=x;
      pos4+=x;
      if(10<pos1&&pos2&&pos3&&pos4<170)
      {
        front.write(pos1);
        center.write(pos2);
        rear.write(pos3);
        bass.write(pos4);
        delay(15);
      }
      else
      {
        pos1-=x;
        pos2-=x;
        pos3-=x;
        pos4-=x;
      }
    }
    if(results.value==284100855)
    {
      pos1-=x;
      pos2-=x;
      pos3-=x;
      pos4-=x;
      if(10<pos1&&pos2&&pos3&&pos4<170)
      {
        front.write(pos1);
        center.write(pos2);
        rear.write(pos3);
        bass.write(pos4);
        delay(15);
      }
      else
      {
        pos1+=x;
        pos2+=x;
        pos3+=x;
        pos4+=x;
      }
    }
//BASS LOOP
    if (results.value==284098815)
    {
      pos4+=x;
      Serial.println(pos4);
      if(10<pos4<170)
      {
        bass.write(pos4);
        delay(15);
      }
      else
      {
        pos4-=x;
      }
    }
    if (results.value==284113095)
    {
      pos4-=x;
      Serial.println(pos4);
      if(10<pos4<170)
      {
        bass.write(pos4);
        delay(15);
      }
      else
      {
        pos4+=x;
      }
    }
    irrecv.resume(); // Receive the next value
  }
}

1KW DC motor as Servo motor





Servo Operation





One Second Oscillations




10 Seconds Oscillations








//////// ARDUINO
///////code by V. SaiKiran.......https://www.facebook.com/saikiran27


 void setup()
 {
   pinMode(A0,INPUT);
   pinMode(A2,INPUT);
   pinMode(9,OUTPUT);
   pinMode(11,OUTPUT);
   pinMode(13,OUTPUT);
   digitalWrite(9,LOW);
   digitalWrite(11,LOW);
   Serial.begin(9600);

 }int x=0;
   int y=0;
 void loop()
 {
 
   int val;
   int ref;
   int valm;
   int refm;
   val=analogRead(A2);
   valm=map(val,0,1023,0,100);
   //Serial.println(val);
  Serial.println(valm);
   //Serial.println(x);
   //Serial.println(y);
   ref=analogRead(A0);
   refm=map(ref,0,1023,0,100);
   Serial.println(refm);
   //delay(10);
   if((valm)>(refm+3))
   {
     digitalWrite(9,HIGH);
     x=valm-refm;
     delay(10);
    // delay(map(x,0,30,1,5));
     digitalWrite(9,LOW);
   }
   else
  {
    //delay(10);
   if((valm)<(refm-3))
   {
     digitalWrite(11,HIGH);
     y=refm-valm;
     delay(10);
     //delay(map(y,0,30,1,5));
     digitalWrite(11,LOW);
   }

  }
 
 }

Solar Car

Solar Powered Electric Car Specifications: 1. Solar Panels -----  3 x 120W 2. BLDC Motor ------ 48v, 3KW  3. BLDC Motor Contro...