Самодельный локомотивный декодер.

Вопросы и ответы связанные с цифровым управлением, аналоговой автоматикой и их элементами
Сообщение
Автор
Аватара пользователя
tnt23
Сообщения: 52
Зарегистрирован: Вс апр 05, 2020 7:24 am
Имя: Tim
Откуда: СПб
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Самодельный локомотивный декодер.

#391 Непрочитанное сообщение tnt23 »

Poezdnik писал(а):
Пт апр 10, 2020 4:22 pm
А есть ещё - на основе формулы : Uдв = E + Iя * Rя.
Тогда, скорость якоря n = (U - Iя * Rя)/k . где k - конструкционный коэффициент (подбираем его).
Нашел формулу в статье http://easyelectronics.ru/dvigatel-post ... vanie.html авторства известного товарища DI HALT :)

Аватара пользователя
Engineer_Keen
Сообщения: 313
Зарегистрирован: Ср фев 24, 2010 11:15 am
Имя: Василий
Откуда: Москва
Поблагодарили: 5 раз

Re: Самодельный локомотивный декодер.

#392 Непрочитанное сообщение Engineer_Keen »

У меня главная задача стабильные обороты на минимальной скорости, поэтому на больших оборотах перегрузка АЦП не сильно волнует. В CV даже есть параметр, который отключает контроль по BEMF после определенного шага.

Замер и коррекция, естественно не одновременно, отключаем, замеряем, считаем, корректируем, включаем. И ожидание в 1мс не страшно, все можно подобрать под определенный двигатель и драйвер. Чтобы пауза на ожидание и замер не влияла на заполнение ШИМ, можно как я писал выше, после определенного шага отключать замер и просто гнать ШИМ определенной величины. Проще всего сделать 2 таблицы, одна с опорным значением для регулировки, а вторая со значениями ШИМ (как Speed Table в CV) и на некотором шаге переключаться с одной таблицы на другую.

Что касается перехода на дополнительные датчики или бесколлекторники, это конечно здорово, ну нужно капитально переделывать локомотив. Были мысли сделать декодер для шагового двигателя, а там уже по испытаниям понятно будет, стоит ли...

Аватара пользователя
tnt23
Сообщения: 52
Зарегистрирован: Вс апр 05, 2020 7:24 am
Имя: Tim
Откуда: СПб
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Самодельный локомотивный декодер.

#393 Непрочитанное сообщение tnt23 »

Engineer_Keen писал(а):
Сб апр 11, 2020 3:27 pm
У меня главная задача стабильные обороты на минимальной скорости, поэтому на больших оборотах перегрузка АЦП не сильно волнует. В CV даже есть параметр, который отключает контроль по BEMF после определенного шага.
Я пытаюсь добиться того же. Беру минимальную скважность ШИМ, на которой лок еще ползет (она прописана в CV2) и смотрю, что АЦП ловит с мотора.

Это картинка для наглядности снята на 10 шаге скорости:
NewFile5.bmp
NewFile5.bmp (146.3 КБ) 2087 просмотров
На 2 шаге АЦП считывает буквально единицы напряжения:
Screenshot from 2020-04-11 17-50-20.png
Время от времени в выборку попадает выброс от коммутации обмоток. Его я более-менее отфильтровываю, а дальше беру среднее значение по отфильтрованной выборке за рабочее. Оно оказывается очень близко к нулю, там почти не остается пространства для работы PI-регулятора.

Вот и думал пересчитать входной делитель, чтобы "растянуть" рабочую область АЦП вблизи нуля, ценой перегрузки на средних и высоких скоростях.
(В принципе можно использовать дополнительный канал АЦП с другим делителем, и брать данные с него после определенного шага)
Замер и коррекция, естественно не одновременно, отключаем, замеряем, считаем, корректируем, включаем. И ожидание в 1мс не страшно, все можно подобрать под определенный двигатель и драйвер. Чтобы пауза на ожидание и замер не влияла на заполнение ШИМ, можно как я писал выше, после определенного шага отключать замер и просто гнать ШИМ определенной величины. Проще всего сделать 2 таблицы, одна с опорным значением для регулировки, а вторая со значениями ШИМ (как Speed Table в CV) и на некотором шаге переключаться с одной таблицы на другую.
Отключать замер значит остаться без регулировки? На нормальных оборотах эта миллисекундная пауза на замер уже почти не влияет, мне кажется.

Аватара пользователя
tnt23
Сообщения: 52
Зарегистрирован: Вс апр 05, 2020 7:24 am
Имя: Tim
Откуда: СПб
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Самодельный локомотивный декодер.

#394 Непрочитанное сообщение tnt23 »

В последней версии декодера Decoder 12/13 от MERG (2003 год) сделана стабилизация скорости по BEMF:
The feedback uses a PDFF algorithm. The integral gain (Ki), the proportional gain (Kp) and the filter factor (Kf) are all adjustable with CVs so the feedback can be tuned to the motor.
Поиск информации по PDFF алгоритму дает в числе прочего интересную статью "PID and PDFF Compensators for Motion Control" (в приложении). В статье всего на двенадцати страницах и почти без страшных формул сравнивают PID, PDF, PDFF, их настройки и эффективности.

Мой PI контроллер уже кое-как пытается держать скорость. На совсем малых оборотах глохнет напрочь, на чуть бОльших пыхтит, но тащит. Забавно работает, если его остановить пальцами - жужжит по нарастающей и наконец трогается. Нормальные и большие обороты почти не держит - как я понимаю, запаздывает с отслеживанием и компенсацией ошибки. Нужно еще подточить цифровой фильтр BEMF и подобрать Ki и Kp.
Вложения
PID and PDFF Compensators for Motion Control.pdf
(795.51 КБ) 656 скачиваний

Аватара пользователя
Engineer_Keen
Сообщения: 313
Зарегистрирован: Ср фев 24, 2010 11:15 am
Имя: Василий
Откуда: Москва
Поблагодарили: 5 раз

Re: Самодельный локомотивный декодер.

#395 Непрочитанное сообщение Engineer_Keen »

На минимальных оборотах действительно на АЦП попадают значения порядка единиц отсчетов, но мне этого вполне хватает, главное чтобы они были гарантированно больше шумов самого АЦП. Если этого мало для работы регулятора, возможно нужно как-то поднимать разрядность при рассчетах. Кстати, серьезные импульсы коммутации обмоток я не видел, может дело в RC-фильтре, а может с двигателем повезло, хотя я эксперименторовал и со старым PIKO и с новым ROCO и с моторчиком от привода каретки CD, который идеально встал в старый пиковский двухосный паровоз.

Аватара пользователя
tnt23
Сообщения: 52
Зарегистрирован: Вс апр 05, 2020 7:24 am
Имя: Tim
Откуда: СПб
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Самодельный локомотивный декодер.

#396 Непрочитанное сообщение tnt23 »

Engineer_Keen писал(а):
Вт апр 14, 2020 1:31 pm
Кстати, серьезные импульсы коммутации обмоток я не видел, может дело в RC-фильтре, а может с двигателем повезло, хотя я эксперименторовал и со старым PIKO и с новым ROCO и с моторчиком от привода каретки CD, который идеально встал в старый пиковский двухосный паровоз.
У меня с RC-фильтром не заладилось, любая емкость от сотен пикофарад до сотен нанофарад только забивала выход АЦП массивной такой постоянной составляющей. Впрочем, надо еще раз посмотреть.

Про переделку пиковского паровоза под мотор от CD интересно, расскажите подробней?

Аватара пользователя
Engineer_Keen
Сообщения: 313
Зарегистрирован: Ср фев 24, 2010 11:15 am
Имя: Василий
Откуда: Москва
Поблагодарили: 5 раз

Re: Самодельный локомотивный декодер.

#397 Непрочитанное сообщение Engineer_Keen »

Изначально у меня был только конденсатор, резистор я добавил потом, без него тоже постоянная составляющая мешала.

Переделка элементарная, нужен моторчик от привода лотка CD, у которого с торцов корпуса чуть чуть выступает выштамповка под подшипник (предположительно), он почти идеально встает вместо старого двигателя, нужно только слегка подогнуть металлические кронштейны на раме паровоза друг к другу. Фото сделать не могу, убежали от эпидемии на дачу, паровоз остался в городе :mrgreen:

Аватара пользователя
tnt23
Сообщения: 52
Зарегистрирован: Вс апр 05, 2020 7:24 am
Имя: Tim
Откуда: СПб
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Самодельный локомотивный декодер.

#398 Непрочитанное сообщение tnt23 »

[Оффтопик]
Мой отладочный стенд:
labcar.png
Mechano BR80, сплошной пластик. Мотор на веревочках - пришлось удалить пластиковую скобу, чтобы влез старый декодер.
Есть еще несильное желание мотор разобрать и посмотреть, все ли у него внутри в порядке, потому что по осциллограммам сигнал с одной обмотки заметно сильнее, чем с другой.

Валериевич
Сообщения: 111
Зарегистрирован: Вт фев 21, 2012 10:31 pm
Благодарил (а): 38 раз
Поблагодарили: 10 раз

Re: Самодельный локомотивный декодер.

#399 Непрочитанное сообщение Валериевич »

Очень интересно взглянуть на осциллограмму, можно?
Если не сложно какие параметры установлены на осциллографе?
И как вы видите разные обмотки?
Заранее спасибо.

Аватара пользователя
tnt23
Сообщения: 52
Зарегистрирован: Вс апр 05, 2020 7:24 am
Имя: Tim
Откуда: СПб
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Самодельный локомотивный декодер.

#400 Непрочитанное сообщение tnt23 »

Валериевич писал(а):
Пт апр 17, 2020 5:46 pm
Очень интересно взглянуть на осциллограмму, можно?
Если не сложно какие параметры установлены на осциллографе?
И как вы видите разные обмотки?
Заранее спасибо.
Вот осциллограмма, снятая на почти предельной скорости. Одно деление по горизонтали равно 500мкс, по вертикали 1в.
emf 4.bmp
emf 4.bmp (146.3 КБ) 1827 просмотров
Тут в окно замера АЦП попадает почти полтора оборота якоря. Виден один выброс коммутации (?). Если присмотреться, то нижняя полуволна не такая красивая. И еще по отфильтрованному сигналу в коде заметно, что результаты группируются в две группы, одна погромче, другая потише. Хотя это может сказываться выброс.

Ответить

Вернуться в «Цифровое управление, Аналоговая автоматика и их элементы»