Вернуться   Общая Астрономическая Конференция > Практика > Своими руками

Ответ
 
Опции темы Опции просмотра
Старый 26.03.2016, 09:06   #11
саня барада
Авторитет
 
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
По умолчанию Re: Простая система управления монтировкой на Arduino

Олег, eqmod для управления не подойдет (вроде тоже на отладке), или только на ардуино?
__________________
sw dob 6"+энкодеры
sw 1149

eq2+pic goto
бинокль konus giant 20x80
EOS 30D
jv 250
EQ платформа для монтировки Добсона
саня барада вне форума   Ответить с цитированием
Старый 26.03.2016, 10:21   #12
Oleg1601
Авторитет
 
Аватар для Oleg1601
 
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
По умолчанию Re: Простая система управления монтировкой на Arduino

Цитата:
Сообщение от саня барада Посмотреть сообщение
Олег, eqmod для управления не подойдет (вроде тоже на отладке), или только на ардуино?
На счет eqmod ничего сказать не могу - не знаю, не пробовал...
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD)
Oleg1601 вне форума   Ответить с цитированием
Старый 26.03.2016, 12:20   #13
Rain Dog
Антон
 
Аватар для Rain Dog
 
Регистрация: 08.03.2008
Адрес: СПБ (Пушкин)
Сообщений: 1,445
По умолчанию Re: Простая система управления монтировкой на Arduino

eqmod это было бы совсем замечательно. Тогда и гидировать можно будет!
__________________
HEQ5 + SW2008 + qhy9 + колесо фильтров + qhy5 на искателе с геликоидным фокусёром
Rain Dog вне форума   Ответить с цитированием
Старый 27.03.2016, 09:25   #14
Oleg1601
Авторитет
 
Аватар для Oleg1601
 
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
По умолчанию Re: Простая система управления монтировкой на Arduino

Для наглядности... Используемый скетч для прошивки:

/*

* Для управления ШД в программе используется библиотека 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)
Oleg1601 вне форума   Ответить с цитированием
Старый 28.03.2016, 08:05   #15
саня барада
Авторитет
 
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
По умолчанию Re: Простая система управления монтировкой на Arduino

Испытания монтировки были?
__________________
sw dob 6"+энкодеры
sw 1149

eq2+pic goto
бинокль konus giant 20x80
EOS 30D
jv 250
EQ платформа для монтировки Добсона
саня барада вне форума   Ответить с цитированием
Старый 28.03.2016, 13:39   #16
Oleg1601
Авторитет
 
Аватар для Oleg1601
 
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
По умолчанию Re: Простая система управления монтировкой на Arduino

Цитата:
Сообщение от саня барада Посмотреть сообщение
Испытания монтировки были?

Конечно-да, зачем бы я стал выкладывать нерабочую модель.
Как-нибудь запишу видео работы и выложу здесь.
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD)
Oleg1601 вне форума   Ответить с цитированием
Старый 01.04.2016, 15:05   #17
саня барада
Авторитет
 
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
По умолчанию Re: Простая система управления монтировкой на Arduino

А что с энкодерами, как в работе себя показали?
__________________
sw dob 6"+энкодеры
sw 1149

eq2+pic goto
бинокль konus giant 20x80
EOS 30D
jv 250
EQ платформа для монтировки Добсона
саня барада вне форума   Ответить с цитированием
Старый 02.04.2016, 10:17   #18
Oleg1601
Авторитет
 
Аватар для Oleg1601
 
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
По умолчанию Re: Простая система управления монтировкой на Arduino

Цитата:
Сообщение от саня барада Посмотреть сообщение
А что с энкодерами, как в работе себя показали?
Сами энкодеры норм, но в целом ещё всё очень сыро и недоработано - пока хвалиться нечем.
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD)
Oleg1601 вне форума   Ответить с цитированием
Старый 08.04.2016, 14:49   #19
Oleg1601
Авторитет
 
Аватар для Oleg1601
 
Регистрация: 13.02.2011
Адрес: г. Саранск
Сообщений: 351
По умолчанию Re: Простая система управления монтировкой на Arduino

Выложил видео демонстрации работы своей системы
https://www.youtube.com/watch?v=aZ73CHkdziw
__________________
DS DTF 130/1000 EQ3/AT-5 (MOD)
Oleg1601 вне форума   Ответить с цитированием
Старый 08.04.2016, 15:10   #20
саня барада
Авторитет
 
Регистрация: 13.05.2013
Адрес: планета в 1 а.е. от солнца
Сообщений: 823
По умолчанию Re: Простая система управления монтировкой на Arduino

Цитата:
Сообщение от Oleg1601 Посмотреть сообщение
Выложил видео демонстрации работы своей системы
https://www.youtube.com/watch?v=aZ73CHkdziw
Отличная работа
__________________
sw dob 6"+энкодеры
sw 1149

eq2+pic goto
бинокль konus giant 20x80
EOS 30D
jv 250
EQ платформа для монтировки Добсона
саня барада вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двухмоторная система управления для монтировки 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


Часовой пояс GMT +4, время: 20:51.


Powered by vBulletin® Version 3.8.4 Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.