![]() |
![]() |
#11 |
Авторитет
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
|
![]()
Олег, eqmod для управления не подойдет (вроде тоже на отладке), или только на ардуино?
__________________
sw dob 6"+энкодеры sw 1149 eq2+pic goto бинокль konus giant 20x80 EOS 30D jv 250 EQ платформа для монтировки Добсона |
![]() |
![]() |
![]() |
#12 | |
Авторитет
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
|
![]() Цитата:
![]()
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD) |
|
![]() |
![]() |
![]() |
#13 |
Антон
Регистрация: 08.03.2008
Адрес: СПБ (Пушкин)
Сообщений: 1,449
|
![]()
eqmod это было бы совсем замечательно. Тогда и гидировать можно будет!
![]()
__________________
HEQ5 + SW2008 + qhy9 + колесо фильтров + qhy5 на искателе с геликоидным фокусёром |
![]() |
![]() |
![]() |
#14 |
Авторитет
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
|
![]()
Для наглядности... Используемый скетч для прошивки:
/* * Для управления ШД в программе используется библиотека AccelStepper 1.48 * http://www.open.com.au/mikem/arduino...per/index.html * */ #include <AccelStepper.h> // Назначение входов/выходов // Шаговые двигатели #define MOTOR1_DIR_PIN 8 #define MOTOR2_DIR_PIN 11 #define MOTOR1_STEP_PIN 9 #define MOTOR2_STEP_PIN 10 #define MOTOR1_SPR 1600 // Кол-во шагов на 1 оборот вала двигателя #define MOTOR2_SPR 1600 #define MOTOR1_MAX_SPEED 8000.0 // Максимальная скорость моторов в режиме 1 #define MOTOR2_MAX_SPEED 8000.0 #define MODE2_MAX_SPEED 14.35 // Скорость в режиме 2 Звёздная скорость // Органы управления и индикации #define MOTOR1_JOY_IN 0 // Ось Y джойстика #define MOTOR2_JOY_IN 1 // Ось X джойстика #define BTN1 0 // Кнопка РЕЖИМ 2 СТАРТ/СТОП #define LED_MODE 1 // Индикатор режима: // 0=РЕЖИМ 2 (светодиод горит) // 1=РЕЖИМ 1 (светодиод не горит) int nMotor1SP, nMotor2SP; // Задание направления от джойстика int nMode2SP; // Задание скорости для работы в РЕЖИМ 2 int nMotor1MV, nMotor2MV; // Задание скорости после ограничителя int nModeControllerState = 0; // Текущее состояние конечного автомата ModeController int nMode = 0; // Текущий номер режима // 0=РЕЖИМ 1. Управление от джойстика // 1=РЕЖИМ 2. Движение с заданной скоростью по одной оси bool bBTN1Value; // Состояние кнопки BTN1 AccelStepper stpMotor1(AccelStepper:: DRIVER, MOTOR1_STEP_PIN, MOTOR1_DIR_PIN); AccelStepper stpMotor2(AccelStepper:: DRIVER, MOTOR2_STEP_PIN, MOTOR2_DIR_PIN); void setup() { phInit(); } void loop() { static int nBTN1Counter; phGetCommand(); switch (nModeControllerState) { case 0: if (bBTN1Value == false) { nBTN1Counter++; } else { nBTN1Counter = 0; } if ((bBTN1Value == false) && (nBTN1Counter > 10)) { nModeControllerState = 1; nBTN1Counter = 0; } break; case 1: if (bBTN1Value==true) { nModeControllerState = 2; nMode = 1; digitalWrite(LED_MODE, 0); } break; case 2: if (bBTN1Value == false) { nBTN1Counter++; } else { nBTN1Counter = 0; } if ((bBTN1Value == false) && (nBTN1Counter > 10)) { nModeControllerState = 3; nBTN1Counter = 0; } break; case 3: if (bBTN1Value==true) { nModeControllerState = 0; nMode = 0; digitalWrite(LED_MODE, 1); } break; default: break; } switch (nMode) { case 0: phMotorRunMode1(); break; case 1: phMotorRunMode2(); break; default: break; } } void phInit() { pinMode(MOTOR1_DIR_PIN, OUTPUT); pinMode(MOTOR2_DIR_PIN, OUTPUT); pinMode(MOTOR1_STEP_PIN, OUTPUT); pinMode(MOTOR2_STEP_PIN, OUTPUT); pinMode(BTN1, INPUT_PULLUP); pinMode(LED_MODE, OUTPUT); nMotor1MV = 0; nMotor2MV = 0; stpMotor1.setMaxSpeed(MOTOR1_MAX_SPEED); stpMotor2.setMaxSpeed(MOTOR2_MAX_SPEED); stpMotor1.setAcceleration(10.0); stpMotor2.setAcceleration(10.0); stpMotor1.setSpeed(0); stpMotor2.setSpeed(0); digitalWrite(LED_MODE, 1); return; } void phGetCommand() { bBTN1Value = digitalRead(BTN1); nMotor1SP = analogRead(MOTOR1_JOY_IN) - 512; // Ось Y джойстика nMotor2SP = analogRead(MOTOR2_JOY_IN) - 512; // Ось X джойстика nMode2SP = MODE2_MAX_SPEED * 1; // Задание скорости режима 2 Поменять на -1 если требуется реверс if ((nMotor1SP < -40) || (nMotor1SP > 40)) { nMotor1MV = map(nMotor1SP, -512, 511, -1*MOTOR1_MAX_SPEED, MOTOR1_MAX_SPEED); } else { nMotor1MV = 0; } nMotor1MV = nMotor1MV * 1; // Поменять на -1 если требуется реверс if ((nMotor2SP < -40) || (nMotor2SP > 40)) { nMotor2MV = map(nMotor2SP, -512, 511, -1*MOTOR2_MAX_SPEED, MOTOR2_MAX_SPEED); } else { nMotor2MV = 0; } nMotor2MV = nMotor2MV * 1; // Поменять на -1 если требуется реверс } void phMotorRunMode1() { stpMotor1.setSpeed(nMotor1MV); // Задаем скорость для мотора 1 stpMotor2.setSpeed(nMotor2MV); // Задаем скорость для мотора 2 stpMotor1.runSpeed(); // Выполняем движение с заданной скоростью stpMotor2.runSpeed(); } void phMotorRunMode2() { stpMotor1.setSpeed(nMode2SP); // Задаем скорость для мотора 1 stpMotor1.runSpeed(); // Выполняем движение с заданной скоростью }
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD) |
![]() |
![]() |
![]() |
#15 |
Авторитет
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
|
![]()
Испытания монтировки были?
__________________
sw dob 6"+энкодеры sw 1149 eq2+pic goto бинокль konus giant 20x80 EOS 30D jv 250 EQ платформа для монтировки Добсона |
![]() |
![]() |
![]() |
#16 |
Авторитет
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
|
![]() Конечно-да, зачем бы я стал выкладывать нерабочую модель. Как-нибудь запишу видео работы и выложу здесь.
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD) |
![]() |
![]() |
![]() |
#17 |
Авторитет
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
|
![]()
А что с энкодерами, как в работе себя показали?
__________________
sw dob 6"+энкодеры sw 1149 eq2+pic goto бинокль konus giant 20x80 EOS 30D jv 250 EQ платформа для монтировки Добсона |
![]() |
![]() |
![]() |
#18 |
Авторитет
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
|
![]()
Сами энкодеры норм, но в целом ещё всё очень сыро и недоработано - пока хвалиться нечем.
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD) |
![]() |
![]() |
![]() |
#19 |
Авторитет
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
|
![]()
Выложил видео демонстрации работы своей системы
https://www.youtube.com/watch?v=aZ73CHkdziw
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD) |
![]() |
![]() |
![]() |
#20 | |
Авторитет
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
|
![]() Цитата:
![]()
__________________
sw dob 6"+энкодеры sw 1149 eq2+pic goto бинокль konus giant 20x80 EOS 30D jv 250 EQ платформа для монтировки Добсона |
|
![]() |
![]() |
![]() |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двухмоторная система управления для монтировки EQ-3 (CG-4) | core2 | Астрономическое оборудование | 7 | 13.01.2012 10:48 |
Программа для управления монтировкой с ПК | MiXaSA | Любые вопросы от новичков | 13 | 13.09.2010 10:38 |
COM порт для управления монтировкой CG-5GT | pignus | Полезное для астрономии | 8 | 02.08.2010 21:06 |
Компьютерная система управления GotoNova | KVaSiCH | Астрономическое оборудование | 36 | 21.06.2008 01:45 |
простая оптическая система. оффтопик | Anonymous | Астрономическое оборудование | 5 | 17.03.2002 14:25 |