1° Forum di Astronomia Amatoriale Italiano

Il primo forum di astrofili per astrofili, nato nel 2000!
Oggi è domenica 27 luglio 2025, 16:08

Menu

* Home
* Iscriviti
* La Bacheca
* F.A.Q.
* Cerca
* Login/Logout 

Login

Nome utente:
Password:

 Ho dimenticato la password

In Linea

Visitano il forum: Nessuno e 4 ospiti

Regolamento

regolamento

Links

*
Astrocafè

Segnala bolide
* Meteoblue.com
* Previsioni seeing
* Il Meteo.it
Help Forum
 

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 7 messaggi ] 
Autore Messaggio
 Oggetto del messaggio: Lettura valore encoder su PC
MessaggioInviato: martedì 10 luglio 2012, 15:37 
Non connesso
Avatar utente

Iscritto il: lunedì 19 febbraio 2007, 13:22
Messaggi: 444
Località: Roma
Tipo di Astrofilo: Fotografo
Ciao a tutti,
Mi servirebbe una mano per leggere da PC i valori di un encoder che e'montato sul focheggiatore del mio telescopio. Il focheggiatore e' un JMI

Originariamente l'encoder e' equipaggiato con un controller che si collega direttamente e che mostra un valore su un display a segmenti. Il valore indicato e' lo spostamento del focheggiatore. Non serve un valore assoluto, ma solo uno relativo alla posizione di partenza.

Dato che ho remotizzato tutta la gestione del telescopio, mi servirebbe poter leggere quel valore da una sessione VNC fatta da un'altro PC.

Come connessioni ho disponibili: seriale (anche piu' di una), parallela, USB

Allegate le foto dell'encoder. Se serve metto pure quelle dell'handbox.

Grazie a tutti per le eventuali info.
Allegato:
2012-06-23 19.36.23.jpg
2012-06-23 19.36.23.jpg [ 82.1 KiB | Osservato 2448 volte ]

Allegato:
2012-06-23 19.36.08.jpg
2012-06-23 19.36.08.jpg [ 97.5 KiB | Osservato 2448 volte ]

Allegato:
2012-06-23 19.35.35.jpg
2012-06-23 19.35.35.jpg [ 79.75 KiB | Osservato 2448 volte ]

_________________
A presto,
Alex


Fotografo con:
  • SkyWatcher Star Adventurer GTI
  • 60ino APO photoline e Coronado PST, vari obiettivi fotografici
  • Canon EOS 700D Baader, Zwo Asi 120m


Top
  Profilo   WWW  
 
 Oggetto del messaggio: Re: Lettura valore encoder su PC
MessaggioInviato: martedì 10 luglio 2012, 15:43 
Non connesso
Avatar utente

Iscritto il: martedì 6 maggio 2008, 11:59
Messaggi: 9269
Località: San Francesco al Campo [TO]
Tipo di Astrofilo: Visualista e Fotografo
Interessante discussione, qualcosa si può fare con Arduino (http://www.arduino.cc), però non ho mai fatto esperimenti.

_________________
Simone Martina
(a.k.a. gaeeb)
- - - - - - - - - - - - - - - - - - - -
Gruppo Astrofili Edward Emerson Barnard
Home Page: www.gaeeb.org
Facebook: facebook.com/gaeeb
Twitter: twitter.com/gaeeb_org

autocostruttite.wordpress.com


Top
  Profilo   WWW  
 
 Oggetto del messaggio: Re: Lettura valore encoder su PC
MessaggioInviato: martedì 10 luglio 2012, 15:48 
Non connesso
Avatar utente

Iscritto il: mercoledì 15 ottobre 2008, 17:01
Messaggi: 20265
Località: Firenze
Tipo di Astrofilo: Visualista e Fotografo
L'encoder di per se crea solo una serie di bit che poi debbono essere sommati e memorizzati per sapere a che punto è la corsa del fuocheggiatore. Quindi bisognerebbe intrevenire a valle dell'elettronica che fa il conto e a monte del siatema di visualizzazione del display. La vedo dura, sentiamo chi ne sa di più...

_________________
Ciò che non ha termine non ha figura alcunaLeonardo da Vinci


Top
  Profilo    
 
 Oggetto del messaggio: Re: Lettura valore encoder su PC
MessaggioInviato: martedì 10 luglio 2012, 18:29 
Non connesso
Avatar utente

Iscritto il: sabato 10 gennaio 2009, 20:23
Messaggi: 3327
Località: Jesolo
Tipo di Astrofilo: Visualista
Simone Martina ha scritto:
Interessante discussione, qualcosa si può fare con Arduino (http://www.arduino.cc), però non ho mai fatto esperimenti.
Con arduino è molto semplice leggere l'encoder, l'ho fatto con quelli che ho a casa ed è questione di 4 collegamenti in croce e poche linee di codice per rilevare l'angolo di spostamento...

Immagine

_________________
Dob 16" JB

---> DOBSONIANI <---


Top
  Profilo   WWW  
 
 Oggetto del messaggio: Re: Lettura valore encoder su PC
MessaggioInviato: martedì 10 luglio 2012, 18:39 
Non connesso
Avatar utente

Iscritto il: martedì 6 maggio 2008, 11:59
Messaggi: 9269
Località: San Francesco al Campo [TO]
Tipo di Astrofilo: Visualista e Fotografo
Bene Andrea, avresti voglia di indicare qualche libreria e magari qualche sketch di prova?

_________________
Simone Martina
(a.k.a. gaeeb)
- - - - - - - - - - - - - - - - - - - -
Gruppo Astrofili Edward Emerson Barnard
Home Page: www.gaeeb.org
Facebook: facebook.com/gaeeb
Twitter: twitter.com/gaeeb_org

autocostruttite.wordpress.com


Top
  Profilo   WWW  
 
 Oggetto del messaggio: Re: Lettura valore encoder su PC
MessaggioInviato: martedì 10 luglio 2012, 19:13 
Non connesso
Avatar utente

Iscritto il: sabato 10 gennaio 2009, 20:23
Messaggi: 3327
Località: Jesolo
Tipo di Astrofilo: Visualista
nessuna libreria, lo sketch consta di un semplice controllo sugli stati dei due channel A e B...

Codice:
#define encoderPinA 2
#define encoderPinB 3
volatile int encoderCount = 0;
volatile float angle = 0;
volatile float angle_previous = 0;
volatile float angle_post = 0;

void doEncoderA(){  // interrupt 0 function
  if (digitalRead(encoderPinA) == HIGH) {  // look for a low-to-high on channel A
    if (digitalRead(encoderPinB) == LOW) { // check channel B to see which way encoder is turning
      encoderCount = encoderCount + 1;
    }
    else {
      encoderCount = encoderCount - 1;
    }
  }
  else {                                     // must be a high-to-low edge on channel A
    if (digitalRead(encoderPinB) == HIGH) { // check channel B to see which way encoder is turning 
      encoderCount = encoderCount + 1;
    }
    else {
      encoderCount = encoderCount - 1;
    }
  }
  angle = 0.00105*encoderCount;  // unit: radian
}

void doEncoderB(){  // interrupt 1 function
  if (digitalRead(encoderPinB) == HIGH) {   // look for a low-to-high on channel B
    if (digitalRead(encoderPinA) == HIGH) { // check channel A to see which way encoder is turning
      encoderCount = encoderCount + 1;
    }
    else {
      encoderCount = encoderCount - 1;
    }
  }
  else {                                    // must be a high-to-low edge on on channel B
    if (digitalRead(encoderPinA) == LOW) { // check channel B to see which way encoder is turning
      encoderCount = encoderCount + 1;
    }
    else {
      encoderCount = encoderCount - 1;
    }
  }
  angle = 0.00105*encoderCount;  // unit: radian
}

void setup() {

  pinMode(encoderPinA, INPUT);
  pinMode(encoderPinB, INPUT);
  attachInterrupt(0, doEncoderA, CHANGE); 
  attachInterrupt(1, doEncoderB, CHANGE); 
 
  Serial.begin (9600); // for debugging
}

void loop() {
  Serial.print("counter: ");
  Serial.print(encoderCount, DEC);
  Serial.print(" - ");
  Serial.print("angle: ");
  Serial.print(angle, 4);
  Serial.println(";");
  delay(500);
}


Lo sketch dal quale ho estratto le righe sopra controllava pure la velocità di rotazione, se interessa provo a cercarlo

_________________
Dob 16" JB

---> DOBSONIANI <---


Top
  Profilo   WWW  
 
 Oggetto del messaggio: Re: Lettura valore encoder su PC
MessaggioInviato: mercoledì 11 luglio 2012, 16:48 
Non connesso
Avatar utente

Iscritto il: lunedì 19 febbraio 2007, 13:22
Messaggi: 444
Località: Roma
Tipo di Astrofilo: Fotografo
Andrea,
grazie mille per aver condiviso ilcodice e la tue esperienza. In effetti sto vedendo che Arduino probabilmente e' la soluzione migliore.

Che voi sappiate, tra Arduino e Teensy ci sono differenze rilevanti?

_________________
A presto,
Alex


Fotografo con:
  • SkyWatcher Star Adventurer GTI
  • 60ino APO photoline e Coronado PST, vari obiettivi fotografici
  • Canon EOS 700D Baader, Zwo Asi 120m


Top
  Profilo   WWW  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 7 messaggi ] 

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010