Sommario:

Servo Squirter - Pistola ad acqua USB: 5 passaggi
Servo Squirter - Pistola ad acqua USB: 5 passaggi

Video: Servo Squirter - Pistola ad acqua USB: 5 passaggi

Video: Servo Squirter - Pistola ad acqua USB: 5 passaggi
Video: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, Novembre
Anonim
Servo Squirter - Pistola ad acqua USB
Servo Squirter - Pistola ad acqua USB

Una pistola ad acqua servo controllata tramite USB. Ottimo per sparare a passanti ignari o per tenere a bada le persone con domande fastidiose. Questo progetto è una piccola pompa dell'acqua montata sopra un servo per il fuoco direzionale. Il tutto è guidato da un microcontrollore e controllato dalla tua tastiera tramite USB. Per vedere altri nostri progetti e tutorial video gratuiti, visita il nostro sito Web

Passaggio 1: raccogliere i materiali

Raccogli i materiali
Raccogli i materiali
Raccogli i materiali
Raccogli i materiali
Raccogli i materiali
Raccogli i materiali

Questo progetto è basato su microcontrollore. Altro che microcontrollore ATmega168 incluso nel NerdKit USB. Per questo progetto abbiamo utilizzato quanto segue:1 Hobby Servo, Hitec HS-501 Pompa dell'acqua a pistone a bassa tensione1 Piccolo MOSFET a canale n, 2N7000

Passaggio 2: assemblare il circuito

Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito
Assemblare il circuito

La prima parte del nostro circuito si collega semplicemente al servo. Questo è semplice qui: un filo dal microcontrollore al servo. Ci sono alcune etichette di colore diverso a seconda del produttore, quindi controlla prima di provarlo. Foto schematica del circuito ServoSquirter sulla breadboard NerdKit La seconda parte del circuito consente al microcontrollore di accendere e spegnere il motore della pompa. Il chip ATmega168 stesso consente solo 40 mA max dentro o fuori da qualsiasi pin, ma la nostra pompa richiede più vicino a 1000 mA! Quindi, per controllare questo carico maggiore, abbiamo scelto di utilizzare un transistor più grande, il 2N7000. Innanzitutto spieghiamo le basi dell'utilizzo dei MOSFET (Metal Oxide Semiconductor Field Effect Transistor) come interruttori: portando la tensione di Gate sopra la Source, possiamo consentire alla corrente di fluire da Drain a Source. Dalla scheda tecnica del 2N7000, abbiamo estratto la Figura 1, che mostra la relazione tra la corrente di drain e la tensione di drain-source per diverse impostazioni di tensione gate-source. Ci sono alcune cose importanti che puoi imparare da questo grafico: 1. Per VGS al di sotto di circa 3,0 volt, non è consentito il flusso di corrente. Questo è lo stato off, chiamato anche "cutoff". 2. Per piccoli VDS, la curva sembra approssimativamente lineare attraverso l'origine, il che significa che "sembra" elettricamente come un resistore. La resistenza equivalente è la pendenza inversa della curva. Questa regione del funzionamento del MOSFET è chiamata "triodo". 3. Per VDS più grandi, viene raggiunto un livello massimo di corrente. Questa si chiama "saturazione". 4. Man mano che aumentiamo VGS, più corrente può fluire in entrambe le modalità triodo e saturazione. E ora hai effettivamente appreso tutte e tre le modalità di funzionamento del MOSFET: taglio, triodo e saturazione. Perché il nostro controllo del gate è digitale (+5 o 0), ci interessa solo la curva evidenziata in giallo, per VGS=5V. Normalmente, l'utilizzo di un MOSFET come interruttore implica generalmente la modalità di funzionamento a triodo, poiché il MOSFET dissipa potenza PD=ID*VDS e un buon interruttore dovrebbe dissipare poca potenza nell'interruttore stesso. Ma in questo caso, abbiamo a che fare con un motore e i motori tendono a richiedere molta corrente (con poche cadute di tensione) quando vengono avviati per la prima volta. Quindi, per i primi due secondi, il MOSFET funzionerà con un VDS elevato e sarà limitato dalla sua corrente massima, circa 800 mA dalla linea tratteggiata rossa che abbiamo disegnato sul foglio dati. Abbiamo scoperto che questo non era sufficiente per avviare la pompa, quindi abbiamo usato un piccolo trucco e messo due MOSFET in parallelo. In questo modo, condividono la corrente e possono effettivamente assorbire circa 1600 mA insieme. Inoltre, a causa degli elevati requisiti di potenza della pompa, abbiamo utilizzato un trasformatore a parete con un'uscita di corrente maggiore. Se hai un trasformatore da parete con un'uscita maggiore di 5 V, forse 9 V o 12 V, allora puoi

Passaggio 3: configurare il PWM sull'MCU

Configurare il PWM sull'MCU
Configurare il PWM sull'MCU
Configurare il PWM sull'MCU
Configurare il PWM sull'MCU
Configurare il PWM sull'MCU
Configurare il PWM sull'MCU

Registri e calcoli PWM Nel video, parliamo di due livelli utilizzati dal modulo timer/contatore: il valore superiore e il valore di confronto. Entrambi sono importanti per generare il segnale PWM che desideri. Ma per attivare l'uscita PWM del tuo ATmega168 in primo luogo, dobbiamo impostare alcuni registri. Innanzitutto, selezioniamo la modalità Fast PWM con OCR1A come valore superiore, che ci consente di impostare arbitrariamente la frequenza con cui avviare un nuovo impulso. Quindi, impostiamo l'orologio in modo che funzioni con una pre-divisione di 8, il che significa che il contatore aumenterà di 1 ogni 8/(14745600 Hz) = 542 nanosecondi. Poiché abbiamo registri a 16 bit per questo timer, ciò significa che possiamo impostare il periodo complessivo del segnale su un massimo di 65536*542ns = 36 millisecondi. Se usassimo un numero di divisione più grande, potremmo allontanare i nostri impulsi (il che non aiuta in questa situazione) e perderemmo la risoluzione. Se usassimo un numero di divisione più piccolo (come 1), non saremmo in grado di fare i nostri impulsi ad almeno 16 millisecondi di distanza, come si aspetta il nostro servo. Infine, impostiamo la modalità di confronto dell'uscita per un PWM "non invertente" output, che è descritto nel nostro video. Abbiamo anche impostato il pin PB2 come pin di uscita -- non mostrato qui, ma è nel codice. Fare clic per ingrandire questi scatti dalle pagine 132-134 della scheda tecnica ATmega168, con le nostre selezioni dei valori di registro evidenziate:

Passaggio 4: programmare il microcontrollore

Ora è il momento di programmare effettivamente l'MCU. Il codice sorgente completo è fornito sul nostro sito Web https://www.nerdkits.com/videos/servosquirter Il codice imposta prima il PWM per pilotare il servo. Il codice quindi si trova in un ciclo while in attesa dell'input dell'utente. I caratteri 1 e 0 attivano o disattivano il pin MCU collegato al transistor della pompa. Questo accenderà e spegnerà la pompa dandoci la possibilità di sparare a piacimento. Il codice risponde anche ai tasti '[' e ']' questi tasti aumenteranno o diminuiranno il valore di confronto sul pin PWM, il che farà sì che il servo motore per cambiare posizione. Questo ti dà la possibilità di mirare prima di sparare.

Passaggio 5: comunicazioni della porta seriale

Comunicazioni della porta seriale
Comunicazioni della porta seriale
Comunicazioni della porta seriale
Comunicazioni della porta seriale
Comunicazioni della porta seriale
Comunicazioni della porta seriale
Comunicazioni della porta seriale
Comunicazioni della porta seriale

L'ultimo passaggio consiste nell'impostare il computer in modo da poter inviare i comandi al microcontrollore. Nel NerdKit utilizziamo il cavo seriale per inviare comandi e informazioni al computer. È possibile scrivere programmi semplici nella maggior parte dei linguaggi di programmazione in grado di comunicare tramite la porta seriale al NerdKit. Tuttavia è molto più semplice usare un programma terminale per fare la comunicazione seriale per noi. In questo modo puoi semplicemente digitare sulla tastiera e vedere la risposta dal NerdKit. WindowsSe stai usando Windows XP o versioni precedenti, HyperTerminal è incluso e dovrebbe essere nel menu Start sotto "Start -> Programmi -> Accessori -> Comunicazioni". Quando apri per la prima volta HyperTerminal, ti chiede di impostare una connessione. Annulla da quelli, fino a quando non sei nella schermata principale di HyperTerminal. Dovrai configurare HyperTerminal, scegliere la porta COM corretta e impostare le impostazioni della porta in modo appropriato per funzionare con NerdKit. Segui gli screenshot qui sotto per ottenere la corretta configurazione di HyperTerm. Se utilizzi Windows Vista, HyperTerminal non è più incluso. In questo caso, vai a scaricare PuTTY (programma di installazione di Windows). Utilizzare le impostazioni di connessione di seguito per configurare Putty, utilizzando la porta COM appropriata. Mac OS X Dopo aver inserito l'applicazione Terminal, digitare "screen /dev/tty. PL* 115200" per iniziare a comunicare tramite la porta seriale. LinuxSu Linux, usiamo " minicom" per parlare con la porta seriale. Per iniziare, esegui "minicom -s" sulla console per accedere al menu di configurazione di minicom. Vai a "Impostazione porta seriale". Imposta i parametri come segue: Configurazione Minicom su Linux Quindi, premi Esci e usa "Salva configurazione come dfl" per salvare le impostazioni come predefinite. Ora dovresti essere in grado di premere "Esci" e usare minicom per parlare con il NerdKit.

Consigliato: