Índice:
- Etapa 1: Reúna os materiais
- Etapa 2: montar o circuito
- Etapa 3: Configurar o PWM no MCU
- Etapa 4: programe o microcontrolador
- Etapa 5: Comunicações da porta serial
Vídeo: Servo Squirter - Pistola de água USB: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:40
Uma pistola de água servo controlada por USB. Ótimo para atirar em transeuntes desavisados ou manter pessoas com perguntas irritantes à distância. Este projeto é uma pequena bomba d'água montada em cima de um servo para disparo direcional. Tudo é acionado por um microcontrolador e controlado pelo teclado via USB. Para ver mais de nossos projetos e tutoriais em vídeo gratuitos, visite nosso site
Etapa 1: Reúna os materiais
Este projeto é baseado em microcontrolador. Diferente do microcontrolador ATmega168 incluído no USB NerdKit. Para este projeto, usamos o seguinte: 1 Hobby Servo, Hitec HS-501 Bomba de água de pistão de baixa tensão 1 MOSFET pequeno de canal n, 2N7000
Etapa 2: montar o circuito
A primeira parte do nosso circuito apenas se conecta ao servo. Isso é simples aqui: um fio do microcontrolador ao servo. Existem algumas etiquetas de cores diferentes dependendo do fabricante, então verifique antes de tentar isso. Foto esquemática do circuito ServoSquirter na placa de ensaio NerdKitsA segunda parte do circuito permite que o microcontrolador ligue e desligue o motor da bomba. O próprio chip ATmega168 permite no máximo 40mA para dentro ou para fora de qualquer pino, mas nossa bomba requer perto de 1000mA! Portanto, para controlar essa carga maior, optamos por usar um transistor maior, o 2N7000. Primeiro, explicamos os fundamentos do uso de MOSFETs (Transistores de efeito de campo de óxido metálico) como interruptores: trazendo a tensão do Gate acima da Fonte, podemos permitir que a corrente flua do Dreno para a Fonte. Da folha de dados do 2N7000, extraímos a Figura 1, que mostra a relação entre a corrente de dreno e a tensão de dreno-fonte para diferentes configurações de tensão porta-fonte. Existem algumas coisas importantes que você pode aprender neste gráfico: 1. Para VGS abaixo de cerca de 3,0 volts, nenhuma corrente pode fluir. Este é o estado desligado, também chamado de "corte". 2. Para VDS pequenos, a curva parece quase linear através da origem - o que significa que eletricamente "parece" um resistor. A resistência equivalente é a inclinação inversa da curva. Esta região de operação do MOSFET é chamada de "triodo". 3. Para VDS maiores, algum nível máximo de corrente é alcançado. Isso é chamado de "saturação". 4. À medida que aumentamos o VGS, mais corrente pode fluir nos modos triodo e saturação. E agora você realmente aprendeu sobre todos os três modos de operação do MOSFET: corte, triodo e saturação. Porque nosso controle de porta é digital (+5 ou 0), estamos apenas preocupados com a curva destacada em amarelo, para VGS = 5V. Normalmente, usar um MOSFET como um switch geralmente envolve o modo triodo de operação, porque o MOSFET dissipa energia PD = ID * VDS, e um bom switch deve dissipar pouca energia no próprio switch. Mas, neste caso, estamos lidando com um motor, e os motores tendem a exigir muita corrente (com pouca queda de tensão) na primeira partida. Portanto, pelo primeiro ou dois segundos, o MOSFET operará com VDS alto e será limitado por sua corrente máxima - cerca de 800mA a partir da linha tracejada vermelha que desenhamos na folha de dados. Descobrimos que isso não era suficiente para iniciar a bomba, então usamos um pequeno truque e colocamos dois MOSFETs em paralelo. Dessa forma, eles compartilham a corrente e podem efetivamente absorver cerca de 1600mA juntos. Também devido aos requisitos de alta potência da bomba, usamos um transformador de parede com saída de corrente mais alta. Se você tiver um transformador de parede com saída superior a 5 V - talvez 9 V ou 12 V - então você pode
Etapa 3: Configurar o PWM no MCU
Registros e cálculos PWM No vídeo, falamos sobre dois níveis usados pelo módulo temporizador / contador: o valor superior e o valor de comparação. Ambos são importantes para gerar o sinal PWM que você deseja. Mas, para ativar a saída PWM do ATmega168 em primeiro lugar, precisamos configurar alguns registradores. Primeiro, selecionamos o modo Fast PWM com OCR1A como o valor superior, o que nos permite definir arbitrariamente com que frequência iniciar um novo pulso. Em seguida, configuramos o relógio para funcionar com uma pré-divisão de 8, o que significa que o contador aumentará em 1 a cada 8 / (14745600 Hz) = 542 nanossegundos. Uma vez que temos registradores de 16 bits para este temporizador, isso significa que podemos definir nosso período de sinal geral para ser tão alto quanto 65536 * 542ns = 36 milissegundos. Se usássemos um número de divisão maior, poderíamos tornar nossos pulsos mais distantes (o que não ajuda nessa situação) e perderíamos a resolução. Se usássemos um número de divisão menor (como 1), não seríamos capazes de separar nossos pulsos de pelo menos 16 milissegundos, como nosso servo espera. Por fim, configuramos o modo Compare Output para um PWM "não invertido" saída, que é descrita em nosso vídeo. Também definimos o pino PB2 para ser um pino de saída - não mostrado aqui, mas está no código. Clique para ampliar essas fotos nas páginas 132-134 da folha de dados do ATmega168, com nossas seleções de valor de registro destacadas:
Etapa 4: programe o microcontrolador
Agora é hora de realmente programar o MCU. O código-fonte completo é fornecido em nosso website https://www.nerdkits.com/videos/servosquirter. O código primeiro configura o PWM para acionar o servo. O código então fica em um loop while esperando pela entrada do usuário. Os caracteres 1 e 0 ligam ou desligam o pino MCU que está conectado ao transistor da bomba. Isso irá ligar e desligar a bomba, dando-nos a capacidade de disparar à vontade. O código também responde às teclas '[' e ']'; essas teclas aumentam ou diminuem o valor de comparação no pino PWM, o que fará com que o servo motor para mudar de posição. Isso lhe dá a capacidade de mirar antes de atirar.
Etapa 5: Comunicações da porta serial
A última etapa é configurar o computador para que você possa enviar os comandos ao Microcontrolador. No NerdKit, usamos o cabo serial para enviar comandos e informações ao computador. É possível escrever programas simples na maioria das linguagens de programação que podem se comunicar pela porta serial com o NerdKit. No entanto, é muito mais simples usar um programa de terminal para fazer a comunicação serial para nós. Dessa forma, você pode simplesmente digitar no teclado e ver a resposta do NerdKit. WindowsSe você estiver usando o Windows XP ou anterior, o HyperTerminal está incluído e deve estar no menu Iniciar em "Iniciar -> Programas -> Acessórios -> Comunicações ". Quando você abre o HyperTerminal pela primeira vez, ele pede que você configure uma conexão. Cancele esses, até que você esteja na sessão principal do HyperTerminal. Você terá que configurar o HyperTerminal, escolhendo a porta COM correta e definindo as configurações da porta de forma apropriada para funcionar com o NerdKit. Siga as capturas de tela abaixo para obter a configuração correta do HyperTerm. Se você estiver no Windows Vista, o HyperTerminal não está mais incluído. Nesse caso, faça o download do PuTTY (instalador do Windows). Use as configurações de conexão abaixo para configurar o Putty, usando a porta COM adequada. Mac OS XApós entrar no aplicativo Terminal, digite "screen /dev/tty. PL* 115200" para iniciar a comunicação pela porta serial. Linux No Linux, usamos " minicom "para falar com a porta serial. Para iniciar, execute "minicom -s" no console para entrar no menu de configuração do minicom. Vá para "Configuração da porta serial". Defina os parâmetros da seguinte forma: Configuração do Minicom no Linux; em seguida, pressione escape e use "Salvar configuração como dfl" para salvar as configurações como padrão. Agora você deve conseguir clicar em "Sair" e usar o minicom para falar com o NerdKit.
Recomendado:
Suporte para garrafa de água de lembrete de água: 16 etapas
Suporte para garrafa de água lembrete de água: você já se esqueceu de beber sua água? Eu sei que eu faço! É por isso que tive a ideia de criar um porta-garrafa de água que lembra você de beber sua água. O suporte para garrafa de água tem um recurso onde um barulho soa a cada hora para lembrá-lo de
Sistema de alarme de consumo de água / Monitor de admissão de água: 6 etapas
Sistema de alarme de consumo de água / Monitor de consumo de água: Devemos beber quantidade suficiente de água todos os dias para nos mantermos saudáveis. Também existem muitos pacientes que são prescritos para beber alguma quantidade específica de água todos os dias. Mas infelizmente perdemos a programação quase todos os dias. Então eu desenho
Economize água e dinheiro com o monitor de água do chuveiro: 15 etapas (com fotos)
Economize água e dinheiro com o monitor de água do chuveiro: qual usa mais água - um banho ou um chuveiro? Recentemente, estava pensando sobre essa questão e percebi que não sei quanta água é usada no banho. Eu sei que quando estou no chuveiro às vezes minha mente divaga, pensando em um ne
Válvula de água servo: 5 etapas
Servo válvula de água: Tenho outro projeto, o sensor de umidade da planta, que pode detectar o nível de água no solo. Este é um seguimento a isso, para que você possa usar os dados que o sensor fornece para fazer algo útil (como regar uma planta). Isso é feito completamente fora de casa
Métodos de detecção do nível de água do Arduino usando o sensor ultrassônico e o sensor de água Funduino: 4 etapas
Métodos de detecção do nível de água do Arduino usando o sensor ultrassônico e o sensor de água Funduino: Neste projeto, mostrarei como criar um detector de água barato usando dois métodos: 1. Sensor ultrassônico (HC-SR04) .2. Sensor de água funduino