Autor Tópico: Projecto para CG5 e não só  (Lida 7792 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
Projecto para CG5 e não só
« em: Janeiro 15, 2007, 06:46:26 pm »
Vou começar a fazer um programa para controlar a minha montagem (e outras semelhantes) via pc.

Objectivos:
- substituição de grande parte das funções do controlador, incluindo go-to
- adaptação de joystick para controlo dos motores DEC, AR com sensibilidade.
- possibilidade de regular sensibilidade do joystick
- possibilidade de inverter eixos e rodar referencial
....
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline Fil

  • Moderador Global
  • Astro-Avançado
  • *****
  • Mensagens: 2621
  • Karma: +5/-0
    • Ver Perfil
(sem assunto)
« Responder #1 em: Janeiro 15, 2007, 06:50:27 pm »
Sugestão: http://ascom-standards.org/index.html (ASCOM standards)!
Muito do trabalho já está feito/facilitado..
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Fil »
Fil.
GOAAA

(sem assunto)
« Responder #1 em: Janeiro 15, 2007, 06:50:27 pm »

Offline xumaxer

  • Astro-Avançado
  • *****
  • Mensagens: 1217
  • Karma: +1/-0
    • Ver Perfil
Re: Projecto para CG5 e não só
« Responder #2 em: Janeiro 15, 2007, 07:34:42 pm »
Citação de: "Miguel Lopes"
Vou começar a fazer um programa para controlar a minha montagem (e outras semelhantes) via pc.


Olá Miguel,

não sou "informático" mas além do que o Fil diz, há também um software da Nexstar que permite controlar o telescópio pelo PC. Tens que construir um cabo que ligue o HC ao computador e descarregar o programa "Nexstar Observer List"

Visita:
http://www.nexstarsite.com/NSOL.htm

O cabo de ligação do HC ao computador está em:
http://www.nexstarsite.com/PCControl/RS232Cable.htm

aqui podes pesquisar outras coisas que te interessem.
Este NSOL é bom porque permite criar listas e sessões de observação com antecedência e depois, ir directamente para os objectos que fazem parte dessa sessão.  8)  8)
Claro que o alinhamento da montagem não deixa de ser necessário  8)

Apesar de não responder a todos os teus anseios, quem sabe já dá uma ajudinha?

Cumps  :wink:
« Última modificação: Janeiro 01, 1970, 01:00:00 am por xumaxer »
Cumps ;)

JC
xumaxer
_____________________
"Nunca vi tão bem; a noite é bela; o meu telescópio é o melhor do mundo" William Herschel in Telescópios (2004)

http://myskyatnight.

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #3 em: Janeiro 15, 2007, 08:32:13 pm »
Grande coincidência! Acabei de descobrir esse site e o link (http://www.nexstarsite.com/PCControl/RS232Cable.htm ). Já tenho o cabo feito de upgrade de controlador de motores e montagem, mas esse diagrama não arranjava em lugar nenhum. Perdi uma hora na procura  :cry:

Em relação ao nextstar control pad, é mais ou menos isso que quero, só que em vez de controlar por botões, quero associar a um joystick, que além de permitir navegações oblíquas, etc, permite ter o controlo dinâmico de velocidade.

Para mim é muito fácil fazer um programa de comunicação porta série, tenho feito quase um por mês... e bem mais complexos.

Em relação à mensagem do Fil, ainda não olhei bem para o site. Ainda não vi se é open source. Se não for, não vale a pena, porque tem limitações, já estive a ver a interface.
Mas a parte de comunicação série é muito fácil para mim. A parte mais complicada será o joystick, porque nunca programei para nenhum, mas tambem nao deve ser dificil.

A minha idéia é fazer para os telescópios com Nexstar e, a pedido, para outros. Claro que será borlix. O código é que já não sei...
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #4 em: Janeiro 15, 2007, 10:28:56 pm »
Acabei de pensar numa coisa: se viesse a ter um focador ligado ao pc, também podia ligá-lo ao joystick  :D  Tinha controlo dinâmico do focus!!!!! Hoje estou inspirado!
Também me lembrei de uma coisa: se tivesse controlo sobre o focador e sobre a montagem no mesmo programa, consigo fazer uma coisa muito boa:
Em SCTs existe o problema de mirror shift. Se eu calcular, por amostragem, a variação do mirror shift com a focagem, posso fazer um sistema que compensa automaticamente o mirror shift  :D  :D  :D
Não sei se o mirror shift é linear ou tem uma função complicada. Se for complicada teria de obter uma referência inicial cada vez que iniciasse o programa. Isto implicava que tinha de rodar o focus na sua totalidade numa direcção.
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline Fil

  • Moderador Global
  • Astro-Avançado
  • *****
  • Mensagens: 2621
  • Karma: +5/-0
    • Ver Perfil
(sem assunto)
« Responder #5 em: Janeiro 16, 2007, 08:42:52 am »
Citação de: "Miguel Lopes"
Mas a parte de comunicação série é muito fácil para mim. A parte mais complicada será o joystick, porque nunca programei para nenhum, mas tambem nao deve ser dificil.

A minha idéia é fazer para os telescópios com Nexstar e, a pedido, para outros. Claro que será borlix. O código é que já não sei...
Epá isso do Joyskick é fácil!.. Também é série.. é como se fosse um rato, com a ligeira diferença que está sempre a mandar pacotes.. E está sempre a "mudar de ideias", também: os valores oscilam muito. Podes ter uma ideia indo ao Control Panel > Game Controllers e se fores à calibração do joystick podes ver aquilo sempre a mexer, mesmo com o Joystick parado..  Portanto podes ter que arranjar um filtro que "suavize" os valores com base nos anteriores..
Aquilo que não sei mesmo é dentro que valores de velocidade é possível dizer à montagem para andar.

A vantagem do ASCOM é que o que quer que faças não vai funcionar só no Nextar.. Vai funcionar desde Meade ou Celestron, até Astro Phisics ou numa Paramount ME da Bisque :D.. E se calhar até funcionaria na Altux do Jaclerigo ;)
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Fil »
Fil.
GOAAA

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #6 em: Janeiro 16, 2007, 10:07:45 am »
Citação de: "Fil"
Epá isso do Joyskick é fácil!.. Também é série.. é como se fosse um rato, com a ligeira diferença que está sempre a mandar pacotes.. E está sempre a "mudar de ideias", também: os valores oscilam muito. Podes ter uma ideia indo ao Control Panel > Game Controllers e se fores à calibração do joystick podes ver aquilo sempre a mexer, mesmo com o Joystick parado..  Portanto podes ter que arranjar um filtro que "suavize" os valores com base nos anteriores..
Aquilo que não sei mesmo é dentro que valores de velocidade é possível dizer à montagem para andar.

A vantagem do ASCOM é que o que quer que faças não vai funcionar só no Nextar.. Vai funcionar desde Meade ou Celestron, até Astro Phisics ou numa Paramount ME da Bisque :D.. E se calhar até funcionaria na Altux do Jaclerigo ;)


O filtro é facílimo de fazer, até porque tenho de corresponder as centenas de posições possíveis a apenas 9 velocidades. Mais o ponto morto, que é no centro. Isto vai dar vários degraus de velocidades, o que já filtra bem. Além disso posso usar um filtro que tenha em conta os estados anteriores para fazer transições suaves, não quero que aquilo vá de 0 a 9 instantâneamente. Esses 0 a 9 também podem ser desmultiplicados facilmente, para obter mais precisão.
Pelo que estou a ver agora, o mais complicado vai ser determinar a cadência com que consigo enviar comandos sem que aquilo se passe...
Em relação ao joystick ser série, acho que se usar uma API do windows, ele aparece muito mais facilmente tratável.

O ASCOM tem um problema, não implementa as funções específicas da CG5, apenas as básicas. A minha idéia é fazer o meu código modular e parametrizável. Todos os comandos e parâmetros poderiam ser alterados para se adaptarem a cada montagem. Estou a dar uma olhada no ASCOM para ver que parâmetros e comandos são comuns entre montagems.

É verdade, acabei de fazer os 2 cabos, o de programação e o de controlo. Ficaram baratíssimos.
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #7 em: Janeiro 17, 2007, 11:42:01 pm »
Fantástico!!!!
Apenas após 2h de programação, já tenho controlo sobre o telescópio!
Já fiz tudo o necessário para também ligar o Joystick, mas estou agora a fazer download do DirectX SDK (500MB!) para poder começar.
Vou dormir e recomeço amanha à noite.
Aproveitei também para actualizar o firmware do controlador NexStar.



Já tenho controlo independente dos eixos e velocidades. Já tenho a lógica toda necessária para ligar o joystick e substituir os botões + dropbox de velocidades.

Objectivos para amanhã:
- ligar o joystick
- obter coordenadas em tempo real do telescópio. Futuramente a idéia é projectar um retículo com essas coordenadas num planisfério

Tenho estado a fazer tudo em DLLs independentes. Neste momento tenho:
- uma DLL para comunicação série
- uma DLL para controlo do telescópio. Pode ser derivada para controlar telescópios diferentes
- uma DLL para definições de comandos de telescópios
- uma DLL para o joystick
- uma DLL para interface gráfica
- um programa que articula tudo acima referido

Se estiverem interessados, posso divulgar o programa conforme o for construíndo. Tenho também interesse em ter pessoal a testar  :D
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline Fil

  • Moderador Global
  • Astro-Avançado
  • *****
  • Mensagens: 2621
  • Karma: +5/-0
    • Ver Perfil
(sem assunto)
« Responder #8 em: Janeiro 18, 2007, 12:43:30 pm »
Não tenho Celestron para testar.. Mas se me oferecerem um, voluntario-me :D
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Fil »
Fil.
GOAAA

Offline xumaxer

  • Astro-Avançado
  • *****
  • Mensagens: 1217
  • Karma: +1/-0
    • Ver Perfil
(sem assunto)
« Responder #9 em: Janeiro 18, 2007, 01:02:46 pm »
Citação de: "Miguel Lopes"
(...)
Se estiverem interessados, posso divulgar o programa conforme o for construíndo. Tenho também interesse em ter pessoal a testar  :D


Olá Miguel

pareces o verdadeiro guru da programação  8)

tudo o que dizes é "chinês" para mim  :?   :shock:  :roll:

Para poder usar o teu programa, só com um manual de instruções bastante fácil.
Sabes, é que para mim os computadores são como os carros:

Não preciso de saber mecânica para o utilizar.  :lol:  :lol:

Mas vai dando dicas (fáceis) pois pode ser que esteja interessado.
VALE???

Cumps  :wink:
« Última modificação: Janeiro 01, 1970, 01:00:00 am por xumaxer »
Cumps ;)

JC
xumaxer
_____________________
"Nunca vi tão bem; a noite é bela; o meu telescópio é o melhor do mundo" William Herschel in Telescópios (2004)

http://myskyatnight.

Offline xumaxer

  • Astro-Avançado
  • *****
  • Mensagens: 1217
  • Karma: +1/-0
    • Ver Perfil
(sem assunto)
« Responder #10 em: Janeiro 18, 2007, 01:14:03 pm »
Já agora, no outro dia, ao instalar uma placa wireless na Faculdade do Porto, o informático viu os meus programas de astronomia no portátil e em conversa, disse-me que não percebia porque todas as comunicações eram feitas pela porta série, quando esta está sujeita a vários problemas...
É verdade?

Se sim, porque não fazem todas essas comunicações por USB, que segundo ele, são muito mais práticas e fiáveis???

Eu faço ligações da Canon e do NSOL através de adaptadores série_USB, mas não seria mais fácil fazer logo cabos para USB?

"Just a thought"

Cumps  :wink:
« Última modificação: Janeiro 01, 1970, 01:00:00 am por xumaxer »
Cumps ;)

JC
xumaxer
_____________________
"Nunca vi tão bem; a noite é bela; o meu telescópio é o melhor do mundo" William Herschel in Telescópios (2004)

http://myskyatnight.

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #11 em: Janeiro 18, 2007, 01:14:38 pm »
Ola,

Aquilo vai ser super fácil de utilizar. Tenho um algoritmo de autodetecção de porta série, portanto nem isso é necessário fazer.
É só correr o programa e carregar nos botões!

Mais uma ideia que me apareceu hoje de manhã:
- autocalibração de backlash
A idéia é ter um algoritmo que faça um conjunto de iterações no movimento da montagem e que em simultâneo compare as mudanças de posição. O que isto permite? Uma compensação automatica de backlash. Vantagens em relação à calibração manual: pode ser feita facilmente no início de cada sessão para compensar variações de distribuição de peso.

Tenho que começar a organizar estas ideias, mas para ja tenho objectivos mais simples diários...
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline xumaxer

  • Astro-Avançado
  • *****
  • Mensagens: 1217
  • Karma: +1/-0
    • Ver Perfil
(sem assunto)
« Responder #12 em: Janeiro 18, 2007, 01:16:40 pm »
Citação de: "Miguel Lopes"
Ola,
(...) A idéia é ter um algoritmo que faça um conjunto de iterações no movimento da montagem e que em simultâneo compare as mudanças de posição. (...)



 :lol:  :lol:  :lol:  em português sff  :lol:  :lol:  :lol:

E um PEC?? Não se arranja?  :lol:  :lol:  :lol:  :lol:
« Última modificação: Janeiro 01, 1970, 01:00:00 am por xumaxer »
Cumps ;)

JC
xumaxer
_____________________
"Nunca vi tão bem; a noite é bela; o meu telescópio é o melhor do mundo" William Herschel in Telescópios (2004)

http://myskyatnight.

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #13 em: Janeiro 18, 2007, 01:23:58 pm »
Claro que era melhor por USB. A porta série é lenta, gera muitos erros, o protocolo é arcaico....
O problema é que os chips de porta série são facilimos de produzir, existe documentação e librarias para tudo para porta série.
E até à alguns anos, ninguém implementava USB em hardware porque os controladores eram mais caros, até porque a velocidade de comunicação era bem maior.
O protocolo USB 1.1 é cerca de 100x mais rápido do que a porta série mais rápida do mercado e cerca de 1000x mais rápido do que as comunicações normais de porta série. O problema é que a maioria dos dispositivos externos tem processadores fraquinhos que não conseguem processar informação tão rapidamente. Portanto os próprios processadores teriam de ser melhores e mais caros.
nos últimos 2 anos têm aparecido micro processadores para automação com velocidades muito elevadas, portanto a porta série tem os dias contados.

Mais uma questão: a porta série pode ser usada como um conjunto de interruptores externos, permitindo por exemplo controlar os tempos de exposição de web cams modificadas. Com USB não se consegue fazer isso sem controlador...

Eu estou limitado ao que tenho, o controlador NexStar tem interface série, portanto tenho de comunicar por porta série. Claro que posso fazer um adaptador série-USB, mas continua a ser comunicação série.

Na minha empresa, os primeiros módulos de rádio que construímos eram porta série, mas as novas versões vão ser USB.
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

Offline Miguel Lopes

  • Grupo Galáctico
  • Astro-Avançado
  • *****
  • Mensagens: 1810
  • Karma: +0/-0
    • Ver Perfil
(sem assunto)
« Responder #14 em: Janeiro 18, 2007, 01:30:16 pm »
Citação de: "xumaxer"
Citação de: "Miguel Lopes"
Ola,
(...) A idéia é ter um algoritmo que faça um conjunto de iterações no movimento da montagem e que em simultâneo compare as mudanças de posição. (...)


 :lol:  :lol:  :lol:  em português sff  :lol:  :lol:  :lol:

E um PEC?? Não se arranja?  :lol:  :lol:  :lol:  :lol:


Ainda não sei exactamente a forma do algoritmo, mas para começar:

Meço coordenadas actuais. Movo num eixo numa direcção. Paro. Movo para trás. Vejo quanto demorou em cada passo. Faço exactamente ao contrário e vejo quanto demorou em cada passo. Ajusto + ou - o backlash, conforme os tempos de atraso. Repito o procedimento anterior até os tempos serem idênticos.
Depois mudo de velocidade e repito os passos anteriores.

Claro que isto pode ser lento. Portanto a idéia é fazer uma modelização dos motores de maneira a que o método convirja mais rapidamente. A primeira coisa que vou fazer:
-Pôr um procedimento que vai colocar os motores a andar para trás e para a frente, com velocidades e durações diferentes, para um peso equilibrado.
- colocar em folhas de excel, olhar para os graficos e tentar perceber o grau do sistema, etc
- fazer um algoritmo inicial
- tentar reduzir tempo de calibração

Imagino que consiga fazer uma calibração automática em 30-60 segundos.
« Última modificação: Janeiro 01, 1970, 01:00:00 am por Miguel Lopes »
"a astrologia é a ciência dos ignorantes, a astronomia é a dos que se sentem ignorantes" - Miguel Lopes

(sem assunto)
« Responder #14 em: Janeiro 18, 2007, 01:30:16 pm »