A A A A Автор Тема: Управление монтировки с коллекторными двигателями  (Прочитано 1427 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн thomas.codingАвтор темы

  • *****
  • Сообщений: 613
  • Благодарностей: 4
  • Web программист, Украина, Мелитополь
    • Сообщения от thomas.coding
    • Каталог RSS
Как-то давно я купил монтировку meade etx-70 зачем уже не помню, но провалялась она где-то с год на полке, пока не решился ее оживить. Пульта не было, сам пульт стоит много денег, да и неинтересно так. Если делать, то так чтоб с нуля . К тому же была давняя идея поиграться с PID регуляторами и вообще сделать рабочее устройство самому с отдельным микроконтроллером и отдельной схемой + коммуникация с компьютером. К тому же куда ни глянь используются шаговики, но что делать если есть монтировка с обычными моторами? не выкидывать же.

Что имеем, монтировка с моторами и энкодерами, платы Arduino, куча желания и свободное время.

Что пришлось докупить и что останется вместе с монтировкой:
Atmega8 (потому что другой не было), мелкие сопротивления и детальки, макетная плата, суммарно на 5$.
Плата драйвера двигателей, посмотрел цены в интернете порядка 20$ я покупал с Китая, вышла порядка 4$ ;) .
Итого порядка 25$.
Платы Arduino я в расчет не беру, так как они используются больше для работы с микроконтроллером, чем в качестве самостоятельного устройства. Вполне можно обойтись программатором.

У меня было желание чтобы можно было общаться с другими устройствами, к примеру чтобы я мог подключить монтировку к PC и управлять оттуда, либо сделать пульт и его подключить. Для подключения к различным устройствам был написан небольшой протокол для общения через шину I2C. На данный момент я использую одну Arduino в качестве программатора, а вторая используется в качестве общения с контроллером по I2C.

Что умеет на данный момент:
Режим ведения (правда в экваториальном положении) только для одной оси.
Установка в нужную позицию (считается положения энкодера) и телескоп наводится куда нужно выглядит это примерно так p1000:1000. Установить двигатели в позицию 1000 обе оси относительно места старта.
Просмотр текущего положения монтировки
Изменение скорости ведения.
Управление двигателями при помощи ШИМ (при использовании Atmega8 аппаратный ШИМ будет только на 1 двигателе, так как всего 3 выхода ШИМ, для 2 двигателей надо 4 выхода ШИМ)

Добавить можно что угодно, лишь бы памяти хватило  на atmega8 ее очень мало осталось.

Прошу заметить что я ни разу не электронщик, для меня это хобби которым я иногда балуюсь.  Ниже приведена схема платы, не дорисовал переменные резисторы светодиодов энкодера и порт i2c (ножки 28,27 на atmega8). Суммарно времени ушло на разработку и пайку - 4-5 дней, большинство времени я занимался программированием и отладкой, пайки на несколько часов всего.

Вместо платы с Atmega8 можно использовать почти любую плату Arduino, мне как то жалко стало решил сделать отдельно. Atmega8 прошита arduino загрузчиком который занимает порядка 500 байт с копейками.

Исходный код прилагается.
« Последнее редактирование: 25 Июн 2013 [05:40:18] от thomas.coding »
Телескоп Алькор
Доб 150 мм в разработке

Оффлайн thomas.codingАвтор темы

  • *****
  • Сообщений: 613
  • Благодарностей: 4
  • Web программист, Украина, Мелитополь
    • Сообщения от thomas.coding
    • Каталог RSS
Общий вид и вид платы управления вместе с платой драйверов.
Левая плата Arduino используется в качестве программатора, правая - связь с платой по I2C
« Последнее редактирование: 25 Июн 2013 [05:41:25] от thomas.coding »
Телескоп Алькор
Доб 150 мм в разработке

Оффлайн thomas.codingАвтор темы

  • *****
  • Сообщений: 613
  • Благодарностей: 4
  • Web программист, Украина, Мелитополь
    • Сообщения от thomas.coding
    • Каталог RSS
Для удобства все входы и выходы объединил в одну шину
Телескоп Алькор
Доб 150 мм в разработке

Оффлайн GRG

  • *****
  • Сообщений: 805
  • Благодарностей: 0
    • Сообщения от GRG
Добрый день! Такой вопрос: скорость ведения подбирали опытным путем?