Самодельный локомотивный декодер.
- Engineer_Keen
- Сообщения: 313
- Зарегистрирован: Ср фев 24, 2010 11:15 am
- Имя: Василий
- Откуда: Москва
- Поблагодарили: 5 раз
Re: Самодельный локомотивный декодер.
У меня в текущей разработке, выходы (4 штуки) как и звуковая схема - заскриптованы. При активации/деактивации каждой функции запускается свой скрипт который умеет управлять уровнем напряжения (ШИМ) любого выхода в зависимости или независимости от направления, делать задержки, циклы, вызывать другие скрипты, или просто проигрывать определенный звук. Единственное что нельзя сделать (пока?) это плавное изменение яркости.
Если перепутаны лампочки вперед-назад, достаточно поменять условие и перешить раздел скриптов (дело 10 сек.), при этом никаких волшебных констант как с CV, выходы имеют свои имена, а сам скрипт не сложнее бейсика или паскаля.
Если перепутаны лампочки вперед-назад, достаточно поменять условие и перешить раздел скриптов (дело 10 сек.), при этом никаких волшебных констант как с CV, выходы имеют свои имена, а сам скрипт не сложнее бейсика или паскаля.
- tnt23
- Сообщения: 52
- Зарегистрирован: Вс апр 05, 2020 7:24 am
- Имя: Tim
- Откуда: СПб
- Благодарил (а): 12 раз
- Поблагодарили: 14 раз
Re: Самодельный локомотивный декодер.
Круто, читал про скрипты у коммерческих декодеров. Сам пока в эту сторону не думал, как-то пока тянет обойтись по старинке CV.
- tnt23
- Сообщения: 52
- Зарегистрирован: Вс апр 05, 2020 7:24 am
- Имя: Tim
- Откуда: СПб
- Благодарил (а): 12 раз
- Поблагодарили: 14 раз
Re: Самодельный локомотивный декодер.
В конфигурации каждого выхода есть два бита, чтобы управлять работой выхода при движении вперед и назад:
Вопрос залу: что из житейского опыта может быть полезнее?
- 01 выход активен при движении вперед
- 10 выход активен при движении назад
- 11 выход активен всегда
Вопрос залу: что из житейского опыта может быть полезнее?
-
- Сообщения: 121
- Зарегистрирован: Пн мар 28, 2016 12:03 pm
- Благодарил (а): 25 раз
- Поблагодарили: 11 раз
- Контактная информация:
- tnt23
- Сообщения: 52
- Зарегистрирован: Вс апр 05, 2020 7:24 am
- Имя: Tim
- Откуда: СПб
- Благодарил (а): 12 раз
- Поблагодарили: 14 раз
Re: Самодельный локомотивный декодер.
Маневровый режим это уже не про световые эффекты. Это какая-нибудь CV нужна, по типу "запись 8 в CV8 приводит к сбросу в заводские настройки".
-
- Сообщения: 121
- Зарегистрирован: Пн мар 28, 2016 12:03 pm
- Благодарил (а): 25 раз
- Поблагодарили: 11 раз
- Контактная информация:
Re: Самодельный локомотивный декодер.
Да фиг с ними, со световыми эффектами. Имхо главное в цифре возможность плавного ускорения и замедления и движение на малой скорости. Нам бы back emf рабочий: обвязку+алгоритм. Остальное запрограммировать -пару пальцев об асфальт.
- tnt23
- Сообщения: 52
- Зарегистрирован: Вс апр 05, 2020 7:24 am
- Имя: Tim
- Откуда: СПб
- Благодарил (а): 12 раз
- Поблагодарили: 14 раз
Re: Самодельный локомотивный декодер.
Плавное ускорение-замедление делается элементарно - берешь значения из соответствующих CV и добавляешь к PWM постепенно. Вот как Trim организовать, я еще не сообразил, а надо бы: мой BR 80 назад едет сильно прытче, чем вперед.
Про BEMF - обвязку тут уже описывали, два резистора и конденсатор. Алгоритм, насколько я понял, тоже в целом простой - берется разница между нужной скоростью и фактической (ошибка). Фактическую выводим из измерения на АЦП. Из ошибки приготавливаем два компонента: пропорциональный (тупо умножаем ошибку на константу из CV), и интегральный (постоянно накапливаем сумму ошибок). В принципе этого уже может оказаться достаточно, но можно сделать и третий компонент, дифференциальный - с ним я еще не начинал разбираться. Ну и замешиваешь все компоненты обратно в PWM, тоже с разными весовыми коэффициентами, чтобы отрицательной обратной связью ошибку уменьшить. Из параметров еще можно поиграть с частотой замеров АЦП и цифровой фильтрацией, если она есть и на нее хватает ресурса.
Про BEMF - обвязку тут уже описывали, два резистора и конденсатор. Алгоритм, насколько я понял, тоже в целом простой - берется разница между нужной скоростью и фактической (ошибка). Фактическую выводим из измерения на АЦП. Из ошибки приготавливаем два компонента: пропорциональный (тупо умножаем ошибку на константу из CV), и интегральный (постоянно накапливаем сумму ошибок). В принципе этого уже может оказаться достаточно, но можно сделать и третий компонент, дифференциальный - с ним я еще не начинал разбираться. Ну и замешиваешь все компоненты обратно в PWM, тоже с разными весовыми коэффициентами, чтобы отрицательной обратной связью ошибку уменьшить. Из параметров еще можно поиграть с частотой замеров АЦП и цифровой фильтрацией, если она есть и на нее хватает ресурса.
-
- Сообщения: 121
- Зарегистрирован: Пн мар 28, 2016 12:03 pm
- Благодарил (а): 25 раз
- Поблагодарили: 11 раз
- Контактная информация:
Re: Самодельный локомотивный декодер.
На словах все это просто. Я это на словах реализовал 4 года назад. А вот до рабочего прототипа так не дошел.
Никто D не добавляет, хватает и PI.
Никто D не добавляет, хватает и PI.
-
- Сообщения: 121
- Зарегистрирован: Пн мар 28, 2016 12:03 pm
- Благодарил (а): 25 раз
- Поблагодарили: 11 раз
- Контактная информация:
Re: Самодельный локомотивный декодер.
Как фактическую определить, понятно. А вот как определить нужную?