Labfinal de Control Digital

8
 Convertidor de frecuencia a voltaje Los convertidores de frecuencia a voltaje son circuitos integrados que convierten un voltaje de entrada análogo en un tren de pulsos cuya frecuencia de salida es proporcional al nivel de entrada. Se utilizan en aplicaciones de conversión análogo a digital donde la velocidad no es un factor crítico, también operan como convertidores de frecuencia a voltaje y pueden ser utilizados como convertidores de señales digitales a análogas de baja frecuencia. Dentro de los convertidores de señales de voltaje a frecuencia o de frecuencia a voltaje se encuentran:  LM2907 de National semiconductor  AD650 de Analog Devices  VFC32 de Burn Brown  XR4151 de Exar Se muestra el circuito básico para convertir frecuencia a tensión con este inte grado: Para el diseño se tomo en cuenta que: La serie LM2907, LM2917 comprende convertidores de frecuencia a voltaje monolíticos con un Amplificador Operacional / Comparador de alta ganancia diseñado para operar un relé, lámpara u otra carga cuando la frecuencia de entrada alcanza o excede un intervalo. El tacómetro usa una técnica de bomba de carga y ofrece conversión de frecuencia con un bajo rizado, protección de entrada total en dos versiones (LM2907-8, LM2917-8) y salida balanceada a tierra para una frecuencia de entrada cero.  Salida balanceda para una frecuencia de entrada cero  Fácil de usar: VOUT = fIN x VCC x R1 x C1  Una red RC proporciona la conversión de frecuencia  Zener regulador en el chip permite exactitud y estabilidad en la frecuencia para la conversión de voltaje a corriente (LM2917) Elección de los valores:

Transcript of Labfinal de Control Digital

Page 1: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 1/8

 

Convertidor de frecuencia a voltaje

Los convertidores de frecuencia a voltaje son circuitos integrados que convierten un voltaje de entrada

análogo en un tren de pulsos cuya frecuencia de salida es proporcional al nivel de entrada. Se utilizan en

aplicaciones de conversión análogo a digital donde la velocidad no es un factor crítico, también operan

como convertidores de frecuencia a voltaje y pueden ser utilizados como convertidores de señales

digitales a análogas de baja frecuencia. Dentro de los convertidores de señales de voltaje a frecuencia o

de frecuencia a voltaje se encuentran:

  LM2907 de National semiconductor

  AD650 de Analog Devices

  VFC32 de Burn Brown

  XR4151 de Exar

Se muestra el circuito básico para convertir frecuencia a tensión con este integrado:

Para el diseño se tomo en cuenta que:

La serie LM2907, LM2917 comprende convertidores de frecuencia a voltaje monolíticos con un

Amplificador Operacional / Comparador de alta ganancia diseñado para operar un relé, lámpara u otra

carga cuando la frecuencia de entrada alcanza o excede un intervalo. El tacómetro usa una técnica de

bomba de carga y ofrece conversión de frecuencia con un bajo rizado, protección de entrada total en

dos versiones (LM2907-8, LM2917-8) y salida balanceada a tierra para una frecuencia de entrada cero.

  Salida balanceda para una frecuencia de entrada cero

 Fácil de usar: VOUT = fIN x VCC x R1 x C1

  Una red RC proporciona la conversión de frecuencia

  Zener regulador en el chip permite exactitud y estabilidad en la frecuencia para la conversión de

voltaje a corriente (LM2917)

Elección de los valores:

Page 2: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 2/8

 

min3

max31

 I 

V  R  

por temas de diseño, se recomienda según la hoja de datos que I3max=150mA, también:

  

  

21..1

2.21.

 I C FinVcc

C C VccV ripple , luego

 fullscale

 fullscale

F Vcc RV C 

..131 y finalmente

  

  

2.131

.21.2

 I  RV 

V C VccC 

ripple

 

Con las formulas anteriores calculamos los valores de los componentes para el circuito:

Establecemos Vcc=7.5v, Vripple= 0.05v y Fmax=4.5 Khz

R1>V3max/I3min del datasheet, I3min=0.00015, entonces R1=10K (vlor comercial)

nf F Vcc R

V C 

 fullscale

 fullscale03.1

45005.7100000

5.3

..1

31

, escogemos el valor comercial más cercano (C1

= 820pF)

nF  R

C FinVcc

C VccC 

ripple

74100000

1045005.71

05.02

105.7

1

1..1

.2

1.2

99

 

  

 

 

  

 

, escogemos un valor

comercial ( C2=100nF)

Y para R2 según el datasheet se recomienda debe ser de 10K.

Con todos los valores entonces proseguimos con el armado del circuito:

Page 3: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 3/8

 

Del grafico anterior obtenemos que:

0

  0.057-0.05=0.007

0

   0.175-0.057=0.12

0

k  (45-0)/(16-0)=2.81

Donde T<0

   /4; T=0.001s

00

02.1

 

  

k k  p =6.857

02  iT  =0.014

05.0  d T  =0.0035

Luego:

a= pk  =3.32

i

 p

T k b

=1.083

T k c

d  p =12.61

Con los valores ingresados obtenemos el siguiente resultado:

Page 4: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 4/8

 

 

Teniendo en cuenta que es posible modificar todos los parámetros del PID para obtener una mejor

respuesta a la señal de entrada, los valores calculados según a formula anterior son referenciales,

ajustando epiricamente tenemos la salida que muestra la figura aterior.

Page 5: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 5/8

 

El pic 18f4550

Para que el pic detecte al hardware al host-usb en este ejemplo hay que tener en cuenta esta constante:

#include <18F4550.h> 

#fuses XTPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN 

#use delay(clock=48000000) #include "usb_cdc.h" 

void main() { 

...

La constante es el llamado usb_cdc.h y no es el único archivo usado, si miran dentro de este verán

después de varias líneas:

#if __USB_PIC_PERIF__ 

#if defined(__PCM__) 

#error CDC requires bulk mode! PIC16C7x5 does not have bulk mode 

#else 

#include <pic18_usb.h> //Microchip 18Fxx5x hardware layer for usb.c 

#endif  

#else #include <usbn960x.c> //National 960x hardware layer for usb.c 

#endif  

#include "rr2_USB_Cdc_Monitor.h" //USB Configuration and Device descriptors for this UBS device 

#include <usb.c> //handles usb setup tokens and get descriptor reports 

Como estamos usando el 18f4550 entonces se utilizara el driver pic18_usb.h y además el

rr2_usb_Cdc_Monitor.h y el usb.c

Ahora nos fijamos en el Datasheet del 18f4550 nos encontramos un SFR llamado UIR

Page 6: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 6/8

 

Este SFR contiene los flags de los estados de interrupción seleccionados por UIE

Con este par de bits lo que hacemos es seleccionar el par USB Reset Interrupt y Idle Detect Interrup

Enable bit.

Haciendo las modificaciones al código quedara asi:

 /* ejemplo6_parte4_temp.c

en este ejemplo se tratará se ordenará al PIC reconocer la detección del HOST USB de la PC 

adaptación del código original de RRCdcUSB de RedPic

Pedro-PalitroqueZ 4/feb/07 

*/  

#include <18F4550.h> 

#fuses XTPLL,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN 

#use delay(clock=48000000) 

#define use_portb_lcd TRUE 

#define USB_CON_SENSE_PIN PIN_E3 

#include <lcd.c> 

#include "usb_cdc.h" 

void main(){ 

lcd_init();   // llamadas necesarias para iniciar la LCD  

usb_cdc_init();  // llamadas necesarias para iniciar el módulo USB  

usb_init();   // llamadas necesarias para iniciar el módulo USB 

Page 7: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 7/8

 

  while(!usb_cdc_connected()) {  //bucle eterno 

delay_us(500); 

do{ 

usb_task(); 

delay_us(500); 

}while (TRUE);  // bucle eterno 

 /* ejemplo6_parte4_temp.c

en este ejemplo se tratará se ordenará al PIC reconocer la detección del HOST USB de la PC 

adaptación del código original de RRCdcUSB de RedPic

Pedro-PalitroqueZ 4/feb/07 

*/  

#include <18F4550.h> 

#fuses XTPLL,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN 

#use delay(clock=48000000) 

#define use_portb_lcd TRUE 

#define USB_CON_SENSE_PIN PIN_E3 

#include <lcd.c> 

#include "usb_cdc.h" 

void main(){ 

lcd_init();   // llamadas necesarias para iniciar la LCD  

usb_cdc_init();  // llamadas necesarias para iniciar el módulo USB  

usb_init();   // llamadas necesarias para iniciar el módulo USB 

do{ 

usb_task(); 

delay_us(500); 

}while (TRUE);  // bucle eterno 

}

Conclusiones:

  Vemos que el control PID llega a controlar no solo la velocidad sino también si le tuviera alguna

obstrucción este tratara de mantener su secuencia de giro.

 

Page 8: Labfinal de Control Digital

5/14/2018 Labfinal de Control Digital - slidepdf.com

http://slidepdf.com/reader/full/labfinal-de-control-digital 8/8

 

Bibliografia:

http://www.unpocodelectronica.netau.net/mis-primeros-pasos-con-el-18f4550#introduccion 

http://www.melca.com.ar/datasheets.html