Простой "сервотестер" с возможностью упр-я через Mach3\EMC2

Обсуждение электронных компонентов, схем станков

Модераторы: Dj_smart, life, koolhatcker

Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Простой "сервотестер" с возможностью упр-я через Mach3\EMC2

Сообщение kernel »

Данный девайс был задуман с целью сделать возможным управление китайскими и др. регуляторами авиамодельных движков, которые в последнее время все чаще применяются в качестве шпинделей, с помощью стандартного CNC-софта (например, Mach3, EMC2 и др.) либо вручную.

Изображение

Ниже постараюсь описать все что нужно, в некоторых местах буду говорить достаточно банальные вещи (на всякий случай). Рекомендую дочитать до конца, чтобы потом было меньше вопросов.

Все необходимые файлы (прошивка, схема и печатка) скачиваем тут:
Скачать файл mmcbc1101.zip (70.22 kB)

Собран на ATMEGA8A(-AU), т.к. стоимость его почти такая же как и тиньки, при этом есть на каждом углу. Стабильная работа "старых" МК типа ATMEGA8-16AU и т.п. находится под большим сомнением - к применению не рекомендуются. Переменный резистор лучше ставить с линейной характеристикой (A).

Итак, что и куда цеплять. Сам "сервотестер" питаем 5В (разъем P1 по схеме) от самого регулятора, если последний с наличием BEC. Иначе (если BEC`а нет) лучше сделать отдельный преобразователь в 5В (например, импульсный). Разъем ESC (если смотреть по схеме), а именно - его вывод REC IN, и есть тот самый выход, который цепляется ко входу управления регулятором. LPT PWM и LPT GND идут, собственно, с LPT порта, где LPT PWM - свободный пин LPT порта, которым будет управлять через Mach3 или т.п., а GND - "земляной" вывод компа (контакты с 18 по 25 LPT). Только не соедините случайно землю LPT с землей самого устройства, они должны быть опторазвязаны. Без оптрона работать не будет (на случай, если кто убрать захочет). Кстати, LPT должен выдавать на выходе пинов около 5В, т.е., возможно, для работы с LPT ноутбука (которые часто выдавали ~3.3В) нужно немного изменить опторазвязку. И еще - провод от данного "сервотестера" до самого разъема LPT нужно использовать экранированный.
Печатку поправляйте под себя. У меня в регуляторе нет BEC (внешнего 5-вольтового питания), а на входе его цифровой части стоял хлипенький аналог 78L05, к которому никакого доверия не было. Поэтому на данной печатке остались "следы" импульсного стабилизатора с его обвесом (пара кондеров, катушка и диод). В общем, смотрите по схеме и поправляйте как нужно. Детали, маркировка которых (в спринте) красного цвета - это одна сторона, а желтого цвета - сторона SMD компонентов (в т.ч. самой Меги). Обратите внимание и на то, что со стороны выводных компонентов на исходной печатке есть один проводок (синим цветом).

"Способ приготовления": травим печатку, запаиваем все детали (в том числе сам МК). Далее нам нужно прошить МК. На приложенной в архиве печатке выведены "пятачки" для программатора. Первое, что нужно сделать - выставить фьюзы на тактирование от внешнего кварца (16 МГц). Если кто не знает, как это сделать - спрашивайте, поможем. Далее уже заливаем сам файл прошивки.

Далее настраиваем само ПО. Там нам нужно указать какой вывод LPT управляет шпинделем и выбрать способ управления - PWM. Базовая частота управления - 250 Герц. Т.е. частота постоянная, а меняется только скважность. В Маче не забываем поставить свой диапазон частоты вращ-я в разделе Config\Spindle Pulleys. Признаюсь, проверял только в Mach3, но уверен, что и в EMC2 и т.п. должно работать.

Теперь о работе самого устройства.
  • Включение\отключение шпинделя делаем с помощью обычной кнопки, которую можно поставить перед БП или после него, т.е. в разрыв питания там где удобнее.
  • Кнопка SW1 - это переключатель режима работы "сервотестера" между ручным управлением и управлением с помощью LPT.
  • Перемычка JP1 - включение\отключение плавного управления частотой вращения. Если перемычка установлена - плавное управление включено, если перемычки нет - отключено. При установке\снятии этой перемычки требуется перезапуск устройства (т.е. во включенном состоянии нет смысла убирать\ставить ее). Для чего это нужно - авиамодельные движки требуют плавного разгона и если мы, например, резко крутанем переменный резистор, то регулятор остановит движок. Либо если мы ставим большую частоту вращения (не важно - вручную или через софт), выключили регулятор, затем снова его включили (а резистор\управляющий импульс LPT порта остался на больших оборотах) - то двигатель "сорвется" и остановится. Для того, чтобы избежать эти неприятности и было сделано это плавное управление, т.е. в рабочем режиме перемычка должна быть всегда установлена. Снятие этой перемычки может понадобиться, например, в случае, если нам нужно программировать регулятор (некоторые регуляторы программируются сервотестером). Время полного разгона или торможения двигателя при активном плавном управлении составляет около 6 секунд. Еще есть одна особенность - во избежание "дребезга" частоты вращения (в зависимости от управляющих импульсов LPT или выбросов напряжения при ручном управлении) обороты не изменяются "на чуть-чуть". Т.е. не получится изменить обороты сразу с, например, 20000 до 19500. Для этого нужно, например, сбросить обороты до 15000, затем поднять до 19500. Все это, повторюсь, сделано только ради того, чтобы обороты не "плавали" постоянно.
  • Светодиод показывает, что сейчас активен режим ручного управления. Обратите внимание, что при переключении режима светодиод может не сразу загореться\погаснуть. Это происходит только после того, как стабилизируются обороты при прежнем режиме (несколько секунд максимум) и только после этого уже происходит переход на обороты уже на переключенном режиме.
И последнее. Некоторые регуляторы (например, мой) разрешают повышать обороты только после того, как закончится инициализация (у меня, например, после этого из двигателя произносится один короткий "пик"). На это уходит несколько секунд (у меня около 2-3). Поэтому при старте устройства сначала идет небольшая задержка, потом импульсы на минимуме, затем опять небольшая задержка и после чего уже набираются установленные обороты (либо, при отключенном плавном управлении, сразу ставятся поставленные обороты без медленного разгона).

Ну и "на десерт" - демонстрация работы:
Короткий ролик на YouTube (звук делаем потише, т.к. движок у меня громкий)

Ну... как говорится, enjoy!
Последний раз редактировалось kernel 27 дек 2011, 13:38, всего редактировалось 1 раз.
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
звук может и громкий, думаю вы еще не фрезеровали.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Baha, на видео, кстати, он кажется заметно тише, чем на самом деле :scared: Реально он получился громче промышленного шпинделя (на асинхроннике) небольшого станка. Ну а звук фрезы (небольшого Ф) он точно заглушит (цветмет фрезеровать дома не собирался, если только очень редко). У меня дома ему делать в любом случае нечего. Даже под "собственной крышей" (в коробе) шум такого станка будет невыносимым и вибрации просто бешеные (несбалансирован так как нужно).
В любом случае, движок сильно греется на высоких оборотах за несколько минут, а на частоте вращ-я в пару раз меньше максимальной (около 20 тыс.) недостаточно момента - бумагой останавливается.
Baha, он, видимо, слишком уж оборотистый (KV слишком большое выбрал, думал сброшу обороты ремнем в пару раз...). Если на ~20 килооб\мин меня по "шумности" он еще более-менее устраивал, то на 40 это уже звук аэропорта в квартире.
Думаю, может быть чуть менее мощный инраннер поставить?

// Кстати, ветром от него всю стружку по квартире разнесет...
Аватара пользователя
Alex_Belogor
Станкостроитель
Станкостроитель
Сообщения: 94
Зарегистрирован: 20 янв 2010, 01:00
Контактная информация:

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Alex_Belogor »

Звук что надо! Мой точна также визжал :bravo: :trumbsup:
Будем собирать однозначно :company:
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
БП нужен с током по больше, тогда и на низких оборотах будет хорошо тягать.

нашел у себя мотор похожий по конструкций вашему, там лопасти как гребные, думаю то же будет хорошо шуметь.
aegis
Станкостроитель
Станкостроитель
Сообщения: 1696
Зарегистрирован: 05 сен 2010, 00:00
Имя: Михаил
Откуда: Конотоп=>Запорожье=> Харьков, Украина
Контактная информация:

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение aegis »

фигово что обратной связи нет...
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Baha, попробую потом ток замерить. Просто у меня было впечатление, что на оборотах в 2 раза меньше он даже не пытается больше "отхавать" тока при приложении нагрузки. Посмотрю еще раз, спасибо за подсказку :)
aegis, обратная связь - задача регулятора (должна поддерживаться т.н. ф-ия "гувернер"). В таком случае регулятор сам смотрит по одной из свободных фаз текущее положение (при попытке крутануть регулятором ротор используются не более 2-х каких-либо из фаз, в это время третья отдыхает). У меня регулятор такого не поддерживает, поэтому мне фигово :)
aegis
Станкостроитель
Станкостроитель
Сообщения: 1696
Зарегистрирован: 05 сен 2010, 00:00
Имя: Михаил
Откуда: Конотоп=>Запорожье=> Харьков, Украина
Контактная информация:

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение aegis »

kernel, то есть чисто теоретически можно присандалить ОС, только железо подороже выходит?
  Не в тему:   ух и темный я в этих вопросах
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

aegis, насколько мне известно, то даже при использовании любого двигателя, но на регуляторе подороже (с поддержк. гувернера) по сути появляется обратная связь, т.е. поддержание постоянных оборотов. Просто авиамоделистам это тоже необходимо, чтобы вертолет в воздухе "не плавал".
Я процитирую слова с одной из статей с rcdesign.ru:
Гувернер – функция поддержания постоянных оборотов ротора вне зависимости от нагрузки на ротор. Использование этой функции избавляет от кропотливой настройки кривых шаг-газ, так как поддержание постоянства оборотов контролируется электроникой регулятора. Эта функция, как правило, доступна в контроллерах бесколлекторных двигателей, предназначенных для моделей вертолетов, так как конструкция регулятора позволяет измерять обороты без применения каких-либо дополнительных датчиков и устройств.
Аватара пользователя
tolyan
Станкостроитель
Станкостроитель
Сообщения: 350
Зарегистрирован: 16 июл 2010, 00:00
Откуда: Украина, Симферополь

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение tolyan »

Но опять же, гувернер стабилизирует обороты на одном какомто уровне которым, по моему, управлять нельзя.
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
насчет тока, уже испытывал без приборов, если при токе 4 ампера (100 ватт), движок зажав рукой можно остановить, то при токе 13 ампер (350 ватт) чуть пальцы не сломал, не смог даже затормозить.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

tolyan писал(а):Но опять же, гувернер стабилизирует обороты на одном какомто уровне которым, по моему, управлять нельзя.
Эммм... а это точно? В инете часто попадаются слова типа "поддерживает установленные обороты".
Baha, прощание с двигателем состоится в ближайшее время. В общем, встал выбор - либо выгоняют меня из дома, либо двигатель :badboy:
Аватара пользователя
tolyan
Станкостроитель
Станкостроитель
Сообщения: 350
Зарегистрирован: 16 июл 2010, 00:00
Откуда: Украина, Симферополь

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение tolyan »

kernel писал(а):Эммм... а это точно? В инете часто попадаются слова типа "поддерживает установленные обороты".
В простых регуляторах точно, у меня есть вертолет с таким регулем, если включаешь эту функцию,
регулятор сразу стартует и раскручивается примрно до 70% газа, и потом старается поддержать его.
Вот статья на эту тему: http://www.os-propo.info/content/view/63/60/
Я тоже думал как заставить регулятор поддерживать обороты, думал и о гувернере, но думаю придется делать свой регулятор на базе уже существующей открытой разарабоки регулятора.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Есть такая весчь: http://rcproject.narod.ru/gover/vgover.htm
Но я, честно говоря, не очень понял в чем смысл этой разработки...
Аватара пользователя
tolyan
Станкостроитель
Станкостроитель
Сообщения: 350
Зарегистрирован: 16 июл 2010, 00:00
Откуда: Украина, Симферополь

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение tolyan »

kernel писал(а):Есть такая весчь: http://rcproject.narod.ru/gover/vgover.htm
Это для ДВС двигателей, для наших целей не подходит.
Аватара пользователя
targetorsk
Наблюдающий
Сообщения: 1
Зарегистрирован: 09 май 2011, 00:00

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение targetorsk »

а что с фьюзами, как выставлять?
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Если по-простому, то сначала считываем фьюзы, затем делаем так:
- Напротив CKOPT галочку УБИРАЕМ (если стояла)
- Напротив CKSEL0, CKSEL1, CKSEL2, CKSEL3 галочки СТАВИМ.
После этого прошиваем фьюзы.

Иногда встречается софт, в котором фьюзы зачем-то инвертированы и галочки нужно ставить наоборот (например, uniprof).
Аватара пользователя
boss
Наблюдающий
Сообщения: 2
Зарегистрирован: 19 янв 2010, 01:00

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение boss »

Классная штука,молодец.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

boss, спасибо! :)
Хочется чтобы еще хотя бы 1 человек собрал для уверенности работы конструкции, да вот что-то народ попрятался в других темах :)
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
Спасибо!
думаю правильно подключу ESC разъем на регуляторе? Завтра хочу попробовать, что бы сервотестер выкинуть. Ну там еще земля контроллера на землю регулятора.
Изображение
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Baha, извиняюсь, у меня, похоже, в половину четвертого ночи голова уже плоховато соображает %) - скриншот, честно говоря, не понял. В смысле Lo и Hi - что это и в каких единицах. Смысл в том, что нужно выставить частоту (не_изменяющуюся, т.е. постоянную или, как ее еще называют иногда, базовую) равную 250 Герц. А сами обороты регулируются за_счет изменения ширины импульсов (ну в общем-то скважинности) от 0 до 100% заполнения.
Это KCAM? Сейчас почитаю как в нем можно сделать.
---
По поводу подключения. Там есть на схеме (и печатке) выход ESC, который нужно подключать ко входу приемника регулятора (ну обычно это белый провод). Земля если уже была подключена по питанию (например, сервотестер питается от регулятора), то еще раз подключать ее ко входу регулятора не имеет особого смысла.
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
это Planet-CNC, ты на частоты не смотри, я думаю он это сделал для наглядности, а на самом деле там скважность и меняется. А без подачи плюса от сервотестера регулятор не работает.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Baha, сорри, похоже я сегодня перетрудился. Ничего не понимаю.
Сейчас еще раз перечитал вот эти слова
думаю правильно подключу ESC разъем на регуляторе?
&
Завтра хочу попробовать, что бы сервотестер выкинуть.
и начал подозревать, что хотите напрямую (без сервотестера) к регулятору подцепить выход с платы planet-cnc? или я опять что-то не так понял?
PS: еще раз извиняюсь, правда что-то тяжело соображаю.
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

вот текст из мануала,
Use RC controller:
Generates RC servo or ESC compatible signal on the spindle speed pin.
Lo/Hi:
Minimum / Maximum values of RC servo speed range.

да напрямую, вы правильно поняли. Там указана не частота, а просто без размерная переменная.
А плюс то все же нужен, для программного включения и выключения шпинделя.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

А... ну так это все совсем по-другому и устройство, обсуждаемое в этой теме и не понадобится, раз уж Planet-CNC сам поддерживает возможность формировать импульсы нужной длины для RC. Просто, например, в Маче и EMC2 такой возможности нет.
Но в каких единицах там нужно указывать Lo и Hi - я так и не понял. Возможно, это и есть длина импульса (только какой размерности?). Если это длина импульса, то она должна меняться на входе регулятора от 1 мсек до 2 мсек.
PS: на каком-то буржуфоруме сейчас вычитал, что эта возможность находится сейчас в стадии "бета" и что кто-то ее успешно протестировал с вертолетной сервой :hunter:
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
а почему из Мача нельзя подать в регулятор, частоту 50 герц с изменяемой скважностью? Я думаю вам то же можно выкинуть сервотестер. Еще надо из пина Spindle в маче надо подать плюс на регулятор, а то не будет работать.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Baha,
Сейчас подумал, может быть в Вашем софте указывается длина импульса в микросекундах? Тогда это будет от 1000 до 2000.
По поводу Мача - при 50 Герцах скважность должна меняться не от 0 до 100%, а так, чтобы при минимальной скорости на вход приемника приходил прямоугольник с длиной импульса 1 мс, а при максимальной скорости приходил с длиной 2 мс и это все при периоде 20 мс. Насколько мне известно, Мач и EMC2 это делать не позволяют. Кроме того, Мач меняет длину импульса резко (т.е. сразу без разгона) - многие регуляторы (в том числе и мой) при таком поведении просто останавливают двигатель.
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
Про Мач понял, спасибо.
А какие там в Planet-CNC значение, не важно, опытным путем разберусь.
Если плюс в ESC регулятора отключите от БП, и через пин Spindle в Маче туда подадите лог. 1, то можете программно управлять включением и выключением шпинделя.
Аватара пользователя
kernel
Станкостроитель
Станкостроитель
Сообщения: 765
Зарегистрирован: 05 фев 2011, 01:00
Имя: Max
Откуда: Красноярск

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение kernel »

Вы если плюс в ESC регулятора отключите от БП...
В смысле красный провод среди трехпроводного разъема? Он у меня, кстати, никуда не подключен, т.е. припаян к дорожке, которая никуда не идет. Или имеется ввиду какой-то другой плюс (но у меня кроме еще плюса питания самого регулятора больше никаких нет - его же не отключать)? А сейчас через данную схемку включение и отключение происходит примерно так:
G01 S0 M03 - вырубаем шпиндель
G01 S15000 M03 - врубаем шпиндель и ставим обороты ~15000 (хотя это калибровать в софте надо).
Аватара пользователя
Baha
Станкостроитель
Станкостроитель
Сообщения: 1401
Зарегистрирован: 05 фев 2010, 01:00
Откуда: Москва-Тараз

Re: Простой "сервотестер" с возможностью упр-я через Mach3\E

Сообщение Baha »

kernel,
получается у вас какой то обрезанный регулятор. У меня без красного на ESC не работает, туда надо подать +5 от сервотестера, тогда она запускается.

Насчет шумности,
http://www.youtube.com/watch?v=s_oO4-Ji ... re=related
http://www.youtube.com/watch?v=QyXK--XQ ... re=related
http://www.youtube.com/watch?v=DUzuEt8fmJ8
http://www.youtube.com/watch?v=eIgIbsv8 ... re=related
Ответить