Ponticia Universidad Javeriana
Entrega 3
Análisis de sistemas dinámicos
Detección de vehículos y accionamiento
de barreras
Estudiantes:
Profesor:
John Esteban Dávila Estrada
Christian Erazo Ordoñez
Juan Pablo Gutiérrez Gómez
Martes 13 de Mayo de 2025
1 Montaje del sistema
1 Montaje del sistema
Con el objetivo de cumplir con los lineamientos establecidos en el protocolo de pruebas,
se procede a la implementación y montaje del sensor magnetoresistivo destinado a la de-
tección de vehículos. Este sensor forma parte integral del sistema de control automático
y está diseñado para identificar la presencia de vehículos en un punto específico, permi-
tiendo así el accionamiento preciso y oportuno de una talanquera. Para la construcción
del sistema propuesto se hicieron uso de los siguientes componentes:
• Protoboard
• Jumper macho-macho
• Micro Servo Motor SG90
• Arduino UNO R3
• Sensor LIS3MDL 3-Axis Magnometer Carrier
• Carro de juguete
La construcción del sistema se describe detalladamente a continuación:
1. Sensor magnetoresistivo:
Para la aplicación del problema propuesto se escogió el sensor LIS3MDL 3-Axis
Magnometer Carrier [1], a diferencia del sensor planteado (Honeywell HMC 1002)
el sensor LIS3MDL es un magnetómetro digital más práctico y fácil de usar. Viene
listo para conectarse a microcontroladores mediante interfaces como I²C o SPI, y
mide en tres ejes. Las conexiones del sensor se muestran a continuación:
Figure 1: Conexiones sensor LIS3MDL
Como se puede observar en la Figura 1, el sensor viene con un sistema de coordenadas
predeterminado que permite conocer las variaciones en cada uno de los ejes. Para el
1
1 Montaje del sistema
problema propuesto será necesario el uso de cuatro conexiones con el arduino para
la toma de datos: VIN, GND, SDA y SCL. Por su parte, VIN corresponde a la
conexión principal de alimentación, que acepta entre 2.5 V y 5.5 V; al ser un sensor
que cuenta con auto regulación no hay problema en usar 5V. Este voltaje no solo
alimenta el sensor, sino que también se usa para adaptar las señales de comunicación
(I²C o SPI) para que funcionen bien con el microcontrolador. El GND es la conexión
a tierra (0 V) de la fuente de alimentación. El microcontrolador que controla el I²C
o SPI también debe estar conectada a la misma tierra que esta placa para que la
comunicación funcione correctamente. Por otro lado, SDA usa el mismo voltaje que
se le da a la placa (VIN ) para representar los valores altos, y 0 V para los bajos.
Y por último, SCL es el "tic-tac" que marca el ritmo de la comunicación I²C o SPI
usa el mismo voltaje que se le da a la placa.
2. Conexión entre sensor y microcontrolador:
Ya se conocen las conexiones necesarias que se deben hacer para la correcta lectura
de datos, se pone el sensor en la protoboard y se conecta a sus respectivas terminales
en el arduino tal como se muestra en la siguiente imagen:
Figure 2: Conexión entre sensor y microcontrolador
A partir de la configuración presentada en la Figura 2, se posibilita la calibración
adecuada del sensor, permitiendo ajustar su comportamiento frente a las condiciones
específicas del entorno de medición. Esta etapa de calibración es fundamental para
garantizar la precisión y repetibilidad en la lectura del campo magnético.
Adicionalmente, se adapta el código del microcontrolador Arduino para interpretar
correctamente las señales proporcionadas por el sensor, realizar la conversión de
datos en tiempo real y presentar los resultados de forma legible.
2
2 Pruebas del sistema
3. Conexión Servo Motor:
Finalmente, se establece la conexión del microcontrolador Arduino con el servomotor
encargado del accionamiento mecánico del sistema (por ejemplo, una talanquera).
El control del servomotor está condicionado directamente por las variaciones en el
campo magnético detectadas por el sensor, las cuales son provocadas por la presencia
de un vehículo durante las pruebas experimentales.
El Arduino procesa en tiempo real los datos proporcionados por el sensor magne-
tométrico, y en función de los umbrales previamente definidos en el código, envía
una señal de control al servomotor para activar o desactivar su movimiento. Esta
integración permite una respuesta automatizada y precisa del sistema ante eventos
de detección vehicular, replicando condiciones reales de operación en un entorno
controlado de pruebas. El montaje final se muestra en la siguiente imagen:
Figure 3: Montaje del sistema propuesto
2 Pruebas del sistema
2.1 Etapa 1: Calibración
Inicialmente se evaluó la lectura del sistema en condiciones naturales de operación, es
decir, sin interrupción alguna por agentes externos en el campo magnético. Utilizando
el montaje Arduino y el código de Calibración para este tipo de sensores, los resultados
fueron los siguientes:
El Serial Monitor del Arduino muestra las medidas de campo magnético en X, Y y Z,
en el orden que se ve en la imagen, en unidades definidas por la biblioteca del sensor.
3
3 Etapa 2: Diseño del código de funcionamiento del sistema
Figure 4: Conexión entre sensor y microcontrolador
Nótese que en estado estático el sensor muestra medidas variadas dentro de un rango
de aproximadamente 80 unidades de dispersión. Por lo tanto, si se desea utilizar el campo
magnético como la unidad de interés para la activación del sistema se tiene que tener en
cuenta esta variación.
Tras varias pruebas en distintas posiciones se observó que bajo estas condiciones el
sensor nunca mostraba mediciones con más de 110 unidades de diferencia.
Al probar la inmersión de un carro metálico de juguete se obtuvieron los siguientes
cambios:
Figure 5: Conexión entre sensor y microcontrolador
Se entiende de la tabla que, al acercar un carro de juguete al frente del sistema, existe
una disminución del campo magnético incidente en un rango de entre 170 y 220 unidades.
A partir de esta diferencia es posible diseñar el siguiente código para el funcionamiento
del sistema completo.
3 Etapa 2: Diseño del código de funcionamiento del
sistema
Se sabe que el valor del campo incidente no es constante y puede tener variaciones signi-
ficativas sin necesidad de que haya cambios en las condiciones de operación, por lo que no
es prudente escoger una única mediad como base para el estudio del sistema, en cambio,
se utilizará el promedio de las primeras 10 medidas para testear el funcionamiento.
Al conocer estas 10 medidas es posible establecer las condiciones de cambio necesarias
para la activación de la barrera. En este caso, cuando se presente una variación superior
a las 200 unidades en la medición en por lo menos 2 ejes.
Con estos datos es posible comparar las mediciones actuales del sensor con el promedio
de medidas anteriores, esperando que exista una diferencia de 200 unidades (Las medi-
ciones del sensor son realizadas cada 3 segundos para evitar subidas y bajdas repentinas
de la talanquera).
4
3 Etapa 2: Diseño del código de funcionamiento del sistema
Figure 6: Condiciones iniciales definidas en el código
Figure 7: Comprobación de actividad del sensor y cálculo del promedio de medidas
iniciales
Al identificar una variación mayor o igual (en valor absoluto) al valor marcado en las
condiciones iniciales, el sistema activa el servomotor, haciendolo mantener su posición
hasta una nueva lectura. Si la variación en los siguientes pasos no supera el umbral
establecido (Ahora siendo comparada con la medida utilizada en la activación) el sistema
mantendrá su posición.
5
3 Etapa 2: Diseño del código de funcionamiento del sistema
Figure 8: Muestra de mediciones y condicional para activación del servo motor
Figure 9: Bloque para bajada de la barrera
Cuando la variación entre la medida actual del sensor supera el umbral establecido
respecto a la medida usada en la subida entonces se considera que la barrera puede bajar
puesto que el carro ya no se encuentra frente a ella.
3.1 Resultados de pruebas
Al probar el código utilizando el carro metálico de juguete, se obtienen las siguientes
lecturas:
Figure 10: Bloque para bajada de la barrera
6
3 Etapa 2: Diseño del código de funcionamiento del sistema
Observese en tiempo real el valor de las medidas y la comparación con las medias
establecidas. Anexo al documento se encuentran los videos del funcionamiento junto con
la activación del servomotor, además de todos los código utilizados (Debe descargarse la
libreria LIS3MDL de Arduino).
Se descubrió en las pruebas que el sensor utilizado tiene complicaciones al recibir la
señal de entrada y dar un resultado, por lo que las pruebas y futuro funcionamiento debe
trabajarse con gran precisión, de ser preciso se utilizarán soldaduras en el sistema para
7
4 Biblografia
4 Biblografia
1. Pololu, “LIS3MDL 3-Axis Magnetometer Carrier with Voltage Regulator,” Pololu
Robotics and Electronics. [Online]. Available: [Link]
info-merged/2737 [Accessed: May 13, 2025].