Вы находитесь на странице: 1из 11

Helicóptero

1 Grado de Libertad
Con Motor Brushless

Interfases y Microcontroladores

Presentan:
Garcia Sánchez Eber Emmanuel
Mijangos Correa Alejandro
INTRODUCCION
Nuestro proyecto tiene como finalidad el desarrollar un prototipo integral, con base en los
conocimientos asimilados a lo largo de la trayectoria académica, que permita realizar el
Control Proporcional Integral Derivativo de un sistema de control a lazo cerrado, para el
control de posición en un balancín.

INDICE

INTRODUCCION 2

MARCO TEORICO 3
CONTROL PID 3
MICROPROCESADORES 4
MICROCONTROLADORES 4
ARQUITECTURA HARVARD 5
CONVERTIDOR ANALÓGICO-DIGITAL 5
MODULACIÓN POR ANCHO DE PULSOS (PWM) 6

DESARROLLO 7
CODIGO DE PROGRAMACION MPLAB 7

2
MARCO TEORICO

Control PID
Los miembros de la familia de controladores PID, incluyen tres acciones: proporcional
(P), integral (I) y derivativa (D). Estos controladores son los denominados P, I, PI, PD y
PID.

P: acción de control proporcional, da una salida del controlador que es proporcional


al error, es decir: u(t) = KP.e(t), que descripta desde su función transferencia queda:

Cp(s) = Kp

donde Kp es una ganancia proporcional ajustable. Un controlador proporcional puede


controlar cualquier planta estable, pero posee desempeño limitado y error en régimen
permanente (off-set).

I: acción de control integral: da una salida del controlador que es proporcional al error
acumulado, lo que implica que es un modo de controlar lento.

La señal de control u(t) tiene un valor diferente de cero cuando la señal al de error e(t) es
cero. Por lo que se concluye que dada una referencia constante, o perturbaciones, el error en
régimen permanente es cero.

PI: acción de control proporcional-integral: Con un control proporcional, es necesario


que exista error para tener una acción de control distinta de cero. Con acción integral, un
error pequeño positivo siempre nos dará ́una acción de control creciente, y si fuera negativo
la señal de control será decreciente. Este razonamiento sencillo nos muestra que el error en
re ́gimen permanente será ́ siempre cero.

Muchos controladores industriales tienen solo acción PI. Se puede demostrar que un control
PI es adecuado para todos los procesos donde la dinámica es esencialmente de primer
orden.

PD: acción de control proporcional-derivativa: Esta acción tiene carácter de previsión,


lo que hace mas rápida la acción de control, aunque tiene la desventaja importante que
amplifica las señales de ruido y puede provocar saturación en el actuador. La acción de

3
control derivativa nunca se utiliza por sı sola, debido a que solo es eficaz durante periodos
transitorios.

Cuando una acción de control derivativa se agrega a un controlador proporcional, permite


obtener un controlador de alta sensibilidad, es decir que responde a la velocidad del cambio
del error y produce una corrección significativa antes de que la magnitud del error se
vuelva demasiado grande. Aunque el control derivativo no afecta en forma directa al error
en estado estacionario, añade amortiguamiento al sistema y, por tanto, permite un valor más
grande que la ganancia K, lo cual provoca una mejora en la precisión en estado estable.

PID: acción de control proporcional-integral-derivativa: esta acción combinada reúne


las ventajas de cada una de las tres acciones de control individuales.

Microprocesadores
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(UCP), también llamada procesador, de un computador. La UCP está́ formada por la
Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.

Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones,
datos y control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar
un computador implementado por varios circuitos integrados.

Microcontroladores
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la
mayor parte de los elementos que configuran un controlador.

4
Un microcontrolador dispone normalmente de los siguientes componentes:

 Procesador o UCP (Unidad Central de Proceso).


 Memoria RAM para Contener los datos.
 Memoria para el programa tipo ROM/PROM/EPROM. 
 Líneas de E/S para comunicarse con el exterior. 
 Diversos módulos para el control de periféricos (Temporizadores, Puertas Serie y 
Paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores 
Digital/Analógico, etc.). 
 Generador de impulsos de reloj que sincronizan el funcionamiento de todo el 
sistema.

El microcontrolador es en definitiva un circuito integrado que incluye todos los


componentes de un computador.

Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo al


que gobierna. En este caso el controlador recibe el nombre de controlador empotrado
(embedded controller).

Arquitectura Harvard
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clásica de von
Neumann, en el momento presente se impone la arquitectura Harvard.

La arquitectura Harvard dispone de dos memorias independientes una, que contiene solo
instrucciones y otra, solo datos. Ambas disponen de sus respectivos sistemas de buses de
acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en
ambas memorias. Los microcontroladores PIC responden a la arquitectura Harvard.

Convertidor Analógico-Digital
La salida de los sensores, que permiten al equipo electrónico interaccionar con el entorno,
es normalmente una señal analógica, continua en el tiempo. En consecuencia, esta
información debe convertirse a binaria (cada dato analógico decimal codificado a una
palabra formada por unos y ceros) con el fin de adaptarla a los circuitos procesadores y de
presentación.

Un convertidor analógico-digital (CAD) es un circuito electrónico integrado cuya salida es


la palabra digital resultado de convertir la señal analógica de entrada.

5
La conversión a digital se realiza en dos fases: cuantificación y codificación. Durante la
primera se muestrea la entrada y a cada valor analógico obtenido se asigna un valor o
estado, que depende del número de bits del CAD. El valor cuantificado se codifica en
binario en una palabra digital, cuyo número de bits depende de las líneas de salida del
CAD. Estos dos procesos determinan el diseño del circuito integrado.

El proceso de conversión está sujeto a numerosas limitaciones resultado de los procesos de


fabricación. Las más relevantes son el tiempo de conversión y la finitud del número de
estados de salida. La conversión involucra un tiempo y, en consecuencia, supone una
incertidumbre que limita la velocidad máxima de la entrada. Los valores discretos del
proceso de cuantificación llevan consigo un error y una limitación de resolución del
circuito. La elección del CAD en un diseño electrónico dependerá́ de la adaptación de sus
rasgos a los requerimientos de la aplicación.

Modulación por Ancho de Pulsos (PWM)


La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de
pulse-width modulation) de una señal o fuente de energía es una técnica en la que se
modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por
ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para
controlar la cantidad de energía que se envía a una carga.

El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en


relación con el período.

La construcción típica de un circuito PWM se lleva a cabo mediante un comparador con


dos entradas y una salida. Una de las entradas se conecta a un oscilador de onda dientes de
sierra, mientras que la otra queda disponible para la señal moduladora. En la salida la
frecuencia es generalmente igual a la de la señal dientes de sierra y el ciclo de trabajo está
en función de la portadora.

La principal desventaja que presentan los circuitos PWM es la posibilidad de que haya
interferencias generadas por radiofrecuencia. Estas pueden minimizarse ubicando el
controlador cerca de la carga y realizando un filtrado de la fuente de alimentación.

Para un sistema digital, es relativamente fácil medir cuánto dura una onda cuadrada. Sin
embargo, si no se tiene un conversor analógico digital no se puede obtener información de
un valor analógico, ya que sólo se puede detectar si hay una determinada tensión, 0 o 5
voltios por ejemplo (valores digitales de 0 y 1), con una cierta tolerancia, pero no puede
medirse un valor analógico. Sin embargo, el PWM en conjunción con un oscilador digital,
un contador y una puerta AND como puerta de paso, podrían fácilmente implementar un
ADC.

6
DESARROLLO

Código de Programación MPLab


/*
* File: PID.c
* Author: Alejandro Mijangos / Eber Garcia
*
* Created on 28 de mayo de 2017, 01:41 PM
*/

// PIC16F887 Configuration Bit Settings

// 'C' source line config statements

// CONFIG1

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator: High-speed


crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN)

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can
be enabled by SWDTEN bit of the WDTCON register)

#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin
function is MCLR)

#pragma config CP = OFF // Code Protection bit (Program memory code protection is
disabled)

#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection
is disabled)

#pragma config BOREN = OFF // Brown Out Reset Selection bits (BOR disabled)

#pragma config IESO = OFF // Internal External Switchover bit (Internal/External


Switchover mode is disabled)

#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock
Monitor is enabled)

#pragma config LVP = OFF // Low Voltage Programming Enable bit (RB3 pin has
digital I/O, HV on MCLR must be used for programming)

7
// CONFIG2

#pragma config BOR4V = BOR40V // Brown-out Reset Selection bit (Brown-out Reset
set to 4.0V)

#pragma config WRT = OFF // Flash Program Memory Self Write Enable bits (Write
protection off)

// #pragma config statements should precede project file includes.

// Use project enums instead of #define for ON and OFF.

#include <xc.h>
#define _XTAL_FREQ 4000000

void configuracion(void)
{

//PWM
TRISCbits.TRISC1=0;

PR2=0xFF;

CCP2CONbits.CCP2M3=1;
CCP2CONbits.CCP2M2=1;

CCPR2L=0b11000000;
CCP2CONbits.DC2B1=0;
CCP2CONbits.DC2B0=0;

PIR1bits.TMR2IF=0;

T2CONbits.T2CKPS1=1;
T2CONbits.T2CKPS0=0;

T2CONbits.TMR2ON=1;

//ADC

ANSEL=0xFF;
ANSELH=0x00;
TRISA=0xff;
TRISB=0x00;
TRISD=0x00;

8
ADCS1=1;
ADCS0=0;

CHS3=0;
CHS2=0;
CHS1=0;
CHS0=1;

ADIE=0;

ADON=1;

ADFM=0;

VCFG1=0;
VCFG0=0;
}

float ref=0x8F;// referencia


float y;// salida del sistema
float e;// error
float P=0;// accion proporciona
float I=0;// accion integral
float D=0;// accion derivativa
float u;// salida del controlador
float e_1 =0; // error del instante de tiempo anterior
float Ts =0.001; // periodo de muestreo de la senyal
float Kp =0.3; // ganancia proporcional
float Ki =0.8; // ganancia integral
float Kd =0.8; // ganancia derivativa
float fuerza=58;

void main(void) {

configuracion();

CCPR2L=50;
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);

9
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
CCPR2L=60;
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);
__delay_ms(1000);

while(1)
{
ADCON0bits.GO=1;
PORTB=ADRESH;
while(ADCON0bits.GO==1){

//SENSOR
y=ADRESH;// posicion actual
e = ref-y;// error en el presente

//CONTROLADOR
P=Kp*e;//control proporcional
I=Ki*Ts*(e+e_1);// control integral
D=Kd*((e-e_1)/Ts);//contrtol derivativo

//SE—AL DE CONTROL
u=P+I+D;// accion de control
e_1=e;//;// error para el instante anterior

CCPR2L=fuerza+u;// correccion del error

10
}

while(PIR1bits.TMR2IF==0)
TRISCbits.TRISC1=0;
}

return;
}

11

Вам также может понравиться