martes, 7 de marzo de 2017

DISEÑO Y CONSTRUCCIÓN DE CONVERTIDOR DC/DC ELEVADOR, CONTROL PI

Aqui les dejo la construccion de un convertidor dc dc elevador BOOST CONVERTER, el diseño de su inductancia, y diseño del controlador PI, e implementación.


Enviar un vector, cadena de datos de Matlab a Arduino, comunicacion serial


Este es un programa que permite enviar datos desde Matlab a Arduino, pude enviar 4 datos pero vale con más
Se puede enviar con hasta dos decimales cada dato



Código Matlab
clear all
clc

answer=[1;1;1;1]; % this is where we'll store the user's answer
arduino=serial('COM1','BaudRate',9600); % create serial communication object on port COM1

fopen(arduino); % initiate arduino communication
 %%
while answer
   % fprintf(arduino,'%s %s %s',char(answer)); % send answer variable content to arduino
  
  % x=fscanf(arduino,'%f')
   fprintf(arduino,'%f,%f,%f,%f',answer);
    answer=input('Ingresa en el siguiente formato:[1;2;3;4]':); % ask user to enter value for variable answer
end
%%
fclose(arduino); % end communication with arduino
%%
Código Arduino
 #include 


float var1,var2,var3,var4;

LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //
 

 void setup(){
  pinMode(5, OUTPUT);
 // initialize the serial communications:
 Serial.begin(9600);
 lcd.begin(16, 2); // Fijar el numero de caracteres y de filas
}

void loop()
{
 lcd.setCursor(0, 1);  // set the cursor to column 0, line 1
  lcd.print(var2);
  lcd.setCursor(5, 1);  

  lcd.print(var3);
  lcd.setCursor(10, 1);   

 lcd.print(var4);
  lcd.setCursor(0, 0);  

 lcd.print(var1);


}

 void serialEvent()
 {
if(Serial.available()>0)
 {
 
     var1=Serial.parseFloat();
    var2=Serial.parseFloat();
    var3=Serial.parseFloat();
     var4=Serial.parseFloat();
}
  
 }

//

Balancin con helice, VTOL Aterrizaje y despegue

Aqui les dejo el paper de mi proyecto de aterrizaje despegue de un helicóptero
Diseño de controlador (PID)
Tarjeta: ARDUINO UNO
Usando GUIDE  de MATLAB
Metodo de sintonizacion fue de zieguer nochols en lazo cerrado