Телескопы покупают здесь


A A A A Автор Тема: Самодельный привод монтировки. Как сделать?  (Прочитано 8314 раз)

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

Оффлайн Boris Green

  • *****
  • Сообщений: 1 473
  • Благодарностей: 76
    • Сообщения от Boris Green
DB9 к моторам. По 2 пина объединил. На коробке разъемов нет, компактно.

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
Дима, Борис и все все - спасибо за советы. DB9 я сторонюсь, какая-то идиосинкразия у меня к нему, еще с мышкиных времен. GX12 очень понравился, пока делаю без разъемов, но место для них оставляю, и если их сделаю, выбор падет на gx12.
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
HELP! Стал размышлять о правильном питании Ардуино и движков. Исходные такие:
В качестве питания самодельной моторизации CG4 будут использоваться 4 лит. аккумулятора формата 18650. Каждый в заряженном состоянии около 4,2V. В сумме почти 17V выходит. И движки, и мозги (Ардуино нано плюс драйверы) будут питаться только от них.
Вопрос. Как правильно организовать питание?

Первое и самое простое решение: без всяких DC-DC подаем напряжение питания от 4 акк. прямо на Ардуино и на силовую часть драйверов (для движков). 5-вольтовое питание для драйверов снимаю с пина "5V" ардуинки. Все хорошо, но я никак не могу понять, стерпит ли ардуинка нано на входе 17V вместо 12V рекомендованных?

Ну и второе решение. Вставляем между аккумуляторами и ардуинкой DC-DC, который будет понижать 17V до 12V. А силовую часть драйверов по прежнему питаем напрямую от 17V. Тут вроде бы все безопасно, но лишние потери на dc-dc...

Как быть?

PS. Сегодня написана и обкатана часть софта, управляющего реакцией на Джойстик в режиме малых скоростей подвижек (4х и 16х). Как ни странно, все заработало с первой компиляции (редко такое бывает). Повышение скорости правда реализовано на драйверах LV крайне просто - на лету перехожу с микрошага 128 на 32 и 8 соответственно. Это и вправду работает))
Дешевые ардуинские джойстики - ерунда. У них какие-то нелинейные резисторы, очень быстро значения вылетают от 512 к 0 и 1023.
« Последнее редактирование: 29 Июл 2024 [23:35:45] от diant »
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн lobzon

  • *****
  • Сообщений: 978
  • Благодарностей: 112
  • Мне нравится этот форум!
    • Сообщения от lobzon
Антон, с чем связано применение именно 4 шт. 18650?
У меня все питание сделано на 3 шт. 18650, что дает немного больше 12 В при полностью заряженных аккумуляторах.

По питанию (напомню, 12 В) - идет на вход ардуины для внешнего питания и тут же параллельно - на драйвер и далее двигатель. Ардуинка должна быть качественной. Какая-то китайская вариация так не работала, приходилось давать ей питание от USB 5В. От Key Studio заработала нормально от одного внешнего источника питания 12 В.

По поводу 17 В - в документации сказано, должно работать до 20 В, но рекомендуется 7-12 В. Думаю, зависит от качества отдельной платы. Наверное, стоит посмотреть в сторону "фирменных".

Как я бы попробовал: сначала с хорошей Ардуино напрямую питание 17 В. Если сгорит, то через DC-DC  ;D
« Последнее редактирование: 29 Июл 2024 [23:46:48] от lobzon »
Доб Аполлон 9,6"(1:6), Svbony Sv503 102/714, Synta BK909AZ3, Б7х30
МБС-1, МБИ-3

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
Алексей, приветствую! 4 штуки потому, что у меня их 4 :)
Одинаковые, специально для этих целей ждавшие своей участи. Да и емкости на ночь поболе будет, да и зарядник сразу на 4, и ячейка на 4, и дом, в котором я вырос (ты в нем был) номер 42, корп. 4, под. 8, этаж 8. Как же я могу при таких вводных 3 акка использовать! Да провалиться мне на этом месте)))

Ардуины нано - у меня конечно чистый китай. Но пока ни одна не сгорела за всю мою практику.

Как я бы попробовал: сначала с хорошей Ардуино напрямую питание 17 В. Если сгорит, то через DC-DC  ;D
Это ты хорошо придумал ;) Это и я так могу. Короче, если есть риск, буду питать ардуинку через dc-dc, у меня их много и думаю потери на Ардуинке будут крошечные (движки ведь напрямую будут запитаны).

У меня все питание сделано на 3 шт. 18650, что дает немного больше 12 В при полностью заряженных аккумуляторах.
А у тебя чего ими запитано?

Кстати. А ведь ардуинку можно питать на 30-ю ногу (там где 7-12В рекомендовано) и на 27ю ногу, подавая туда уже строго 5В. Как лучше?
30-я нога, судя по всему, будет все равно повторно стабилизировать напряжение на микросхеме 1117 и там тоже потери будут ненужные.
Наверное разумно будет выставить на dc-dc строго 5В на выходе и подать эти 5В на 27-ю ногу нанки?
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн lobzon

  • *****
  • Сообщений: 978
  • Благодарностей: 112
  • Мне нравится этот форум!
    • Сообщения от lobzon
А у тебя чего ими запитано?
На самом телескопе - вентилятор охлаждения и всевозможные грелки. Можно фен подключить. Еще питает экваториальную платформу. Именно здесь стоит ардуинка, драйвер и сам двигатель.
Кстати. А ведь ардуинку можно питать на 30-ю ногу (там где 7-12В рекомендовано) и на 27ю ногу, подавая туда уже строго 5В. Как лучше?
30-я нога, судя по всему, будет все равно повторно стабилизировать напряжение на микросхеме 1117 и там тоже потери будут ненужные.
Наверное разумно будет выставить на dc-dc строго 5В на выходе и подать эти 5В на 27-ю ногу нанки?
Трудно сказать, я не знаю. Наверное, зависит от того, как все сделано. В любом случае будет преобразование с 17 В до 5 В. И пройдет ли это в два шага или в один, наверное, примерно одинаково. Попробовать так, как проще реализовать?
Доб Аполлон 9,6"(1:6), Svbony Sv503 102/714, Synta BK909AZ3, Б7х30
МБС-1, МБИ-3

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
На самом телескопе - вентилятор охлаждения и всевозможные грелки. Можно фен подключить. Еще питает экваториальную платформу. Именно здесь стоит ардуинка, драйвер и сам двигатель.
Ого, сколько у тебя всего питается от 3-х акков 18650! У меня одни грелки на рефракторе 120/600 намного больше за ночь съедают. У тебя или грелки сильно малоточные или на всю ночь не должно хватать.

Вернусь к своей самоделке: продолжение моторизации CG4.
Пришло время переносить мозги с макетки на общепризнанный "астрошилд" CNC Shield v4. Насколько я понял по описаниям в параллельных ветках (Iovch et al), при конструировании этой платы китайцы допустили суровую ошибку, но тираж шилда с этой ошибкой они откатали и исправлять ее, судя по всему, не собираются. Сам купил этот шилд не более месяца назад - глюк на месте. Речь идет об ошибочно выведенных перемычках с пинов драверов MS1, MS2, MS3 на землю, вместо +5В. На землю эти пины и так подтянуты через внутренний резистор 100К (см. даташиты на драйверы).

Я видел (тут или в сети, уже не помню) варианты исправления этой ошибки через перерезание дорожек и пайку на тыльной стороне шилда. Сам же решил ни дорожки ни резать, ни напаиваться снизу. Коррекцию шилда провел сверху, при этом на пины MS провод накинул колечком и аккуратно опаял, а вот на X+, Y+, Z+ напаиваться не стал, а сделал аккуратные съемные оконечники - все видно на фото. Можно их перебрасывать, накидывать на другие ноги и т.д.

Сам же пока по плану делаю так:
На драйвере X (у меня это будет RA) получаю возможность управлять пинами MS2 и MS3 - то есть на лету смогу переключаться на следующие мирошаги: 128, 32, 8, 2 (использовать буду вероятно только первые три).
На драйвере Y (будущий Dec) получаю возможность управлять пином MS2 - то есть на лету смогу переключаться на следующие мирошаги: 128, 32.
Этого более чем достаточно для моих целей.
Драйвер Z пока оставляю пустым и не трогаю. Я моторизацию фокуса не планирую, но в принципе ее легко сюда добавить, используя гнездо Z, управление которым остается нетронутым (пины D4 и D7; переключение микрошагов "на лету" фокусеру не нужно).

Осталось еще (не успел пока сделать) накинуть +5В на MS1 драйвера X и на MS1,3 драйвера Y. Чем сейчас и займусь, после чего перенесу все детали с макетки сюда.

Питание пока решил сделать так:
- снимаю на шилде перемычку Mot_VOT_Sel
- впаиваю на шилд питание для движков напрямую с 4 акков 18650 (входы Mot_VCC и Mot_GND)
- подаю питание Ардуинке на шилде через предварительный dc-dc (вход с акков, выход 7-12V еще подумаю какое), на стандартный вход в углу
« Последнее редактирование: 30 Июл 2024 [17:04:14] от diant »
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн lobzon

  • *****
  • Сообщений: 978
  • Благодарностей: 112
  • Мне нравится этот форум!
    • Сообщения от lobzon
Ого, сколько у тебя всего питается от 3-х акков 18650! У меня одни грелки на рефракторе 120/600 намного больше за ночь съедают. У тебя или грелки сильно малоточные или на всю ночь не должно хватать.
Охлаждение с час, потом на треть от максимума обогрев искателей, на половину от максимума обогрев окуляров. А так ночи бывают разные! Летом короткие, ночью длинные. И влажность разная. Часа на 3-4 хватает. Если ночь длинная, 6-8 часов, блок, конечно, меняю. Грелки R-sky.
Доб Аполлон 9,6"(1:6), Svbony Sv503 102/714, Synta BK909AZ3, Б7х30
МБС-1, МБИ-3

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
Если ночь длинная, 6-8 часов, блок, конечно, меняю.
Понял.
А я только что сжег одну ардуинку-нано, как раз при переезде схемы с макетки на шилд. Чисто по глупости: полез щупами настраивать напряжение на драйвере и случайно замкнул +5В и землю. Не то чтобы дымок пошел, но нюх у меня обострен и по намеку на аромат я сразу понял, что этой нанке хана. Хорошо 1117 на самом шилде не спалилась. После замены ардуинки и ее прошивки все заработало как на макетке. Я доволен. Жертва кажется типа рублей 200... Сейчас закажу еще в запас)) Да на щупе теперь каверночка осталась на память.

Теперь из приятного. После переезда мозгов на шилд и его запитки 12В в его родной разъем (на макетке висел еще преобразователь) ток потребления на часовом ведении у меня еще упал и оказался всего 0,11А. При таком токе часового ведения от 4 акков с емкостью 3400 хватит на 2-3 ночи. При наведении на скоростях 4х и 16х от звездной ток не меняется. Движок едва теплый. Драйвер еще более едва. Пока полет нормальный.
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
Длинный пост, но пока не смонтировал все по местам уже на самой монтировке, есть возможность все сфоткать и описать. Воспользуюсь ею, потом ведь уже не вернусь к этому этапу.

Моторизация CG4 (она же EQ3-2)
Итак, я на стадии завершения проекта самодельной, дешевой, легкой и в то же время вполне рабочей для определенного круга задач моторизации своей монтировки.
Круг задач примерно такой:
1). Визуальный показ Солнца (днем) и звезд (ночью) детям.
2). Визуал с московского балкона (это для души).
3). Баловство с балконным лаки-астрофото в условиях Москвы.
Задачи 1 и 2 не требовали даже моторизации оси Dec, но ради полноты картины сделал и ее. Фокусер мотризировать не стал, это за рамками круга моих задач (но схема к этому практически готова). О выездах из Москвы пока не пишу, ибо как-то поначалу не думал про это, но, возможно, монти поедет и в поля. Даже скорее всего поедет))

Стоимость такой моторизации легко вписывается в 5тр, может быть и меньше. Ну, для прикидки: два шаговика 17HS4023 Usongshine по 550р. с али, два драйвера LV8729 также с али по 400р., Ардуино нано CH340 с али 250р, "астрошилд" CNC Shield v4 с али 150р, 2 шкива, 2 ремня и переходная втулка с али - около 600 р., еще мелочи (провода, копеечный джойстик, красный светодиодик, винтики и т.д.) - ну еще рублей 300.

Конечно, много, если не все можно было купить в готовом виде))) (Онстеп вездесущ). Да что греха таить - стальные крепежные уголки для моторов лежат у меня в шкафу и уже давно. Но я их не трогал. Почему же все делалось своими руками? Главные причины две:
- мне сейчас охота (точнее даже необходимо) поработать своими руками и головой, иначе памперсы одолеют.
- показать на живом примере, что с даже фанерой, лобзиком и головой можно моторизировать свою монти за копейки

Программирование - отдельная песня. Нечто из моей прошлой жизни (в 20 веке даже на ассемблере писал), но все же я взялся и за это и, вот удивительно, "оно работает"))). О нем чуть ниже. Да, большое спасибо Iovch, Oleg1601 и другим, кто описывал свои проекты и выкладывал свой софт для Ардуино. Мне это очень помогло.

Итак, пройдемся по детялям и фото.
На 3-м фото видно, что моторы установлены на самодельных фанерных креплениях, жесткость которых потягается с алюминиевыми. Достигнуто всякими ребрами жесткости и правильной конструкцией. На них можно поставить моторы и помощнее (пространство оставил, например для 17HS4401), но в этом нет никакой необходимости. Мои "крошки" весом по 132г более чем с запасом справляются. Правда на полной нагрузке еще не тягал, но без трубы часовое ведение уже обкатывалось. В любом случае работаю пока на пониженных токах, их всегда можно поднять.

Общий ток потребления схемы сейчас составляет 200мА (на все сразу, включая оба движка, и это почти не зависит от режима).
Uref на драйвере RA выставлено в 0.43В, на драйвере Dec - 0.5В (тут передаточное число поменьше, моща нужна чуть больше).
Шкивы:
- RA 1:5 (12:60)
- Dec 1:3 (12:36)
Ремни:
- RA 160-170мм
- Dec 150 мм
Передаточные числа:
- RA 1:650 (130 зубьев на оси RA и 5-кратное повышение на шкивах)
- Dec 1:195 (65 зубьев на оси Dec и 3-кратное повышение на шкивах)

Теперь смотрим на фото 1.
Движок Dec у меня прямо в своем коробе, по RA - вытащил его для удобства обкатки софта. Провода пока оставляю родные и они длинные не нужны. Одна из моих задумок - монти не будет опутана проводами, как это бывает почти на всех моторизациях. Мозги будут закреплены в начале штока противовесов, поэтому провод RA пойдет прямо из одного короба в другой (дистанция там несколько см и она фиксирована, никогда не меняясь); провод по Dec из короба движка Dec - тут же к началу штанги (всего 20-30 см). На этом почти всё. Единственный провод, который будет длинным и пойдет от штанги ко мне в руку - будет провод к джойстику в руке (плюс крошечный красный LED индикатор, функцию которого опишу ниже). Джойстик требует 5 проводов и еще 1 провод на LED - итого 6. Для этого 6-канального провода сама собой напрашивается обычная телефонная розетка 6P6C и телефонный провод.

Про подготовку шилда я уже писал. Она требуется для исправления ошибки его проектирования и не сложна. Я все коррекции проделал сверху - их видно на фото 2 как тонкие проводки, идущие от пинов MS под драйверами к контактам: X+, Y+, Z+ (управляются во время переключения режимов на лету) и к фиксированным контактам шилда GND и 5V.

Питание сейчас пока осуществляется единым образом от +12В входного (джампер Mot_VOT_Sel на шилде накинут). Но на монтировке я джампер сниму и питание на движки подам напрямую от 4 аккумуляторов формата 18650 - что составит около 16В. И только плату буду запитывать через маленький dc-dc конвертер.

Теперь о джойстике и общей идеологии работы схемы.
Джойстики эти - слов нет, пришлось купить 4 штуки, чтобы выбрать из них наилучший. Зато 50р цена))) В жизни так всегда. Но выбранный мною джойстик меня устроил (он кстати был вторым по счету, 3 и 4-й даже не вскрывались). Главное в них - совсем не симметричное положение центральных точек по X и Y. Это как раз не важно. Главное - симметричная работа при отклонении до краев по обоим осям. Поскольку они "шуточные", не стоит ожидать от них реальной джойстиковой работы. По сути у вас будет по каждой оси, считайте, только 5 положений:
- левый край (0),
- левое отклонение (1-500),
- средняя точка (гуляет от 490 до 540),
- правое отклонение (550-1022),
- и правый край (1023)
Ни на что другое расчитывать в серьез тут не стоит.
Плюс имеется нажатие на кнопку джойстика. Оно работает вполне хорошо.

Учитывая эти исходные, я разбил всю работу схемы на 2 режима, которые переключаются нажатием кнопки джойстика:
- 1-й условно назвал "Часовое ведение" (именно для его индикации и используется красный LED, который будет у меня на пульте рядом с джойстиком)
- 2-й назвал "Быстрое наведение"
Режим (1) опрашивает соответственно 25 положений джойстика (матрица 5х5). Центральный элемент этой матрицы, который (3,3), то есть средняя точка, - это простое часовое ведение. Остальные, как легко догадаться, - наведение со скоростями 4х и 16х от скорости часового ведения. Поскольку часовое ведение реализовано на 128-м микрошаге драйвера (полная тишина))), эти режимы включаются простым переходом на лету на 32-й и 8-й микрошаг. Все это уже написано и обкатано на столе.
Когда нажимаем кнопочку, переключаемся в режим (2) и лампочка соответственно гаснет. В этом режиме матрица опроса джойстика будет размером всего 3х3. Центральная точка (2,2) - будет просто стояние на месте. Как только джойстик отклоняется в какую-то сторону, движки будут начинать вращение с нарастающей скоростью. Но если джойстик отпустить, скорость тут же начнет падать и труба постепенно остановится. После этого можно либо снова отклонять джойстик, либо нажать кнопку и вернуться в режим (1).

Вот собственно и вся идеология. Режим (2) еще не написан и это последнее, что нужно обкатать. После чего будет ваяние короба для мозгов на штангу противовесов и окончательная сборка.
Если чего-то забыл или что-то интересно, спрашивайте, постараюсь ответить.

Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн Alecs99.99

  • *****
  • Сообщений: 700
  • Благодарностей: 31
    • Сообщения от Alecs99.99
Можно Amount  попробовать на этом же железе , гото добавится , только блютуз добавить .
C6N ,БПЦ20х60

Оффлайн Mosobl

  • Новичок
  • *
  • Сообщений: 3
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Mosobl
что-то интересно
А можно по подробнее о креплении второй коробочки  RA с шаговиком к монтировке. Фото №3. Спасибо.

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
А можно по подробнее о креплении второй коробочки  RA с шаговиком к монтировке. Фото №3. Спасибо.
Сделал для вас три фотки.

1е фото. На этой монитровке есть только одно отверстие для крепления мотора по оси RA. Но есть еще полочка (1), на которую короб должен жестко лечь ребром и только потом прижиматься винтом. По этой же полочке он должен скользить туда-сюда для натяжения ремня на шкивах. Поэтому отверстие под винт на коробе не круглое, а длинный паз, что видно на фото 2 и 3.

Кроме того, на моей монти (наверное так на всех) плоскость (2) на самом деле не плоскость, а цилиндрическая выпуклость с большим радиусом. Какому конструктору пришло в голову такое решение, бог весть, но без нормальной плоскости короб жестко не ляжет на голову монти. Отсюда необходимость наклеить дополнительную полоску из дубового шпона на ответную плоскость короба. Эта полоска хорошо видна на фото "CG4 RA box_1". Благодаря ей короб прижимается не всей плоскостью, а скорее двумя отрезками - полоской шпона и полоской на противоположной стороне короба. С учетом полочки, куда ложится ребро короба, все получается очень жестко.


ЗЫ. Написал вчера вечером по быстрому часть софта для скоростного наведения монти с плавным разгоном и торможением. Сначала сделал по одной оси RA. Все получилось. Движок поет, как соловей, при разгоне и торможении, даже вспомнил своего хека (он тоже поет). Все хорошо, но когда стал добавлять ту же часть кода для оси Dec, понял, что ничего не получится при выбранном мною алгоритме. Коды по RA и по Dec взаимно мешают друг другу. Тут нужен реально многозадачный проц, как минимум проц с двумя независимыми потоками. Но быстро сообразил (уже почти ложась в кровать), как нужно писать для однопотокового проца, чтобы оси RA и Dec разгонялись и вращались, не мешая друг другу. Сегодня, если время выпадет, попробую.
« Последнее редактирование: 01 Авг 2024 [12:06:01] от diant »
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн Mosobl

  • Новичок
  • *
  • Сообщений: 3
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Mosobl
Сделал для вас три фотки.
Спасибо огромное. Как допишите код. хотелось бы его посмотреть-протестировать. Спасибо.

Оффлайн FlexLM

  • ****
  • Сообщений: 251
  • Благодарностей: 42
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
На ардуино управление двумя ШД лучше делать на таймерах. В одном "потоке" и при кратности шага 128 при вращении сразу двух ШД скорости могут проседает. Wemos D1 R32 в этом плане значительно шустрее, ещё и блютус можно использовать и шилд готовый есть, и в итоге дешевле выходит.
Кстати, в будущем обязательно допишите код для электро фокусера. Очень удобная вещь, никакой тряски, как от рук.
« Последнее редактирование: 02 Авг 2024 [14:25:18] от FlexLM »
SW Dob8 + AMount

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
На ардуино управление двумя ШД лучше делать на таймерах. В одном "потоке" и при кратности шага 128 при вращении сразу двух ШД скорости могут проседает.
Да, так и вышло. Правда я могу не совсем понимать вас.
У меня пока так - через delayMicroseconds() все отлично работает для одной оси, но взаимное влияние убивает одновременную работу по двум осям. Можно конечно ограничиться возможностью попеременного быстрого наведения по осям, но я решил сделать по двум сразу без корреляции. "На таймерах" я понимаю так - на функции micros() с фиксированным шагом (скажем 125 мкс).
У меня на быстром наведении микрошаги не 128, а 8 на RA и 32 на Dec.

Как допишите код. хотелось бы его посмотреть-протестировать. Спасибо.
Выложу в окончательной форме, когда уже оттестирую ночью на балконе.

Wemos D1 R32 в этом плане значительно шустрее, ещё и блютус можно использовать и шилд готовый есть, и в итоге дешевле выходит.
Про все эти Wemos, ESP32 и тд узнаю впервые только сейчас, в последние несколько дней. Пока это для меня полностью глухой лес. На чем писать, чем заливать, что есть и готовых обвязок, шилдов и т.д. - все это нужно изучать.
Повторю, я ни разу не программист и взялся за это, зайдя в эту область совсем из другого леса.
« Последнее редактирование: 02 Авг 2024 [14:36:48] от diant »
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн FlexLM

  • ****
  • Сообщений: 251
  • Благодарностей: 42
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Функции задержки при управлении ШД тормозят выполнение кода. Я имел в виду сделать на прерываниях по таймеру.
Esp32 также можно программировать в Arduino IDE. Для начала можно пользоваться теми же функциями, как и для ардуино. Распиновка лишь другая будет.
Для быстрого знакомства с этой платой можете посмотреть мануал в моей теме.
« Последнее редактирование: 02 Авг 2024 [14:49:28] от FlexLM »
SW Dob8 + AMount

Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
Функции задержки при управлении ШД тормозят выполнение кода. Я имел в виду сделать на прерываниях по таймеру.
Esp32 также можно программировать в Arduino IDE. Для начала можно пользоваться теми же функциями, как и для ардуино. Распиновка лишь другая будет.
Для быстрого знакомства с этой платой можете посмотреть мануал в моей теме.
По таймерам - изучу, спасибо!
Esp32 тоже почитаю и м.б. при необходимости освою. Пока же допишу на ардуино и закончу проект с ней. Другие дела стоят в очереди.
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)

Оффлайн Boris Green

  • *****
  • Сообщений: 1 473
  • Благодарностей: 76
    • Сообщения от Boris Green
У меня пока так - через delayMicroseconds() все отлично работает для одной оси
/*
  ATmega168, ATmega328:
  Using Timer 1 disables PWM (analogWrite) on pins 9 and 10

  ATmega2560:
  Using Timer 1 disables PWM (analogWrite) on pins 11 and 12
  Using Timer 3 disables PWM (analogWrite) on pins 2, 3 and 5
  Using Timer 4 disables PWM (analogWrite) on pins 6, 7 and 8
  Using Timer 5 disables PWM (analogWrite) on pins 44, 45 and 46
*/

void TIMER_STAR_config() {
  /////  starSpeed_us_for_microtick  18698.8043687066 us = 53.479355165272 Hz
  //OCR1A =  [ 16,000,000Hz/ (prescaler * desired interrupt frequency) ] - 1
  //OCR1A = 16000000/(256*53.479355165272)    -1 = 1167.675273044163
  //f = 16000000(256*(1168+1)) = 53.464499572284 Hz by Timer1

  cli(); //запретить все прерывания

  //------ Timer1 ----------
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0

  OCR1A = 1168;    //Верхняя граница счета. Диапазон от 0 до 65535.

  TCCR1B |= (1 << WGM12);  // Режим CTC (сброс по совпадению)

  TCCR1B |= (1 << CS12);         // CLK/256
  // Если нужен предделитель :
  // TCCR1B |= (1 << CS10);         // Тактирование от CLK/1
  // TCCR1B |= (1<<CS11);           // CLK/8
  // TCCR1B |= (1<<CS10)|(1<<CS11); // CLK/64
  // TCCR1B |= (1<<CS12);           // CLK/256
  // TCCR1B |= (1<<CS10)|(1<<CS12); // CLK/1024

  TIMSK1 |= (1 << OCIE1A); // Разрешить прерывание по совпадению

  sei (); // Разрешить прерывания
}

void TIMER_GOTO_config() {
  /////  gotoSpeed_us_for_microtick    Hz
  //OCR1A =  [ 16,000,000Hz/ (prescaler * desired interrupt frequency) ] - 1
  //OCR1A = 16000000/(1*14000)  -1 = 1141.857142857143
  //f = 16000000(1*(1142+1)) = 13998.25021872266 Hz by Timer1

  cli(); //запретить все прерывания

  //------ Timer1 ----------
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0

  OCR1A = 1142;           // Верхняя граница счета. Диапазон от 0 до 65535

  TCCR1B |= (1 << WGM12); // Режим CTC (сброс по совпадению)

  // Если нужен предделитель :
  // TCCR1B |= (1 << CS10);         // Тактирование от CLK/1
  // TCCR1B |= (1<<CS11);           // CLK/8
  // TCCR1B |= (1<<CS10)|(1<<CS11); // CLK/64
  // TCCR1B |= (1<<CS12);           // CLK/256
  // TCCR1B |= (1<<CS10)|(1<<CS12); // CLK/1024
  TCCR1B |= (1 << CS10);         // Тактирование от CLK/1

  TIMSK1 |= (1 << OCIE1A); // Разрешить прерывание по совпадению

  sei (); // Разрешить прерывания
}

// Обработчик прерывания таймера 1
ISR (TIMER1_COMPA_vect) {
  if (!SYS_IS_RC_PROCESS) {
    if (SYS_STATE == SYS_STATE_GOTO_INIT) {
      MOTOR_RA_TICK(); //star speed
    }
    else if (SYS_STATE == SYS_STATE_GOTO_READY) {
      MOTOR_RA_TICK(); //star speed
    }
    else if (SYS_STATE == SYS_STATE_GOTO_PROCESS) {
      GOTO_tick();
    }
  }
}


Оффлайн diant

  • *****
  • Сообщений: 4 285
  • Благодарностей: 530
  • Две вещи поражают мое воображение...
    • Сообщения от diant
Коллеги, огромное спасибо за мое просвещение ардуинкиными прерываниями, и в самом деле мощнейшая вещь на такой игрушке. А я вчера, помучившись, даже уже реализовал код быстрого перемещения телескопа по обоим осям одновременно, сумев сделать плавный разгон по RA, но еще не переведя на плавный разгон Dec. И ведь так бы и дописал сегодня этот кусок кода, если бы вы не ткнули меня в умную статью, которую только что прочитал. Теперь буду пользовать :)

Esp32 также можно программировать в Arduino IDE.
Я сейчас работаю в Arduino 1.8.9 - она умеет нативно управлять ESP32? Или там поколдовать надо? Или вообще не умеет и надо обновить софт?
А если умеет, у меня что, сразу будет доступен WiFi и Зуб?
Celestron C8 SC XLT, SW150/750PDS, SW120/600, SV503 ED100, DS80/600 (солнцескоп с клином Гершеля + Baader SC)
Азимутал TS AZGP, экваториалы HEQ5 Pro belt и CG4
Nikon Action 7x35, Minolta Standard 10x50 (on sale)