Índice:

Servo Squirter - Pistola de água USB: 5 etapas
Servo Squirter - Pistola de água USB: 5 etapas

Vídeo: Servo Squirter - Pistola de água USB: 5 etapas

Vídeo: Servo Squirter - Pistola de água USB: 5 etapas
Vídeo: Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation 2024, Novembro
Anonim
Servo Squirter - Pistola de água USB
Servo Squirter - Pistola de água USB

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

Reúna os materiais
Reúna os materiais
Reúna os materiais
Reúna os materiais
Reúna os materiais
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

Monte o circuito
Monte o circuito
Monte o circuito
Monte o circuito
Monte o circuito
Monte o circuito
Monte o circuito
Monte 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

Configure o PWM no MCU
Configure o PWM no MCU
Configure o PWM no MCU
Configure o PWM no MCU
Configure o PWM no MCU
Configure 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

Comunicações de porta serial
Comunicações de porta serial
Comunicações de porta serial
Comunicações de porta serial
Comunicações de porta serial
Comunicações de porta serial
Comunicações de porta serial
Comunicações de 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: