SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
DISEÑO E IMPLEMENTACIÓN DE UN
SENSOR DE NIVEL ULTRASÓNICO
(HC-SR04)
65
985
986
987
988
989
990
991
992
993
994
129
130
UATX
OBJETIVOS
1. Diseñar e implementar un sensor de nivel, para medir el nivel de agua
de un tanque.
2. Monitorear dicho sensor con el software LABVIEW.
Figura C.: Sensor de nivel monitoreado por LabView.
66
995
996
997
998
999
1000
1001
1002
131
132
UATX
MATERIAL
El material que se utilizó se enlista a continuación:
1. Un microcontrolador PIC16F84A.
Figura C.: PIC16F84A
2. Un push-boton.
Figura C.: Push-botton.
3. Una resistencia de 10k ohms y una de 100 ohms, ¼ WATT.
Figura C.: Resistencias.
4. Un cristal de 4Mhz.
Figura C.: Cristal de 4Mhz.
5. 2 capacitores de 33pF.
67
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
133
134
UATX
Figura C.: Capacitores de 33pF.
6. Un circuito integrado MAX232.
Figura C.: CI MAX232
7. 5 capacitores de 1uF y uno de 10uF.
Figura C.: Capacitor de 1uF.
8. Un regulador de voltaje L7805CV.
Figura C.: Regulador de voltaje.
9. Tres borneras para PCB dobles.
68
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
135
136
UATX
Figura C.: Borneras para PCB.
10. Un cable USB-SERIAL.
Figura C.: Cable USB-Serial marca STEREN.
11. Una conexión DB9 hembra.
Figura C.: Conexión DB9 HEMBRA
12. Una placa fenólica de 5cmx5cm.
Figura C.: Placa fenólica de 5cmX5cm.
13. Un módulo ultrasónico HC-SR04.
69
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
137
138
UATX
Figura C.: Módulo Ultrasónico HC-SR04.
14. Un cargador para celular de 5V.
Figura C.: Cardador para celular.
15. Una computadora con LABVIEW 2010.
Figura C.: Computadora con LABVIEW 2010.
70
1044
1045
1046
1047
1048
1049
1050
1051
1052
139
140
UATX
DESARROLLO
DISEÑO, SIMULACIÓN E IMPLEMENTACIÓN DE UNA INTERFAZ
ELECTRÓNICA: SENSOR-COMPUTADORA.
Figura 0.: Bloques del diseño electrónico.
En la figura 17 se muestran los bloques que componen la interfaz
electrónica de los cuales la computadora y el cable USB-serial solo se
tienen que conectar, el diseño de demás bloques se describen a
continuación:
SENSOR ULTRASÓNICO
71
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
141
142
UATX
Figura 0.: Sensor ultrasónico HC-SR04
Como sensor ultrasónico se utilizó un Módulo Ultrasónico modelo
HC-SR04 el cual permite medir distancias de 2cm a 450cm sin hacer
contacto con ellos. Su funcionamiento consiste disparar una ráfaga de
ultrasonidos de 40 khz y capturando el eco que estas producen dicho módulo
produce una señal proporcional a la distancia.
Las características del Módulo Ultrasónico son:
1. Voltaje de trabajo (VCC): 5V.
2. Consumo de corriente: menor a 2mA.
3. Señal de salida TTL.
4. Angulo de medición: menor a 15°.
5. Resolución: 0.3 cm.
6. Señal de entrada para activación (TRIG): un pulso de por lo menos
10us.
7. Señal de salida (ECHO): TTL.
Pines de conexión:
1. VCC
2. TRIGGER
3. ECHO
4. GND
72
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
143
144
UATX
Figura 0.: Pines de conexión
Figura 0.: Diagrama de tiempo
Para hacer funcionar este sensor primero se debe alimentar a 5V,
después se ingresa a través del pin TRIG un pulso no menor de 10us, el
módulo enviará 8 pulsos TTL a una frecuencia de 40 khz, si encuentra un
obstáculo el pin de salida ECHO mostrará un pulso en alto proporcional a la
distancia. La fórmula para calcular la distancia es:
73
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
145
146
UATX
Ecuación : Calcular la distancia en centímetros.
distancia (cm)=
tiempoenaltoenus( pin ECHO)
58.82us
Para evitar medidas erróneas el objeto debe tener una superficie lisa
y no debe ser menor a 0.5 m2
, pero en este caso el agua prácticamente
rebota las ondas ultrasónicas.
MICROCONTROLADOR PIC16F84A
El microcontrolador PIC16f84A de la marca Microchip tiene las siguientes
características:
• Frecuencia de oscilación de 4Mhz.
• Alimentación de 5V DC.
• Tiene 18 pines.
• Un puerto A con 5 lineas de entrada/saida.
• Un puerto B con 8 lineas de entrada/saida.
• Cada pin puede proporcionar hasta 20mA.
• Las instrucciones se ejecutan en 1 ciclo.
• Conjunto de instrucciones reducido, RISC (35 instrucciones).
• Incluye también un módulo de memoria para programa y una
memoria auxiliar para datos del tipo EEPROM, por si falla la
alimentación.
• Entradas multiplexadas para interrupciones y el
contador/temporizador.
Figura 0.: PIC16F84A.
74
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
147
148
UATX
PROGRAMACIÓN DEL MICROCONTROLADOR
Para detectar el ancho de pulso proveniente del módulo ultrasónico,
se utilizó la interrupción por cambio de flanco del PIN B0. Esto quiere decir
que cuando ocurra un cambio de flanco ya sea de cero volts a cinco volts o
de cinco volts a cero volts por el PIN B0, el microcontrolador suspenderá
cualquier operación que esté realizando para ejecutar la rutina previamente
programada cada vez que ocurra una interrupción.
Para medir el tiempo en alto del PIN B0 se utilizó el único TIMER del
microcontrolador. El TIMER de este microcontrolador es de 8 bits (00h a FFh)
y puede contar hasta 255 (28
=256); si se configura el TIMER con oscilación
interna, el TIMER incrementará cada 1us esto da como resultado un contador
de 255us.
Pero 255us no es suficiente ya que el ancho de pulso a medir llega
hasta 26,469 us aproximadamente (Ecuación 2 y 3), por lo que se configuró
el TIMER_0 con una escala de 1:256, entonces el TIMER_0 se incrementará
cada 255 us dando un valor máximo de 65,535 us que es un valor aceptable
para este proyecto.
Ecuación : Calcular el tiempo en alto proporcional a la distancia.
distancia (cm)∗58.82us=tiempo enaltoenus( pin ECHO)
Ecuación : Cálculo del tiempo en alto proporcional a 4.5m
450cm∗58.82us=26,469us
Según el párrafo anterior si se tuviera un TIMER de 16 bits (65,536 us)
configurado con una escala de 1:1 sería suficiente para medir una distancia
4.5m (26,469 us). Pero como el PIC16F84A solo tiene un TIMER de 8bits se
configuró con una escala de 1:256, esto permitió medir unidades de 4.33cm
(Ecuación 4) pero no se puede medir distancias menores a 4.33cm por eso
se volvió a configurar el TIMER_0 con una escala de 1:1 para medir unidades
milimétricas (1us); por último se sumaron las mediciones obtenidas con las
escalas de 1:256 y 1:1 para así obtener una medición exacta.
75
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
149
150
UATX
Ecuación : Cálculo de unidades en distancia con escala de TIMER_0 a 1:256.
distancia (cm)=
tiempoenaltoenus( pin ECHO)
58.82us
=
255us
58.82us
=4.33cm
Por ejemplo una distancia de 10cm equivale a 588.2us (Ecuación 2),
el TIMER_0 a una escala de 1:256 devolverá un 2; el TIMER_0 a una escala de
1:1 devolverá un valor de 78; ahora si sumamos los valores del TIMER_0 a
escalas de 1:255 y 1:1 nos devolverá el microcontrolador un valor de 588us
(Ecuación 5) que es una medición correcta.
Ecuación : Calculo de microsegundos a 10cm.
78us+(2∗255us)=78us+510us=588us
Cuando el PIC16F84A envía un pulso de aproximadamente 10us al
MÓDULO ULTRASÓNICO, este módulo produce 8 pulsos a una velocidad de
40 kHz, si encuentra un obstáculo produce una salida en alto proporcional a
la distancia (PIN ECHO), esta señal es capturada y procesada por el
PIC16F84A
El diagrama de flujo de la figura 22 contiene la secuencia que se
siguió para programar el PIC16F84A. El Anexo 1 contiene el programa en C,
el cual se compiló con el software PIC C Compiler versión 4.068.
76
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
151
152
UATX
Figura 0.: Diagrama de flujo correspondiente a la programación del PIC16F84A.
77
1176
1177
153
154
UATX
INTERFÁZ TTL-RS232
El circuito integrado MAX232 convierte los niveles de las líneas de un
puerto serie RS232 a niveles TTL y viceversa. Lo interesante es que sólo
necesita una alimentación de 5V, ya que genera internamente algunas
tensiones que son necesarias para el estándar RS232. Otros integrados que
manejan las líneas RS232 requieren dos voltajes, +12V y -12V.
Figura 0.: Configuración del CI MAX232.
En la figura anterior se puede observar la forma más usual para
conectar el circuito MAX232, en donde a todos los capacitores se les asignó
un valor de 1uF. Se conectaron los pines 17 y 18 del PIC con los pines 11 y 12
del MAX232, y los pines 14 y 13 del MAX232 con los pines 2 y 3 del conector
DB9 como se observa en la figura 24.
78
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
155
156
UATX
T1IN
11
R1OUT
12
T2IN
10
R2OUT
9
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8
C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
MAX232
MAX232
C1
1uF
C2
1uF
C3
1uF
C4
1uF
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
16F84A
PIC16F84A ERROR
TXD
3
RXD
2
CTS
8
RTS
7
DSR
6
DTR
4
DCD
1
RI
9
COM_HEMBRA
COMPIM
OSC1
OSC2
RST
CONECTOR DB9 HEMBRA
OUT_PIC
IN_PIC
OUT_PIC
IN_PIC
ECHO
TRIG
OUT_MAX
OUT_MAX
IN_MAX
IN_MAX
LED
Figura 0.: Conexiones del PIC, MAX232 Y DB9
R_BUTOON
10K
XTAL_4M
CRYSTAL
33PF_2
33pF
33PF_1
33pF
OSC1
OSC2
OSCILADOR
RST
RESET
1
2
3
4
ULTRASONICO
TBLOCK-I4
TRIG
ECHO
LED
R_LED
100
LED
LED-BLUE
Figura 0.: Conexiones del MÓDULO ULTRASÓNICO, LED, RESET Y EL OSCILADOR.
CABLE USB-SERIAL
El modelo del cable que se utilizó es el HL-2303 de la marca STEREN, que tiene en un extremo
un conector DB9 macho que se conectó al conector DB9 hembra. (Figura 26)
Para que la computadora lo reconozca como un PUERTO COM, se tiene que instalar
previamente un driver que se puede descargar del sitio STEREN.
79
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
157
158
UATX
Figura 0.: Cable USB-SERIAL
SIMULACIÓN DEL CIRCUITO
La simulación de la circuitería se realizó con el software Proteus 7.7.
En dicha simulación no se incluyó el módulo ultrasónico ya que no está
incluido en las librerías de Proteus, pero en su lugar se utilizó un generador
de funciones para simular la salida ECHO del módulo ultrasónico.
En la figura 27 se representa la simulación de la circuitería, la cual se
describe a continuación:
1. Para el oscilador se utilizó un cristal de 4Mhz y 2 capacitores
de 33pF. Para evitar confusión con el cableado en la simulación,
se utilizaron 2 nodos (OSC1 Y OSC2) conectados a los pines 15 y
16 del microcontrolador.
2. Para el reset, se utilizó una resistencia de 10k ohms y un
push-boton. Mientras el push-boton esté abierto el
microcontrolador trabajará normalmente. El nodo que se utlilizó
es el RST conectado al pin 4 del microcontrolador.
3. Se utilizaron 2 instrumentos virtuales, un generador de onda
y un osciloscopio. Con el generador de onda se genera un
pulso en similar al que genera el módulo ultrasónico y con el
osciloscopio se visualizan 2 señales, una correspondiente al
generador de onda y la otra corresponde a los pulsos de 10us
que genera el microcontrolador por el pin B1.
4. También se simuló el circuito MAX232 con sus capacitores de
1uF, el cual está conectado al PIC16F84 y a un conector DB9
hembra. Por el pin 11 recibe una señal TTL la convierte a RS232
por el pin 14, igualmente por el pin 13 recibe una señal RS232 y
la convierta a TTL por el pin 12.
5. Para conector DB9 hembra, el pin 5 está conectado a tierra, el
pin 2 es para recepción de datos y el pin 3 es para transmisión
80
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
159
160
UATX
de datos. Los puentes son opcionales, mientras que los demás
pines no se utilizan.
6. En la parte inferior aparecen 2 terminales virtuales, una
terminal es para enviar datos al PIC (simulando a la
computadora) y la otra terminal es para visualizar los datos
provenientes del PIC.
A
B
C
D
R_BUTOON
100
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
16F84A
PIC16F84A
XTAL_4M
CRYSTAL
33PF_2
33pF
33PF_1
33pF
OSC1
OSC2
OSC1
OSC2
OSCILADOR
RST
RST
RESET
B6
MAX232
RXD
RTS
TXD
CTS
RXD
RTS
TXD
CTS
OSCILOSCOPIO
SIMULA LA TRANSMISIÓN DE DATOS DE LA COMPUTADORA
SIMULA LA RECEPCIÓN DE DATOS DE LA COMPUTADORA
OUT_PIC
OUT_PIC
IN_PIC
IN_PIC
ECHO
ECHO
TRIG
TRIG
LED
LED
R_LED
100
LED
LED-BLUE
AM FM
+
-
GENERADOR DE ONDA
ECHO
T1IN
11
R1OUT
12
T2IN
10
R2OUT
9
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8
C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
MAX232
MAX232
C1
1uF
C2
1uF
C3
1uF
C4
1uF
ERROR
TXD
3
RXD
2
CTS
8
RTS
7
DSR
6
DTR
4
DCD
1
RI
9
COM_HEMBRA
COMPIM
CONECTOR DB9 HEMBRA
OUT_PIC
IN_PIC
OUT_MAX
OUT_MAX
IN_MAX
IN_MAX
Figura 0.: Diagrama de simulación.
Al simular el circuito anterior aparecen 4 ventanas (figura 28):
81
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
161
162
UATX
Figura 0.: Simulación en Proteus 7.7.
Los puntos que se comprobaron con esta simulación fueron los siguientes:
1. El microcontrolador produce los pulsos de 10us sin ningún problema
cuando se ingresa un dato en modo USART por el pin A1 del
microcontrolador.
2. Al procesar el ancho de pulso entrante en el pin B0 del PIC, dicho
microcontrolador envía el valor de la variable DISTANCIA por el pin A0
en modo USART. En pocas palabras la comunicación USART del
microcontrolador funciona correctamente.
3. El generador de onda no fue de mucha ayuda ya que no se puede
emular el tiempo de respuesta como el Módulo Ultrasónico, pero en
confiando en las especificaciones del Módulo Ultrasónico se hicieron
pruebas en un protoboard y el resultado fue satisfactorio.
PRUEBAS
82
Hiperterminal Virtual.- Aquí se
escribe un carácter, emulando
la información que entra al PIC.
Hiperterminal Virtual.-
Aquí aparece la
información que sale del
PIC.
Pulso del generador de onda,
emulando la respuesta del
Módulo Ultrasónico
Pulso TRIGGER
proveniente del
PIC.
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
163
164
UATX
El circuito se armó de acuerdo a la simulación en Proteus (Fig. 27) en un
protoboard. (Figura 29)
Figura 0.: Circuito armado en un protoboard.
La primera prueba que se realizó fue medir la distancia que hay entre
el sensor ultrasónico y la pared (Figura 30). En esta prueba hubo un error de
aproximadamente 0.4cm.
Al realizar mediadas de hasta 4.5m, se comprobó que hay un error de
0.4cm a 2cm. Esto se debe a que la superficie donde rebotan las ondas
ultrasónicas no es la adecuada, según las especificaciones del módulo
ultrasónico la superficie debe ser lisa y de un mínimo de 0.5m2
. Los mismos
errores se obtuvieron al colocar diferentes objetos pequeños.
83
MICFROCONTROLADOR
PIC16F84A
FUENTE DE
5VDC
CIRCUITO
INTEGRADO
MAX232
CONEXIÓN
RS-232
Módulo
Ultrasónico
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
165
166
UATX
Figura 0.: Medición entre el Sensor Ultrasónico una pared.
También se realizaron pruebas en un bote con agua. (Figuras 31 y32)
Figura 0.: Pruebas con en un bote con agua.
84
1282
1283
1284
1285
1286
1287
1288
1289
167
168
UATX
Los resultados de las mediciones y comparaciones se presentan en la
siguiente tabla:
Tabla : Resultados con agua.
TABLA DE RESULTADOS CON AGUA
Medida real (cm) Medida en labview (cm) Diferencia (cm)
2.7 2.8 0.1
7.9 8 0.1
15.8 15.7 0.1
24.2 24.3 0.1
33 33 0
De acuerdo a la tabla anterior se comprobó que el funcionamiento del
módulo ultrasónico es correcto, también se concluye que el margen de error
es aceptable siendo de aproximadamente de 1 milímetro.
Figura 0.: Marcas en el bote.
DISEÑO DE PCB
85
Marcas con
plumón
negro.
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
169
170
UATX
Primero utilizó el software ISIS de Proteus 7.7 para agregar los
componentes necesarios (Fig. 33), después se utilizó el software ARES de
Proteus 7.7 para diseñar la PCB (Figuras 34, 35 y 36).
En la figura 33 aparecen los componentes necesarios para elaborar la
PCB destacando que no se utilizaron las conexiones para simulación ya que
generaría un error, simplemente se utilizó ISIS como una herramienta de
dibujo. Para la fuente de poder se agregó una bornera doble donde se
conectará una fuente igual o mayor a 5VDC y se agregó una bornera
cuádruple para conectar el Módulo Ultrasónico.
D
R_BUTOON
10K
T1IN
11
R1OUT
12
T2IN
10
R2OUT
9
T1OUT
14
R1IN
13
T2OUT
7
R2IN
8
C2+
4
C2-
5
C1+
1
C1-
3
VS+
2
VS-
6
MAX232
MAX232
C1
1uF
C2
1uF
C3
1uF
C4
1uF
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
16F84A
PIC16F84A
XTAL_4M
CRYSTAL
33PF_2
33pF
33PF_1
33pF
ERROR
TXD
3
RXD
2
CTS
8
RTS
7
DSR
6
DTR
4
DCD
1
RI
9
COM_HEMBRA
COMPIM
OSC1
OSC2
OSC1
OSC2
OSCILADOR
RST
RST
RESET
CONECTOR DB9 HEMBRA
VI
1
VO
3
GND
2
REGULADOR
7805
1
2
POWER 5VDC-12VDC
1
2
3
4
ULTRASONICO
TBLOCK-I4
C_10U
10uF
C_1U
1uF
OUT_PIC
IN_PIC
OUT_PIC
IN_PIC
ECHO
TRIG
TRIG
ECHO
OUT_MAX OUT_MAX
IN_MAX
IN_MAX
LED
LED
R_LED
100
LED
LED-BLUE
Figura 0.: Componentes para la PCB.
86
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
171
172
UATX
Figura 0.: Vista superior de la PCB.
Figura 0.: Vista inferior de la PCB.
Figura 0.: Vista 3D de la PCB.
87
1315
1316
1317
1318
1319
1320
1321
173
174
UATX
Después de tener el diseño en ARES se procedió a construir el circuito
impreso en ARES (Fig. 37), acoplarlo a una estructura de acrílico (Fig. 38) y
colocar el prototipo en un tanque de agua (Fig. 39).
Figura 0.: Vista superior real de la PCB.
Figura 0.: Vista inferior real de la PCB acoplada a una estructura de acrílico.
88
5VDC-12VDC
Terminal
positiva.
Trigger
GND
5VDC
1322
1323
1324
1325
1326
1327
1328
1329
1330
175
176
UATX
Figura 0.: PCB acoplada a un tanque de agua.
INTERFAZ DE LABVIEW
Labview es un entorno de programación gráfica usado por miles de
ingenieros e investigadores para desarrollar sistemas sofisticados de medida,
pruebas y control usando íconos gráficos e intuitivos y cables que parecen un
diagrama de flujo.
Para este trabajo se utilizó la versión Labview 2010, el cual trae
algunos ejemplos para la comunicación RS-232. El ejemplo que se utilizó fue
el de comunicación serial básico, dicho ejemplo modificó suprimiendo la
mayoría de las instrucciones para hacerlo más simple.
El diagrama de flujo de la figura 40 representa la programación en
LabView 2010.
89
Prototipo
acoplado a
un tanque1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
177
178
UATX
Figura 0.: Diagrama de flujo del VI.
90
1344
1345
179
180
UATX
Las siguientes figuras contienen la programación (Diagrama a
Bloques) en LabView según el Diagrama de Flujo (Fig 40), en las cuales se
indica con comentarios amarillos para que sirve cada instrucción.
Figura 0.: Frame 0 y Case False.
Figura 0.: Frame 0 y Case True.
91
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
181
182
UATX
Figura 0.: Frame 1.
Figura 0.: Frame 2.
92
1356
1357
1358
1359
1360
1361
1362
1363
1364
183
184
UATX
Figura 0.: Frame 3.
Por último la figura 46 contiene el Panel Frontal del programa en LabView.
Figura 0.: Panel Frontal.
PUESTA EN MARCHA
93
1365
1366
1367
1368
1369
1370
1371
1372
1373
185
186
UATX
Para poner en marcha este prototipo se necesitan seguir los siguientes pasos:
1. Conectar el cable USB-SERIAL a la computadora e instalar el driver su driver.
2. Una vez instalado el driver de cable USB-SERIAL se tiene que habilitar el puerto serial
en Measurement & Automation Explorer de NI. Esto es para LabView 2010, si se
omite este paso al correr cualquier VI para RS232 generará un error.
Figura 0.: Icono de Measurement & Automation.
Figura 0.: Interfaz de Measurement % Automation.
3. Conectar una fuente entre 6VCD y 12VCD al prototipo; puede ser una pila de 9VCD o
en este caso un cargador para celular.
94
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
187
188
UATX
4. Conectar la punta DB9 macho del cable USB-SERIAL a la conexión DB9 hembra del
prototipo.
Figura 0.: Conexión del cable USB-SERIAL a el prototipo.
5. Abrir y correr el VI que se describió en el bloque anterior, en este ejemplo se llama
sensor ultrasónico.vi.
95
6VCD a
12VCD
Terminal
positiva.
1387
1388
1389
1390
1391
1392
1393
1394
189
190
UATX
Figura 0.: Programa “sensor ultrasónico.vi”.
Figura 0.: Monitoreo del módulo ultrasónico con LabView.
96
1395
1396
1397
1398
1399
1400
1401
191
192
UATX
ANEXO 1
El programa de este anexo se programó en el software PIC C
COMPILER, dicho software genera 10 archivos diferentes, entre los cuales
está uno con extensión “.HEX”, este archivo sirve para simular el
microcontrolador en Proteus de acuerdo a las instrucciones programadas en
lenguaje C y también sirve para programar físicamente el microcontrolador
con cualquier grabador de PICs.
El siguiente programa contiene comentarios después de doble
diagonal “//” donde se trata de indicar para que sirven la mayoría de
instrucciones:
#include <16f84A.h> //modelo del pic
#use delay (clock = 4000000) //se utilizará un oscilador de 4Mhz
#fuses XT,NOWDT,PUT,NOPROTECT //configuración para programar el pic
#use RS232 (BAUD = 9600, BITS = 8, PARITY=N,XMIT=PIN_A0,RCV=PIN_A1)
//configuración de la comunicación RS232
//velocidad de 9600 bd
//8 bits por palabra
//paridad: ninguna
//pin de transmición: A0
//pin de recepción: A1
#use fast_io(B) //función predefinida para trabajar
//fácilmente con el puerto B
//------------------------------VARIABLES A USAR---------------------
int16 U_SEG=0; //GUARDA LOS MICROSEGUNDOS EN ALTO DEL PIN B0
INT16 L_TMR0=0; //GUARDA EL VALOR DEL REGISTRO TIMER_0
INT16 LOAD_256=0; //valor de TMR0 con preesaler de 256
INT16 LOAD_1=0; //valor de TMR0 con preesdaler de 1
int32 DISTANCIA=0; //DISTANCIA EN CENTIMETROS * 10
int1 nuevopulso=0; //control de lectura de pulso
//cuando es uno, la lectura terminó
int1 cambio=0; //control de cambio de flanco
//si es cero se espera un flanco de subida
//si es uno se espera un flanco de bajada
97
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
193
194
UATX
int1 valor=0; //DETECTA SI LA COMPUTADORA A ENVIADO ALGO
//--------------------------INTERRUPCION POR EL PIN B0----------------
#int_ext //aquí inicia la interrupción por B0
void funcion_ext_int(){ //función de interrupción
if (cambio == 0){
set_TIMER0(0); //iniclaliza el timer0 a 0
ext_int_edge(H_TO_L); //CAMBIA A DETECCIÓN POR FLANCO DE BAJADA
cambio=1;
}
else{
L_TMR0 = get_timer0(); //CARGA EL VALOR DE TMR0 EN EL REGISTRO L_TMR0
ext_int_edge(L_TO_H); //CAMBIA A DETECCIÓN POR FLANCO DE SUBIDA
cambio=0;
nuevopulso=1;
}
}
//------------------------FUNCIÓN PRINCIPAL-----------------------------
void main(){
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); //configuración del timer0
//OSCILACIÓN INTERNA
//PREESCALER DE 1
ext_int_edge(L_TO_H); //configurar INTERRUPCIÓN POR PIN B0
//para flanco de suida
set_tris_B(0x81); //CONFIGURA LOS PINES B0 y B7 COMO ENTRADA
//LOS DEMÁS PINES COMO SALIDA
output_low(PIN_B1); //PIN B1 A CERO
enable_interrupts (int_ext); //habilitación de interrupción por el pin B0
enable_interrupts (global); //habilitación de interrupciones globales
//buble while infinito
while(true){
//se inicializan todas las variables a cero
U_SEG=0;
L_TMR0=0;
LOAD_256=0;
LOAD_1=0;
DISTANCIA=0;
nuevopulso=0;
cambio=0;
valor=0;
98
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
195
196
UATX
//Como la comunicación está gestionada por software,
//la función kbhit() devuelve TRUE si se ha detectado un bit
//de START en el pin de recepción.
valor = kbhit();
while(valor==0){
valor = kbhit();}
//en la siguiente instrucción se complementa el valor del pin b3
//con esto el pin b3 cambia de estado cada procesa la
//recepción y transmición serial
output_toggle(PIN_B3);
RUTINA_1:
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); //configuración del timer0
//con preescaler de 256
output_high(PIN_B1); //pone el pin B1 en alto
delay_us(9); //espera 15 microsegundos
output_low(PIN_B1); //pone el pin B1 en bajo
while(nuevopulso == 0){ //espera hasta que nuveopulso sea 1
}
LOAD_256=L_TMR0; //se guarda el valor de TMR0 con preescaler
//de 256
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_1); //configuración del timer0
//con preescaler de 1
delay_ms(30);
RUTINA_2:
nuevopulso=0; //control de lectura de pulso
output_high(PIN_B1); //pone el pin B1 en alto
delay_us(9); //espera 15 microsegundos
output_low(PIN_B1); //pone el pin B1 en bajo
while(nuevopulso == 0){ //espera hasta que nuveopulso sea 1
}
LOAD_1=L_TMR0; //se guarda el valor de TMR0 con preescaler
//de 1
U_SEG=(LOAD_256*255)+(LOAD_1); //U_SEG almacena el total del
//tiempo en alto en microsegundos
99
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
197
198
UATX
//del pin B0
DISTANCIA = (U_SEG*10)/58; //DISTANCIA almacena
//la distancia en centimetros
//multiplicada por 10
printf("%Lun",DISTANCIA); //envía el valor de DISTANCIA
//en formato RS-232
}
}
100
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
199
200
UATX
1564
UATX

Más contenido relacionado

La actualidad más candente

Clase 10 - Fuentes de Alimentación.pptx
Clase 10 - Fuentes de Alimentación.pptxClase 10 - Fuentes de Alimentación.pptx
Clase 10 - Fuentes de Alimentación.pptxQuevin Barrera
 
Chapter 5 - The Admittance & Impedance Model.ppt
Chapter 5 - The Admittance & Impedance Model.pptChapter 5 - The Admittance & Impedance Model.ppt
Chapter 5 - The Admittance & Impedance Model.pptLiewChiaPing
 
Conexiones trifasicas de transformadores
Conexiones trifasicas de transformadoresConexiones trifasicas de transformadores
Conexiones trifasicas de transformadoresMiguel Calla
 
Generador compuesto diferencial
Generador compuesto                      diferencialGenerador compuesto                      diferencial
Generador compuesto diferencialanarella28
 
generador con excitación serie
generador con excitación seriegenerador con excitación serie
generador con excitación serieRosmery Puerto
 
Fuentes de voltaje
Fuentes de voltajeFuentes de voltaje
Fuentes de voltajeTensor
 
Informe practica dos wattímetros
Informe practica dos wattímetrosInforme practica dos wattímetros
Informe practica dos wattímetrosChristian Gallegos
 
Inducción electromagnética
Inducción electromagnéticaInducción electromagnética
Inducción electromagnéticaMaría Mena
 
final rectificadores controlados
final rectificadores controladosfinal rectificadores controlados
final rectificadores controladosLautaro Narvaez
 
Proyecto 4- laboratorio de electronica 1
Proyecto 4- laboratorio de electronica 1Proyecto 4- laboratorio de electronica 1
Proyecto 4- laboratorio de electronica 1Veronica Montilla
 
Cuadro comparativo de Motores.
Cuadro comparativo de Motores.Cuadro comparativo de Motores.
Cuadro comparativo de Motores.Bryan Portuguez
 
Electronica de Potencia
Electronica de PotenciaElectronica de Potencia
Electronica de PotenciaGabriel Charry
 
Generador de corriente alterna
Generador de corriente alternaGenerador de corriente alterna
Generador de corriente alternaMiguel Rojas
 
Album informativo sobre el electromagnetismo
Album informativo sobre el electromagnetismo Album informativo sobre el electromagnetismo
Album informativo sobre el electromagnetismo MariaArgelloCoronado
 

La actualidad más candente (20)

Clase 10 - Fuentes de Alimentación.pptx
Clase 10 - Fuentes de Alimentación.pptxClase 10 - Fuentes de Alimentación.pptx
Clase 10 - Fuentes de Alimentación.pptx
 
Tema corriente alterna
Tema corriente alternaTema corriente alterna
Tema corriente alterna
 
Chapter 5 - The Admittance & Impedance Model.ppt
Chapter 5 - The Admittance & Impedance Model.pptChapter 5 - The Admittance & Impedance Model.ppt
Chapter 5 - The Admittance & Impedance Model.ppt
 
Maquinas cc
Maquinas ccMaquinas cc
Maquinas cc
 
Conexiones trifasicas de transformadores
Conexiones trifasicas de transformadoresConexiones trifasicas de transformadores
Conexiones trifasicas de transformadores
 
Generador compuesto diferencial
Generador compuesto                      diferencialGenerador compuesto                      diferencial
Generador compuesto diferencial
 
generador con excitación serie
generador con excitación seriegenerador con excitación serie
generador con excitación serie
 
Fuentes de voltaje
Fuentes de voltajeFuentes de voltaje
Fuentes de voltaje
 
Elementos de electromagnetismo
Elementos de electromagnetismoElementos de electromagnetismo
Elementos de electromagnetismo
 
Informe practica dos wattímetros
Informe practica dos wattímetrosInforme practica dos wattímetros
Informe practica dos wattímetros
 
Inducción electromagnética
Inducción electromagnéticaInducción electromagnética
Inducción electromagnética
 
final rectificadores controlados
final rectificadores controladosfinal rectificadores controlados
final rectificadores controlados
 
Proyecto 4- laboratorio de electronica 1
Proyecto 4- laboratorio de electronica 1Proyecto 4- laboratorio de electronica 1
Proyecto 4- laboratorio de electronica 1
 
Ley de ohm kirchoff
Ley de ohm kirchoffLey de ohm kirchoff
Ley de ohm kirchoff
 
Power quality.ppt
Power quality.pptPower quality.ppt
Power quality.ppt
 
Cuadro comparativo de Motores.
Cuadro comparativo de Motores.Cuadro comparativo de Motores.
Cuadro comparativo de Motores.
 
Electronica de Potencia
Electronica de PotenciaElectronica de Potencia
Electronica de Potencia
 
Generador de corriente alterna
Generador de corriente alternaGenerador de corriente alterna
Generador de corriente alterna
 
Maquinas electricas
Maquinas electricasMaquinas electricas
Maquinas electricas
 
Album informativo sobre el electromagnetismo
Album informativo sobre el electromagnetismo Album informativo sobre el electromagnetismo
Album informativo sobre el electromagnetismo
 

Destacado

Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picRoberto Di Giacomo
 
Sistema de-llenado-de-recipientes-automatizado2
Sistema de-llenado-de-recipientes-automatizado2Sistema de-llenado-de-recipientes-automatizado2
Sistema de-llenado-de-recipientes-automatizado2Elias Log
 
Microcontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesMicrocontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesCarlos Tovar
 
Guia para-la-presentacion-de-informes-de-lab-oratorio-ieee
Guia para-la-presentacion-de-informes-de-lab-oratorio-ieeeGuia para-la-presentacion-de-informes-de-lab-oratorio-ieee
Guia para-la-presentacion-de-informes-de-lab-oratorio-ieeejairoloh
 
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos aoMicrocontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos aohector8764
 
Derecho informativo arreglado
Derecho informativo arregladoDerecho informativo arreglado
Derecho informativo arregladoLaura Bencosme
 
La tecnología en la vida profesional lcp
La tecnología en la vida profesional lcpLa tecnología en la vida profesional lcp
La tecnología en la vida profesional lcpOLGA GARRIDO GARCIA
 
Sintesis de proteínas
Sintesis de proteínasSintesis de proteínas
Sintesis de proteínasJIMENAREAL
 
Trabajo de emprendimiento 1004 20
Trabajo de emprendimiento 1004 20Trabajo de emprendimiento 1004 20
Trabajo de emprendimiento 1004 20LauraMartinez1004
 
Desarrollo de problema-Oportunidad de negocio
Desarrollo de problema-Oportunidad de negocioDesarrollo de problema-Oportunidad de negocio
Desarrollo de problema-Oportunidad de negocioEsteban Aristizabal
 
Detonantes de la Revolucion
Detonantes de la Revolucion Detonantes de la Revolucion
Detonantes de la Revolucion Fuensanta Alcala
 
contenido digitaloyola
contenido digitaloyolacontenido digitaloyola
contenido digitaloyolabrayan9170
 
computadoras y su generaciones.
computadoras y su generaciones.computadoras y su generaciones.
computadoras y su generaciones.yecxon delgado
 
Semiconductores intrinsecos y dopados
Semiconductores intrinsecos y dopadosSemiconductores intrinsecos y dopados
Semiconductores intrinsecos y dopadosAdderly Vil-k Jara
 
Arquitectura (miguel)
Arquitectura (miguel)Arquitectura (miguel)
Arquitectura (miguel)Migueltoa
 
E-marketing para instituciones educativas
E-marketing para instituciones educativasE-marketing para instituciones educativas
E-marketing para instituciones educativasATX Business Solutions
 
TECNOLOGÌA E INDUSTRIA
TECNOLOGÌA E INDUSTRIATECNOLOGÌA E INDUSTRIA
TECNOLOGÌA E INDUSTRIA3212108541
 

Destacado (20)

Sistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador picSistema de control para llenado de tanques con microcontrolador pic
Sistema de control para llenado de tanques con microcontrolador pic
 
Sistema de-llenado-de-recipientes-automatizado2
Sistema de-llenado-de-recipientes-automatizado2Sistema de-llenado-de-recipientes-automatizado2
Sistema de-llenado-de-recipientes-automatizado2
 
Microcontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesMicrocontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicaciones
 
Guia para-la-presentacion-de-informes-de-lab-oratorio-ieee
Guia para-la-presentacion-de-informes-de-lab-oratorio-ieeeGuia para-la-presentacion-de-informes-de-lab-oratorio-ieee
Guia para-la-presentacion-de-informes-de-lab-oratorio-ieee
 
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos aoMicrocontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
 
Derecho informativo arreglado
Derecho informativo arregladoDerecho informativo arreglado
Derecho informativo arreglado
 
La tecnología en la vida profesional lcp
La tecnología en la vida profesional lcpLa tecnología en la vida profesional lcp
La tecnología en la vida profesional lcp
 
Sintesis de proteínas
Sintesis de proteínasSintesis de proteínas
Sintesis de proteínas
 
Tic’s
Tic’s Tic’s
Tic’s
 
Trabajo de emprendimiento 1004 20
Trabajo de emprendimiento 1004 20Trabajo de emprendimiento 1004 20
Trabajo de emprendimiento 1004 20
 
Desarrollo de problema-Oportunidad de negocio
Desarrollo de problema-Oportunidad de negocioDesarrollo de problema-Oportunidad de negocio
Desarrollo de problema-Oportunidad de negocio
 
Proyecto
Proyecto Proyecto
Proyecto
 
Detonantes de la Revolucion
Detonantes de la Revolucion Detonantes de la Revolucion
Detonantes de la Revolucion
 
contenido digitaloyola
contenido digitaloyolacontenido digitaloyola
contenido digitaloyola
 
Metodología
MetodologíaMetodología
Metodología
 
computadoras y su generaciones.
computadoras y su generaciones.computadoras y su generaciones.
computadoras y su generaciones.
 
Semiconductores intrinsecos y dopados
Semiconductores intrinsecos y dopadosSemiconductores intrinsecos y dopados
Semiconductores intrinsecos y dopados
 
Arquitectura (miguel)
Arquitectura (miguel)Arquitectura (miguel)
Arquitectura (miguel)
 
E-marketing para instituciones educativas
E-marketing para instituciones educativasE-marketing para instituciones educativas
E-marketing para instituciones educativas
 
TECNOLOGÌA E INDUSTRIA
TECNOLOGÌA E INDUSTRIATECNOLOGÌA E INDUSTRIA
TECNOLOGÌA E INDUSTRIA
 

Similar a Reporte 1 ultrasonico

PROYECTO DE GRADUACION plc 1200.pdf
PROYECTO DE GRADUACION plc 1200.pdfPROYECTO DE GRADUACION plc 1200.pdf
PROYECTO DE GRADUACION plc 1200.pdfLouisMccormick
 
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Practica no.1 Control digital: Muestreadores y Retenedores
Practica no.1 Control digital: Muestreadores y Retenedores Practica no.1 Control digital: Muestreadores y Retenedores
Practica no.1 Control digital: Muestreadores y Retenedores SANTIAGO PABLO ALBERTO
 
Primer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales IPrimer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales IAndy Juan Sarango Veliz
 
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
 
Practicas finales
Practicas finalesPracticas finales
Practicas finalesTecillo
 
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestableConfiguración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestableGustavo Avella
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestableConfiguración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestableGustavo Avella
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable Gustavo Avella
 
Usart PIC config LANDA
Usart PIC config LANDAUsart PIC config LANDA
Usart PIC config LANDAdave
 

Similar a Reporte 1 ultrasonico (20)

Informe dav
Informe  davInforme  dav
Informe dav
 
PROYECTO DE GRADUACION plc 1200.pdf
PROYECTO DE GRADUACION plc 1200.pdfPROYECTO DE GRADUACION plc 1200.pdf
PROYECTO DE GRADUACION plc 1200.pdf
 
Adc y usart pic16 f887
Adc y usart pic16 f887Adc y usart pic16 f887
Adc y usart pic16 f887
 
Caso timers
Caso timersCaso timers
Caso timers
 
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
 
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Practica no.1 Control digital: Muestreadores y Retenedores
Practica no.1 Control digital: Muestreadores y Retenedores Practica no.1 Control digital: Muestreadores y Retenedores
Practica no.1 Control digital: Muestreadores y Retenedores
 
Primer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales IPrimer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales I
 
Reporte proyecto sumorobot
Reporte proyecto sumorobotReporte proyecto sumorobot
Reporte proyecto sumorobot
 
Informe 4 digitales
Informe 4 digitalesInforme 4 digitales
Informe 4 digitales
 
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
 
Pwm
PwmPwm
Pwm
 
Practicas finales
Practicas finalesPracticas finales
Practicas finales
 
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestableConfiguración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestableConfiguración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable
 
Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable Configuración de multivibrador astable y monoestable
Configuración de multivibrador astable y monoestable
 
Control de liquido
Control de liquidoControl de liquido
Control de liquido
 
Usart PIC config LANDA
Usart PIC config LANDAUsart PIC config LANDA
Usart PIC config LANDA
 
Universidad tecnologica equinoccial
Universidad tecnologica equinoccialUniversidad tecnologica equinoccial
Universidad tecnologica equinoccial
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (20)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Reporte 1 ultrasonico

  • 1. DISEÑO E IMPLEMENTACIÓN DE UN SENSOR DE NIVEL ULTRASÓNICO (HC-SR04) 65 985 986 987 988 989 990 991 992 993 994 129 130 UATX
  • 2. OBJETIVOS 1. Diseñar e implementar un sensor de nivel, para medir el nivel de agua de un tanque. 2. Monitorear dicho sensor con el software LABVIEW. Figura C.: Sensor de nivel monitoreado por LabView. 66 995 996 997 998 999 1000 1001 1002 131 132 UATX
  • 3. MATERIAL El material que se utilizó se enlista a continuación: 1. Un microcontrolador PIC16F84A. Figura C.: PIC16F84A 2. Un push-boton. Figura C.: Push-botton. 3. Una resistencia de 10k ohms y una de 100 ohms, ¼ WATT. Figura C.: Resistencias. 4. Un cristal de 4Mhz. Figura C.: Cristal de 4Mhz. 5. 2 capacitores de 33pF. 67 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 133 134 UATX
  • 4. Figura C.: Capacitores de 33pF. 6. Un circuito integrado MAX232. Figura C.: CI MAX232 7. 5 capacitores de 1uF y uno de 10uF. Figura C.: Capacitor de 1uF. 8. Un regulador de voltaje L7805CV. Figura C.: Regulador de voltaje. 9. Tres borneras para PCB dobles. 68 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 135 136 UATX
  • 5. Figura C.: Borneras para PCB. 10. Un cable USB-SERIAL. Figura C.: Cable USB-Serial marca STEREN. 11. Una conexión DB9 hembra. Figura C.: Conexión DB9 HEMBRA 12. Una placa fenólica de 5cmx5cm. Figura C.: Placa fenólica de 5cmX5cm. 13. Un módulo ultrasónico HC-SR04. 69 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 137 138 UATX
  • 6. Figura C.: Módulo Ultrasónico HC-SR04. 14. Un cargador para celular de 5V. Figura C.: Cardador para celular. 15. Una computadora con LABVIEW 2010. Figura C.: Computadora con LABVIEW 2010. 70 1044 1045 1046 1047 1048 1049 1050 1051 1052 139 140 UATX
  • 7. DESARROLLO DISEÑO, SIMULACIÓN E IMPLEMENTACIÓN DE UNA INTERFAZ ELECTRÓNICA: SENSOR-COMPUTADORA. Figura 0.: Bloques del diseño electrónico. En la figura 17 se muestran los bloques que componen la interfaz electrónica de los cuales la computadora y el cable USB-serial solo se tienen que conectar, el diseño de demás bloques se describen a continuación: SENSOR ULTRASÓNICO 71 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 141 142 UATX
  • 8. Figura 0.: Sensor ultrasónico HC-SR04 Como sensor ultrasónico se utilizó un Módulo Ultrasónico modelo HC-SR04 el cual permite medir distancias de 2cm a 450cm sin hacer contacto con ellos. Su funcionamiento consiste disparar una ráfaga de ultrasonidos de 40 khz y capturando el eco que estas producen dicho módulo produce una señal proporcional a la distancia. Las características del Módulo Ultrasónico son: 1. Voltaje de trabajo (VCC): 5V. 2. Consumo de corriente: menor a 2mA. 3. Señal de salida TTL. 4. Angulo de medición: menor a 15°. 5. Resolución: 0.3 cm. 6. Señal de entrada para activación (TRIG): un pulso de por lo menos 10us. 7. Señal de salida (ECHO): TTL. Pines de conexión: 1. VCC 2. TRIGGER 3. ECHO 4. GND 72 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 143 144 UATX
  • 9. Figura 0.: Pines de conexión Figura 0.: Diagrama de tiempo Para hacer funcionar este sensor primero se debe alimentar a 5V, después se ingresa a través del pin TRIG un pulso no menor de 10us, el módulo enviará 8 pulsos TTL a una frecuencia de 40 khz, si encuentra un obstáculo el pin de salida ECHO mostrará un pulso en alto proporcional a la distancia. La fórmula para calcular la distancia es: 73 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 145 146 UATX
  • 10. Ecuación : Calcular la distancia en centímetros. distancia (cm)= tiempoenaltoenus( pin ECHO) 58.82us Para evitar medidas erróneas el objeto debe tener una superficie lisa y no debe ser menor a 0.5 m2 , pero en este caso el agua prácticamente rebota las ondas ultrasónicas. MICROCONTROLADOR PIC16F84A El microcontrolador PIC16f84A de la marca Microchip tiene las siguientes características: • Frecuencia de oscilación de 4Mhz. • Alimentación de 5V DC. • Tiene 18 pines. • Un puerto A con 5 lineas de entrada/saida. • Un puerto B con 8 lineas de entrada/saida. • Cada pin puede proporcionar hasta 20mA. • Las instrucciones se ejecutan en 1 ciclo. • Conjunto de instrucciones reducido, RISC (35 instrucciones). • Incluye también un módulo de memoria para programa y una memoria auxiliar para datos del tipo EEPROM, por si falla la alimentación. • Entradas multiplexadas para interrupciones y el contador/temporizador. Figura 0.: PIC16F84A. 74 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 147 148 UATX
  • 11. PROGRAMACIÓN DEL MICROCONTROLADOR Para detectar el ancho de pulso proveniente del módulo ultrasónico, se utilizó la interrupción por cambio de flanco del PIN B0. Esto quiere decir que cuando ocurra un cambio de flanco ya sea de cero volts a cinco volts o de cinco volts a cero volts por el PIN B0, el microcontrolador suspenderá cualquier operación que esté realizando para ejecutar la rutina previamente programada cada vez que ocurra una interrupción. Para medir el tiempo en alto del PIN B0 se utilizó el único TIMER del microcontrolador. El TIMER de este microcontrolador es de 8 bits (00h a FFh) y puede contar hasta 255 (28 =256); si se configura el TIMER con oscilación interna, el TIMER incrementará cada 1us esto da como resultado un contador de 255us. Pero 255us no es suficiente ya que el ancho de pulso a medir llega hasta 26,469 us aproximadamente (Ecuación 2 y 3), por lo que se configuró el TIMER_0 con una escala de 1:256, entonces el TIMER_0 se incrementará cada 255 us dando un valor máximo de 65,535 us que es un valor aceptable para este proyecto. Ecuación : Calcular el tiempo en alto proporcional a la distancia. distancia (cm)∗58.82us=tiempo enaltoenus( pin ECHO) Ecuación : Cálculo del tiempo en alto proporcional a 4.5m 450cm∗58.82us=26,469us Según el párrafo anterior si se tuviera un TIMER de 16 bits (65,536 us) configurado con una escala de 1:1 sería suficiente para medir una distancia 4.5m (26,469 us). Pero como el PIC16F84A solo tiene un TIMER de 8bits se configuró con una escala de 1:256, esto permitió medir unidades de 4.33cm (Ecuación 4) pero no se puede medir distancias menores a 4.33cm por eso se volvió a configurar el TIMER_0 con una escala de 1:1 para medir unidades milimétricas (1us); por último se sumaron las mediciones obtenidas con las escalas de 1:256 y 1:1 para así obtener una medición exacta. 75 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 149 150 UATX
  • 12. Ecuación : Cálculo de unidades en distancia con escala de TIMER_0 a 1:256. distancia (cm)= tiempoenaltoenus( pin ECHO) 58.82us = 255us 58.82us =4.33cm Por ejemplo una distancia de 10cm equivale a 588.2us (Ecuación 2), el TIMER_0 a una escala de 1:256 devolverá un 2; el TIMER_0 a una escala de 1:1 devolverá un valor de 78; ahora si sumamos los valores del TIMER_0 a escalas de 1:255 y 1:1 nos devolverá el microcontrolador un valor de 588us (Ecuación 5) que es una medición correcta. Ecuación : Calculo de microsegundos a 10cm. 78us+(2∗255us)=78us+510us=588us Cuando el PIC16F84A envía un pulso de aproximadamente 10us al MÓDULO ULTRASÓNICO, este módulo produce 8 pulsos a una velocidad de 40 kHz, si encuentra un obstáculo produce una salida en alto proporcional a la distancia (PIN ECHO), esta señal es capturada y procesada por el PIC16F84A El diagrama de flujo de la figura 22 contiene la secuencia que se siguió para programar el PIC16F84A. El Anexo 1 contiene el programa en C, el cual se compiló con el software PIC C Compiler versión 4.068. 76 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 151 152 UATX
  • 13. Figura 0.: Diagrama de flujo correspondiente a la programación del PIC16F84A. 77 1176 1177 153 154 UATX
  • 14. INTERFÁZ TTL-RS232 El circuito integrado MAX232 convierte los niveles de las líneas de un puerto serie RS232 a niveles TTL y viceversa. Lo interesante es que sólo necesita una alimentación de 5V, ya que genera internamente algunas tensiones que son necesarias para el estándar RS232. Otros integrados que manejan las líneas RS232 requieren dos voltajes, +12V y -12V. Figura 0.: Configuración del CI MAX232. En la figura anterior se puede observar la forma más usual para conectar el circuito MAX232, en donde a todos los capacitores se les asignó un valor de 1uF. Se conectaron los pines 17 y 18 del PIC con los pines 11 y 12 del MAX232, y los pines 14 y 13 del MAX232 con los pines 2 y 3 del conector DB9 como se observa en la figura 24. 78 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 155 156 UATX
  • 15. T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2- 5 C1+ 1 C1- 3 VS+ 2 VS- 6 MAX232 MAX232 C1 1uF C2 1uF C3 1uF C4 1uF OSC1/CLKIN 16 RB0/INT 6 RB1 7 RB2 8 RB3 9 RB4 10 RB5 11 RB6 12 RB7 13 RA0 17 RA1 18 RA2 1 RA3 2 RA4/T0CKI 3 OSC2/CLKOUT 15 MCLR 4 16F84A PIC16F84A ERROR TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 COM_HEMBRA COMPIM OSC1 OSC2 RST CONECTOR DB9 HEMBRA OUT_PIC IN_PIC OUT_PIC IN_PIC ECHO TRIG OUT_MAX OUT_MAX IN_MAX IN_MAX LED Figura 0.: Conexiones del PIC, MAX232 Y DB9 R_BUTOON 10K XTAL_4M CRYSTAL 33PF_2 33pF 33PF_1 33pF OSC1 OSC2 OSCILADOR RST RESET 1 2 3 4 ULTRASONICO TBLOCK-I4 TRIG ECHO LED R_LED 100 LED LED-BLUE Figura 0.: Conexiones del MÓDULO ULTRASÓNICO, LED, RESET Y EL OSCILADOR. CABLE USB-SERIAL El modelo del cable que se utilizó es el HL-2303 de la marca STEREN, que tiene en un extremo un conector DB9 macho que se conectó al conector DB9 hembra. (Figura 26) Para que la computadora lo reconozca como un PUERTO COM, se tiene que instalar previamente un driver que se puede descargar del sitio STEREN. 79 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 157 158 UATX
  • 16. Figura 0.: Cable USB-SERIAL SIMULACIÓN DEL CIRCUITO La simulación de la circuitería se realizó con el software Proteus 7.7. En dicha simulación no se incluyó el módulo ultrasónico ya que no está incluido en las librerías de Proteus, pero en su lugar se utilizó un generador de funciones para simular la salida ECHO del módulo ultrasónico. En la figura 27 se representa la simulación de la circuitería, la cual se describe a continuación: 1. Para el oscilador se utilizó un cristal de 4Mhz y 2 capacitores de 33pF. Para evitar confusión con el cableado en la simulación, se utilizaron 2 nodos (OSC1 Y OSC2) conectados a los pines 15 y 16 del microcontrolador. 2. Para el reset, se utilizó una resistencia de 10k ohms y un push-boton. Mientras el push-boton esté abierto el microcontrolador trabajará normalmente. El nodo que se utlilizó es el RST conectado al pin 4 del microcontrolador. 3. Se utilizaron 2 instrumentos virtuales, un generador de onda y un osciloscopio. Con el generador de onda se genera un pulso en similar al que genera el módulo ultrasónico y con el osciloscopio se visualizan 2 señales, una correspondiente al generador de onda y la otra corresponde a los pulsos de 10us que genera el microcontrolador por el pin B1. 4. También se simuló el circuito MAX232 con sus capacitores de 1uF, el cual está conectado al PIC16F84 y a un conector DB9 hembra. Por el pin 11 recibe una señal TTL la convierte a RS232 por el pin 14, igualmente por el pin 13 recibe una señal RS232 y la convierta a TTL por el pin 12. 5. Para conector DB9 hembra, el pin 5 está conectado a tierra, el pin 2 es para recepción de datos y el pin 3 es para transmisión 80 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 159 160 UATX
  • 17. de datos. Los puentes son opcionales, mientras que los demás pines no se utilizan. 6. En la parte inferior aparecen 2 terminales virtuales, una terminal es para enviar datos al PIC (simulando a la computadora) y la otra terminal es para visualizar los datos provenientes del PIC. A B C D R_BUTOON 100 OSC1/CLKIN 16 RB0/INT 6 RB1 7 RB2 8 RB3 9 RB4 10 RB5 11 RB6 12 RB7 13 RA0 17 RA1 18 RA2 1 RA3 2 RA4/T0CKI 3 OSC2/CLKOUT 15 MCLR 4 16F84A PIC16F84A XTAL_4M CRYSTAL 33PF_2 33pF 33PF_1 33pF OSC1 OSC2 OSC1 OSC2 OSCILADOR RST RST RESET B6 MAX232 RXD RTS TXD CTS RXD RTS TXD CTS OSCILOSCOPIO SIMULA LA TRANSMISIÓN DE DATOS DE LA COMPUTADORA SIMULA LA RECEPCIÓN DE DATOS DE LA COMPUTADORA OUT_PIC OUT_PIC IN_PIC IN_PIC ECHO ECHO TRIG TRIG LED LED R_LED 100 LED LED-BLUE AM FM + - GENERADOR DE ONDA ECHO T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2- 5 C1+ 1 C1- 3 VS+ 2 VS- 6 MAX232 MAX232 C1 1uF C2 1uF C3 1uF C4 1uF ERROR TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 COM_HEMBRA COMPIM CONECTOR DB9 HEMBRA OUT_PIC IN_PIC OUT_MAX OUT_MAX IN_MAX IN_MAX Figura 0.: Diagrama de simulación. Al simular el circuito anterior aparecen 4 ventanas (figura 28): 81 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 161 162 UATX
  • 18. Figura 0.: Simulación en Proteus 7.7. Los puntos que se comprobaron con esta simulación fueron los siguientes: 1. El microcontrolador produce los pulsos de 10us sin ningún problema cuando se ingresa un dato en modo USART por el pin A1 del microcontrolador. 2. Al procesar el ancho de pulso entrante en el pin B0 del PIC, dicho microcontrolador envía el valor de la variable DISTANCIA por el pin A0 en modo USART. En pocas palabras la comunicación USART del microcontrolador funciona correctamente. 3. El generador de onda no fue de mucha ayuda ya que no se puede emular el tiempo de respuesta como el Módulo Ultrasónico, pero en confiando en las especificaciones del Módulo Ultrasónico se hicieron pruebas en un protoboard y el resultado fue satisfactorio. PRUEBAS 82 Hiperterminal Virtual.- Aquí se escribe un carácter, emulando la información que entra al PIC. Hiperterminal Virtual.- Aquí aparece la información que sale del PIC. Pulso del generador de onda, emulando la respuesta del Módulo Ultrasónico Pulso TRIGGER proveniente del PIC. 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 163 164 UATX
  • 19. El circuito se armó de acuerdo a la simulación en Proteus (Fig. 27) en un protoboard. (Figura 29) Figura 0.: Circuito armado en un protoboard. La primera prueba que se realizó fue medir la distancia que hay entre el sensor ultrasónico y la pared (Figura 30). En esta prueba hubo un error de aproximadamente 0.4cm. Al realizar mediadas de hasta 4.5m, se comprobó que hay un error de 0.4cm a 2cm. Esto se debe a que la superficie donde rebotan las ondas ultrasónicas no es la adecuada, según las especificaciones del módulo ultrasónico la superficie debe ser lisa y de un mínimo de 0.5m2 . Los mismos errores se obtuvieron al colocar diferentes objetos pequeños. 83 MICFROCONTROLADOR PIC16F84A FUENTE DE 5VDC CIRCUITO INTEGRADO MAX232 CONEXIÓN RS-232 Módulo Ultrasónico 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 165 166 UATX
  • 20. Figura 0.: Medición entre el Sensor Ultrasónico una pared. También se realizaron pruebas en un bote con agua. (Figuras 31 y32) Figura 0.: Pruebas con en un bote con agua. 84 1282 1283 1284 1285 1286 1287 1288 1289 167 168 UATX
  • 21. Los resultados de las mediciones y comparaciones se presentan en la siguiente tabla: Tabla : Resultados con agua. TABLA DE RESULTADOS CON AGUA Medida real (cm) Medida en labview (cm) Diferencia (cm) 2.7 2.8 0.1 7.9 8 0.1 15.8 15.7 0.1 24.2 24.3 0.1 33 33 0 De acuerdo a la tabla anterior se comprobó que el funcionamiento del módulo ultrasónico es correcto, también se concluye que el margen de error es aceptable siendo de aproximadamente de 1 milímetro. Figura 0.: Marcas en el bote. DISEÑO DE PCB 85 Marcas con plumón negro. 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 169 170 UATX
  • 22. Primero utilizó el software ISIS de Proteus 7.7 para agregar los componentes necesarios (Fig. 33), después se utilizó el software ARES de Proteus 7.7 para diseñar la PCB (Figuras 34, 35 y 36). En la figura 33 aparecen los componentes necesarios para elaborar la PCB destacando que no se utilizaron las conexiones para simulación ya que generaría un error, simplemente se utilizó ISIS como una herramienta de dibujo. Para la fuente de poder se agregó una bornera doble donde se conectará una fuente igual o mayor a 5VDC y se agregó una bornera cuádruple para conectar el Módulo Ultrasónico. D R_BUTOON 10K T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2- 5 C1+ 1 C1- 3 VS+ 2 VS- 6 MAX232 MAX232 C1 1uF C2 1uF C3 1uF C4 1uF OSC1/CLKIN 16 RB0/INT 6 RB1 7 RB2 8 RB3 9 RB4 10 RB5 11 RB6 12 RB7 13 RA0 17 RA1 18 RA2 1 RA3 2 RA4/T0CKI 3 OSC2/CLKOUT 15 MCLR 4 16F84A PIC16F84A XTAL_4M CRYSTAL 33PF_2 33pF 33PF_1 33pF ERROR TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 COM_HEMBRA COMPIM OSC1 OSC2 OSC1 OSC2 OSCILADOR RST RST RESET CONECTOR DB9 HEMBRA VI 1 VO 3 GND 2 REGULADOR 7805 1 2 POWER 5VDC-12VDC 1 2 3 4 ULTRASONICO TBLOCK-I4 C_10U 10uF C_1U 1uF OUT_PIC IN_PIC OUT_PIC IN_PIC ECHO TRIG TRIG ECHO OUT_MAX OUT_MAX IN_MAX IN_MAX LED LED R_LED 100 LED LED-BLUE Figura 0.: Componentes para la PCB. 86 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 171 172 UATX
  • 23. Figura 0.: Vista superior de la PCB. Figura 0.: Vista inferior de la PCB. Figura 0.: Vista 3D de la PCB. 87 1315 1316 1317 1318 1319 1320 1321 173 174 UATX
  • 24. Después de tener el diseño en ARES se procedió a construir el circuito impreso en ARES (Fig. 37), acoplarlo a una estructura de acrílico (Fig. 38) y colocar el prototipo en un tanque de agua (Fig. 39). Figura 0.: Vista superior real de la PCB. Figura 0.: Vista inferior real de la PCB acoplada a una estructura de acrílico. 88 5VDC-12VDC Terminal positiva. Trigger GND 5VDC 1322 1323 1324 1325 1326 1327 1328 1329 1330 175 176 UATX
  • 25. Figura 0.: PCB acoplada a un tanque de agua. INTERFAZ DE LABVIEW Labview es un entorno de programación gráfica usado por miles de ingenieros e investigadores para desarrollar sistemas sofisticados de medida, pruebas y control usando íconos gráficos e intuitivos y cables que parecen un diagrama de flujo. Para este trabajo se utilizó la versión Labview 2010, el cual trae algunos ejemplos para la comunicación RS-232. El ejemplo que se utilizó fue el de comunicación serial básico, dicho ejemplo modificó suprimiendo la mayoría de las instrucciones para hacerlo más simple. El diagrama de flujo de la figura 40 representa la programación en LabView 2010. 89 Prototipo acoplado a un tanque1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 177 178 UATX
  • 26. Figura 0.: Diagrama de flujo del VI. 90 1344 1345 179 180 UATX
  • 27. Las siguientes figuras contienen la programación (Diagrama a Bloques) en LabView según el Diagrama de Flujo (Fig 40), en las cuales se indica con comentarios amarillos para que sirve cada instrucción. Figura 0.: Frame 0 y Case False. Figura 0.: Frame 0 y Case True. 91 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 181 182 UATX
  • 28. Figura 0.: Frame 1. Figura 0.: Frame 2. 92 1356 1357 1358 1359 1360 1361 1362 1363 1364 183 184 UATX
  • 29. Figura 0.: Frame 3. Por último la figura 46 contiene el Panel Frontal del programa en LabView. Figura 0.: Panel Frontal. PUESTA EN MARCHA 93 1365 1366 1367 1368 1369 1370 1371 1372 1373 185 186 UATX
  • 30. Para poner en marcha este prototipo se necesitan seguir los siguientes pasos: 1. Conectar el cable USB-SERIAL a la computadora e instalar el driver su driver. 2. Una vez instalado el driver de cable USB-SERIAL se tiene que habilitar el puerto serial en Measurement & Automation Explorer de NI. Esto es para LabView 2010, si se omite este paso al correr cualquier VI para RS232 generará un error. Figura 0.: Icono de Measurement & Automation. Figura 0.: Interfaz de Measurement % Automation. 3. Conectar una fuente entre 6VCD y 12VCD al prototipo; puede ser una pila de 9VCD o en este caso un cargador para celular. 94 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 187 188 UATX
  • 31. 4. Conectar la punta DB9 macho del cable USB-SERIAL a la conexión DB9 hembra del prototipo. Figura 0.: Conexión del cable USB-SERIAL a el prototipo. 5. Abrir y correr el VI que se describió en el bloque anterior, en este ejemplo se llama sensor ultrasónico.vi. 95 6VCD a 12VCD Terminal positiva. 1387 1388 1389 1390 1391 1392 1393 1394 189 190 UATX
  • 32. Figura 0.: Programa “sensor ultrasónico.vi”. Figura 0.: Monitoreo del módulo ultrasónico con LabView. 96 1395 1396 1397 1398 1399 1400 1401 191 192 UATX
  • 33. ANEXO 1 El programa de este anexo se programó en el software PIC C COMPILER, dicho software genera 10 archivos diferentes, entre los cuales está uno con extensión “.HEX”, este archivo sirve para simular el microcontrolador en Proteus de acuerdo a las instrucciones programadas en lenguaje C y también sirve para programar físicamente el microcontrolador con cualquier grabador de PICs. El siguiente programa contiene comentarios después de doble diagonal “//” donde se trata de indicar para que sirven la mayoría de instrucciones: #include <16f84A.h> //modelo del pic #use delay (clock = 4000000) //se utilizará un oscilador de 4Mhz #fuses XT,NOWDT,PUT,NOPROTECT //configuración para programar el pic #use RS232 (BAUD = 9600, BITS = 8, PARITY=N,XMIT=PIN_A0,RCV=PIN_A1) //configuración de la comunicación RS232 //velocidad de 9600 bd //8 bits por palabra //paridad: ninguna //pin de transmición: A0 //pin de recepción: A1 #use fast_io(B) //función predefinida para trabajar //fácilmente con el puerto B //------------------------------VARIABLES A USAR--------------------- int16 U_SEG=0; //GUARDA LOS MICROSEGUNDOS EN ALTO DEL PIN B0 INT16 L_TMR0=0; //GUARDA EL VALOR DEL REGISTRO TIMER_0 INT16 LOAD_256=0; //valor de TMR0 con preesaler de 256 INT16 LOAD_1=0; //valor de TMR0 con preesdaler de 1 int32 DISTANCIA=0; //DISTANCIA EN CENTIMETROS * 10 int1 nuevopulso=0; //control de lectura de pulso //cuando es uno, la lectura terminó int1 cambio=0; //control de cambio de flanco //si es cero se espera un flanco de subida //si es uno se espera un flanco de bajada 97 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 193 194 UATX
  • 34. int1 valor=0; //DETECTA SI LA COMPUTADORA A ENVIADO ALGO //--------------------------INTERRUPCION POR EL PIN B0---------------- #int_ext //aquí inicia la interrupción por B0 void funcion_ext_int(){ //función de interrupción if (cambio == 0){ set_TIMER0(0); //iniclaliza el timer0 a 0 ext_int_edge(H_TO_L); //CAMBIA A DETECCIÓN POR FLANCO DE BAJADA cambio=1; } else{ L_TMR0 = get_timer0(); //CARGA EL VALOR DE TMR0 EN EL REGISTRO L_TMR0 ext_int_edge(L_TO_H); //CAMBIA A DETECCIÓN POR FLANCO DE SUBIDA cambio=0; nuevopulso=1; } } //------------------------FUNCIÓN PRINCIPAL----------------------------- void main(){ setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); //configuración del timer0 //OSCILACIÓN INTERNA //PREESCALER DE 1 ext_int_edge(L_TO_H); //configurar INTERRUPCIÓN POR PIN B0 //para flanco de suida set_tris_B(0x81); //CONFIGURA LOS PINES B0 y B7 COMO ENTRADA //LOS DEMÁS PINES COMO SALIDA output_low(PIN_B1); //PIN B1 A CERO enable_interrupts (int_ext); //habilitación de interrupción por el pin B0 enable_interrupts (global); //habilitación de interrupciones globales //buble while infinito while(true){ //se inicializan todas las variables a cero U_SEG=0; L_TMR0=0; LOAD_256=0; LOAD_1=0; DISTANCIA=0; nuevopulso=0; cambio=0; valor=0; 98 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 195 196 UATX
  • 35. //Como la comunicación está gestionada por software, //la función kbhit() devuelve TRUE si se ha detectado un bit //de START en el pin de recepción. valor = kbhit(); while(valor==0){ valor = kbhit();} //en la siguiente instrucción se complementa el valor del pin b3 //con esto el pin b3 cambia de estado cada procesa la //recepción y transmición serial output_toggle(PIN_B3); RUTINA_1: setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); //configuración del timer0 //con preescaler de 256 output_high(PIN_B1); //pone el pin B1 en alto delay_us(9); //espera 15 microsegundos output_low(PIN_B1); //pone el pin B1 en bajo while(nuevopulso == 0){ //espera hasta que nuveopulso sea 1 } LOAD_256=L_TMR0; //se guarda el valor de TMR0 con preescaler //de 256 setup_timer_0(RTCC_INTERNAL | RTCC_DIV_1); //configuración del timer0 //con preescaler de 1 delay_ms(30); RUTINA_2: nuevopulso=0; //control de lectura de pulso output_high(PIN_B1); //pone el pin B1 en alto delay_us(9); //espera 15 microsegundos output_low(PIN_B1); //pone el pin B1 en bajo while(nuevopulso == 0){ //espera hasta que nuveopulso sea 1 } LOAD_1=L_TMR0; //se guarda el valor de TMR0 con preescaler //de 1 U_SEG=(LOAD_256*255)+(LOAD_1); //U_SEG almacena el total del //tiempo en alto en microsegundos 99 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 197 198 UATX
  • 36. //del pin B0 DISTANCIA = (U_SEG*10)/58; //DISTANCIA almacena //la distancia en centimetros //multiplicada por 10 printf("%Lun",DISTANCIA); //envía el valor de DISTANCIA //en formato RS-232 } } 100 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 199 200 UATX