uBITX uBITX uBITX uBITX uBITX uBITX uBITX uBITX uBITX uBITX uBITX

HAM RADIO  -  ARDUINO * StarTracker *

PRESENTAZIONE    IL PROGETTO    L'HARDWARE    FIRMWARE      TEORIA DEL PROGETTO   


INFORMAZIONI GENERALI SUL FIRMWARE
Il firmware per Arduino nano dello "StarTracker" viene rilasciato con licenza GNU
Chiunque puo' utilizzarlo, modificarlo e distribuirlo senza autorizzazione dell'Autore.
Il riferimento all'Autore mantenuto nella forma originale sarà naturalmente gradito.
        Grazie

*-------------------------------------------------------------------------------*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .
*-------------------------------------------------------------------------------*


- per scaricare l'ultima versione del firmware : FIRMWARE StarTrack Rel 3.20

DESCRIZIONE DEL FUNZIONAMENTO FIRMWARE DELLO "StarTrack"
Questo firmware viene utilizzato in un Tracciatore Isoscele per Astrofotografia funzionante nell'emisfero NORD.
Il senso di marcia è quindi orario per il Tracking e antiorario per il riavvolgimento veloce.

Permette il pilotaggio di un motore stepper 28BYJ-48 mediante 4 pulsanti. I pulsanti determinano le caratteristiche del movimento (Tracking e Riavvolgimento veloce ) e lo Stop. Un quaro pulsante (Tasto FUNZIONI) viene utilizzato per incrementare/decrementare/resettare la velocità di rotazione di 1 step in base al tempo nel quale viene premuto.

- pressione per un tempo breve ( < 1 secondo ) incrementa la velocità di 1 step
- pressione per un tempo medio ( > 1 secondo ma < di 4 ) decrementa la velocità di 1 step
- pressione per un tempo lungo ( > 5 secondi ) riporta la velocità di tracking a quella standard di 48 step

N.B. La minima velocità impostabile è di 10 step e la Massima è di 100 step e questo permette di utilizzare il Tracker per l'inseguimento di altri corpi celesti oltre le stelle. ( Sole, Luna, Pianeti ecc.)

La velocità di riavvolgimento veloce è fissa a 1000 step, ( massimo step consentito da questa tipologia di motore che in realtà è un motoriduttore..), mentre la velocità di tracking standard è di 48 step calcolata sperimentalmente in base alla lunghezza del braccio ( distanza tra asse cerniera e asse barra filettata ) e al passo della barra stessa.

Tutto il codice sorgente è ampiamente commentato in modo da permettere agli "smanettoni" anche meno esperti di metterci mano cambiandone i valori dei campi in base a diverse lunghezze dei bracci e del passo della barra filettata utilizzata. Credo sia inutile ricordare che il giorno siderale e altre costanti astronomiche non devono essere modificate !

Il firmware utilizza delle #define per poter attivare o disattivare funzioni non strettamente necessarie al funzionamento del sistema. La versione Standard del Firmware fornita prevede che siano disabilitate per permettere un minore "affaticamento" all'Arduino NANO ( togliere il commento ai #define relativi per abilitarne il funzionamento )

In particolare //#define DEBUG permette di ricevere tramite la Porta Seriale di Arduino Nano connesso attraverso la porta USB ad un PC, numerose informazioni relative alla velocità, al senso di marcia e ai Pulsanti premuti. Può risultare molto utile durante la fase di messa a punto per ottimizzare la velocità con la quale tracciare il nostro oggetto. Una volta verificato che la velocità è corretta, possiamo annotarla in una tabella e disattivare il #define DEBUG per allegerire il lavoro del microprocessore.

Altrettanto possiamo fare attraverso l'abilitazione di //#define SCHERMO che ci permette di collegare un piccolo schermo OLED da 0.9" con collegamento seriale I2C ai PIN A4 (SDA) e A5 (SCL) alimentato con i 3.5 V ricavati da Arduino NANO. Potremo in questo modo visualizzare le stesse informazioni consentite dalla #define DEBUG in modalità standalone senza necessariamente essere connessi ad un PC tramite USB.

//#define DEBUG messaggi via Porta Seriale
//#define SCHERMO messaggi su schermo OLED via I2C


ATTENZIONE!! Non possono essere attivati contemporaneamente.

Lo stato del sistema e le variazioni tramite pulsante, hanno anche un feedback acustico, utile quando si opera in assenza di luce. Ogni pressione esercitata sui Tasti genera un diverso Tono o Sequenza di Toni utili per capire quale tasto è stato premuto e quale funzione è stata attivata. ( Traking-Stop-Rewind-Incrementa/decrementa velocità-Riporta a Velocità Standard-Raggiungimento del livello Zero dei Bracci ) Questo si ottiene attivando la //defineBUZZER, l'unica preattivata nella versione standard del Firmware.

Come ultima cosa, ma di certo non meno importante, vi ricordo che dovrete disporre, prima della compilazione e caricamento del firmware su Arduino NANO, delle seguenti librerie da includere :

Bounce2.h per gestire i "rimbalzi" dei pulsanti.
AccelStepper.h per gestire il motore stepper.

- Queste librerie non sono caricate di default sull' IDE di Arduino.

Inoltre se desiderate utilizzare lo schermo OLED I2C da 0.9", dovrete procurarvi anche :

Adafruit_GFX.h
Adafruit_SSD1306.h


In ogni caso si consiglia di fare riferimento alla versione dell' IDE ARDUINO 1.6.0 e non alla più recente per evitare segnalazioni di errori durante la compilazione. Fate la vostra scelta in base al Sistema Operativo che state utilizzando.

Non scendo nei particolari sul come installare ed utilizzare il Software IDE ARDUINO sul vostro PC dato che l'argomento è ampiamente trattato in rete. Mi limito a ricordarvi che il vostro Arduino NANO molto probabilmente non è quello originale ma un clone di incerta provenienza come la stragrande maggioranza di quelli presenti sul mercato (micro, UNO, MEGA...ecc. con porte miniUSB o microUSB ). Nel nostro caso la porta USB presente non è quella standard ma una microUSB, quindi procuratevi il cavo di connessione adatto. Altro problema da risolvere quello dei DRIVER. La maggioranza dei cloni ARDUINO monta un chip della famiglia CH340-341. Cercate in rete le tante pagine che trattano l'argomento e scaricate/installate il driver adatto.

Bene! collegate il vostro Arduino NANO ad una porta USB del PC e, dopo avere verificato che riescano a comunicare, potete iniziare a dare un' anima al vostro StarTracker.

Torna a ARDUINO →