Tabla de contenido:
- Paso 1: diseño de Ciruit
- Paso 2: Código Arduino
- Paso 3: Código de Matlab (archivo HallRT)
- Paso 4: Código de Matlab (thresh_analyze)
- Paso 5: Prueba 1: Sin aliasing
- Paso 6: Prueba 2: Aliasing del sensor (i)
- Paso 7: Prueba 3: Aliasing del sensor (ii)
- Paso 8: Prueba 4: Aliasing del sensor (iii)
Video: Frecuencia de muestreo / Aliasing Instructable: 8 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:45
Deseo crear un proyecto educativo que demuestre el uso de alias (y tasas de muestreo) y esté destinado a ser colocado en un sitio web como un recurso para los estudiantes que están aprendiendo sobre el uso de alias.
Paso 1: diseño de Ciruit
Arduino
El Arduino es la base del circuito; que soporta el servomotor (con rueda codificadora montada) y el sensor de efecto Hall posicionado.
-Rueda del codificador: el propósito de la rueda del codificador es suspender un imán que gira en una trayectoria circular, flotando sobre un sensor de efecto hall colocado.
-Configuración del sensor: El sensor de efecto hall se coloca debajo de la ruta de rotación del imán, su propósito es rastrear el paso del imán con varias velocidades de rotación y tasas de recolección de datos.
---------------------------------------------------------------------------------------------------------
Subpasos:
-
Obtener materiales:
Arduino (+ placa de pan), cables, rueda codificadora, imán, sensor de efecto Hall, servomotor, aplicación Matlab, aplicación Arduino
- Corte la rueda del codificador, móntelo en el servo, presione el imán en la ranura.
- Coloque el sensor de efecto Hall debajo de la trayectoria del imán (es posible que se requieran extensiones de cables del sensor).
- Construir circuito.
Paso 2: Código Arduino
Método de recopilación de datos
El código Arduino usa [Line 41] para recopilar información, a través del puerto A0 'Analog In', desde el sensor de efecto Hall
Método de transmisión de datos en serie
- [Línea 43] Muestra en el monitor serial una variable 'temporizador' que implementa la función 'milis ()' para mantener un temporizador en ejecución en milisegundos durante la duración del programa.
- [Línea 45] Muestra en el monitor serial una variable 'hallsensor' que implementa 'analogRead' para obtener información del sensor de efecto hall mientras se ejecuta el programa.
Propósito del parámetro delay ()
El propósito del parámetro delay () es variar el tiempo de respuesta de la recopilación de datos que se recibe del sensor de efecto Hall
---------------------------------------------------------------------------------------------------------
Subpasos:
Ingrese el código Arduino en la aplicación Arduino
Paso 3: Código de Matlab (archivo HallRT)
-Método de recepción de datos - [Figura 3: Línea 77]
Obtención de datos del ArduinoStep
---------------------------------------------------------------------------------------------------------
Subpasos:
El código de entrada de Matlab está por encima de las cifras, guárdelo en el archivo HallRT
Paso 4: Código de Matlab (thresh_analyze)
Método de recuento de picos [Figura 2: Líneas 45-53]
- El uso de la bandera en este código de Matlab es para que una vez que el bucle for se tope con un 'aRval' que es más grande que el valor preestablecido de 'umbral', el recuento aumentará en uno, el pico se marcará con un asterisco y la sentencia if [Línea 45-50] se romperá porque flag = 1. La segunda sentencia if con una bandera [Línea 51-53] indica que una vez que se alcanza el pico y los valores comienzan a declinar alrededor del pico, entonces marca = 0 y el bucle for continúa buscando más picos.
-
Parámetros / valores necesarios:
- 'aRval': los datos recopilados de una ejecución de prueba.
- 'thresh': un valor elegido para indicar cualquier valor por encima de él en aRval como un pico.
---------------------------------------------------------------------------------------------------------
Subpasos:
Cree un segundo archivo de Matlab "thresh_analyze"
Paso 5: Prueba 1: Sin aliasing
Figura 1: Prueba de datos @ Delay 200 Figura 2: Datos analizados de umbral
-Parámetro de retardo: 200
Picos:
Cuenta = 45
-Número de revoluciones por minuto:
45 revoluciones / minuto
---------------------------------------------------------------------------------------------------------
Subpasos:
-
Conecte el Arduino a su computadora portátil.
Establezca la demora en el código Arduino en "200". Presione Cargar (en la esquina superior izquierda de la aplicación)
- Vaya a su archivo Matlab HallRT [Línea 37] y cambie la variable 'delayTime' a 200.
- Ejecute el programa HallRT.
- Guarde el archivo Matlab en "delay_200". (Guardar figura)
- Cargue el archivo delay_200.mat.
- Ejecute el programa thresh_analyze. (Guardar figura)
Paso 6: Prueba 2: Aliasing del sensor (i)
Figura 1: Prueba de datos @ Delay 50
Figura 2: Datos analizados de Thresh
Parámetro de retardo: 50 picos:
Recuento = 52
Número de revoluciones por minuto:
52 revoluciones / minuto
---------------------------------------------------------------------------------------------------------
Subpasos:
-
Conecte el Arduino a su computadora portátil.
Establezca la demora en el código Arduino en "50". Presione Cargar (en la esquina superior izquierda de la aplicación)
- Vaya a su archivo Matlab HallRT [Línea 37] y cambie la variable 'delayTime' a 50.
- Ejecute el programa HallRT.
- Guarde el archivo Matlab en "delay_50". (Guardar figura)
- Cargue el archivo delay_50.mat.
- Ejecute el programa thresh_analyze. (Guardar figura)
Paso 7: Prueba 3: Aliasing del sensor (ii)
Figura 1: Prueba de datos @ Delay 100 Figura 2: Datos analizados de umbral
Parámetro de retardo: 100 picos:
Cuenta = 54
Número de revoluciones por minuto:
54 revoluciones / minuto
------------------------------------------------ -------------------------------------------------- ------- Subpasos:
-
Conecte el Arduino a su computadora portátil.
Establezca el retraso en el código Arduino en "100". Presione Cargar (en la esquina superior izquierda de la aplicación). '
- Vaya a su archivo Matlab HallRT [Línea 37] y cambie la variable 'delayTime' a 100.
- Ejecute el programa HallRT.
- Guarde el archivo Matlab en "delay_100". (Guardar figura)
- Cargue el archivo delay_100.mat.
- Ejecute el programa thresh_analyze. (Guardar figura)
Paso 8: Prueba 4: Aliasing del sensor (iii)
Figura 1: Prueba de datos @ Delay 300 Figura 2: Datos analizados de umbral
-Parámetro de retardo: 300
Picos:
Cuenta = 32
Número de revoluciones por minuto:
32 revoluciones / minuto
-------------------------------------------------- -------------------------------------------------- ------- Subpasos:
-
Conecte el Arduino a su computadora portátil.
Establezca la demora en el código Arduino en "300". Presione Cargar (en la esquina superior izquierda de la aplicación)
- Vaya a su archivo Matlab HallRT [Línea 37] y cambie la variable 'delayTime' a 300.
- Ejecute el programa HallRT.
- Guarde el archivo Matlab en "delay_300". (Guardar figura)
- Cargue el archivo delay_300.mat.
- Ejecute el programa thresh_analyze. (Guardar figura)
Recomendado:
Contador de frecuencia con Arduino: 8 pasos (con imágenes)
Contador de frecuencia con Arduino: este es un contador de frecuencia simple y económico basado en arduino que cuesta menos de 4 $, ha sido muy útil para medir circuitos pequeños
Medir su frecuencia cardíaca está en la punta de su dedo: Enfoque de fotopletismografía para determinar la frecuencia cardíaca: 7 pasos
Medir su frecuencia cardíaca está en la punta de su dedo: Enfoque de fotopletismografía para determinar la frecuencia cardíaca: Un fotopletismógrafo (PPG) es una técnica óptica simple y de bajo costo que se usa a menudo para detectar cambios en el volumen de sangre en un lecho de tejido microvascular. Se utiliza principalmente de forma no invasiva para realizar mediciones en la superficie de la piel, normalmente
Sensores de funcionamiento para bombas de muestreo individuales: 3 pasos
Sensores de funcionamiento para bombas de muestreo individuales: hice un sistema para controlar el buen funcionamiento de las bombas de muestreo individuales
Tutorial de muestreo de señales analógicas - MATLAB: 8 pasos
Tutorial de muestreo de señales analógicas | MATLAB: En este tutorial, mostramos ¿qué es el muestreo? y Cómo muestrear una señal analógica usando el software MATLAB
Modificación de muestreo directo RTL-SDR: 3 pasos
RTL-SDR Direct Sampling Mod: muchos dongles no pueden hacer uso de frecuencias por debajo de 30Mhz, sin embargo, es posible modificar algunos dispositivos para hacerlo usando un método llamado Direct Sampling. En el muestreo directo, aplicamos una señal directamente al 'cerebro' de los dongles sin pasar por alto t