Script Astroart per spettroscopia
Inviato: 9 nov 2015, 0:11
Avevo un sospeso su questo vecchio topic circa lo script usato per gestire lo spettroscopio. Stasera mi e' tornato in mente quando ho avviato le sequenze automatiche (che enorme ritardo, sorry)...
Lo script fa uso della porta seriale che comanda uno switch rele' USB. Il Lhires III ha la lampada al neon (ma anche le funzioni di flat e dark) controllabile da remoto mediante un segnale elettrico applicato su un pin del connettore.
I comandi elencati sotto effettuano in pratica una sequenza di riprese del target preceduta e seguita dagli spettri della lampada di calibrazione. Per gestire al meglio le lievi flessioni del Lhires III, posso prendere anche uno spettro della lampada tra un frame e l'altro (opzionale).
La serie di "input" con cui si inizializzano alcune variabili:
- nome del target
- durata esposizione
- numero progressivo di inizio (a volte puo' essere utile partire da un numero > 1)
- numero progressivo di fine
- spettro della lampada intermedia tra i frame (si/no)
Internamente (ma e' semplicissimo cambiare i valori) viene assegnato il tempo di esposizione dello spettro della lampada e la breve pausa tra l'invio del comando che accende la lampada e l'inizio della ripresa (la Relco puo' impiegare 1/2 secondi per accendersi dopo aver dato il comando).
Durante l'accensione della lampada di calibrazione, ho preferito disattivare l'autoguida (Telescope.Disconnect).
Il percorso sul disco fisso del PC utilizza in questo script la data di sistema (es. "2015 11 08") che io ho posizionato dentro una cartella che si chiama "work". La stringa testuale che indica il percorso dove mettere i file puo' essere cambiata a seconda delle proprie esigenze.
Lo script e' molto elementare ma funzionale. Per qualsiasi dubbio chiedete pure.
Una videata del computer, in questo momento, con lo script in azione:
Lo script:
Lo script fa uso della porta seriale che comanda uno switch rele' USB. Il Lhires III ha la lampada al neon (ma anche le funzioni di flat e dark) controllabile da remoto mediante un segnale elettrico applicato su un pin del connettore.
I comandi elencati sotto effettuano in pratica una sequenza di riprese del target preceduta e seguita dagli spettri della lampada di calibrazione. Per gestire al meglio le lievi flessioni del Lhires III, posso prendere anche uno spettro della lampada tra un frame e l'altro (opzionale).
La serie di "input" con cui si inizializzano alcune variabili:
- nome del target
- durata esposizione
- numero progressivo di inizio (a volte puo' essere utile partire da un numero > 1)
- numero progressivo di fine
- spettro della lampada intermedia tra i frame (si/no)
Internamente (ma e' semplicissimo cambiare i valori) viene assegnato il tempo di esposizione dello spettro della lampada e la breve pausa tra l'invio del comando che accende la lampada e l'inizio della ripresa (la Relco puo' impiegare 1/2 secondi per accendersi dopo aver dato il comando).
Durante l'accensione della lampada di calibrazione, ho preferito disattivare l'autoguida (Telescope.Disconnect).
Il percorso sul disco fisso del PC utilizza in questo script la data di sistema (es. "2015 11 08") che io ho posizionato dentro una cartella che si chiama "work". La stringa testuale che indica il percorso dove mettere i file puo' essere cambiata a seconda delle proprie esigenze.
Lo script e' molto elementare ma funzionale. Per qualsiasi dubbio chiedete pure.
Una videata del computer, in questo momento, con lo script in azione:
Lo script:
Paolocalib_on$ = Chr(92) + Chr(32) 'code to activate relay 1 from all off state
all_off$ = Chr(92) + Chr(0) 'code to turn off all relays
Serial.Connect (3) 'USB relays card is seen as COM3
INPUT "Nome target", nt$
nt$ = nt$ + "-"
INPUT "Exposure (s)", expt
INPUT "Start", inx
INPUT "Stop", fnx
INPUT "Lamp. intermedie (s/n)", lim$
'Lamp exp (s)
lsec=4
'Take frames
For i = inx to fnx
If i = inx or lim$ = "s" or lim$ = "S" then
'Take lamp
Telescope.Disconnect
Serial.Send (calib_on$) 'turn on the calibration lamp
pause (3) 'wait 3 second
Camera.Start(lsec) 'take a lsec second exp. frame for lamp spectrum
Camera.Wait 'wait the end of exposure
Serial.Send (all_off$) 'turn off the calibration lamp
Image.Save("C:\work\" + date() + "\lamp_" + nt$ + str$(i)+ ".fit")
Image.Close
Endif
Telescope.Connect
'Take science frame
Camera.Start(expt)
Camera.Wait
Image.Save("C:\work\" + date() + "\" + nt$ + str$(i) + ".fit")
Image.close
Next i
Telescope.Disconnect
' Take final lamp
Serial.Send (calib_on$) 'turn on the calibration lamp
pause (3) 'wait 3 second
Camera.Start(lsec) 'take a lsec second exp. frame for lamp spectrum
Camera.Wait 'wait the end of exposure
Serial.Send (all_off$) 'turn off the calibration lamp
Image.Save("C:\work\" + date() + "\lamp_" + nt$ + str$(i-1)+ "_end.fit")
Image.Close
Telescope.Connect
Serial.Disconnect()