Índice:
Vídeo: Taxa de amostragem / aliasing instrutível: 8 etapas (com imagens)
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Desejo criar um projeto educacional que demonstre aliasing (e taxas de amostragem) e se destina a ser colocado em um site como um recurso para alunos que estão aprendendo sobre aliasing.
Etapa 1: Layout do Ciruit
Arduino
O Arduino é a base do circuito; suportando o servo motor (com roda codificadora montada) e o sensor de efeito Hall posicionado.
- Roda do codificador: O propósito da roda do codificador é suspender um ímã que gira em um caminho circular, pairando sobre um sensor de efeito Hall posicionado.
- Configuração do sensor: O sensor de efeito Hall é colocado abaixo do caminho de rotação do ímã, seu objetivo é rastrear a passagem do ímã com várias velocidades de rotação e taxas de coleta de dados.
---------------------------------------------------------------------------------------------------------
Sub-etapas:
-
Obtenha materiais:
Arduino (+ placa de pão), fios, roda codificadora, ímã, sensor de efeito hall, servo motor, aplicativo Matlab, aplicativo Arduino
- Corte a roda do codificador, monte no servo, empurre o ímã para dentro da fenda.
- Fixe o sensor de efeito Hall sob o caminho do ímã (extensões de fio do sensor podem ser necessárias).
- Circuito de construção.
Etapa 2: Código Arduino
Método de coleta de dados
O código do Arduino usa [Linha 41] para coletar informações, por meio da porta A0 'Analog In', do sensor de efeito Hall
Método de transmissão serial de dados
- [Linha 43] Exibe no monitor serial uma variável 'temporizador' que implementa a função 'millis ()' para manter um temporizador em execução em milissegundos pela duração do programa.
- [Linha 45] Exibe no monitor serial uma variável 'hallsensor' que implementa 'analogRead' para obter informações do sensor de efeito Hall enquanto o programa está sendo executado.
Objetivo do parâmetro delay ()
O objetivo do parâmetro delay () é variar o tempo de resposta da coleta de dados que é recebido do sensor de efeito Hall
---------------------------------------------------------------------------------------------------------
Sub-etapas:
Insira o código do Arduino no aplicativo Arduino
Etapa 3: Código Matlab (arquivo HallRT)
-Método de recebimento de dados - [Figura 3: Linha 77]
Obtenção de dados do ArduinoStep
---------------------------------------------------------------------------------------------------------
Sub-etapas:
O código Matlab de entrada está acima das figuras, salve no arquivo HallRT
Etapa 4: Código Matlab (thresh_analyze)
Método de contagem de picos [Figura 2: Linhas 45-53]
- O uso do sinalizador neste código Matlab é para que, uma vez que o loop for tropeça em um 'aRval' que é maior do que o valor de 'limite' predefinido, a contagem aumentará em um, o pico será marcado por um asteriscos, e a instrução if [Linha 45-50] será interrompida porque sinalizador = 1. A segunda instrução if com um sinalizador [Linha 51-53] indica que, uma vez que o pico seja atingido e os valores comecem a diminuir em torno do pico, então sinalize = 0 e o loop for continua a procurar mais picos.
-
Parâmetros / valores necessários:
- 'aRval': Os dados coletados de uma execução de teste.
- 'thresh': Um valor escolhido para indicar qualquer coisa acima dele em aRval como um pico.
---------------------------------------------------------------------------------------------------------
Sub-etapas:
Crie um segundo arquivo Matlab "thresh_analyze"
Etapa 5: Teste 1: sem aliasing
Figura 1: Data Trial @ Delay 200Figure 2: Thresh Analyzed Data
- Parâmetro de atraso: 200
Peaks:
Contagem = 45
- Número de revoluções por minuto:
45 revoluções / minuto
---------------------------------------------------------------------------------------------------------
Sub-etapas:
-
Conecte o Arduino ao seu laptop.
Defina o atraso no código do Arduino para "200". Pressione Upload (no canto superior esquerdo do aplicativo)
- Vá para o seu arquivo Matlab HallRT [Linha 37] e altere a variável 'delayTime' para 200.
- Execute o programa HallRT.
- Salve o arquivo Matlab em "delay_200". (Salvar Figura)
- Carregue o arquivo delay_200.mat.
- Execute o programa thresh_analyze. (Salvar Figura)
Etapa 6: Teste 2: Aliasing do Sensor (i)
Figura 1: Data Trial @ Delay 50
Figura 2: Limite de dados analisados
Parâmetro de atraso: 50-Picos:
Contagem = 52
Número de revoluções por minuto:
52 Revoluções / Minuto
---------------------------------------------------------------------------------------------------------
Sub-etapas:
-
Conecte o Arduino ao seu laptop.
Defina o atraso no código do Arduino para "50". Pressione Upload (no canto superior esquerdo do aplicativo)
- Vá para o seu arquivo Matlab HallRT [Linha 37] e altere a variável 'delayTime' para 50.
- Execute o programa HallRT.
- Salve o arquivo Matlab em "delay_50". (Salvar Figura)
- Carregue o arquivo delay_50.mat.
- Execute o programa thresh_analyze. (Salvar Figura)
Etapa 7: Teste 3: Aliasing do Sensor (ii)
Figura 1: Data Trial @ Delay 100Figure 2: Thresh Analisados Dados
Parâmetro de atraso: 100-Picos:
Contagem = 54
Número de revoluções por minuto:
54 revoluções / minuto
------------------------------------------------ -------------------------------------------------- ------- Sub-etapas:
-
Conecte o Arduino ao seu laptop.
Defina o atraso no código do Arduino para "100". Pressione Upload (no canto superior esquerdo do aplicativo). '
- Vá para o seu arquivo Matlab HallRT [Linha 37] e altere a variável 'delayTime' para 100.
- Execute o programa HallRT.
- Salve o arquivo Matlab em "delay_100". (Salvar Figura)
- Carregue o arquivo delay_100.mat.
- Execute o programa thresh_analyze. (Salvar Figura)
Etapa 8: Teste 4: Aliasing do Sensor (iii)
Figura 1: Data Trial @ Delay 300Figure 2: Thresh Analyzed Data
- Parâmetro de atraso: 300
Peaks:
Contagem = 32
Número de revoluções por minuto:
32 revoluções / minuto
-------------------------------------------------- -------------------------------------------------- ------- Sub-etapas:
-
Conecte o Arduino ao seu laptop.
Defina o atraso no código do Arduino para "300". Pressione Upload (no canto superior esquerdo do aplicativo)
- Vá para o seu arquivo Matlab HallRT [Linha 37] e altere a variável 'delayTime' para 300.
- Execute o programa HallRT.
- Salve o arquivo Matlab em "delay_300". (Salvar Figura)
- Carregue o arquivo delay_300.mat.
- Execute o programa thresh_analyze. (Salvar Figura)