 |
Форум @ BelAstro.Net Форум белорусской любительской астрономической сети
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Ср Апр 02, 2008 16:48 Заголовок сообщения: Наша GOTO на базе LPT-порта |
|
|
Недели полторы назад мы с Вовой озаботились такой идеей -- организовать GOTO свлими средствами. У Вовы с Таней есть монтировка EQ5 с приводами, переделанный нами пульт -- пеперь им можно управлять с камеры QHY5 или определённым внешним устройством. Так вот, этим внешним устройством может быть LPT-порт ПК. На его базе можно организовать систему GOTO. Для того, чтобы телеском вёлся по RA или Dec (можно выбрать скорости 2 звёзные, 4 и 8 ), нужно либо нажимать кнопки на пульте (попросту замыкая входы контроллера управления двигателями), либо делать это извне. LPT порт, а точнее, например, его DATA регистр, при переводе в положение логической "1" выдаёт на порт +5 В. На 5 пинов DATA регистра ставим на выходе оптрон (гальваническая развязка). При подаче +5 В на вход оптрона на выходе его будет замыкаться ключ, и если это приводит к началу работы двигателя. Всего надо 5 пинов ("земля", RA+, RA-, Dec+, Dec-), чтобы можно было вести телескоп куда надо.
Вчера я сделал небольшую плату для подсоединения к ней выхода LPT, а к выходу платы -- пульта управления (см. фото в аттаче).
Неделю назад Вова на Pascal'е написал программу для расчёта времени замыкания движков по обеим осям. Вчера я переписал прогу на C++. Но я не пишу на Visual C++, потому нужна помощь со стороны Deimos'a или кого ещё.
Т.к. понадобиться работать с LPT-портом из-под Win98/WinXP, то необходимы библиотеки, позволяющие "достучаться" но порта. это всё есть и бесплатно -- см. отличный сайт "СОПРЯЖЕНИЕ КОМПЬЮТЕРОВ С ВНЕШНИМИ УСТРОЙСТВАМИ". Программа может быть написана либо на Visual C++ (очень желательно), либо на Delphi.
Ниже листенги на Pascal (если прога будет писаться на Delphi):
Код: | { (c) Vladimir Povalishev (aka Pova), March 2008}
program GT;
uses crt,graph;
var gd,gm,RAh,RAm,RAs,DECd,DECm,DECs,RA0,RA1,DEC0,DEC1,dDEC,dRA,Vx:longint;
tRAp,tRAn,tDECp,tDECn:real;
begin
gd:=9;
gm:=2;
clrscr;
writeln('Input initial coordinates:'); {vvod na4alnyh koordinat}
write('Input R.A. (h m s):');
readln(RAh,RAm,RAs);
RA0:=RAh*15*3600+RAm*60+RAs; {opredelenie RA na4alnogo v sekundah}
write('Input DEC (deg m s):');
readln(DECd,DECm,DECs);
DEC0:=DECd*3600+DECm*60+DECs; {opredelenie DEC na4alnogo v sekundah}
writeln;
writeln('Input coordinates of target:'); {vvod kone4nyh koordinat}
write('Input R.A. (h m s):');
readln(RAh,RAm,RAs);
RA1:=RAh*15*3600+RAm*60+RAs; {opredelenie RA kone4nogo v sekundah}
write('Input DEC (deg m s):');
readln(DECd,DECm,DECs);
DEC1:=DECd*3600+DECm*60+DECs; {opredelenie DEC kone4nogo v sekundah}
writeln;
write('Input GOTO rate (x):'); {vvod skorosti goto}
readln(Vx);
writeln;
dRA:=RA1-RA0; {opredelenie del'ty po priamomu vosh.}
if dRA>=0 then begin
tRAp:=dRA/(15*Vx); {opred. vtemeni RA+}
writeln('Time R.A.+,ms:',round(1000*tRAp))
end;
if dRA<0 then begin
tRAn:=abs(dRA)/(15*Vx); {opred. vremeni RA-}
writeln('Time R.A.-,ms:',round(1000*tRAn))
end;
dDEC:=DEC1-DEC0; {opredelenie del'ty po skloneniju.}
if dDEC>=0 then begin
tDECp:=dDEC/(15*Vx); {opred. vremeni DEC+}
writeln('Time DEC+,ms:',round(1000*tDECp))
end;
if dDEC<0 then begin
tDECn:=abs(dDEC)/(15*Vx); {opred. vremeni DEC-}
writeln('Time DEC-,ms:',round(1000*tDECn))
end;
readln;
end. |
И на С++:
Код: | /*====================================================================================================
(c) Vladimir Povalishev (aka Pova), March 2008
portation on C++ - Vitaly Mechinsky (aka Lupus), April 2008
======================================================================================================
*/
#include <stdio.h>
#include <iostream.h>
#include <math.h>
void main()
{
double RA0,RA1,DEC0,DEC1,dDEC,dRA,Vx,RAh,RAm,RAs,DECd,DECm,DECs,tRAp,tRAn,tDECp,tDECn;
//clrscr();
cout << "Input initial coordinates:\n"; //vvod na4alnyh koordinat
cout << "Input R.A. (h m s):";
cin >> RAh >> RAm >> RAs;
//cout << endl;
RA0 = RAh*15*3600 + RAm*60 + RAs; //opredelenie RA na4alnogo v sekundah
cout << "Input DEC (deg m s):";
cin >> DECd >> DECm >> DECs;
DEC0 = DECd*3600 + DECm*60 + DECs; //opredelenie DEC na4alnogo v sekundah}
cout << endl;
cout << "Input coordinates of target:\n"; //vvod kone4nyh koordinat
cout << "Input R.A. (h m s):";
cin >> RAh >> RAm >> RAs;
RA1 = RAh*15*3600 + RAm*60 + RAs; //opredelenie RA kone4nogo v sekundah
cout << "Input DEC (deg m s):";
cin >> DECd >> DECm >> DECs;
DEC1 = DECd*3600 + DECm*60 + DECs; //opredelenie DEC kone4nogo v sekundah
cout << endl;
cout << "Input GOTO rate (x):"; //vvod skorosti goto
cin >> Vx;
dRA = RA1 - RA0; //opredelenie del'ty po priamomu vosh.
cout << endl;
if(dRA >= 0)
{
tRAp = dRA/(15*Vx); //opred. vremeni RA+
cout << "Time R.A.+,ms:" << floor(1000*tRAp) << endl;
}
if(dRA<0)
{
tRAn = abs(dRA)/(15*Vx); //opred. vremeni RA-
cout << "Time R.A.-,ms:" << floor(1000*tRAn) << endl;
}
dDEC = DEC1 - DEC0; //opredelenie del'ty po skloneniju.
if(dDEC>=0)
{
tDECp = dDEC/(15*Vx); //opred. vremeni DEC+
cout << "Time DEC+,ms:" << floor(1000*tDECp) << endl;
}
if(dDEC<0)
{
tDECn = abs(dDEC)/(15*Vx); //opred. vremeni DEC-
cout << "Time DEC-,ms:" << floor(1000*tDECn) << endl;
}
cin >> "";
} |
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
Последний раз редактировалось: Lupus (Ср Апр 02, 2008 21:06), всего редактировалось 1 раз
|
|
Вернуться к началу |
|
 |
astroivan
ЛА
Зарегистрирован: 11.07.2007
Сообщения: 4813 Благодарности: 248
|
Добавлено: Ср Апр 02, 2008 17:12 Заголовок сообщения: |
|
|
Виталий, а можешь сделать мне GOTO? Ясно что не за так, компенсирую затраты на материалы + время и саму работу. Есть идейка заняться патрулем сверхновых в иных галактиках. Без GOTO попробуй за ночь вручную понаводись на десятки галактик - офигеешь!
_________________ Ясного неба и успехов!
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Ср Апр 02, 2008 17:25 Заголовок сообщения: |
|
|
На счёт механизма управления.
Пусть пин №2 LPT-порта подсоединён к RA+ (двидатель прямого восхождения, вращается в прямом направлении), №3 к RA- (двидатель прямого восхождения, вращается в обратном направлении), №4 к Dec+ (двидатель склонения, вращается в прямом направлении), №5 к Dec- (двидатель склонения, вращается в обратном направлении).
Т.к. имеем 4 пина, то на них можем послать 16 двоичных комбинаций (на самом деле в DATA-регистре 8 битов, т.е. 8 пинов, но нам нужны только 4). но нам нужны не все они, а только 9 следующих:
Код: |
Pin 5 Pin 4 Pin 3 Pin2
Dec- Dec+ RA- RA+
0 0 0 0 -- двигатели отключены
0 0 0 1 -- один двигатель вращается по RA+, второй отключен
0 0 1 0 -- один двигатель вращается по RA-, второй отключен
0 1 0 0 -- один двигатель вращается по Dec+, второй отключен
1 0 0 0 -- один двигатель вращается по Dec-, второй отключен
0 1 0 1 -- первый двигатель вращается по Dec+, второй по RA+
0 1 1 0 -- первый двигатель вращается по Dec+, второй по RA-
1 0 0 1 -- первый двигатель вращается по Dec-, второй по RA+
1 0 1 0 -- первый двигатель вращается по Dec-, второй по RA-
|
Остальные коды, типа 0011 (одновременное вращение в двух направлениях по RA) и т.п. неприменимы.
Таким образом, остаётся только вычислять время, необходимое на движение по обеим осям до заданной точки, и подаём нужные сигналы.
Тут стоит оговориться о проблеме одновременной работы двигателей. В самом простом случае можно сначала двигаться по RA, а затем по Dec. Но это долго. Лучше сначала двигаться по обеим осям. Для этого ищем наименьшее из времён движения по осям, например, двигаться по RA+ надо 30000 мс, а по Dec- 20000 мс. Тогда подаём на DATA-регистр число 00001001 (работают оба двигателя -- Dec-, RA+) на 20000 мс, а потом доводим только по RA+ (в нашем случае) на время 30000-20000=10000 мс.
Цитата: | Виталий, а можешь сделать мне GOTO? |
Иван, проблем нет. Затраты пока мизерные. Сейчас главное согдать готовый образец и написать прогу. За реализацию в железе и тесты берусь я, за прогу -- пока сложно. Но если вариантов не будет, то тоже возьмусь (в принципе, не очень сложно).
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
Последний раз редактировалось: Lupus (Ср Апр 02, 2008 21:03), всего редактировалось 2 раз(а)
|
|
Вернуться к началу |
|
 |
Kostyan
ЛА
 Зарегистрирован: 10.07.2007
Сообщения: 1164 Благодарности: 1
|
Добавлено: Ср Апр 02, 2008 20:11 Заголовок сообщения: Re: Наша GOTO на базе LPT-порта |
|
|
Lupus писал(а): | Недели полторы назад мы с Вовой озаботились такой идеей -- организовать GOTO свлими средствами. |
А как же гид :( почему не на его базе ? LPT все же старый интерфейс
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Ср Апр 02, 2008 21:00 Заголовок сообщения: |
|
|
Не на его базе, т.к. нужен драйвер, а его нет в природе.
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
Kostyan
ЛА
 Зарегистрирован: 10.07.2007
Сообщения: 1164 Благодарности: 1
|
Добавлено: Ср Апр 02, 2008 21:07 Заголовок сообщения: |
|
|
Lupus писал(а): | Не на его базе, т.к. нужен драйвер, а его нет в природе. |
А как же аском платформа ?? И вообще можно же ведь списаться с разработчиком той самой коробочки - гида. думаю он поможет.
Да и собственно не нужно заморачиватся сильно на интерфейсе... это всего лишь последняя инстанции... в идеале система должна поддерживать и LPT и USB и еще че нить..
А вообще идея хороша. Получится "пайди на " в бел. интерпретации
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Ср Апр 02, 2008 21:18 Заголовок сообщения: |
|
|
Цитата: | Получится "пайди на " в бел. интерпретации |
Только не "на", а "в". Бррр... Лучше не переводить элегантное GOTO.
Цитата: | думаю он поможет. |
Вова пробовал попросить -- автор отказался.
Цитата: | в идеале система должна поддерживать и LPT и USB и еще че нить.. |
В будущем -- возможно. Пока попробуем реализовать на базе LPT.
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
lavon
ЛА
 Зарегистрирован: 11.07.2007
Сообщения: 909 Благодарности: 10
|
Добавлено: Ср Апр 02, 2008 21:25 Заголовок сообщения: |
|
|
Виталий, Вова, очень интересно.
Креатив однако
_________________ Я хацеў бы спаткацца з Вамі на вуліцы
У ціхую сінюю ноч
I сказаць:
«Бачыце гэтыя буйныя зоркі,
Ясныя зоркі Геркулеса?
Да іх ляціць наша сонца,
I нясецца за сонцам зямля.
Хто мы такія?
Толькі падарожныя, — папутнікі сярод нябёс.
Нашто ж на зямлі
Сваркі i звадкі, боль i горыч,
Калі ўсе мы разам ляцім
Да зор?»
Максім Багдановіч
_______________________________________
SW 100 ed, WO Zenisthar 66 SD APO, Sky Master 15x70
|
|
Вернуться к началу |
|
 |
Deimos
Site Admin
 Зарегистрирован: 10.07.2007
Сообщения: 6195 Благодарности: 78
|
Добавлено: Чт Апр 03, 2008 08:48 Заголовок сообщения: |
|
|
Костя, не сказал бы, что LPT очень уж старый интерфейс. Если более подробно интересно, могу на ушко рассказать.
Да и в общем-то интерфейс не столь принципиален. LTP здесь удобен тем, что он параллельный, не надо последовательные коды гонять и потом демультиплексировать сигнал, как это было бы для USB. Да и програмировать LPT куда проще.
Виталик, не мучайся, прогу возьму на себя я, только чуть-чуть разгребусь со своей магистратурой: следующая неделя - дедлайн. Можешь пока в билдере (на нём и будет это рисоваться походу) нарисовать интерфейс проги.
_________________ Алексей
Профи-диванщик с опытом, есть диплом А4 в рамке.
|
|
Вернуться к началу |
|
 |
astroivan
ЛА
Зарегистрирован: 11.07.2007
Сообщения: 4813 Благодарности: 248
|
Добавлено: Чт Апр 03, 2008 18:22 Заголовок сообщения: |
|
|
Так может насчет проги к Толиману обратиться? Хотя его ,как семейного человека иные заботы наверняка гложат :(
_________________ Ясного неба и успехов!
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Чт Апр 03, 2008 22:57 Заголовок сообщения: |
|
|
С программой разберёмся сами -- благо, она несложная.
Сегодня отдал Вове LPT-корпус -- будет в него встраивать телефонный 6-пиновый разъём. После этого я сделаю плату в "коробочке" и можно начать тесты -- пока с помощью железа, потом софтово.
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
Hornet
ЛА
Зарегистрирован: 05.08.2007
Сообщения: 27 Благодарности: 0
Откуда: Украина , г.Луцк
|
Добавлено: Пт Апр 04, 2008 06:42 Заголовок сообщения: |
|
|
Молодцы ! Очень интересно ! С нетерпением жду результатов , т.к. у самого EQ-5 с приводами .
Вопрос :
Может ли кто-нибудь модифицировать прошивку пульта EQ-5 для получения скорости 32х . Есть прошивка 16х , но , по-моему , слишком медленно для GoTo ...
Спасибо !
_________________ Ньютон 203/1000 , Canon 20D , EQ-6 PRO
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Вс Апр 06, 2008 22:34 Заголовок сообщения: |
|
|
Сегодня ночью Вова врезал телефонный разьём в LPT-кообочку и днём передал всё мне для конечной допайки. Теперь я всё допаял и проверил на "железе" -- на вход LPT подавал +5 В от БП, и смотрел на поведение пульта монтировки. Всё работает.
Благодаря тому, что всё "вольты" остаются в рамках коробок (LPT, пульт) снижен риск КЗ контактов. Кроме того, это даёт универсализм -- можно гидировать, и наводится на объект практически по одному проводу -- GOTO-провод будет идти от LPT, гидирование -- от камеры. Оба провода втыкаются в телефонный разветвлитель, из которого выходит провод в пульт управления монтировки.
В случае успешности всех испытаний (с написанным софтом), печатная плата (в виде *.pdf), сама программа и т.д. будут предоставлены в открытый доступ.
Теперь можно переходить к софтовой части вплотную.
Цитата: | Вопрос :
Может ли кто-нибудь модифицировать прошивку пульта EQ-5 для получения скорости 32х . |
Это к Алексею (Deimos). Нам, кстати, тоже не помешала бы 32-я скорость. Но тут могут возникнуть трудности с самими движками -- они могут неадекватно работать на такой скорости.
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
VJiK
ЛА
 Зарегистрирован: 11.07.2007
Сообщения: 1815 Благодарности: 5
|
Добавлено: Вс Апр 06, 2008 22:41 Заголовок сообщения: |
|
|
Lupus писал(а): |
В случае успешности всех испытаний (с написанным софтом), печатная плата (в виде *.pdf), сама программа и т.д. будут предоставлены в открытый доступ. |
Очень интересно-скоро обзаведусь 2001PEQ-5, и тогда воспользуюсь Вашей разработкой
_________________ ..........................................................
Я был на Беластрофестах 2009-2012гг.
..........................................................
|
|
Вернуться к началу |
|
 |
Pova
Модератор
Зарегистрирован: 10.07.2007
Сообщения: 1798 Благодарности: 15
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Ср Апр 09, 2008 02:35 Заголовок сообщения: |
|
|
Я отправил Лёше заготовку главного окна программы с пояснениями.
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
Pova
Модератор
Зарегистрирован: 10.07.2007
Сообщения: 1798 Благодарности: 15
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Сб Май 17, 2008 19:15 Заголовок сообщения: |
|
|
Оптимистично...
Я надеюсь, что на БАФ-2008 мы всё же сумеем показать всё в действии. Очень бы хотелось.
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
Kostyan
ЛА
 Зарегистрирован: 10.07.2007
Сообщения: 1164 Благодарности: 1
|
Добавлено: Сб Май 17, 2008 22:24 Заголовок сообщения: |
|
|
Lupus писал(а): | Но тут могут возникнуть трудности с самими движками -- они могут неадекватно работать на такой скорости. |
Сам шаговик может работать на скоростях в несколько тысяч оборотов, но для этого нужен аппаратный драйвер толковый ( электронные ключи). Без онного , ~ до 500 об/мин , но с небольшим моментом.
В обще повторюсь, у меня начинает потихоньку и медленно созревать мысль о создании универсального пульта для монтировок на базе штатных движков. Нужна лишь помошь в эрганомики и аккуратной пайке.
_________________ Какая была бы тишина, если бы люди говорили только то, что знают @ К.Чапек
Оборудование: Barska Cosmos 15x60, багажник 400 литров.
|
|
Вернуться к началу |
|
 |
Lupus
RadioAdmin
 Зарегистрирован: 10.07.2007
Сообщения: 4337 Благодарности: 100
Откуда: Minsk, Belarus
|
Добавлено: Сб Май 17, 2008 23:02 Заголовок сообщения: |
|
|
Хочешь соревноваться с корифеем?
_________________
_________________________________________________
"Вит, cкоро Геминиды!" (с) Pova
"Познавший себя -- собственный палач." (с) Ф. Ницше
"Просто я живу на улице Ленина
И меня зарубает время от вре-ме-ни..." (с) Ф. Чистяков
|
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|