Índice:
- Etapa 1: Layout do Ciruit
- Etapa 2: Código Arduino
- Etapa 3: Código Matlab (arquivo HallRT)
- Etapa 4: Código Matlab (thresh_analyze)
- Etapa 5: Teste 1: sem aliasing
- Etapa 6: Teste 2: Aliasing do Sensor (i)
- Etapa 7: Teste 3: Aliasing do Sensor (ii)
- Etapa 8: Teste 4: Aliasing do Sensor (iii)
Vídeo: Taxa de amostragem / aliasing instrutível: 8 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:41
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)
Recomendado:
Sensores operacionais para bombas de amostragem individuais: 3 etapas
Sensores operacionais para bombas de amostragem individuais: fiz um sistema para controlar o bom funcionamento das bombas de amostragem individuais
Amostragem de dados Af Tyverialarm IIOT 4.0: 8 etapas
Dataopsamling Af Tyverialarm IIOT 4.0: Dette projekt i faget IIOT er en videreudvikling af entyverialarm, so jeg har lavet på en Arduino i et tidligere projekt. Der er i dette projekt blevet fokuseret på lagring af de data, jeg får fra min tyverialarm, samt at lave et brugerinterface. D
Tutorial de amostragem de sinal analógico - MATLAB: 8 etapas
Tutorial de amostragem de sinal analógico | MATLAB: Neste tutorial, mostramos o que é Amostragem? e como amostrar um sinal analógico usando o software MATLAB
Mod de amostragem direta RTL-SDR: 3 etapas
RTL-SDR Direct Sampling Mod: Muitos dongles não são capazes de fazer uso de frequências abaixo de 30Mhz, entretanto é possível modificar alguns dispositivos para fazer isso usando uma chamada de método Direct Sampling. Na amostragem direta, aplicamos um sinal diretamente ao 'cérebro' dos dongles, ignorando
PCB com formato personalizado (robô instrutível): 18 etapas (com imagens)
PCB personalizado (Instructable Robot): Sou um entusiasta da eletrônica. Fiz muito PCB. Mas a maioria deles tem a forma retangular regular. Mas eu vi alguns PCBs personalizados na maioria dos equipamentos eletrônicos. Por isso, experimentei alguns PCBs de design personalizado nos primeiros dias. Então aqui eu explico