Ci siamo. La versione 2 di AstroFocus è praticamente terminata. Al momento funziona solo con Arduino Motor Shield R3 (soluzione hardware che preferisco), ma cercherò di adattarla anche ad Adafruit Motor Shield 2.0 nei prossimi giorni. Come avevo preannunciato non c'è compatibilità con la vecchia versione in quanto vi sono alcune nuove funzioni e la filosofia è radicalmente cambiata, per questo motivo oltre al firmware da caricare su Arduino è necessario aggiornare anche il driver ASCOM. La "pulsantiera virtuale" (AstroFocus HC) è anch'essa stata aggiornata aggiungendovi la possibilità di attivare la compensazione delle variazioni di temperatura.
Al più presto cercherò di realizzare un minimo di documentazione ed un piccolo tutorial video, poi renderò disponibile il tutto. Intanto mi permetto di raccontarvi brevemente le novità.
AstroFocus 2 registra i dati sulla posizione del fuocheggiatore e sui limiti (oltre ad altre cosucce) direttamente nella EEPROM di Arduino. Questo mi ha consentito di implementare una serie di funzioni "senza PC". In particolare ho aggiunto due pulsanti per spostare manualmente il fuocheggiatore. Questi pulsanti sono opzionali e se proprio non vi servono potete anche fare a meno di inserirli (il software funzionerà lo stesso). Ho poi migliorato la precisione negli spostamenti del motore passo-passo grazie alla possibilità di memorizzare la fase in cui si trova il motore in ogni momento (in modalità half step i motori hanno 8 fasi distinte). Un'altra novità è l'adozione di un nuovo sensore di temperatura estremamente più preciso (il vecchio era talmente ballerino da renderlo praticamente inutile). Ho optato per l'Adafruit
MCP9808 che nelle mie prove si è dimostrato di grande precisione. Questa precisione mi ha consentito di implementare il controllo della messa a fuoco in base alla temperatura, funzione questa pienamente compatibile con lo standard ASCOM. Anche questo sensore può non essere installato senza modifiche al codice. Ovviamente se non viene installato non sarà possibile ne visualizzare la temperatura ne utilizzare la compensazione automatica.