Finalmente, a distanza di otto anni dalla pubblicazione dell’articolo su un’antenna satellitare a puntamento automatico, sono riuscito a completare il brandeggio per antenna Selfsat H30D1, controllata mediante cellulare, via Bluetooth. Quello che mi ero preposto di fare era di non avere più cavi attorcigliati all’interno della meccanica e di poterla controllare con il cellulare. Questo per avere a disposizione il GPS per calcolare i dati di puntamento in base alla posizione in cui mi trovavo con il camper e un bel display per poter visionare tutti i dati contemporaneamente.
Quindi niente più finecorsa sulla rotazione. Gli unici cavi che arrivano all'antenna sono quello dell'antenna, il positivo di alimentazione, la massa e il positivo sotto chiave. Questi cavi vengono portati al brandeggio e collegati a punti che non ruotano.
Mi spiego meglio, il cavo dell'antenna arriva ad un barilotto dal quale viene prelevato mediante un connettore F rotante, mentre i cavi di alimentazione vengono collegati su 3 piste circolari (tipo alternatore auto) e tre carboncini portano le tensioni all'interno del brandeggio per alimentare motori ed elettronica.
Non trovandosi in commercio nessun brandeggio adatto allo scopo, ho acquistato, ma la cosa era già in programma, una stampante 3D 330 x 330 e con questa ho fatto tutto in PETG. Alcuni elementi, tipo angolari in alluminio per il fissaggio dei motori e taglio del lexan, li ho realizzati con una fresa CNC 30x40 che avevo già.
Tengo a precisare che per la realizzazione, a parte quello fatto con la stampante 3D, per evitare ossidazione e ruggine, tutte le parti metalliche sono in alluminio anodizzato, acciaio inox e gli inserti in ottone.
Nel corso di questi anni mi è stato di grandissimo aiuto il programma Fusion 360 senza il quale penso sarei riuscito a fare ben poco. Fusion 360 è un programma CAD-CAM di Autodesk, si lavora online e viene rilasciato gratuitamente per uso non commerciale, con qualche limitazione, nel mio caso ininfluenti.
Io ho iniziato ad usarlo che era ancora tutto in inglese ma nel corso degli anni è stato tradotto completamente in italiano.
Cosa si riesce a fare con questo programma? Praticamente quasi tutto quello che serve a noi, dai disegni per la stampante 3D con salvataggio in file STL molto ben definiti, ai percorsi utensili per le macchine CNC..
E’ pure possibile fare i circuiti elettronici e relativi PCB, anche se io mi trovo meglio con Eagle, pure questo di Autodesk. Eagle per uso gratuito, permette di fare i circuiti stampati doppia faccia limitati a 80x100 mm e con l’integrazione di PCB-GCODE si ha la possibilità di realizzarli perfettamente con una fresa CNC. Che io sappia, in Fusion 360 non è ancora stato integrato PCB-GCODE.
Il primo prototipo funzionante lo sto usando ormai da due anni in giro per la Sardegna e ultimamente ho dovuto apportare qualche modifica al progetto originale.
Non è facile progettare tutto in modo che, in caso di malfunzionamento, non ci siano problemi ad accedere all’interno e sostituire le parti danneggiate. L’anno scorso per esempio, toccando un basso ramo, si è rotto l'ingranaggio della rotazione, calettato direttamente sull'albero da 6mm del motoriduttore. Se si fosse rotto quello dell’ elevazione, sarebbe stato quasi impossibile aprire il coperchio della meccanica perché sotto l’antenna. Ho quindi montato gli ingranaggi dei motoriduttori sul delle flange in alluminio ed ho modificato il fissaggio dell'antenna con le viti laterali invece che superiori. Quest'anno l'ho usata due mesi in primavera e altrettanti in autunno, sempre in Sardegna, senza problemi e senza nessuna infiltrazione nonostante lunghi percorsi sotto la pioggia torrenziale e temporali non indifferenti.
Cosa bisogna saper fare oltre ad avere una buona padronanza di Fusion360 per il CAD-CAM ed Eagle per l’elettronica di controllo?
Io sono sempre stato appassionato di elettronica e d’informatica e per me non è stato un problema farmi i programmi sia per Arduino che l'applicazione per Android per il controllo. Avendo poi a che fare con stampanti 3D e fresa CNC, me la cavo anche con il G-CODE ed il software per il loro controllo. Per ultimo non guasta un po' di conoscenza di meccanica per sapere come impostare ad esempio le tolleranze per le sedi di cuscinetti e le guarnizioni di tenuta. Su quest'ultimo punto devo ringraziare l'amico Giò, anche se tante volte lui mi dava i consigli e poi io facevo di testa mia.
Scrivo quest’ articolo per condividere soluzioni che a me paiono interessanti, anche se penso che non saranno in tanti a voler realizzare questo progetto.
Con questo sistema si porta all'interno del brandeggio il positivo 12 volt, la massa è il positivo sotto chiave, praticamente i 12 volt quando si accende il motore per far chiudere l’antenna prima di muoversi.
Passiamo ora alla descrizione di tutti i componenti preposti al movimento del brandeggio, iniziando dalla rotazione.
Come si può vedere in Fig.1 la rotazione viene comandata dal motoriduttore posto al centro. La ruota dentata è di 21 denti, mentre quella centrale ossia quella sotto il disco dell'encoder è di 42 denti, quindi un rapporto 1/2. Essendo il motoriduttore da 3 RPM il brandeggio fa un giro e mezzo al minuto. Sulla rotazione non ci sono micro di finecorsa, il brandeggio può quindi girare finché vuole da qualsiasi parte, ed è qui che si vede la necessità dell'encoder.
Considerato che la rotazione massima per trovare il satellite è sempre inferiore a 180 gradi, il tempo massimo impiegato risulterà sempre meno di 20 secondi.
In questo progetto, con l'encoder assoluto a 3 bit riusciamo a rilevare 8 posizioni della meccanica. ll settore zero è il riferimento per la chiusura dell'antenna e unitamente agli altri tre settori di 5 gradi, serve a fare la calibrazione della bussola.
Le 8 sezioni complessive servono a stabilire la posizione del brandeggio e il senso di rotazione per arrivare più velocemente a una determinata posizione. Ad esempio, visto da sopra, se siamo sulla posizione 3, l'antenna si chiude prima ruotando in senso antiorario, mentre se siamo sulla posizione 5 fa prima in senso orario. La codifica Gray ci permette di evitare errori di commutazione tra i settori contigui e su questo, Wikipedia dà tutte le spiegazioni.
Vediamo ora come l'ho realizzato utilizzando 3 diodi smd e tre fotodiodi. I tre diodi sono collegati in parallelo e sono sempre illuminati mentre i tre fotodiodi conducono in relazione alla posizione del disco. Anche qui si possono avere tutte le spiegazioni del caso consultando Wikipedia.
OK…Per la rotazione è tutto, occupiamoci ora dell'elevazione che è controllata dal motoriduttore a destra in Fig.1.
Dato il notevole sforzo occorrente per sollevare l’antenna si è reso necessario assemblare un riduttore a vite senza fine in acciaio con rapporto 40/1 in modo da scaricare su questo la maggior parte del peso. La struttura è stata realizzata con del lexan da 8 e 10 mm e finora si è dimostrata molto affidabile. Visto la difficoltà a fare il taglio di chiavetta su un albero da 8mm, ho provveduto a sostituire i 2 grani di serraggio con questi, facendo 2 fori da 2.5 mm sull’albero in acciaio inox da 8 mm.
I due movimenti ruotano su cuscinetti da 8x22x7 e prendendo per buone le misure date dal fornitore, devo dire che è venuto tutto perfetto, giochi quasi zero.
L'antenna viene montata con due braccetti ritagliati da una lastra di lexan anti UV da 9 mm fissati a due flange in alluminio con i grani sostituiti, come quelli del riduttore VSF.
Occupiamoci ora dell'elettronica di controllo.
Come già detto, tutto avviene via bluetooth e precisamente con il modulo HC-05 che dialoga con un'applicazione Android installata sul cellulare. Il modulo bluetooth serve anche per la programmazione, collegandosi con un PC portatile sulla porta seriale Bluetooth.
Nelle figure 19,20 vediamo lo schema elettrico e il disegno del PCB del controller. Non viene usato Arduino vero e proprio ma soltanto il processore atmega328 programmabile, in quanto lo spazio disponibile è quello che è. Basta aggiungere un quarzo da 16Mhz, due condensatori e si hanno a disposizione tutte le funzioni di Arduino UNO. La comunicazione avviene via bluetooth con il modulo HC-05 a 115,200 KB sec. Facendo riferimento allo schema elettrico vediamo cosa gestisce l’ Atmega328:
● Attraverso la porta seriale collegata sui PIN 2 e 3 dialoga con il modulo Bluetooth. Attenzione !!!, il modulo, tramite i comandi AT, va impostato sulla frequenza di 115,200 KB sec altrimenti non viene visto e non funziona.
● Gestisce la connessione in modalità i2c tramite i pin 27 e 28 con la Bussola Elettronica CMPS10 che è praticamente il cuore di tutto il sistema. La CMPS10 infatti è una bussola digitale con compensazione del tilt(inclinazione), contiene al suo interno un magnetometro e un accelerometro a 3 assi, in grado di controllare e fornire tutti i dati di movimento dell’ antenna. Purtroppo, la CMPS10 pare non più disponibile ma si può sostituire benissimo con la CMPS 12.
● Controlla con i pin 5,15,16,17 il driver dei motori TB6612FNG sui pin 11,12,14,15. Occorre prestare attenzione con questo componente poiché in commercio ce ne sono di tipi diversi e non sempre le piedinature corrispondono.
● Riceve sui pin 12,13,14 i livelli dell'encoder assoluto a 3 bit per stabilire la posizione della meccanica.
● Riceve sul pin 23 il livello del segnale del Sat finder. Questo segnale va prelevato dal satfinder e precisamente dal punto in cui era collegato lo strumento che misurava il livello segnale.
● Riceve sul pin 19 il segnale quando il TV è sintonizzato su un canale satellitare. Questo segnale va prelevato dal satfinder esattamente dal punto dove era connessa la lampada che si accendeva quando il TV era sintonizzato su un canale satellitare.
● Infine mediante il pin 18, rileva quando il motore del mezzo è acceso e fa chiudere l’antenna e spegnere il controller.
Il sistema di chiusura dell'antenna è gestito dal mosfet Q2 pilotato dal fotoaccoppiatore OK1. In pratica quando il processore rileva il segnale di motore acceso sul pin 18, tramite il fotoaccoppiatore pilota il mosfet e fa chiudere l'antenna. A questo punto il terzo contatto del micro di finecorsa elevazione collegato al PIN 2 del fotoaccoppiatore fa spegnere tutto. Per rimettere in funzione l'antenna occorre dare tensione al PIN 2 (conn.J5, positivo 12 volt). Vediamo ora come si può programmare il microcontrollore. Come detto in precedenza, occorre disporre di un PC portatile in grado di collegarsi via Bluetooth con l'antenna. Andare in gestione dispositivi del computer e alla voce porte COM e LPT, cercare la porta Bluetooth collegata al dispositivo e impostarla su 115,200 Kb sec. Dalla Ide di Arduino aprire il monitor seriale e impostare la porta selezionata su 115,200 Kb sec. A questo punto, si potranno vedere scorrere i dati inviati dalla bussola. Provare a compilare lo sketch per verificare che non ci siano errori e successivamente caricarlo sul microcontrollore. Per fare questo, il microcontrollore dovrà essere resettato. A questo provvederà lo stesso modulo HC-05 con il pin6(state) che prima dell'inizio della trasmissione seriale, cambierà stato ed invierà al pin 1 del microcontrollore attraverso il condensatore C1 da 1 µF, l’impulso di reset. Se tutto andrà a buon fine comparirà la scritta “caricamento completato”.
Diamo ora una un’occhiata all'applicazione Android per il controllo dell'antenna.
A sinistra, quando non c'è connessione GPS, si legge “....attesa dati posizione”.
Come vengono agganciati i satelliti, al centro dello schermo in giallo, appaiono i dati della posizione, latitudine e longitudine, e in alto a destra i valori, tipo “Hotbird 13° 172/38/-5”, ossia i dati di puntamento relativi a direzione, elevazione e skew.
Nel riquadro centrale con sfondo giallo saranno visibili i dati di direzione, elevazione, skew e livello segnale. A destra i pulsanti di connessione al Bluetooth, disconnessione è il bar level del livello segnale. Con i tasti centrali si potrà muovere l'antenna manualmente in tutte le direzioni. I pulsanti di movimento centrali saranno disattivati e appariranno con sfondo grigio in modalità automatica, mentre si coloreranno con sfondo rosso quando verranno premuti per muovere l’antenna manualmente.
Il pulsante in basso, a sinistra, cambierà da manuale ad automatico e viceversa.
Al centro c'è il pulsante di reset che va tenuto premuto per un paio di secondi e a destra il tasto per salvare le impostazioni di puntamento, anche questo tenendo premuto per un paio di secondi. Sopra il tasto Salva ci sono i dati dell' encoder 0-7 ad indicare la posizione di rotazione.
Per collegarsi, occorre andare nelle impostazioni Bluetooth del cellulare e fare l'abbinamento (pairing) con il modulo HC-05, la password, se non è stata cambiata è 1234.
Nel mio caso, l’applicazione si connette automaticamente all'antenna in quanto ho impostato il Mac address del mio hc-05 direttamente nell' applicazione.
In alternativa bisognerà scegliere il dispositivo Bluetooth/modulo a cui collegarsi.
Non è stato proprio così semplice ottimizzare l'applicazione, anche perché MIT App Inventor non ha proprio tutto, anche se devo riconoscere che ha tanto. Le difficoltà maggiori le ho incontrate nell’impostazione della formula per i dati di puntamento in relazione alla posizione. Ho poi risolto con una formula trovata su Wikipedia, da me corretta nel 2015 perché non funzionante.
Altro problema risolto, con la sincronizzazione dei dati che non partivano mai al momento giusto. Per ultimo, l'impostazione dello schermo che rimanesse acceso tipo quando si usa il navigatore, ma l’ho sistemato agevolmente.
Prossimamente dovrò aggiungere un database per memorizzare il mac-address di connessione automatica con il dispositivo Bluetooth predefinito.
Altre cosa da fare? Aggiungere una pagina all’applicazione per la calibrazione della bussola e per i dati di livellamento del camper. Quando si arriva in un posto e l'antenna è chiusa, dovrebbe posizionarsi a 90° nella direzione di marcia e 0° lateralmente. Risulta quindi semplice calcolare da che parte e di quanto alzare il camper per metterlo in piano.
Diciamo che con queste cose non si finisce mai, c'è sempre qualcosa da migliorare.
Però da bravo pensionato, di tempo ne ho, prima o poi mi ci metterò e risolverò anche i piccoli problemi che ci sono ancora.
Voi mi chiederete: ma quanto ti è costato tutto questo ?
Diciamo che, a parte i prezzi che si possono rilevare facilmente cliccando sui link del testo, qualche decina di euro, forse una cinquantina.
Inizialmente l'idea era di usare motoriduttori con motori stepper Nema 11 ma visto il costo circa €43 + spedizione per ogni unità ho optato per quelli in corrente continua del costo di 5€ l’uno + spedizione, un pò meno precisi ma molto più semplici da pilotare. Comunque, la prossima che realizzerò proverò con gli stepper + TRD8825 per via della maggior precisione, maggiore potenza ai bassi regimi e pressoché assenza di usura.
Spero di essere stato utile a qualcuno.
Arrivederci alla prossima,
Windom46 - Domenico
(per ulteriori informazioni: clicca qui per scrivere al nostro gentilissimo collaboratore!)