Automatizacin de procesos
PRACTICA 1
PWM
ALUMNOS
ELIDETH MARTINEZ PEREZ
11 003 1263
10 003 0088
AUTOMATIZACION
Es el conjunto de tcnicas basada en sistemas capaces de recibir informacin del
medio, sobre el cual actan y se realizan acciones de anlisis, organizacin y
control con el fin de optimizar los procesos productivos.
Existen dos formas para realizar un control:
1.- lazo abierto
2.- lazo cerrado
La automatizacin se liga al control de procesos discretos y discontinuos, un
sistema de control se divide en varias tareas y estas tareas se organizan por
niveles de abstraccin.
ESTADO PWM ON
ESTADO PWM_OFF
Frecuencia pwm=10hz
Tpwm=100ms
Resolucin PWM=10 intervalos
Mi ciclo de trabajo tiene una resolucin del 10%
La tarea de generacin de la seal PWM se tiene que ejecutar al menos cada 10
ms.
La velocidad a la que se ejecuta la instruccin:
Fcy=
fase 20 Mhz
=
=5 MHz
4
4
MATERIALES
Programa
#include <GeneracionPWM.h>
#use
rs232(baud=9600,xmit=PIN_C6,rcv=PI
N_C7)
#use rtos(timer=0,minor_cycle=1ms)
#define PIN_PWM PIN_B0
#define PIN_DEC PIN_B1
#define PIN_INC PIN_B2
#define INIT_PWM 0
#define CALC_PWM 1
#define ON_PWM 2
#define OFF_PWM 3
#define CT_MAX 10
int8 CT_deseado = 1;
int8 CT_actual = 0;
int8 ton = 0;
int8 toff = 0;
int8 estado_pwm = INIT_PWM;
output_low(PIN_PWM);
#task(rate=10ms,max=1ms)
if(CT_actual== 9){
void generacionPWM_rtos_task ( )
estado_pwm = CALC_PWM;
}else{
switch( estado_pwm ){
toff--;
case INIT_PWM:
estado_pwm = OFF_PWM;
CT_actual = 5;
estado_pwm = CALC_PWM;
//siguiente estado
}
}
break;
break;
case CALC_PWM:
case OFF_PWM:
CT_actual = CT_deseado;
toff--;
if(CT_actual>0){ //condicion de
transicion 1
if(toff == 0){
estado_pwm = CALC_PWM;
output_high(PIN_PWM);
}
ton = CT_actual;
break;
}
}
#define E_ACT 0
output_low(PIN_PWM);
toff = CT_MAX;
estado_pwm = OFF_PWM;//siguiente
estado
#task(rate=250ms,max=1ms)
void InterfaceOperador_rtos_task ( )
{
}
break;
case ON_PWM:
if(input(PIN_INC)==E_ACT){
if(CT_deseado < 10){
ton--;
if(ton==0){
if(CT_actual == CT_MAX){
estado_pwm = CALC_PWM;
}else if(CT_actual < CT_MAX){
CT_deseado++;
}
}else if( input(PIN_DEC)==E_ACT){
if(CT_deseado > 0){
CT_deseado--;
}
}
void main()
rtos_run ( );
}
SIMULACION
IMPLEMENTACION
CONCLUSIONES