domenica 25 marzo 2018

Oscilloscopio DSO138 Kit - Assemblaggio e Saldatura componenti - parte 2









Questa e' la seconda parte del secondo post di una serie di 3 relativa all'assemblaggio e testing dell'oscilloscopio amatoriale in kit DSO138.


In questo post continuo con l'assemblaggio del kit






Passo #13: Micro Pulsanti


In questo passo monto i 5 micro-pulsanti. Entrano nel PCB solo se orientati in modo corretto, perciò non si può commettere nessun errore.


Ecco l'aspetto del PCB alla fine del passo #13.





Passo #14: Connettore Alimentazione (pin header)


Il connettore J9  pu' entrare nel PCB in entrambi i versi.

Tuttavia il modo corretto di montarlo e con la scanalatura verso l'esterno del PCB, come mostrato in figura.

Faccio quindi attenzione a saldarlo nel verso giusto.






Ecco l'aspetto del PCB alla fine del passo #14.


















Passo #15: Connettore a Barilotto


Anche il connettore a "barilotto" entra in un solo verso quindi non si può montare in modo sbagliato.







Passo #16: Pin-Header Maschio


Ci sono due connettori pin header maschi da montare.

Uno da 3 pin (J5) ed uno da 4 pin (J6). Con un piccolo coltellino taglio il pin header fornito per ricavare i due necessari per questo passo.

Ora li inserisco nel PCB, assicurandomi che la parte di pin più lunga esca verso la parte superiore  del PCB (quella con i componenti).








Passo #17: Pin-Header Femmina

I pin header femmina sono 3, J7 e J8 da 2 pin, mentre J3 per la connessione con lo schermo LCD e' da 20 pin.


Per saldare correttamente questi connettori, li ho posizionato sul PCB, poi li ho fissati con un piccolo pezzo di nastro isolante, che ho rimosso dopo la saldatura.

Ecco l'aspetto del PCB alla fine del passo #17.













Passo #18: Interruttori a Scorrimento


Adesso e' il turno degli interruttori "a scorrimento" CPL (SW1) , SEN1 e SEN2 (SW2, SW3)

Entrano in un solo verso sul PCB quindi non mi posso sbagliare.






Passo #19: Connettore BNC sonda


Il connettore BNC  e' l'ultimo componente da montare sul PCB. 

Lo monto come in figura e lo saldo al PCB. Siccome i reofori sono più spessi scaldo bene con il saldatore tenendolo qualche secondo in più del normale









Passo #20: Anello per segnale di test


Ho tagliato un piccolo spezzone di filo (circa 3 cm),  ho rimosso il rivestimento e l'ho piegato come in figura.







Ora ho inserito il filo nel jumper J2 sul PCB (in alto a destra vicino al connettore a barilotto) e l'ho saldato.

Questo server abilitare il segnale di test dell'oscilloscopio.

Qui sotto il PCB con tutti i componenti ed il ponticello su J2.





Passo #21: Chiusura jumper JP3


Come ultimo passo della saldatura e' necessario cortocircuitare il ponticello JP3.

Con la punta del saldatore applico una goccia di stagno in modo da chiudere il ponticello JP3, posizionato a fianco del regolatore 79L05







Passo #22: Montaggio supporti


Concludo l'assemblaggio della scheda principale del DSO138, con l'installazione dei 4 piedini di plastica di supporto.


Ecco come appare il PCB principale con tutti i componenti correttamente montati














Assemblaggio schermo LCD 2.4 inch


L'oscilloscopio DSO138 e' dotato di un piccolo schermo LCD da 2.4 pollici che va assemblato e montato su connettori J10, J7 e J8 che ho saldato nei passi precedenti.


L'assemblaggio e' molto semplice, bisogna saldare due jump header machio da 2 pin nei connettori J2 e J3.

La parte leggermente più tediosa e' la saldatura del jumper J1 da 40 pin. Comunque basta un po' di pazienza e non ci saranno problemi.




Ho posizionato i pin nei connettori e li ho fermati con un po' di nastro isolante.






Ho saldato J2, J3 e i due pin sulla diagonale di J1. Ora ho rimosso il nastro isolante ed ho completato la saldatura di J1




Con questi passi ho terminato l'assemblaggio del DSO138.






Nel prossimo post, descrivo la prima accensione ed il test del DSO138







Oscilloscopio DSO138 Kit - Assemblaggio e Saldatura componenti - parte 1









Questa e' la prima parte del secondo post di una serie di 3 relativa all'assemblaggio e testing dell'oscilloscopio amatoriale in kit DSO138.

Il precedente articoli e' disponibili qui:










Il primo post che descrive dettagliatamente la preparazione dei componenti e' disponibile qui






In questo post descrivo tutti i passaggi che ho eseguito per montare e saldare i componenti del kit, che ho precedentemente preparato.

L'ordine che ho seguito e' diverso da quello del piccolo manuale di istruzioni del kit (1 solo foglio).


Passo #1: Resistori


Come avevo spiegato nel primo post, prima di iniziare le operazioni di saldatura, ho accuratamente preparato tutti i componenti e li ho identificati con chiarezza.





Sono partito dal mio foglio con le resistenze ed i nomi.

Il processo che ho seguito e' il seguente:

  1. Prendo il PCB in mano ed visivamente individuo la posizione delle resistenze
  2. Ogni volta che leggo la serigrafia di una resistenza sul PCB, prendo il resistore relativo dal foglio
  3. Lo depenno per ricordarmi quelli già' usati 
  4. Procedevo alla saldatura.


In questo modo procedo in modo ordinato e veloce senza dimenticare nessun componente.

Per piegare le resistenze ed i diodi ho usato un piccolo strumentino che mi sono stampato in 3d





E' ovvio che questo strumento e' opzionale.

Inizio a montare le resistenze una ad una e faccio le saldature.





Questo il PCB alla fine del passo #1 con tutte le resistenze saldate al proprio posto.












Passo #2: Induttanze


Ora monto le 3 induttanze L1 - L3 - L4

Questi componenti non hanno polarità' e sono tutte uguali.





Questo il PCB alla fine del passo #2 con tutte le resistenze e le induttanze saldate al proprio posto.





Passo #3: Diodi


I diodi D1 - D2 sono esteriormente uguali, quindi vanno identificati correttamente prima del montaggio.

Per far cio' ho letto il loro codice stampato sul componente







Una volta identificati procedo col piegare i reofori 












Passo #4: Cristallo Oscillatore

Il cristallo oscillatore non ha polarità'. I suoi reofori sono un po' più spessi rispetto a quelli di una resistenza.

Quindi in funzione del saldatore che usate, dovrete riscaldare la piazzola ed il reoforo un po' più a lungo.







Ecco l'aspetto del PCB alla fine del passo #4.





Passo #5: Condensatori Ceramici


Come per le resistenze, anche per i 18 condensatori ceramici, uso il foglio che avevo preparato nella fase precedente.




Uso lo stesso procedimento descritto al passo #1

Questi condensatori non hanno polarità e quindi possono essere montati in entrambi i versi






Qui il PCB con alcuni condensatori montati






Sopra l'aspetto del PCB alla fine del passo #5


Passo #6: Led

Il led e' un componente polarizzato quindi bisogna fare attenzione a montarlo sul PCB nel verso corretto.

Ho messo l'anodo (il reoforo piu' lungo) nel foro contrassegnato con + e il catodo nel foro -













Passo #7: Transistor

I transistor da montare sono solo due. Esternamente sono uguali quindi e' necessario identificarli correttamente.






Con una piccola lente si possono leggere le sigle stampate sulla parte frontale del componente.


Per conoscere la disposizione della Base, Collettore ed Emettitore ho usato il tester




Faccio notare che il S8550 e' un PNP mentre lo S9014 e NPN

Riporto qui la disposizione della Base, Collettore ed Emettitore.












Ecco il PCB alla fine del passo #7




Passo #8: Regolatori di Tensione


In questo passo saldo i regolatori LM7805 e LM7905.

Esternamente sono esattamente uguali e sono uguali anche ai transistor.





Quindi prima di saldarli, li ho identificati correttamente


Ecco il PCB alla fine del passo #7

Nota:

Per chi ha l'occhio fino, puo' notare che in questo passo non ho saldato il LM7905.
Questo perche' a causa di un errore l'ho distrutto e quindi ho dovuto ordinarlo da ebay.

:)



Passo #9: Condensatori Variabili


I due condensatori variabili sono uguali e non necessitano di nessuna attenzione particolare.

Basta inserirli, come indicato dalla serigrafia e saldarli











Passo #10: Induttanza Alimentazione


L'induttanza e' un componente non polarizzato e non necessita di nessun accorgimento particolare.

Basta inserirla nel PCB e saldare i reofori



Passo #11: Condensatori Elettrolitici


I condensatori elettrolitici, sono componenti polarizzati, quindi li inserisco nel PCB rispettando la polarità come indicato dalla serigrafia.






Il piedino più lungo e' l'anodo (+) mentre quello più corto e' il catodo (-)


Ecco il PCB alla fine del passo #11


Passo #12: Connettore mini-USB


Il connettore mini-USB può essere montato sul PCB in un solo verso.

Faccio notare che in questa versione del DSO138 questo connettore non viene usato.

E' presente per futuri sviluppi del firmware



I passi successivi sono descritti nella parte 2 di questo post

Buona saldatura :)






domenica 18 marzo 2018

Robot Car con nodeMCU - Software








Questo e' il terzo e' ultimo post di una serie che descrive la realizzazione del progetto RobotCar con nodeMCU controllato da applicazione Android.

I post precedenti sono: RobotCar - Assemblaggio e RobotCar con nodeMCU

I questo post conclusivo descrivo e condivido il software per l'applicazione Andoird realizzato con AppInventor e lo scketch per il nodeMCU per il controllo del RobotCar.


RobotCar Android Controller


Siccome questo progetto e' rivolto per dei giovanissimi ho realizzato l'applicazione per Android con l'ottimo MIT App Inventor.

L'app Android e' molto semplice e' puo' essere estesa a piacere.
Ha la funzione principale di spiegare come controllare un dispositivo remoto con delle semplici chiamate HTTP GET.

Per i piu' esperti, dico subito che il meccanismo di comunicazione e' molto antiquato ed utilizza dei parametri nella URL come si faceva a meta' anni 90. 
Tuttavia, siccome e' orinetato a dei giovanissimi, ho scelto questa modalita' per renderla comprensibile.

Per chi realizza il progetto suggerisco di implementare un server REST. Tuttavia' sono solo dettagli.


Interfaccia Grafica






Come anticipato l'interfaccia grafica e' semplicissima. E' composta da 4 pulsanti che rappresentano le 4 direzioni di movimento del RobotCar.








Gli oggetti utilizzati sono i seguenti






Ho utilizzato un layout a tabella (5 righe e 5 colonne). Ho anche usato due label (senza testo) per ottenere uno spaziamento corretto dei pulsanti.

Per chi vuole usare l'app direttamente senza realizzarla in AppInventor ho messo il file APK sul mio GitHub [RobotCar - Progetto Completo]

Blocchi AppInventor




Il "codice" e' molto semplice come l'interfaccia.

Questa app presuppone che il RobotCar sia in ascolto all'indirizzo 192.168.10.10. Ovviamente potete cambiarlo con un indirizzo IP di vostro gradimento (il RobotCar crea un rete WiFI chiamata RoboCar-01).

Il codice fa si' che ad ogni pressione di un pulsante di controllo, una HTTP GET venga inviata al RobotCar con un parametro chiamato comado che puo' assumere un valore corrispondente alla direzione di movimento desiderata:
  • AVANTI
  • INDIETRO
  • DESTRA
  • SINISTRA
  • FERMO
Da notare che il comando FERMO, che fa immediatamente fermare il RobotCar, viene inviato quando il pulsante viene rilasciato.
Quindi il RobotCar si muove, nella direzione prescelta, finché' il pulsante rimane premuto.











RobotCar WebServer per nodeMCU


Il RobotCar e' controllato da un nodeMCU fissato sul suo telatio.
Ho implementato un semplice WebServer sul nodeMCU in modo da poter ricevere i comandi provenienti dall'app Android e da attuare il controllo sui motori.




I GPIO del nodeMCU da utilizzare sono definiti nelle linee 5 - 9. 

Il codice imposta il nodeMCU in modalita' AccessPoint e crea una rete WiFi chiamata RobotCar-01

Nella linea 43 configuro il webserver per eseguire la funzione muovi_robocar al ricevimento di un HTTP GET all'url: http://192.168.10.10/robocar

La funzione muovi_robocar  e' molto semplice e in funzione del parametro comando, letto dalla query HTTP, richiama al funzione di movimento del RobotCar relativa.

Ogni funzione di movimento del RobotCar, aziona i motori destro e sinistro in modo appropriato.


Test del RobotCar


Concludo questo progetto con il test del RobotCar









Robot Car con nodeMCU








Nel primo post della serie [qui], ho descritto come assemblare i vari componenti che formano il kit del robot car.

A questo punto il robot car ha la necessita' di essere controllato per potersi muovere.

In questo post descrivo i passi necessari per installare il cervello (un nodeMCU) ed il driver dei 2 motori CC collegati alle ruote.

Componenti Necessari


Per portare a termine i passi descritti in questo post sono necessari i seguenti componenti


nodeMCU








Il nodeMCU e' un ottima scelta in quanto associa al micro controllore anche il dispositivo WiFi che mi permette di controllare da remoto il RobotCar.


(Mini) BreadBoard da 170 fori






Per comodità' ho usato una mini breadboard con 170 punti di connessione.
E' possibile usare una più' comune breadboard da 400 punti senza particolari problemi

Sulla mini breadboard montero' il nodeMCU e realizzero' le poche connessioni necessarie per realizzare questo progetto.


Scheda driver motori L298N





Nel Kit e' inclusa la scheda di controllo dei motori in corrente continua. E' basata sull'integrato L298.

In questo post (L298N Driver Motori con Arduino) descrivo in dettaglio come si utilizza la scheda di controllo.









Filo e Cavetti di connessione






Gomma adesiva


Per fissare i vari componenti sul telaio del RobotCar, uso una gomma adesiva come questa











Passiamo ora all'assemblaggio dei componenti sul telaio del RobotCar.



Passo #1:  Saldatura alimentazione motori






I motori sono dotati di due terminali metallici su cui bisogna saldare un filo di alimentazione.

Inserisco un filo e ne ripiego leggermente l'estremità, quasi a formare un piccolo uncino.

Questo rende il collegamento più' solido e duraturo.










Ora con il saldatore ben caldo, applicoun po' di stagno in modo da saldare i fili di alimentazione al connettore metallico del motore.














Questo e' il risultato ottenuto.









Passo #2:  Fissaggio mini-breadboard al telaio


Applico un po' di gomma adesiva al fondo della mini-breadboard






Ora con una lieve pressione, faccio aderire la mini-breadboard al telaio del RobotCar.


Se la vostra breadboard e' dotata di adesivo sul fondo potete evitare l'uso della gomma adesiva











Passo #3:  Passaggio fili alimentazione motore


Faccio passare i fili di alimentazione dei motori nelle fessure presenti nel telaio del RobotCar come indicato in figura






Faccio passare i fili con delicatezza per evitare di staccarli dai motori.







Questo e' il risultato ottenuto.








Passo #4:  Montaggio nodeMCU su mini-breadboard


In questo passo, inserisco il nodeMCU sulla mini-breadboard in modo simmetrico, lasciando una fila libera per parte.







La inserisco tutta da un lato, in modo da lasciare due colonne libere sulla sinistra
















Passo #5:  Posizionamento scheda L298N


Infine posiziono, sul telaio del RobotCar, la scheda L298N, per il controllo dei motori.

Anche in questo caso mi aiuto con la gomma adesiva.








Passo #6:  Schema bread-board


Nelle due figure sotto, lo schema breadboard da realizzare.
















Passo #7:  Cablaggio circuito


Adesso, che tutti i componenti sono correttamente posizionati sul RobotCar, inizio a creare il circuito sulla mini-breadboard  usando dei cavetti DuPont (rainbow wire) 


Inizio connettendo il filo rosso (positivo) e quello nero (negativo), dal porta batterie alla bread-board come indicato in figura.





Adesso collego due piccoli spezzoni di filo, dalla scheda L298N alla breadboard come in figura.





Il filo blue va connesso al positivo della batteria, mentre il filo bianco al negativo.






Adesso collego i fili di alimentazione dei due motori alla scheda L298N come in figura.

L'ordine rosso-nero non e' cosi' importante, in quanto e' facilissimo modificare lo sketch in modo da far ruotare i motori nel verso corretto.












Ora collego l'alimentazione alla scheda nodeMCU. 

Come si vede in figura collego il polo negativo della batteria a GND sul nodeMCU.

Allo stesso modo, collego il polo positivo al pin Vin del nodeMCU.





Infine, collego i cavetti di controllo dei motori dal nodeMCU alla scheda L298N.

I collegamenti sono i seguenti:

Lato scheda L298N:

  • filo marrone: pin IN1 
  • filo giallo: pin IN2
  • filo verde: pin IN3
  • filo grigio: pin IN4





Lato scheda nodeMCU:
  • filo marrone: pin D0
  • filo giallo: pin D1
  • filo verde: pin D3
  • filo grigio: pin D4





Ed ecco il RobotCar completamente assemblato e con il circuito cablato in maniera corretta





Passi Successivi

Ora che il RobotCar e' completament5e assemblato e cablato posso concentrarmi sulla parte software.

Devo sviluppare due componenti:

  • applicazione per dispositivo mobile: uso l'ottimo AppInventor in quanto il progetto e' orientato a chi non sa' ancora programmare
  • sketch per nodeMCU che implementa un web server che controlla il movimento del RobotCar


Tratterò' l'argomento software in un post separato