Sommario:

Raspberry Pi Cam Tank V1.0: 8 passaggi (con immagini)
Raspberry Pi Cam Tank V1.0: 8 passaggi (con immagini)

Video: Raspberry Pi Cam Tank V1.0: 8 passaggi (con immagini)

Video: Raspberry Pi Cam Tank V1.0: 8 passaggi (con immagini)
Video: I Can Save You Money! – Raspberry Pi Alternatives 2024, Novembre
Anonim
Image
Image
Serbatoio Raspberry Pi Cam V1.0
Serbatoio Raspberry Pi Cam V1.0

Amo i carri armati fin da piccolo. Costruire il mio carro armato giocattolo è sempre uno dei miei sogni. Ma a causa della mancanza di conoscenze e competenze. Il sogno è solo un sogno.

Dopo anni di studi in ingegneria e design industriale. Ho acquisito competenze e conoscenze. E grazie alle stampanti 3D per hobby più economiche. Posso finalmente fare il mio passo.

Quali caratteristiche voglio che abbia questo serbatoio?

  • Controllato da remoto
  • Ruote folli sospese (come il vero carro armato!)
  • Ha una torretta girevole e una pistola BB inclinabile può sparare proiettili da 6 mm
  • Può trasmettere video in streaming al controller in modo da poterlo controllare da lontano

All'inizio pensavo di usare arduino come controller, ma dopo alcune ricerche ho scoperto che non esiste un modo pratico per trasmettere video in streaming da solo. Tuttavia, Raspberry Pi sembra essere un buon candidato per lo streaming di video. E puoi controllarlo via moglie dal tuo telefono!

Iniziamo.

Passaggio 1: parti necessarie

Per il controllo

Raspberry Pi versione B

Hub USB alimentato (Belkin F4u040)

Webcam USB (Logitech C270)

Chiavetta Wi-Fi (Edimax)

Cavo jumper femmina-maschio

Per la guida

Due coppia elevata continua servo o motore (per due ruote motrici)

Un rode in acciaio da 1/8 per alberi delle ruote (acquistato a casa deposito e poco costoso)

Dieci cuscinetti a manicotto (ordinati su Mcmaster)

Alcune molle per sospensione (acquistate un assortimento di molle presso Harbour Freight, poco costoso)

Per torretta

Una pistola giocattolo automatica BB

Un mini motore DC a coppia elevata

Un micro servo per l'inclinazione su e giù

Alcuni 1/4 in acciaio montavano come asse della pistola

Altre cose

Ho stampato in 3D la maggior parte delle parti di questo serbatoio, se hai un facile accesso a un laser cutter, funzionerebbe anche questo.

Ho usato il filamento PLA per la stampa perché è più facile da gestire (nessun problema di avvolgimento su ABS). Ma, davvero difficile da carteggiare, tagliare, forare in seguito.

Potresti pensare che la stampa 3D sia utile per le parti personalizzate e puoi stampare parti molto complicate come un unico pezzo. Questo è vero. Tuttavia, penso che questo modo non sia pratico ed economico per un hobbista. I motivi sono:

La tua stampante per hobby non sarà così precisa.

Farai errori nelle misurazioni e nei calcoli (tolleranze, allineamento, ecc.).

Ad ogni modo, c'è un'alta probabilità che le tue stampe non funzionino o non si adattino al tuo primo scatto. Va bene per una piccola parte, puoi semplicemente cambiare il modello e poi ristampare. Ma per una parte più grande e complicata, è frustrante sapere che qualcosa non va dopo ore di stampa. È una perdita di tempo e di materiale. Quindi ecco il mio approccio:

Per qualsiasi cosa è simmetrica, stampane solo la metà, provalo, se tutto funziona bene, stampa tutto.

Modellare la parte pensando alla stampa 3D. Potrebbe esserci una superficie piana per fissare il piano della stampante? Potrebbe essere diviso in pezzi più piccoli per evitare molte strutture di supporto?

Per le parti hanno molte caratteristiche (interagire con molte altre parti), dividere il modello in moduli. Quindi, se una funzione fallisce, non devi ristampare l'intera parte. Basta modificare il modulo e ristamparlo. Io uso viti e dadi per collegarli.

Sii un buon amico con utensili manuali, sega a mano, X-acto, trapano elettrico, pistola per colla a caldo. Se riesci a correggere un errore di stampa, correggilo.

Questo spiega perché il mio serbatoio ha così tante parti. Sto ancora modificando quelle parti e una volta trovata una buona combinazione, posso stamparle insieme come un unico pezzo. Allora quello sarebbe il mio Cam Tank v2.0.

Passaggio 2: il sistema di guida

Image
Image
Il sistema di guida
Il sistema di guida
Il sistema di guida
Il sistema di guida

Sospensione

All'inizio ho realizzato un prototipo senza sospensioni, solo assi attraverso lo scafo inferiore con cuscinetti e ruote. Ma pensando al comfort dell'operatore (lo guiderò guardando il video in streaming!), ho deciso di aggiungere delle sospensioni per renderlo più fresco.

Tutto quello che ho sono alcune molle elicoidali, nessuna idraulica, nessuna molla a balestra. All'inizio ho sperimentato un meccanismo a barra di torsione con PLA. (La sospensione della barra di torsione è comune su alcuni serbatoi). Si scopre che dopo un paio di giri, la barra in PLA stampata si ammorbidisce e alla fine si rompe. L'ABS potrebbe essere migliore per questo scopo, ma non ho mai provato. Quindi, dopo ulteriori ricerche, ho trovato il design della sospensione Christie, ecco un breve video che mostra come funziona.

Tuttavia, la sospensione di Christie ha così tante piccole parti e quindi non ho fiducia nella mia stampante. Quindi ho fatto una sospensione come questa.

(Immagine)

Questa configurazione occupa troppo spazio interno. Quindi ruoto il braccio interno di 90 gradi. Nota che la prima e l'ultima ruota si sono accorciate

Tenditore posteriore

Ho pensato che quando il serbatoio passa sopra alcuni ostacoli, le ruote folli potrebbero alzarsi e la pista perderà tensione. Quindi ho aggiunto un meccanismo di tensionamento sulla ruota posteriore. Fondamentalmente sono due molle che spingono continuamente l'asse reale, esercitando una certa forza su di esso per stringere i cingoli.

Ruote motrici e cingoli

Ho progettato questi cingoli e ruote motrici in solidworks. Non so molto di ingegneria meccanica, quindi non posso fare il calcolo delle marce. Quindi ho simulato le parti in solidworks per vedere se funziona prima di premere il pulsante Stampa. Ogni traccia è collegata con un filamento di ricambio da 3 mm. Funziona abbastanza bene con un po' di carteggiatura. Ma il design del binario ha un difetto, la superficie che tocca il suolo è troppo liscia per essere difficile da afferrare. Se lo stampo capovolto, potrei aggiungere un po' di battistrada, ma costerà molto materiale di supporto a causa del dente. Soluzioni future: 1: stampa il dente separatamente e poi incollali insieme. 2. Applicare una vernice spray per rivestimento in gomma.

Quindi ho stampato l'alloggiamento per i servi e mi sono assicurato che la ruota motrice possa essere fissata al braccio del servo con delle viti.

Passaggio 3: sistema di armi

Image
Image
Sistema d'arma
Sistema d'arma
Sistema d'arma
Sistema d'arma

Questa parte è la più eccitante per me. È possibile acquistare un giocattolo per carri armati fotografici. Ma non ho trovato un giocattolo che combini una fotocamera e un'arma.

Ho comprato questa pistola giocattolo softair automatica per $ 9,99 in saldo. (Ora costa circa 20 dollari e potrei provare qualcosa di più economico in seguito) E smontarlo per capire il meccanismo. Posso tagliare completamente il corpo e incollarlo al mio serbatoio. Ma non mi piace il mezzo corpo dall'aspetto brutto. Quindi ho preso delle misure e ho rimodellato la parte meccanica. Da questi pezzi ho imparato una lezione sulla stampa 3D: sbaglierai sempre. Sono necessarie 5 stampe per adattare ogni parte e molto taglio, levigatura e incollaggio a caldo per renderlo perfetto.

Dopo che ogni parte della pistola giocattolo si è mossa correttamente nel mio corpo replicato, ho stampato altre quattro parti per bloccare il corpo. E ha aggiunto l'ingranaggio inclinabile, l'imbuto per proiettili BB e il supporto per la fotocamera. Queste parti sono tutte avvitate sul corpo della pistola. Eventualmente possono essere abbinati ad almeno due parti. Ma penso di non essere ancora pronto.

Sulla base della torretta, ho aggiunto un micro servo, per l'inclinazione, e un micro motore DC per la rotazione.

Poi ho iniziato a testare la pistola, collegare 4 batterie AA e spara bene. Sono stato davvero felice che funzioni bene. Ma il giorno dopo ho trovato un problema.

Ecco il video del test della mia pistola. la torretta era collegata a un adattatore 3v.

Passaggio 4: imposta il Pi

Questa è la parte più importante, il cuore del nostro acquario: Raspberry Pi!

Se non hai ancora giocato a Raspberry Pi. Consiglio di iniziare con questo libro: Iniziare con raspberry pi di MAKE. È possibile ottenere le basi e una comprensione completa di Pi.

Ottieni l'ultimo sistema operativo raspbian.

Il prossimo strumento che consiglio molto è il Desktop remoto. Ecco il tutorial di Adam Riley. Dopo aver configurato, puoi visualizzare il desktop Pi sul tuo PC (non testato su Mac). Quindi, per eseguire il Pi "nudo", non c'è bisogno di display, mouse e tastiera. Alcuni dei miei amici usano la riga di comando ssh. Ma io preferisco il desktop.

Sulla base di ricerche precedenti, sapevo che Raspberry Pi è in grado di trasmettere video in streaming. Così ho iniziato a scherzare con diverse app sul Pi. Molte app hanno un ritardo lungo (secondi) o hanno una frequenza fotogrammi bassa. Dopo un paio di settimane di vagabondaggio su video e tutorial online, fortunatamente ho trovato la soluzione. Un video su youtube su webiopi mi ha dato molta speranza. Ulteriori ricerche mi hanno fatto credere che questa sia la strada giusta da percorrere.

Webiopi è un framework che ha reso la connessione tra Pi e altri dispositivi Internet davvero semplice. Controlla tutti i Pi GPIOS e quindi avvia un server contenente html personalizzato. Puoi accedere a questo html da altri dispositivi (computer, smartphone, ecc.) E fare clic su un pulsante nel browser a distanza wifi, viene attivato un GPIO.

Il video mi ha riempito di speranza, si basa su un tutorial webiopi - progetto cambot. È presente sulla rivista MagPi #9[html][pdf] e #10[html][pdf]. Grazie Eric PTAK!

Seguendo il tutorial passo passo, puoi realizzare un cambot a due ruote! Ecco come funziona: collega due motori con un ponte H, quindi controlla il ponte H con 6 pin GPIO per controllare la direzione e la velocità. Webiopi viene utilizzato per controllare i GPIO. E MJPG-streamer viene utilizzato per lo streaming di video.

Se non conosci il Pi o Linux come lo ero io mesi fa, potresti avere un piccolo problema dopo aver seguito tutti i passaggi. Puoi eseguire il codice Python per webiopi e il video in streaming separatamente ma non sai come eseguirli insieme? Mi ci è voluto un po' per sapere che puoi aggiungere un & dopo un comando (& è davvero difficile da cercare su Google, BTW), il che significa che vuoi che questo comando venga eseguito in background. Quindi lo farò ogni volta:

sudo python cambot.py&

sudo./stream.sh

Credo che tu crei un file bash contenente il comando sopra in un file ed esegui una volta. Non ho ancora provato.

Quindi ho provato questa configurazione di base con due motori CC, funziona, ma il motore che ho non è abbastanza potente. Mi porta a un'altra opzione: servi continui.

Viene quindi una nuova domanda: webiopi supporta i servi controllati da PWM?

La risposta è sì, ma non da sola: RPIO è necessario per generare software PWM

Installazione RPIO (non ho fortuna con il primo metodo di installazione apt-get. Il metodo github funziona alla grande per me)

Codice di esempio e altre discussioni

Ora il tuo bot è aggiornato con due servi! Pensa a cosa puoi fare con le braccia extra!

Ho modificato il codice di esempio sopra per adattarlo al mio serbatoio. Non hai bisogno di una laurea in informatica per farlo. Sei bravo fintanto che puoi capire il codice di esempio e sapere cosa copiare e dove cambiare.

Passaggio 5: connessione elettronica

Connessione elettronica
Connessione elettronica
Connessione elettronica
Connessione elettronica
Connessione elettronica
Connessione elettronica

Il power bank che ho acquistato, Anker Astro Pro, ha due porte USB e una porta 9v (motivo principale per cui ho acquistato questo). Ho provato ad alimentare il Pi, il dongle wifi e la webcam con una porta USB. Non si avvia. Quindi ho usato l'altra porta USB per un hub USB alimentato.

Poi ho pensato che forse avrei potuto alimentare i servi con la porta dell'hub USB. Funziona, ma la connessione wifi è molto molto instabile.

Per risolvere questo problema, ho portato 4 batterie AA per alimentare le esigenze del servo da 6 V. Ho strippato il cavo USB per esporre il filo di terra (nero) e collegarlo con la massa della batteria AA.

3 servi, rosso a 6V, nero a massa e pin del segnale collegato ai pin GPIO.

Come previsto, anche il motore rotante della torretta e il motore della pistola dovrebbero essere alimentati da 6 V con un controllo a ponte H. Ma quando ho collegato tutto, la pistola non spara! Sembra che il motore stia cercando di girare, ma non riesce a guidare gli ingranaggi. La tensione di uscita è corretta, ma sembra che non ci sia abbastanza corrente per guidare. Ho anche provato MOSFET senza fortuna.

Devo rinunciare a questa parte per motivi di tempo. Ed è per questo che nel test della pistola devo collegare manualmente il motore della pistola all'adattatore. Ancora molto da imparare in elettronica. Nel peggiore dei casi, potrei sempre controllare la pistola con un servoazionamento e un grilletto di rilascio.

Passaggio 6: interfaccia

Image
Image
Interfaccia
Interfaccia
Interfaccia
Interfaccia

Ho anche modificato le interfacce dei codici di esempio cambot e rasprover. Poiché avevo pianificato di utilizzare lo smartphone come controller, ho ottimizzato il layout per il mio telefono (galaxy note3).

La maggior parte dei layout e degli stili può essere modificata nel file index.html. Tuttavia lo stile predefinito del pulsante (grigio scuro con bordo nero) è definito nel webiopi.css che si trova in /usr/share/webiopi/htdocs. Ho usato il terminale per eseguire sudo nano per modificarlo.

Il flusso video si trova al centro dello schermo, il controllo della guida sul lato sinistro e il controllo dell'arma sulla destra. Ho progettato il controllo di guida come due serie di su (avanti), stop, giù (indietro) volendo un controllo più preciso, ma nel video puoi dire che a volte è imbarazzante.

Passaggio 7: piano futuro

Come puoi vedere, questo progetto non è ancora finito. Grazie al concorso raspberry pi, la scorsa settimana ho fatto un sacco di cose, solo cercando di finirlo prima della scadenza. Gira abbastanza bene finché non ho scoperto che la pistola non sparava…

Ha molto altro da migliorare, ma spero che tu possa imparare qualcosa dalla mia esperienza.

Piano a breve termine:

Fai funzionare la pistola!!!

Contenitore più grande per più BB

Il carro armato ha bisogno di esplorare il mondo: esci dal wifi di casa!

Imposta un nodo ad-hoc su Pi, in modo che il telefono possa connettersi ad esso ovunque

Esegui il comando del serbatoio all'avvio

Aggiungi un pulsante di spegnimento per spegnere Pi in modo sicuro.

Piano a lungo termine:

Sistema di guida migliore per stabilità e aderenza

Progetta ora il mio circuito stampato invece di una breadboard

Registrazione video in prima persona

Un'altra pistola? Facciamone una nave da battaglia!

Aggiungere sensori per il pattugliamento automatico?

Visione artificiale per il targeting automatico!

Controlla il serbatoio molto lontano: vedrò tutto a casa!

Passaggio 8: grazie per la lettura

Grazie per aver letto il mio scarso inglese (non è la mia prima lingua). Spero che tu ti sia divertito un po' o che abbia imparato qualcosa qui. Questo sarà un progetto in corso, quindi se hai esperienza in qualsiasi campo, apprezzo il tuo consiglio.

Se hai domande, lascia un commento, farò del mio meglio per rispondere.

Permettetemi di fare un aggiornamento - The Cam Tank 2.0 - nel prossimo futuro.

Infine, ecco un video che mostra lo scenario della battaglia. È abbastanza divertente.

Buon divertimento e alla prossima volta!

Consigliato: