Sommario:
- Passaggio 1: raccogliere i materiali
- Passaggio 2: assemblare il circuito
- Passaggio 3: configurare il PWM sull'MCU
- Passaggio 4: programmare il microcontrollore
- Passaggio 5: comunicazioni della porta seriale
Video: Servo Squirter - Pistola ad acqua USB: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:06
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
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
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
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
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:
Sistema di allarme per bere acqua/Monitoraggio della presa d'acqua: 6 passaggi
Sistema di allarme per bere acqua/monitor dell'assunzione di acqua: dovremmo bere una quantità sufficiente di acqua ogni giorno per mantenerci in salute. Inoltre ci sono molti pazienti a cui viene prescritto di bere una certa quantità d'acqua ogni giorno. Ma sfortunatamente abbiamo perso il programma quasi tutti i giorni. Quindi disegno
Risparmia acqua e denaro con il monitor dell'acqua della doccia: 15 passaggi (con immagini)
Risparmia acqua e denaro con il monitor dell'acqua della doccia: quale usa più acqua - un bagno o una doccia? Di recente stavo pensando a questa domanda e mi sono reso conto che in realtà non so quanta acqua viene utilizzata quando faccio la doccia. So che quando sono sotto la doccia a volte la mia mente vaga, pensando a un bel ne
Valvola dell'acqua servo: 5 passaggi
Servo Water Valve: ho un altro progetto, il sensore di umidità delle piante, che può rilevare il livello dell'acqua nel terreno. Questo è un follow-up, quindi puoi usare i dati forniti dal sensore per fare qualcosa di utile (come innaffiare una pianta). Questo è fatto completamente fuori casa
BOTTIGLIA DELL'ACQUA RISCALDATA ELETTRICA FAI DA TE (USB): 11 passaggi (con immagini)
BOTTIGLIA DELL'ACQUA RISCALDATA ELETTRICA FAI DA TE (USB): Questo è qualcosa che fino ad ora non esiste al mondo, voglio sapere perché gli umani perché non hai fatto qualcosa di simile per te stesso. questo è uno dei miei progetti più semplici e facili anche se si qualifica anche per la mia lista di progetti più utili. per un in-de
Metodi di rilevamento del livello dell'acqua Arduino utilizzando il sensore a ultrasuoni e il sensore dell'acqua Funduino: 4 passaggi
Metodi per rilevare il livello dell'acqua Arduino utilizzando il sensore ad ultrasuoni e il sensore dell'acqua Funduino: in questo progetto, ti mostrerò come creare un rilevatore d'acqua economico utilizzando due metodi: 1. Sensore a ultrasuoni (HC-SR04).2. Sensore acqua Funduino