Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gua de prcticas
Sistemas programables.
Medicin e instrumentacin
virtuales
Conocimiento y aplicacin del PIC16F877A y USBDAQ6008-9
Introduccin monitoreo de
temperatura.
SP 2014
Contenido
Introduccin monitoreo de temperatura......................................................11
Materiales:................................................................................................ 11
Desarrollo:................................................................................................ 11
Todos los sensores anlogos del tipo diferencial en el Micro........................17
Objetivo.................................................................................................... 17
Desarrollo:................................................................................................ 17
PWM............................................................................................................. 27
Material..................................................................................................... 27
Objetivo.................................................................................................... 27
Fundamento:............................................................................................. 27
UTILIZANDO EL MODULO INTERNO PWM...............................................27
Desarrollo:................................................................................................ 29
Segundo ejemplo con aplicacin Bluetooth..............................................34
Sepper motor............................................................................................... 37
Material..................................................................................................... 37
Objetivo.................................................................................................... 37
Fundamento:............................................................................................. 37
Usando dos protocolos de comunicacin I 2C y Serial...................................38
Materiales:................................................................................................ 38
Desarrollo:................................................................................................ 38
Cronometro de eventos para laboratorio.....................................................49
Materiales:................................................................................................ 49
Desarrollo:................................................................................................ 49
Introduccin monitoreo de temperatura......................................................62
Desarrollo:................................................................................................ 62
Control de temperatura o nivel en entrada anloga para una salida digital
por medio de USB DAQ 6008 /9........................................................................71
Procedimiento........................................................................................... 71
PWM UTILIZANDO LA DAQ NI USB 6008.......................................................74
INTRODUCCIN......................................................................................... 74
OBJETIVO.................................................................................................. 74
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
SP 2014
EQUIPO..................................................................................................... 74
DESARROLLO DE LA PRCTICA.................................................................74
Ejecucin del programa.........................................................................76
Generacin de reportes uso de Collect y Report..........................................81
Materiales:................................................................................................ 81
Desarrollo:................................................................................................ 81
Monitoreo con un PIC................................................................................... 82
Duracin de una seal discreta....................................................................83
HC-SR04 sensor ultrasnico......................................................................83
Metodologa de la medicin del tiempo alto de una seal discreta usando
PicSimulator................................................................................................... 84
Primera propuesta While...........................................................................85
Segunda propuesta esperando cambio de 0 a 1 y usando un tmr1..........86
Tercera propuesta sin bucle de espera de cambio de 0 a 1 y usando un
tmr1............................................................................................................... 88
Duracin de una seal discreta....................................................................90
HC-SR04 sensor ultrasnico......................................................................90
Metodologa de la medicin del tiempo alto de una seal discreta usando
PicSimulator................................................................................................... 91
Nota ilustrativa............................................................................................ 94
6008 temp lm35 analoginputdigitalalarm.vi.............................................94
Write To Measurement File Express VI.......................................................94
La utilizacin de un control de tiempo......................................................97
Share Variables......................................................................................... 98
Bucles y otras funciones:...........................................................................101
Caso cero................................................................................................ 101
Caso 1 Goto............................................................................................ 101
Caso 2 For............................................................................................... 102
Caso 3 For Step...................................................................................... 102
Caso 4 While........................................................................................... 103
Caso 5 IF................................................................................................. 104
Caso 5 IF completo................................................................................. 105
Caso 6 CASE........................................................................................... 106
La caja de pruebas..................................................................................... 110
Materiales............................................................................................... 110
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
SP 2014
Introduccin monitoreo de
temperatura.
SP 2014
Materia de Sistemas
Programables.
Estructura general.
Sensores
1.1 pticos
1.1.1 Tipos
1.1.2 Funcionamiento
1.1.3 Caractersticas
1.1.4 Modo de comunicacin.
El alumno conectara de manera directa un LED y un fotodiodo IR a los
puertos de entrada digital microcontrolador PIC, donde podr encender y
apagar los mismos.
El alumno conectara de manera directa un fototransistor y un fotodiodo IR
para determinar la sensibilidad del fototransistor desde los puertos anlogos
del PIC.
El alumno realizara el acondicionamiento de la seal de un fototransistor
para ser usado como sensor de presencia ptico por obstruccin de un mnimo
de 1 mt de longitud.
El alumno realizara el acondicionamiento de la seal de un fototransistor
para ser usado como sensor de presencia ptico por refraccin de un mnimo
de 15 cm de longitud.
El alumno realizara usando un PIC un sistema de encendido y apagado
automtico detectando el nivel de luz y que este se pueda ajustar por medio de
dos resistencias variables.
Reto:-S
Cada alumno presentara su sensor de presencia por obstruccin y reflectivo
gana el que mayor alcance y funcionamiento tenga respectivamente.
1.2 Temperatura.
1.2.1 Tipos
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
SP 2014
1.2.2 Funcionamiento
1.2.3 Caractersticas
1.2.4 Modo de comunicacin.
El alumno deber conectar de manera directa un sensor de temperatura
lm35 a un microcontrolador PIC conectara un display y mostrara el valor
adquirido explicara la sensibilidad del sistema.
El alumno realizara por medio de programacin (ecuaciones matemticas)
el ajuste de la entrada del sensor de temperatura a la visualizacin para
mostrar los valores en grados centgrados.
El alumno realizara el acondicionamiento de la seal de un sensor de
temperatura para obtener un valor correspondiente de cero Volts a cero grados
centgrados y de 5V a 150 Grados centgrados.
El alumno conectara el sensor lm35 y el sistema de acondicionamiento de la
seal a la entrada anloga del PIC y mostrara los datos ajustados por
programacin, en el display.
Reto:-S
Conectar 5 sensores de temperatura al PIC y visualizar en el display cada
uno de ellos, colocndolos en agua, hielo, agua hirviendo, vapor y en el aire
(temperatura ambiente).
Realizar un sistema de control de encendido y apagado de acurdo al valor
de la temperatura, los valores mnimo y mximo para el encendido y apagado
podrn ser ajustados usando potencimetros y visualizados en el display.
1.3 Presin y fuerza
1.3.1 Tipos
1.3.2 Funcionamiento
1.3.3 Caractersticas
1.3.4 Modo de comunicacin.
El alumno conectara de manera directa un sensor de presin del tipo
flexiforce al microcontrolador PIC y mostrara por medio del diplay su
sensibilidad.
El alumno conectara con su etapa de acondicionamiento de la seal el
sensor de presin fuerza y calibrara por programacin su valor para ser
presentado en un diplay.
El alumno conectara de manera directa un sensor de presin para fluido
(gas o lquido) sea directo o diferencial al microcontrolador PIC y mostrara por
medio del diplay su sensibilidad.
El alumno conectara con su etapa de acondicionamiento de la seal un
sensor de presin para fluido (gas o lquido) sea directo o diferencial al
microcontrolador PIC y mostrara por medio del diplay el valor real de presin.
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
SP 2014
Reto:-S
El alumno creara una bscula usando el sensor del tipo flexiforce, cuando se
detecte un envase por medio de un sensor ptico, mandara una seal de
apertura a una vlvula, la cual dejara pasar un fluido y la cual cerrara al llegar
a un peso determinado. Esperando nuevamente otro envase. Todo controlado
por un PIC y los limites mximo, minimo y de calibracin se harn por medio de
potencimetros.
El alumno controlara el nivel de un lquido por medio del monitoreo de la
presin de columna de agua en un recipiente usando su sensor de presin, y
abrir y cerrara automticamente una vlvula, para mantener el nivel. Usar
potencimetros para el control mnimo mximo del nivel, asi como su
calibracin pertinente.
1.4 Proximidad.
1.4.1 Tipos
1.4.2 Funcionamiento
1.4.3 Caractersticas
1.4.4 Modo de comunicacin.
El alumno realizara las conexiones pertinentes as como la programacin
para habilitar un sistema de medicin de longitud.
Reto:-S
El alumno generara un radar de velocidad, tomando la distancia y tiempo
podr calcular la velocidad en que se mueve un objeto este valor se mostrara
en pantalla y ajustando por potencimetros el mximo y el mnimo de
velocidad podr ser activada una seal acstica.
2.1 Elctricos.
2.1.1 Tipos
2.1.2 Funcionamiento
2.1.3 Caractersticas
2.1.4 Modo de comunicacin.
2.2 Mecnicos.
2.2.1 Tipos
2.2.2 Funcionamiento 2.2.3 Caractersticas
2.2.4 Modo de comunicacin.
2.3 Hidrulicos.
2.3.1 Tipos
2.3.2 Funcionamiento
2.3.3 Caractersticas
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
SP 2014
2.3.4 Modo de comunicacin.
El alumno desarrollara la electrnica de potencia de acuerdo a las
caractersticas del actuador a controlar, de tal forma que controlara un
ventilador, una termoresistencia, un motor a pasos, un una vlvula solenoide,
un conjunto de lmparas.
Reto:-S
5.4 Estndares de buses.
5.5 Manejo del bus.
5.6 Aplicaciones de buses.
5.7 Comunicacin
El alumno desarrollara un sistema de adquisicin de datos en un
microcontrolador y enviara la informacin a otro microcontrolador en los
siguientes protocolos de comunicacin:
SERIAL
UART
I2C
SPI
Reto:-S
En conjunto con todos los integrantes de su saln Desarrolla e instalar y
opera eficientemente un sistema embebido de control de una casa habitacin.
Donde cada cuarto tenga sub sistemas y estn enlazados por uno o ms
sistemas de comunicacin.
Control de sistemas de temperatura, control de ventanas (apertura cierre),
control de persianas o cortinas, control de luces, control sensores de
movimiento (Presencia), control de flujo de agua, control de riego, control de
incendio, de electrodomsticos, control de consumo de energa elctrica,
control de consumo de gas, control de una puerta de acceso, control de
sensores de humedad, de humo, nivel en tanques de agua, velocidad y
direccin del viento.
Todo deber ser monitoreado desde una pc.
Deber dar estadsticos e historiales.
Introduccin monitoreo de
temperatura.
MIV 2014
Medicin e instrumentacin
virtual
1.1 Importancia del proceso de medicin.
1.2 El concepto de instrumentos y del sistema general de medicin.
1.3 Estudio de las caractersticas estticas y dinmicas de los instrumentos.
1.4 Tipos de errores asociados a las mediciones.
1.5 Medicin de variables.
1.6 Normas de los instrumentos.
1.6.1 Conceptos y definiciones.
1.6.2 Estructura de una norma.
1.6.3 Normas de instrumentacin.
1.7 Simbologa elctrica, hidrulica, neumtica y electromecnica.
1.8 Elaboracin e interpretacin de plano instrumental aplicando las
normas.
Redacta un resumen del grupo de presentaciones denominadas ee1320.
http://www.slideshare.net/DelftOpenEr/ee1320-introduction-to-measurement o
en itunes
Introduction to measurement.
Sensors
Sensor redaut and signal conditioning.
Instrumentation amplifiers.
El alumno realiza dos planos instrumentales de dos procesos industriales,
aplicando normas ANSI/ISO.
Elabora un plano de localizacin de los sensores en su proyecto integrado.
El alumno realiza un compilado de normas que mantiene a su disposicin
Realiza en lo individual uno de los sensores correspondientes para la
instrumentacin de su proyecto integrado
Realiza en lo individual el reporte de investigacin elaboracin y puesta en
marcha de un sensor.
Introduccin monitoreo de
temperatura.
MIV 2014
2.2 Calibracin de los instrumentos de presin, caudal y nivel.
2.3 Calibracin de los instrumentos de temperatura.
2.4 Calibracin de vlvulas de control.
2.5 Calibracin de instrumentos digitales.
2.6 Mantenimiento de instrumentos.
2.7 Normativa aplicada a los instrumentos.
El alumno documenta a mano los tipos de errores en los instrumentos,
El alumno documenta describe el procedimiento general de calibracin.
El alumno documenta la calibracin de instrumentos de presin caudal y
nivel.
El alumno documentara el proceso de calibracin de vlvulas de control.
En equipo realizaran el control de por lo menos dos vlvulas proporcional.
El alumno documentara los puntos 2.6 y 2.7 con dos o ms autores.
(Reporte a mano)
El alumno disea un circuito de medicin de temperatura en donde sea
posible realizar los ajustes de calibracin. (Puede hacer uso de la o las
tecnologas que el alumno requiera).
3.1 Base conceptual y desarrollo de los instrumentos virtuales.
3.2 Sistemas de instrumentacin.
3.2.1 Configuracin de los sistemas de instrumentacin.
3.2.2 Sensores e instrumentos inteligentes.
3.3 Acondicionamiento de seales.
3.4 Tecnologas para la adquisicin de datos.
3.4.1 Digitalizadores.
3.4.2 Tareas de adquisicin de datos.
3.4.3 Instrumentos GPIB.
3.4.4 Control de movimiento.
3.4.5 Control de procesos.
3.4.6 Adquisicin va puerto serie.
3.4.7 Adquisicin en tiempo real.
El alumno por medio de la investigacin documental realizara un reporte
escrito la base conceptual y el desarrollo de los instrumentos virtuales, puede
tomar el punto de vista de los sistemas de adquisicin de datos. Siendo este un
tema no aislado y con un mayor grado de complejidad es de importancia
adentrarse a la teora disponible.
Consulte e incluya en su reporte los siguientes materiales:
http://www.ni.com/white-paper/4752/en/
ftp://ftp.ehu.es/cidira/dptos/depjt/Instrumentacion/BKANGEL/10_LabVIEW/Instrumentos_virtuales.PDF
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
http://www.ni.com/white-paper/4757/es/
Recurso complementario:
http://www.ni.com/academic/esa/measurements_curriculum.htm
http://www.ni.com/data-acquisition/what-is/esa/
http://www.ni.com/data-acquisition/esa/
http://mexico.ni.com/seminarios-web/daq-guru
para el concepto de sensores inteligentes.
http://www.investigacion.frc.utn.edu.ar/sensores/Tutorial/TECNO7.pdf
Acondicionamiento de seales el tema pudiera ser tan extenso como la
combinacin de tipo de sensores, y los factores que causan ruido o
interferencia en la seal desde la obtencin de la informacin hasta al punto de
entrada al procesamiento de la misma. Por ello las habilidades experiencias y
competencias de la electrnica anloga y el uso de filtros con amplificadores
operacionales, puentes resistivos, o todo aquel dispositivo pasivo o activo que
module filtre amplifique o mejore la seal objetivo es de importancia tomarlo
en cuenta para el desarrollo de este tema. Los siguientes vnculos nos
proporcionan informacin general sobre lo que es y cmo utilizar el
acondicionamiento de las seales en nuestro sistema.
Introduccin monitoreo de
temperatura.
MIV 2014
El alumno (individual) desarrollara, un sistema de instrumentacin
embebido de acuerdo a su proyecto integrado. Tomando una variable anloga y
almacenndola en una memoria para posteriormente recuperarla para su
visualizacin.
El alumno se familiariza por medio de una seria de prcticas de adquisicin
de datos y control de temperatura con microcontroladores PIC y DAQ, haciendo
la comparacin entre estos entre sus ventajas y desventajas, pudiendo
discernir en que situaciones se aplica una u otra tecnologa.
5.1 Sistemas de medicin
5.2 Sistemas de control
5.3 Calibracin y validacin del sistema de instrumentacin
5.4 Instrumentacin para acceso remoto
5.5 Control para procesos remotos
El alumno (individual) desarrollara un sistema de medicin y control acorde
a su proyecto integrado, usando un microcontrolador.
El alumno en equipo (equipos segn el nmero de dispositivos disponibles)
desarrollara un sistema de medicin y control acorde a su proyecto integrado,
usando un DAQ.
6.1 Monitoreo de energa
6.2 Monitoreo de variables de proceso (flujo, presin, temperatura y volumen).
6.3 Medicin de aceleracin (velocidad, tiempo, desplazamiento, vibracin y ruido).
6.4 Diseo e implementacin de un sistema de medicin e instrumentacin
El alumno (en equipo segn proyecto integrado) deber realizar el monitoreo de los
energticos de una casa habitacin, as como las condiciones climticas.
El alumno (en equipo segn proyecto integrado) deber realizar el monitoreo y control del
proceso, incluyendo el monitoreo de flujo, presin, temperatura, volumen, velocidad, tiempo,
desplazamiento, vibracin y ruido.
El alumno (en equipo de proyecto integrado) Deber disear y aplicar el monitoreo para la para
el diseo y aplicacin de un instrumento de laboratorio de fsica, qumica, mecnica, mecanismos,
etc. visualizando las variables y el tiempo.
Introduccin monitoreo de
temperatura.
MIV 2014
Practicas microcontrolador
PIC 16F877A
Introduccin monitoreo de temperatura.
Materiales:
LM35 sensor de temperatura.
Microcotnrolador 16F877A, cristal 20MHz
Software OshonSoft picsimulator
Display LCD 16x2
Previo
al
desarrollo
vaya
a:
http://www.ucontrol.com.ar/Articulos/picsimuide/picsimuide.htm
donde
encontrara un pequeo curso introductorio sobre la interfaz del Software
OshonSoft.
Desarrollo:
1. Abra el software PIC simulator.
2. Seleccione el microcontrolador 16F877A en el recuadro PIC
microcontroller de la ventana IDE, asi como el valor del cristal a usar.
Introduccin monitoreo de
temperatura.
MIV 2014
Nombre del programa:
Fecha y versin del programa:
Tipo de microcontrolador
Autor del programa.
5.
6.
7.
8.
LCD_BITS = 8
LCD_DREG = PORTB
LCD_DBIT = 0
LCD_RSREG = PORTD
LCD_RSBIT = 7
LCD_EREG = PORTD
LCD_EBIT = 6
LCD_RWREG = PORTD
LCD_RWBIT = 5
Lcdinit LcdCurBlink
Dim sensor As Word
Dim celsius As Single
Dim fahrenheit As Single
main:
Adcin 0, sensor
Celsius = sensor * 0.48875
fahrenheit = 1.8 * celsius + 32
Gosub display
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Goto main
End
Display:
Lcdcmdout LcdClear
Lcdcmdout LcdLine1Home
Lcdout #celsius, " C "
Lcdcmdout LcdLine2Home
Lcdout #fahrenheit, " F"
WaitMs 1
Return
9.
10.
11.Compile, ensamble y cargue el programa.
12.Abra las herramientas de microcontrolador, LCD, ver variables.
13.Corra la simulacin. Y manipule la entrada anloga 0 (AN0/RA0, pin 2)
al valor 206.
Las siguientes imgenes muestran el resultado del programa.
En la siguiente ventana se muestran los valores del microcontrolador, y el
reloj.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Conclusiones
Insertar fotografas y link de video
Introduccin monitoreo de
temperatura.
MIV 2014
Objetivo
Los sensores pueden dividirse en familias y una de ellas es la variable
elctrica que pueden proporcionar en su salida como reflejo de la entrada de la
variable a medir. Estas dos tipos de salida utilizadas en la industria dentro del
campo anlogo son las que nos ofrecen una variacin en el voltaje y una
variacin en el amperaje.
De tal forma que tenemos un estndar que aplica para los sensores con
variacin de voltaje sea de cero a 5, 10, 20, 24 V.
Y Para los sensores cuya salida es por corriente se estable de 4 a 20 mA.
Por la ley de ohm podemos deducir que entre mayor longitud tenga el cable
que conduce la seal del sensor al controlador mayor ser la resistencia de
este, por tanto la cada de potencial entre la salida de la seal del sensor y la
seal que llega al controlador tendr una varianza significativa.
De ah que la familia de los sensores que consideran el amperaje tengas
una mayor posibilidad de uso en grandes distancias, ya que aun con la cada
de voltaje producido por la resistencia del cable la corriente se mantendr.
Sin embargo los comportamientos de los transductores en su mayora
responden de manera lineal versus la cada de potencial, y en general las
metodologas de acondicionamiento de la seal son ms comunes en voltaje
que en amperaje. Por lo que el encuentro con sensores de tipo de cada de
potencial ser ms comn que aquellos por corriente.
La configuracin presentada nos proporcionara elementos bsicos para
entender este tipo de sensores, sean pticos, mecnicos, hidrulicos, de
presin, etc.
Se propone una configuracin del microcontrolador con su programa
respectivo para el anlisis de la respuesta y funcionamiento de los sensores.
Desarrollo:
1. Abra el software PIC simulator.
Introduccin monitoreo de
temperatura.
MIV 2014
2. Seleccione el microcontrolador 16F877A en el recuadro PIC
microcontroller de la ventana IDE, asi como el valor del cristal a usar.
Nota use el crsital de 20Mhz y por ende en option, configuration bit, use HS.
3. Abra la ventana desde Tools/ Basic compiler y realice el siguiente
programa.
Indicaciones: Se colocara un apostrofe () para indicar comentarios y el
texto cambiara a color verde.
4. Coloque a manera de comentario el siguiente encabezado:
Nombre del programa:
Fecha y versin del programa:
Tipo de microcontrolador
Autor del programa.
5.
6.
7.
8.
Introduccin monitoreo de
temperatura.
MIV 2014
PORTC = 0x00
TRISD = 0x0f
PORTD = 0x00
TRISE = 0x00
PORTE = 0x00
Define LCD_BITS = 8
Define LCD_DREG = PORTB
Define LCD_DBIT = 0
Define LCD_RSREG = PORTD
Define LCD_RSBIT = 7
Define LCD_EREG = PORTD
Define LCD_EBIT = 6
Define LCD_RWREG = PORTD
Define LCD_RWBIT = 5
Lcdinit LcdCurBlink
Dim sensor0 As Word
Dim sensor1 As Word
Dim sensor2 As Word
Dim selec As Word
Dim vn As Word
Dim vv As Word
Dim t As Word
Dim x As Word
Dim y As Word
x=0
y=0
Introduccin monitoreo de
temperatura.
MIV 2014
main:
Adcin 0, sensor0
Adcin 1, sensor1
Adcin 2, sensor2
Adcin 3, t
Gosub seleccion
Gosub displayseleccion
Goto main
End
displayseleccion:
Lcdcmdout LcdClear
Lcdcmdout LcdLine1Home
Lcdout "su seleccion"
Lcdcmdout LcdLine2Home
Lcdout #x
WaitMs 1
Return
seleccion:
selec = PORTC
Select Case selec
Case 1
x=1
vv = vn
vn = sensor0
Gosub valores
Case 2
x=2
vv = vn
vn = sensor1
Gosub valores
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Case 4
x=3
vv = vn
vn = sensor2
Gosub valores
Case Else
x=4
Gosub invalid
EndSelect
Return
invalid:
Lcdcmdout LcdClear
Lcdcmdout LcdLine1Home
Lcdout "su seleccion"
Lcdcmdout LcdLine2Home
Lcdout "es invalida"
WaitMs 1
Return
valores:
Lcdcmdout LcdClear
Lcdcmdout LcdLine1Home
Lcdout "Nuevo= " #vn
Lcdcmdout LcdLine2Home
Lcdout "Viejo= " #vv
WaitMs t
Return
9. Compile, ensamble y cargue el programa.
10.Abra las herramientas de microcontrolador, LCD, ver variables.
11.Corra la simulacin. Y manipule:
a. Los bits del puerto C para seleccionar una de las entradas.
b. El canal anlogo 3 para establecer el tiempo de espera al
desplegar los valores del canal (sensor) seleccionado (no
exagere el valor en la simulacin).
c. El canal 0,1 o dos segn el canal seleccionado en el puerto C.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
PWM
Material
Leds, resistencias, etapa de potencia segn lo necesario.
Microcontrolador y sistema bsico
Programador
Software OSHO Pic simulator
Computadora
Objetivo
Realizar la simulacin y posterior armado de la funcin PWM (modulacin
por ancho de pulso por sus siglas en ingles)
Fundamento:
Debido a que el microcontrolador de la familia PIC 16F no cuenta con una
salida anloga no es posible realizar un control proporcional de manera directa.
Por otro lado el microcontrolador si cuenta con la salida de modulacin por
ancho de pulso (PWM) una de las principales aplicaciones es el control de la
velocidad de un motor, la intensidad de una lmpara, entre otras aplicaciones.
Los parmetros fundamentales del PWM son el periodo (T) y el ciclo de trabajo (D). El
ciclo de trabajo indica el tiempo que la funcin vale uno respecto al tiempo total (el
periodo). La figura siguiente muestra tres ciclos de trabajo distintos:
Introduccin monitoreo de
temperatura.
MIV 2014
El primer argumento es el nmero del mdulo, y debe ser una constante
entre 1-3.
El segundo argumento se utiliza para la seleccin del modo.
El modulo interno PWM se puede utilizar en tres diferentes frecuencias de
salida para cada ciclo de trabajo de cuatro resoluciones de apoyo de PWMON
declaracin (de 10 bits, 9 bits, 8-bits y 7 bits). As, el mdulo PWM se puede
activar con PWMON declaracin en 12 modalidades. Aqu est la lista de todos
los modos en 4MHz de frecuencia de reloj (de otras frecuencias de reloj, los
valores deben ser ajustados proporcionalmente):
mode1:10bit,244Hz
mode2:10bit,977Hz
mode3:10bit,3906Hz
mode4:9bit,488Hz
mode5:9bit,1953Hz
mode6:9bit,7813Hz
mode7:8bit,977Hz
mode8:8bit,3906Hz
mode9:8bit,15625Hz
mode10:7bit,1953Hz
mode11:7bit,7813Hz
mode12:7bit,31250Hz
El mdulo PWM inicialmente se comenz con el ciclo de 0, por lo que la
produccin se mantendr de baja hasta que el ciclo de trabajo se cambia. El
PWM mdulo se puede apagar con la declaracion PWMOFF. Solamente tiene un
argumento - mdulo nmero.
Introduccin monitoreo de
temperatura.
MIV 2014
input pin. The second argument defines the duration of the observation
expressed in milliseconds and it must be a numeric constant in the range 110000. The last argument of this statement is a Byte or Word variable where
the counted number of pulses will be stored after its execution. COUNT
statement uses internal Timer0 peripheral module. There is COUNT_MODE
parameter available that can be setup with DEFINE directive. If it is set to value
1 (default value) COUNT statement will count the number of rising pulse edges.
If COUNT_MODE = 2, the number of falling edges will be counted.
Define COUNT_MODE = 1
Dim num_of_pulses As Word
Count PORTB.0, 1000, num_of_pulses
Desarrollo:
1. Abra el software PIC simulator.
2. Seleccione el microcontrolador 16F877A en el recuadro PIC
microcontroller de la ventana IDE, asi como el valor del cristal a usar.
Introduccin monitoreo de
temperatura.
MIV 2014
'PWM
'24 septiembre 2014 V1
'PIC 16F877A
'Osiel Rendon Picaseo
TRISA = %11111111
PORTA = %00000000
TRISB = 0x00
PORTB = 0x00
TRISC = 0x0f
PORTC = 0x00
TRISD = 0x0f
PORTD = 0x00
TRISE = 0x00
PORTE = 0x00
Define LCD_BITS = 8
Define LCD_DREG = PORTB
Define LCD_DBIT = 0
Define LCD_RSREG = PORTD
Define LCD_RSBIT = 7
Define LCD_EREG = PORTD
Define LCD_EBIT = 6
Define LCD_RWREG = PORTD
Define LCD_RWBIT = 5
Lcdinit LcdCurBlink
Dim duty As Long
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Dim rpm As Long
Dim x As Long
Dim y As Word
x=0
y=0
main:
PWMon 1, 3
loop:
Toggle RD1
WaitMs 250
Toggle RD1
WaitMs 250
Toggle RD1
WaitMs 250
Adcin 0, duty
x = (100 * duty) / 1023
Gosub displayd
PWMduty 1, duty
Gosub velocidad
Goto loop
End
displayd:
Lcdcmdout LcdClear
Lcdcmdout LcdLine1Home
Lcdout "Duty porcentaje"
If x = 100 Then
Lcdcmdout LcdLine2Home
Lcdout #x, "%"
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Else
Lcdcmdout LcdLine2Home
Lcdout " " #x, "%"
'WaitMs 500
Endif
Return
velocidad:
Define COUNT_MODE = 1
Dim num_of_pulses As Word
Count RD2, 1000, num_of_pulses
rpm = num_of_pulses * 60
Gosub displayv
Return
displayv:
Lcdcmdout LcdClear
Lcdcmdout LcdLine1Home
Lcdout "velocidad"
Lcdcmdout LcdLine2Home
Lcdout #rpm, "rpm"
'WaitMs 500
Return
9. Compile, ensamble y cargue el programa.
10.Abra las herramientas de microcontrolador, LCD, ver variables.
11.Corra la simulacin. Y manipule:
Tome en cuenta que para la simulacin las esperas (Wait) deben ser nmeros
pequeos.
1. Valla al canal de entrada anlogo 0, coloque el valor de 500 de
enter y observe despus de un ciclo de operacin que sucede
en el CCP1 (RC2). Ntese que la entrada anloga 0 modificara
el periodo de trabajo del PWM.
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
2. Observe el display se mostrara de la siguiente manera en el
dato DUTY (Periodo de trabajo)
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
'OSIEL RENDON PICASEO
'OCT 2015
Dim per As Byte 'VARIABLE PARA EL PORCENTAJE
Dim trabajo As Byte 'VARIABLE PARA TOMAR VOLORE DEL TRABAJO
DESEADO
Dim x As Word 'VARIABLE DEL VALOR DE 0 A 1023 DEL PWM
PWMon 1, 1 'Se declara el periferico PWM 1 unbicado en el CCP1 (RC2) en
modo 10bits
'***BIENVENIDA
Serout PORTC.6, 9600, "Osiel Rendon PWM y USART", CrLf
Serout PORTC.6, 9600, "Pic16F877A", CrLf
Serout PORTC.6, 9600, "Salida PWM RC2 ", CrLf
main:
Serout PORTC.6, 9600, "Modificar por porcentaje P y fino L", CrLf 'El
programa contiene dos formas de dar valor de trabajo uno fijo por porcentaje y
otro fino para umentar o disminuir el valor de ciclo de trabajo
Serin PORTC.7, 9600, trabajo 'se espera valor p=112 y l=108 en
minusculas
If trabajo = 112 Then 'para p
Gosub loop1 'Ir LOOP1 que es la subrutina en porcentajes fijos en el
ciclo de trabajo
Endif
If trabajo = 108 Then 'para l
Gosub aumentar 'ir a aumentar que es la subrutina de aumentar o
disminuir de manera fina el vlor de ciclo de trabajo
Endif
Goto main
End
loop1:
Serout PORTC.6, 9600, "Ingrese un numero entre 0 a 6 ", CrLf
'los valores son 0=0%, 1=10%, 2=25%,3=50%, 4=75%, 5=90% y 6=100%
Toggle RB7 'indicador que de ha ejecutado el ciclo de seleccion
Serin PORTC.7, 9600, trabajo 'espera el valor
Select Case trabajo 'selecciona de acuedo a valor de trabajo 0-6
Case 54 'valor del numero 6 en ASCCII
x = 1023
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
per = 100
Case 53 'valor del numero 5 en ASCCII
x = 920
per = 90
Case 52 'valor del numero 4 en ASCCII
x = 767
per = 75
Case 51 'valor del numero 3 en ASCCII
x = 511
per = 50
Case 50 'valor del numero 2 en ASCCII
x = 260
per = 25
Case 49 'valor del numero 1 en ASCCII
x = 102
per = 10
Case 48 'valor del numero 0 en ASCCII
x=0
per = 0
Case Else
Serout PORTC.6, 9600, "seleccione otra opcion ", CrLf 'Indica que la
entrada no es valida
EndSelect
Serout PORTC.6, 9600, #per, "%", CrLf
Gosub pwm 'llama a la subrutina pwm
'Goto loop1
Return
'PWM esta pequea subrutina es llamada por ambas subrutinas pra generar
el PWM
pwm:
PWMduty 1, x
Serout PORTC.6, 9600, "Valor de X=", #x, CrLf
Return
aumentar:
Serout PORTC.6, 9600, "A aumenta S disminuye X", CrLf
Serin PORTC.7, 9600, trabajo 'Se selecciona la variable a=97 y s=115
ambas en minusculas
'en cada caso If evalua si debe aumentar o disminuir en 10 unidades el ciclo
de tarbajo.
If trabajo = 97 Then
x = x + 10
Endif
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
If trabajo = 115 Then
x = x - 10
Endif
'en cada caso if controla los valores que esten por encima o por debajo de
los 1023 bit de operacion del PWM
If x > 1023 Then
x = 1023
Endif
If x < 1 Then
x=0
Endif
Gosub pwm 'llama a la subrutina PWM
Return
Introduccin monitoreo de
temperatura.
MIV 2014
Sepper motor
Material
Leds, resistencias, etapa de potencia segn lo necesario.
Microcontrolador y sistema bsico
Programador
Software OSHO Pic Simulator 16F
Computadora
L293D
Stepper motor
Objetivo
Controlar un motor a pasos por medio de un microcontrolador PIC.
Fundamento:
Motor a pasos
Introduccin monitoreo de
temperatura.
MIV 2014
Desarrollo:
wt = 100
main:
Toggle RB7
While RD1 = 0 'escribe =0 lee =1
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Adcin 0, data
PWMduty 1, data
Gosub escritura
Wend
Gosub lectura
Gosub cambiar
Goto main
End
escritura:
addr = 0
While RD1 = 0
Adcin 0, data
PWMduty 1, data
WaitMs wt
Introduccin monitoreo de
temperatura.
MIV 2014
lectura:
For addr = 0 To final
Serout PORTC.6, 9600, "lectura ", "(", #addr, ")" ": ", #data, CrLf
WaitMs wt
Next addr
addr = 0
Return
cambiar:
While RD1 = 1
Serout PORTC.6, 9600, "cambiar estado D1", CrLf
wtplus = wt * 10
WaitMs wtplus
Wend
Return
Introduccin monitoreo de
temperatura.
MIV 2014
Com3
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Materiales:
2 Sensores reed switch ( pueden subtituirse por otros necesarios)
Microcotnrolador 16F877A, (con electrnica bsica)
Software OshonSoft picsimulator
Display LCD 16x2
Modulo Bluetooth
Iman
Previos:
Entes de desarrollar la prctica visite los siguiente sitios.
Imagen
conexin
bsica
https://www.pinterest.com/pin/298293175290997405/
App
utilizada
:
id=com.emrctn.BluetoothGraphics
del
PIC
https://play.google.com/store/apps/details?
Videos
App Bluetooth Graphic https://youtu.be/DWXYah5hrhU
Circuito en protoboard https://youtu.be/Ld2jQ11iZlw
Desarrollo:
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
1. Abra el software PIC simulator.
2. Seleccione el microcontrolador 16F877A en el recuadro PIC
microcontroller de la ventana IDE, asi como el valor del cristal a usar.
Introduccin monitoreo de
temperatura.
MIV 2014
Dim
Dim
Dim
Dim
Dim
tiempo As Word
total As Single
contador As Word
segundos As Single
minutos As Word
main:
Gosub crono1
Gosub conversion
Gosub display
Goto main
End
crono1:
contador = 0
Serout PORTC.6, 9600, "Equipo listo", #contador, CrLf
Serout PORTC.6, 9600, " ", CrLf
WaitMs 5
RD1 = 1
While RC0 = 0
Wend
RC4 = 1
While RC1 = 0
WaitUs 9998
contador = contador + 1
Wend
total = contador * 0.01
RC4 = 0
RD1 = 0
WaitMs 5 '00
Return
display:
WaitMs 5
Serout PORTC.6, 9600, "Tiempo en centesimas de segundo ", #contador,
CrLf
WaitMs 5
Serout PORTC.6, 9600, " ", CrLf
'Serout PORTC.6, 9600, "total ", #total, CrLf
WaitMs 5
Serout PORTC.6, 9600, "El tiempo entre los dos puntos fue de: ", #minutos,
":", #segundos, CrLf
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
WaitMs 5
Serout PORTC.6, 9600, " ", CrLf
minutos = 0
segundos = 0
Return
conversion:
If total >= 60 Then
minutos = total / 60
segundos = minutos * 60
segundos = total - segundos
Else
minutos = 0
segundos = total
Endif
Return
9. Compile, ensamble y cargue el programa.
10.Abra las herramientas de microcontrolador, LCD, ver variables.
Hardware UART
11.Corra la simulacin. Y manipule RC0 y RC1.
Las siguientes imgenes muestran el resultado del programa.
En la siguiente ventana se muestran los valores del microcontrolador, y el
reloj.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
TRISC = 0x0f
PORTC = 0x00
TRISD = %00001101
PORTD = 0x00
Symbol rw = RD2
Symbol sda = PORTC.4
Symbol scl = PORTC.3
Dim total As Single
Dim contador As Word
Dim segundos As Single
Dim minutos As Word
Dim addr As Word
Dim memorias As Word
Dim valor As Byte 'como prueba
addr = 0
main:
Gosub cambiar 'leer o escribir memoria
Select Case rw
Case 0
Gosub crono1
Gosub conversion
Gosub display
Case 1
Gosub lee
Serout PORTC.6, 9600, "Terminada la lectura de los datos", CrLf
WaitMs 1000
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
EndSelect
Goto main
End
crono1:
contador = 0
Serout PORTC.6, 9600, "Equipo listo", CrLf
Serout PORTC.6, 9600, " ", CrLf
WaitMs 5
RD1 = 1
While RC0 = 0
Wend
RC5 = 1
While RC1 = 0
WaitUs 9998
contador = contador + 1
Wend
Gosub escribe
RC5 = 0
RD1 = 0
WaitMs 5 '00
Return
display:
If RD2 = 1 Then
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Serout PORTC.6, 9600, #minutos, ":", #segundos, CrLf
WaitMs 5
Else
WaitMs 5
Serout PORTC.6, 9600, "Tiempo en centesimas de segundo ", #contador,
CrLf
WaitMs 5
Serout PORTC.6, 9600, " ", CrLf
WaitMs 5
Serout PORTC.6, 9600, "El tiempo entre los dos puntos fue de: ",
#minutos, ":", #segundos, CrLf
WaitMs 5
Serout PORTC.6, 9600, " ", CrLf
minutos = 0
segundos = 0
Endif
Return
conversion:
total = contador * 0.01
If total >= 60 Then
minutos = total / 60
segundos = minutos * 60
segundos = total - segundos
Else
minutos = 0
segundos = total
Endif
Return
escribe:
I2CWrite sda, scl, 0xa0, addr, contador.LB 'original H
addr = addr + 1
I2CWrite sda, scl, 0xa0, addr, contador.HB 'original L
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
addr = addr + 1
Return
lee:
memorias = 0
memorias = addr
'*****************************************************
For addr = 0 To memorias
Serout PORTC.6, 9600, #addr, CrLf 'quitar
I2CRead sda, scl, 0xa0, addr, contador.LB
addr = addr + 1
Serout PORTC.6, 9600, #addr, CrLf 'quitar
I2CRead sda, scl, 0xa0, addr, contador.HB
Serout PORTC.6, 9600, #contador, CrLf 'quitar
Gosub conversion
Gosub display
Next addr
addr = 0
Return
'*********************************************
cambiar:
Serout PORTC.6, 9600, "Capturar dato/ leer memoria", CrLf 'capturar dato
1 leer datos 0
While RB0 = 0
Wend
Return
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Practicas DAQ
Introduccin monitoreo de temperatura.
Materiales:
DAQ USB6008 o 6009.
PC
Sensor de temperatura LM35
Software Labview.
Recomendacin:
Previo a usar Labview se recomienda una visita a:
http://mexico.ni.com/seminarios-web/daq-guru
Desarrollo:
A diferencia de BASIC utilizado en PICsimulator que utiliza nemnicos de
programacin, LabView usa la programacin grfica, en donde los elementos
se muestran por iconos y estos son conectados para determinar el flujo de la
informacin. La siguiente imagen muestra el programa realizado para el
monitoreo de la temperatura con un sensor LM35.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
siguiente
manera:
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
19.Con el botn derecho sobre el eje y de la grfica superior damos clic
con el botn derecho y deseleccionamos Autoscale Y damos doble
clic sobre el nmero inferior de la grfica (eje y) y damos el valor de
cero, as mismo damos doble clic en el valor superior y damos el
valor de 200.
20.Repetimos el paso anterior con la grfica inferior y damos los valores
inferior de 32 y superior de 500. Obteniendo lo siguiente:
Nota:
La conexin del LM35 deber ser de la siguiente manera realice la
conexin antes de conectar el DAQ a la PC:
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Procedimiento
1. Desde DAQ Assist configure 3 entradas una para el sensor de
temperatura (LM35), otra para el valor que viene un potencimetro
(min) y una ms desde un potencimetro (max). Todos son de 0 a
5V, continuo, abra el recuadro del bucle lo suficiente para realizar los
siguientes pasos.
2. En el DAQ cree dos controles, uno para la velocidad de muestreo
(rate) y otra para el nmero de muestras (num).
3. Coloque dos controles denominados Mnimo y otro Mximo en la
ventana de diagrama de bloques
4. Desde el panel frontal coloque un visualizador numrico y un chart,
con el nombre LM35 y Entrada del LM35, inserte otro chart con
nombre temperatura, inserte adems un termmetro, y tres Round
LED cuyos nombres sern, Max, Min, Salida.
5. Regrese al diagrama de bloques y ordene los elementos,
6. Coloque un mergue signal y conecte, mximo, mnimo, LM35, entrada
del LM35 como se muestra en el diagrama.
7. Coloque los operadores numricos como booleanos: multiplicacin,
mayor que, and, or, inversor como se muestra en el diagrama de
bloques.
8. Conecte los elementos
9. Con el asistente DAQ configure la salida.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Podemos observar que el periodo del PWM se mantiene constante, y lo que
cambia es el tiempo en que la seal se mantiene a uno respecto al periodo
total. El PWM puede realizarse a partir de diversas estrategias de diseo, entre
las cuales podemos mencionar la modulacin por medio de la generacin de un
tren de pulsos, por medio de comparadores utilizando amplificadores
operacionales o por medio de microcontroladores pic, etc. Sin embargo, la
modulacin por ancho de pulso puede llevarse a acabo utilizando la
herramienta de programacin Labview gracias a las aplicaciones existentes de
adquisicin y generacin de datos. En nuestro caso utilizaremos la DAQ NI USB
6008/9 ya que cuenta con salidas digitales, mediante las cuales podemos
generar un tren de pulsos que ser utilizado para realizar el PWM.
OBJETIVO
Desarrollar una interfaz en Labview que nos permita realizar la modulacin
por ancho de pulso, siendo capaces de controlar como mnimo los parmetros
de Tiempo de Ciclo y Ciclo de Trabajo, para generar una salida PWM por medio
de la DAQ NI USB 6008 que sea utilizable para aplicaciones posteriores.
EQUIPO
DAQ NI USB 6008, 1 Osciloscopio.
DESARROLLO DE LA PRCTICA
1) Simulacin de PWM en LABVIEW
Antes de realizar los programas de PWM utilizando los puertos de salida de
la DAQ NI USB 6008, es conveniente realizar el programa que realice el clculo
de parmetros y genere el algoritmo PWM que se ejecutar posteriormente
para la generacin de datos. Para ello realizaremos el conexionado del
siguiente diagrama a bloques:
Introduccin monitoreo de
temperatura.
MIV 2014
Figura: Programa PWM
Construccin del programa
Para construir el diagrama de bloques anterior siga los siguientes pasos:
Paso 1. Colocar las estructuras For Loop, While Loop y Case como se
muestra en el diagrama a bloques que se encuentran en la ruta
Functions\Programming\Estructures\...
Introduccin monitoreo de
temperatura.
MIV 2014
4. Si desea invertir la salida pulse el control booleano Invertir?.
2) Realizacin del PWM utilizando una salida analgica de la DAQ NI USB
6008 mediante el DAQ Assistant utilizando salidas analgicas.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
DAQmx Write para escribir los datos de la seal PWM en la lnea de salida
digital
DAQmx Clear Task para limpiar los datos de la seal de salida digital.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Desarrollo:
Introduccin monitoreo de
temperatura.
MIV 2014
Preguntas:
Las siguientes preguntas evalan los conocimientos tanto de teora y
prctica de la unidad 1.
Introduccin monitoreo de
temperatura.
MIV 2014
Notas tcnica
Duracin de una seal discreta.
Derivado de la prctica necesaria a realizar un sensor ultrasnico de
distancia, se realiza la siguiente nota tcnica:
Introduccin monitoreo de
temperatura.
MIV 2014
Funcionamiento:
1. Enviar un Pulso "1" de al menos de 10uS por el Pin Trigger
(Disparador).
2. El sensor enviar 8 Pulsos de 40KHz (Ultrasonido) y coloca su salida
Echo a alto (seteo), se debe detectar este evento e iniciar un conteo
de tiempo.
3. La salida Echo se mantendr en alto hasta recibir el eco reflejado por
el obstculo a lo cual el sensor pondr su pin Echo a bajo, es decir,
terminar de contar el tiempo.
4. Se recomienda dar un tiempo de aproximadamente 50ms de espera
despus de terminar la cuenta.
5. La distancia es proporcional a la duracin del pulso y puedes
calcularla con las siguiente formula (Utilizando la velocidad del sonido
= 340m/s):
Distancia en cm (centmetros) = Tiempo medido en us x 0.017
Nota:
Tener en cuenta, que la distancia que recorre la onda es dos veces (x2) la
distancia del objeto, al usar: distancia recorrida = velocidad x tiempo
transcurrido
Por lo anterior es necesario medir la duracin del pulso alto del ECHO.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
echo = 0
espera = 0
echo = RB0
se asigna el valor del bit 0 del puerto B (este puede
ser el de elecccion personal)
RB7=1
Waitus 10
RB7=0
Goto main
End
Introduccin monitoreo de
temperatura.
MIV 2014
Del valor de x se aplican las ecuaciones pertinentes para determinar la
distancia en cm.
Introduccin monitoreo de
temperatura.
MIV 2014
Waitus 10
RB7=0
echo = RB0
If echo = 1 Then
realiza el se verifica
T1CON.TMR1ON = 1
Else
T1CON.TMR1ON = 0
Endif
Termina la sentencia IF
Introduccin monitoreo de
temperatura.
MIV 2014
ciclo:
While RB0 = 1
cero.
Goto ciclo
Wend
termina el ciclo while lo que significa que hay cambio
de estado en echo de 1 a cero
T1CON.TMR1ON = 0 por lo que se detiene el timer1, el timer 1 esta
dividido en un valor alto y un valor bajo cad uno de 8 bits por lo que el conteo
mximo del TMR1L es de 255us y el TMR1H contara las veces que ha contado
el ciclo de 255us.
tiempoh = TMR1H
TMR1H a una variable.
tiempol = TMR1L
correspondiente variable.
de
igual
modo
con
TMR1L
su
Return
Introduccin monitoreo de
temperatura.
MIV 2014
Waitus 10
RB7=0
T1CON.TMR1ON = 1
ciclo:
While RB0 = 1
este debe ser 1 en el puerto B bit cero, puede
escoger el usuario otro puerto otro bit.
Goto ciclo
estado cada 8us
Wend
Rendon Picaseo Osiel.
MIV 2014
T1CON.TMR1ON = 0 cuando se detecta el cambio de estado de 1 a cero
en el echo se sale del bucle de verificacin (while anterior) y se procede a
desactivar el timer1
tiempoh = TMR1H
los datos del timer estarn en las locaciones
de memoria dedicadas TMR1H la cual cuenta cuantas veces se a relizado el
ciclo de conteo de TMR1L el cual cuenta 255us.
tiempol = TMR1L
y TMR1L realiza la operacin de cronometro
con una capacidad de 0 a 255us.
conjunto = (TMR1H * 255) + TMR1L
por lo que se requiere de la
operacin conjunto el cual nos dara el valor absoluto del tiempo transcurrido.
Return
Con los valores obtenidos se realizan las operaciones pertinentes.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Funcionamiento:
1. Enviar un Pulso "1" de al menos de 10uS por el Pin Trigger
(Disparador).
2. El sensor enviar 8 Pulsos de 40KHz (Ultrasonido) y coloca su salida
Echo a alto (seteo), se debe detectar este evento e iniciar un conteo
de tiempo.
3. La salida Echo se mantendr en alto hasta recibir el eco reflejado por
el obstculo a lo cual el sensor pondr su pin Echo a bajo, es decir,
terminar de contar el tiempo.
4. Se recomienda dar un tiempo de aproximadamente 50ms de espera
despus de terminar la cuenta.
5. La distancia es proporcional a la duracin del pulso y puedes
calcularla con las siguiente formula (Utilizando la velocidad del sonido
= 340m/s):
Distancia en cm (centmetros) = Tiempo medido en s x 0.017
Nota:
Tener en cuenta, que la distancia que recorre la onda es dos veces (x2) la
distancia del objeto, al usar: distancia recorrida = velocidad x tiempo
transcurrido
Por lo anterior es necesario medir la duracin del pulso alto del ECHO.
Introduccin monitoreo de
temperatura.
MIV 2014
'Osiel Rendon Picaseo
'2014
TRISD = %0000111
TRISC = %00011111
Dim echo As Bit
Dim tiempoh As Byte
Dim tiempol As Byte
Dim conjunto As Word
main:
Toggle RD1 led usada paa observer los
microcontrolador. Prende un ciclo apaga un ciclo.
ciclos
de
trabajo
dem
TMR1 = 0
TMR1H = 0
TMR1L = 0
echo = RC4
Gosub timer1
del ultrasnico
Gosub dibt
en bluetooth.
Goto main
End
timer1:
RC5 = 1 'Se pone en alto la seal de disparo (trigger).
WaitUs 10 'tiempo mnimo para mandar el disparo (trigger) al sensor.
RC5 = 0 'Se pone en bajo (cero) la seal de disparo (trigger).
While echo = 0 'Comienza bucle esperando el cambio de cero a uno
echo = RC4 'en el pin 4 del puerto C (ECHO del sensor)
Wend 'termina el bucle while.
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
'si cambia de 0 a 1 echo entonces sale del bucle y entra en el siguiente
bucle el cual va a contar el tiempo en alto de la seal.
T1CON.TMR1ON = 1 'se detiene el timer 1 TMR1 (que no este contando)
ciclo: 'una vez encendido el timer1 se entra en un ciclo
While RC4 = 1 'para verificar el cambio de estado de echo de 1 a cero.
Goto ciclo 'Se regresa a ciclo si es que valor de echo es 1.
Wend 'termina el ciclo while lo que significa que hay cambio de estado en
echo de 1 a cero
T1CON.TMR1ON = 0 'por lo que se detiene el timer1, el timer 1 esta
dividido en un valor alto y un valor bajo cad uno de 8 bits por lo que el conteo
mximo del TMR1L es de 255us y el TMR1H contara las veces que ha contado
el ciclo de 255us.
tiempoh = TMR1H 'entonces se lleva el valor de la memoria TMR1H a una
variable.
tiempol = TMR1L 'de igual modo con TMR1L a su correspondiente variable.
conjunto = (TMR1H * 255) + TMR1L 'esa ecuacin nos dara el tiempo total
Return
dibt:
Serout PORTC.6, 9600, "Valor: ", #conjunto, CrLf
WaitMs 250
Return
Introduccin monitoreo de
temperatura.
MIV 2014
Nota ilustrativa
6008 temp lm35 analoginputdigitalalarm.vi
El siguiente esquema muestra la implementacin de la escritura de datos a
un archivo
Introduccin monitoreo de
temperatura.
MIV 2014
When you select this file format, you enable the Lock file for faster access
checkbox. Selecting this checkbox makes reading and writing significantly
faster (at the expense of the ability to multitask certain activities). It is
recommended that you use this option in most cases. Note When this option
is enabled, no two Express VIs can access the same file at the same time when
one of them is writing a "series of files."
Introduccin monitoreo de
temperatura.
MIV 2014
data changes over time, if you acquire two or more signals at different
acquisition rates, or if the list of signals you log changes over time.
One header onlyCreates only one header in the file to which LabVIEW
writes the data. Select this option if you acquire the same list of signals at the
same constant acquisition rate.
No headersDoes not create a header in the file to which LabVIEW writes
the data. Note This option is available only when you select the Text (LVM)
option from the File Format section.
X Value Columns Contains the following options:
One column per channelCreates a separate column for time data each
channel generates. This option includes a column of values from the x-axis for
every column of values from the y-axis. Select this option if you acquire signals
of different types or at different acquisition rates.
One column onlyCreates only one column for the time data the channels
generate. This option includes only one column of values from the x-axis.
Select this option if you acquire signals at the same acquisition rate.
Empty time columnCreates an empty column for the time data each
channel generates. This option does not include the data from the x-axis.
Delimiter Contains the following options:
TabUses tabs to delimit fields in the text file.
CommaUses commas to delimit fields in the text file. Note These options
are available only when you select the Text (LVM) option from the File Format
section.
File Description Contains the description of the .lvm, .tdm, or .tdms file.
LabVIEW appends the text you enter in this text box to the header of the file.
AdvancedDisplays the Configure User-Defined Properties dialog box. This
option is available only when you select the Binary (TDMS) or Binary with XML
Header (TDM) options from the File Format section.
Block Diagram Inputs
Parameter Description
Signals Contains the input signal or signals. If you wire two or more signals
with the same name to the Signals input, LabVIEW appends an integer to the
end of the names written in the file, which enforces unique channel names. For
example, if you wire two signals named Sine to the Signals input, LabVIEW
writes the names as Sine and Sine 1. Note To change or customize how a
signal name displays, use the Set Dynamic Data Attributes Express VI.
Enable Enables or disables the Express VI. The default is ON or TRUE.
new_file If TRUE, stops writing to the current file, creates the next file in the
series, and writes to that file instead. This option is available only when you
place a checkmark in the Save to series of files (multiple files) checkbox.
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
error in (no error) Describes error conditions that occur before this node
runs.
DAQmx Task Specifies the DAQmx task to use to populate data on the
DAQmx Properties page of the Configure User Defined Properties dialog box.
Comment Appends a comment to each data set written to the .lvm or .tdm
file.
Filename Specifies the name of the file to which you want to write data. If
Filename is not wired, the VI uses the Filename specified in the configuration
dialog box.
Block Diagram Outputs
Parameter Description
Filename Out Returns the name of the file.
Saving Data Indicates if the Express VI is saving the data.
error out Contains error information. This output provides standard error out
functionality.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
error in (no error) Describes error conditions that occur before this node
runs.
Block Diagram Outputs
Parameter Description
Present (s) Displays the present time in seconds since 12:00 a.m., Friday,
January 1, 1904, Universal Time [01-01-1904 00:00:00].
Present Text Displays the present date and time in text format.
Elapsed Time (s) Displays the amount of time in seconds that has elapsed
since the start time and the Present (s) time.
Time has Elapsed Indicates if the Elapsed Time (s) is greater than the start
time plus Time Target (s).
Elapsed Time Text Displays the amount of time in seconds that has elapsed
since the start time.
error out Contains error information. This output provides standard error out
functionality.
Start Time Text If Automatically reset after time target is FALSE, displays (in
text format) the date and time the VI first ran or the time you wire to the Set
Start Time (s) input. Otherwise displays the date and time of the last reset.
Get Start Time (s) If Automatically reset after time target is FALSE, displays
the date and time the VI first ran or the time you wire to the Set Start Time (s)
input. Otherwise displays the date and time of the last reset.
This Express VI operates similarly to the following VIs and functions:
Get Date/Time In Seconds
Share Variables
Y la declaracin de variables para ser publicadas por medios net.
Para saber a detalle la publicacin de variables en la red valla a intenet y
busque informacin sobre el Dash board de National instruments
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Caso 2 For
Es posible que el conteo lo realice de manera automtica (realmente es
secuencial), para ello utilizamos un For el cual quiere decir Para la variable
var dale un valor de 0 hasta 255 y en cada ciclo muestra el valor de la
variable var en el puerto B, despus anexa 1 a la variable y raliza de nuevo el
contenido del For, cuando llegues a 255 sal del For y continual con la siguente
instruccin despus del Next de este ciclo de For
TRISB = 0x00
Dim var As Byte
main:
For var = 0 To 255
PORTB = var
Next var
Goto main
End
Introduccin monitoreo de
temperatura.
MIV 2014
Caso 4 While
Podemos hacer que el automatismo sea en incremento o decremento y
manipular en qu sentido valla usando un While que significa mientras.
Por tanto mientras una entrada por ejemplo C0 sea igual a cero que valla en
incremento pero mientras el valor sea de uno valla en decremento.
TRISB = 0x00
Dim var As Byte
main:
While RC0 = 0
For var = 0 To 255 Step 2
PORTB = var
Next var
Wend
While RC0 = 1
For var = 255 To 0 Step -2
PORTB = var
Next var
Wend
Goto main
End
Introduccin monitoreo de
temperatura.
MIV 2014
Caso 5 IF
Para poder realizar la interrupcin del FOR podemos auxiliarnos de la
funcin IF. La funcin IF es una instruccin de decisin basada en la
comparacin de dos o ms condiciones de estado o valor, dando como
resultado dos posibles soluciones cuando la solucin del conjunto de
comparaciones es verdadera o se cumple y cuando el conjunto de
comparaciones es falsa o no se cumple. Para este caso reevaluamos la
condicin de entrada RC0 diciendo entonces si RC0 es igual a cero, entonces
asgnale el valor meta a la variable del FOR Esta accin cambiara el valor de
la variable y en subsecuencia dar por concluido el bucle FOR.
TRISB = 0x00
TRISC = %00000001
TRISD = %00000001
Dim var As Byte
main:
While RC0 = 1
RC1 = 1
RD1 = 0
For var = 0 To 200
PORTB = var
If RC0 = 0 Then
var = 200
Endif
Next var
Wend
While RC0 = 0
RC1 = 0
RD1 = 1
For var = 100 To 0 Step -2
PORTB = var
If RC0 = 1 Then
var = 0
Endif
Next var
Wend
Goto main
End
Introduccin monitoreo de
temperatura.
MIV 2014
Caso 5 IF completo
El ejemplo anterior puede ser resulto con la utilizacin del comando IF y
eliminando el uso del comando While.
TRISB = 0x00
TRISC = %00000001
TRISD = %00000001
Dim var As Byte
main:
If RC0 = 1 Then
RC1 = 1
RD1 = 0
For var = 0 To 200
PORTB = var
If RC0 = 0 Then
var = 200
Endif
Next var
Else
RC1 = 0
RD1 = 1
For var = 100 To 0 Step -2
PORTB = var
If RC0 = 1 Then
var = 0
Endif
Next var
Endif
Goto main
End
Introduccin monitoreo de
temperatura.
MIV 2014
Caso 6 CASE
Para el siguiente ejemplo se requiere dar una seal de salida (encender un
led) cuando se encuentre el valor en entre 0 y 49, otro para 50 y 99, un
tercero para 100 y 149 y finalmente una ms para 150 a 200. Sin importar si
va en incremento o decremento.
El problema puede resolverse con IF pero es un buen ejemplo para
resolverlo con CASE
TRISC = %00000001
TRISD = %00000001
Dim var As Byte
main:
If RC0 = 1 Then
RC1 = 1
RD1 = 0
For var = 0 To 200
PORTB = var
If RC0 = 0 Then
var = 200
Endif
Gosub caso
Next var
Else
RC1 = 0
RD1 = 1
For var = 200 To 0 Step -2
PORTB = var
If RC0 = 1 Then
var = 0
Endif
Gosub caso
Next var
Endif
Goto main
End
caso:
Dim x As Byte
Select Case var
Case >= 150
RC5 = 1
RC4 = 0
RD3 = 0
RD2 = 0
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
eSHi (freebasic):
1. AllDigital
2. TRISA = %00000001
3. TRISB = 0
4. Dim i As Byte
5. Dim accion As Byte
6. i = 1
7. accion = 1
8. main:
9.
If RA0 = 1 Then
10.
While RA0 = 1
11.
Wend
12.
i = i + 1
13.
If i = 4 Then i = 1
14.
PORTB = 0
15.
Endif
16.
17.
WaitMs 300
Select Case i1
Introduccin monitoreo de
temperatura.
MIV 2014
23.
Case 1
24.
PORTB.0 = 1
25.
Case 2
26.
PORTB.1 = 1
27.
Case 3
28.
29.
PORTB.2 = 1
EndSelect
30. Else
31.
Select Case i1
32.
Case 1
33.
PORTB.0 = 0
34.
Case 2
35.
PORTB.1 = 0
36.
Case 3
37.
38.
PORTB.2 = 0
EndSelect
39. Endif
40. If accion = 0 Then
41.
accion = 1
42. Else
43.
accion = 0
44. Endif
45.
Rendon Picaseo Osiel.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
La caja de pruebas
La caja de pruebas
La caja de pruebas es un instrumento de laboratorio de fcil fabricacin y
de materiales que son relativamente fciles de conseguir en el entorno.
La caja de pruebas tiene la finalidad poder poner en situacin real las
practicas que aqu se presentan y complementar un ciclo de operacin de un
sistema de adquisicin de datos.
Materiales
Una caja de plstico (contenedor) cuyas medidas puedan albergar los
dems elementos. Una medida aproximada y sugerida es de 15x15x15 cm
Un foco reflector incandescente con su soquet y cableado pertinente el cual
ser nuestra fuente de calor. Por lo que NO debe usarse focos ahorradores o de
LED.
Un ventilador de corriente directa tipo PC el cual servir para disipar el calor
inyectando aire al sistema.
Dos relevadores se recomienda el uso de mdulo de relevadores con la
etapa de potencia.
Un sistema de sujecin para el sensor de temperatura, con el cual se pueda
montar y sujetar el sensor en la parte frontal del foco.
Otros elementos de electrnica de potencia para controlar la velocidad del
ventilador, y la intensidad del foco.
Introduccin monitoreo de
temperatura.
MIV 2014
Introduccin monitoreo de
temperatura.
MIV 2014
Links a videos
https://youtu.be/Ra7e9Ou_yHs
https://youtu.be/Bhs1RJj3pQ4
https://youtu.be/T3zE8G8NWfc
https://youtu.be/wYUkvs81TQY
https://youtu.be/AGB-YwtaKgA
https://youtu.be/2Sh3p4UUbzQ
https://youtu.be/lHAFwCOE7HY
https://youtu.be/6p8p9wPWNn0
https://youtu.be/rw3MVV2SBpc
https://youtu.be/p3-_IPFepNQ
https://youtu.be/XQ1iFL3bneQ
https://youtu.be/_tVuqzw4EGY
Introduccin monitoreo de
temperatura.