Taula de continguts:

Servo Squirter - Pistola d'aigua USB: 5 passos
Servo Squirter - Pistola d'aigua USB: 5 passos

Vídeo: Servo Squirter - Pistola d'aigua USB: 5 passos

Vídeo: Servo Squirter - Pistola d'aigua USB: 5 passos
Vídeo: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, Desembre
Anonim
Servo Squirter: pistola d'aigua USB
Servo Squirter: pistola d'aigua USB

Una pistola d'aigua servo controlada per USB. Ideal per disparar contra transeünts desprevinguts o per mantenir a ratlla persones amb preguntes molestes. Aquest projecte és una petita bomba d’aigua muntada a la part superior d’un servo per disparar direccionalment. Tot està dirigit per un microcontrolador i es controla des del teclat mitjançant USB. Per veure més projectes i tutorials de vídeo gratuïts, visiteu el nostre lloc web

Pas 1: reuniu els materials

Reuneix els materials
Reuneix els materials
Reuneix els materials
Reuneix els materials
Reuneix els materials
Reuneix els materials

Aquest projecte està basat en microcontroladors. A part del microcontrolador ATmega168 inclòs al USB NerdKit. Per a aquest projecte vam utilitzar el següent: 1 Hobby Servo, Hitec HS-501 Bomba d’aigua de pistó de baixa tensió 1 MOSFET petit de canal n, 2N7000

Pas 2: Munteu el circuit

Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit
Muntatge del circuit

La primera part del nostre circuit només es connecta al servo. Aquí és senzill: un cable del microcontrolador al servo. Hi ha uns quants etiquetatges de colors diferents segons el fabricant, així que comproveu-ho abans de provar-ho. Foto esquemàtica del circuit ServoSquirter a la placa de pa NerdKits La segona part del circuit permet que el microcontrolador engegui i apagui el motor de la bomba. El propi xip ATmega168 només permet entrar o sortir de 40 mA de qualsevol pin, però la nostra bomba requereix més de 1000 mA. Per tant, per controlar aquesta càrrega més gran, hem optat per utilitzar un transistor més gran, el 2N7000. En primer lloc, expliquem els conceptes bàsics de l’ús de MOSFET (transistors d’efecte de camp de semiconductors d’òxid metàl·lic) com a commutadors: portant la tensió de la porta per sobre de la font, podem permetre que el corrent flueixi de drenatge a font. Del full de dades 2N7000, hem extret la figura 1, que mostra la relació entre el corrent de drenatge i el voltatge de drenatge per a diferents configuracions de voltatge de porta. Hi ha algunes coses importants que podeu aprendre d’aquest gràfic: 1. Per a VGS inferiors a uns 3,0 volts, no es permet la circulació de corrent. Aquest és l'estat off, també anomenat "tall". 2. Per a VDS petits, la corba sembla aproximadament lineal a través de l'origen, el que significa que elèctricament "sembla" una resistència. La resistència equivalent és el pendent invers de la corba. Aquesta regió de l'operació MOSFET s'anomena "triode". 3. Per a VDS més grans, s’assoleix un nivell màxim de corrent. Això s’anomena “saturació”. 4. A mesura que augmentem VGS, es deixa fluir més corrent tant en els modes de triode com de saturació. I ara heu après sobre els tres modes d’operació MOSFET: tall, triode i saturació. Com que el nostre control de porta és digital (+5 o 0), només ens preocupa la corba ressaltada en groc, per a VGS = 5V. Normalment, utilitzar un MOSFET com a commutador implica generalment el mode d’operació triode, perquè el MOSFET dissipa la potència PD = ID * VDS i un bon commutador hauria de dissipar poca potència en el propi commutador. Però en aquest cas, estem davant d’un motor i els motors solen requerir molta corrent (amb poca caiguda de tensió) quan s’inicien per primera vegada. Així doncs, durant el primer o dos segons, el MOSFET funcionarà amb VDS elevat i estarà limitat pel seu corrent màxim (uns 800 mA de la línia discontínua vermella que hem dibuixat al full de dades). Vam trobar que això no era suficient per iniciar la bomba, així que vam fer un petit truc i vam posar dos MOSFET en paral·lel. D’aquesta manera, comparteixen el corrent i poden enfonsar-se junts uns 1600 mA. També a causa dels elevats requisits de potència de la bomba, hem utilitzat un transformador de paret amb una sortida de corrent superior. Si teniu un transformador de paret amb una sortida superior a 5V (potser 9V o 12V), aleshores podeu fer-ho

Pas 3: configureu el PWM a la MCU

Configureu el PWM a la MCU
Configureu el PWM a la MCU
Configureu el PWM a la MCU
Configureu el PWM a la MCU
Configureu el PWM a la MCU
Configureu el PWM a la MCU

Registres i càlculs PWM Al vídeo, parlem de dos nivells que utilitza el mòdul temporitzador / comptador: el valor superior i el valor de comparació. Tots dos són importants per generar el senyal PWM que desitgeu, però per activar la sortida PWM del vostre ATmega168 en primer lloc, hem de configurar uns quants registres. Primer, seleccionem el mode PWM ràpid amb OCR1A com a valor superior, cosa que ens permet establir arbitràriament la freqüència amb què s’inicia un nou impuls. Després, configurem el rellotge perquè funcioni amb una predivisió de 8, el que significa que el comptador augmentarà per 1 cada 8 / (14745600 Hz) = 542 nanosegons. Com que tenim registres de 16 bits per a aquest temporitzador, això significa que podem configurar el període de senyal global fins a 65536 * 542ns = 36 mil·lisegons. Si utilitzéssim un número de divisió més gran, podríem allunyar els nostres impulsos (cosa que no ajuda en aquesta situació) i perdríem la resolució. Si féssim servir un número de divisió més petit (com ara 1), no podríem fer les pulsacions separades com a mínim amb 16 mil·lisegons, tal com espera el nostre servo. Finalment, establim el mode de comparació de sortida per a un PWM "no inversor", que es descriu al nostre vídeo. També establim que el pin PB2 sigui un pin de sortida, que no es mostra aquí, però es troba al codi. Feu clic per ampliar aquestes captures de les pàgines 132-134 del full de dades ATmega168, amb les nostres seleccions de valors de registre ressaltades:

Pas 4: programa el microcontrolador

Ara és el moment de programar la MCU. El codi font complet es proporciona al nostre lloc web https://www.nerdkits.com/videos/servosquirter El codi primer configura el PWM per accionar el servo. Aleshores, el codi només es troba en un bucle mentre espera l'entrada de l'usuari. Els caràcters 1 i 0 activen o desactiven el pin MCU que està connectat al transistor de la bomba. Això activarà i desactivarà la bomba, cosa que ens permetrà disparar a voluntat. El codi també respon a les tecles '[' i ']', aquestes tecles augmentaran o disminuiran el valor de comparació del pin PWM, cosa que provocarà que el servo motor per canviar de posició. Això us permetrà apuntar abans de disparar.

Pas 5: comunicacions de port sèrie

Comunicacions de ports en sèrie
Comunicacions de ports en sèrie
Comunicacions de ports en sèrie
Comunicacions de ports en sèrie
Comunicacions de ports en sèrie
Comunicacions de ports en sèrie
Comunicacions de ports en sèrie
Comunicacions de ports en sèrie

L’últim pas és configurar l’ordinador perquè pugueu enviar les ordres al microcontrolador. Al NerdKit, fem servir el cable sèrie per enviar ordres i informació a l’ordinador. És possible escriure programes senzills en la majoria de llenguatges de programació que puguin comunicar-se a través del port sèrie al NerdKit. No obstant això, és molt més senzill utilitzar un programa de terminal per fer-nos la comunicació en sèrie. D'aquesta manera, només podeu escriure al teclat i veure la resposta del NerdKit. Comunicacions ". Quan obriu HyperTerminal per primera vegada, us demana que configureu una connexió. Cancel·leu-les, fins que no esteu a la pantalla principal de l’HyperTerminal. Haureu de configurar HyperTerminal, triar el port COM correcte i configurar la configuració del port adequadament per treballar amb el NerdKit. Seguiu les captures de pantalla següents per obtenir la configuració adequada d’HyperTerm. Si sou a Windows Vista, HyperTerminal ja no està inclòs. En aquest cas, descarregueu PuTTY (instal·lador de Windows). Utilitzeu la configuració de connexió següent per configurar Putty, mitjançant el port COM adequat. Mac OS X Després d’entrar a l’aplicació Terminal, escriviu "screen /dev/tty. PL* 115200" per començar a comunicar-vos pel port sèrie. Linux A Linux, fem servir " minicom "per parlar amb el port sèrie. Per començar, executeu "minicom -s" a la consola per accedir al menú de configuració de minicom. Aneu a "Configuració del port sèrie". Establiu els paràmetres de la següent manera: Configuració de Minicom a Linux A continuació, premeu escape i utilitzeu el botó "Desa la configuració com a dfl" per desar la configuració com a predeterminada. Ara hauríeu de poder prémer "Exit" i utilitzar minicom per parlar amb el NerdKit.

Recomanat: