Бегущие поворотники

Проблема со скоростью переключения светодиодов

Пользовательские блоки для работы с контроллерами светодиодных ламп и освещением.
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
spektr107
Рядовой
Сообщения: 54
Зарегистрирован: 07.12.2016{, 22:06}
Репутация: 1
Откуда: Нефтегорск

Бегущие поворотники

#1

Сообщение spektr107 » 26.08.2018{, 11:07}

Здравствуйте уважаемые товарищи генералы! Собрал проект бегущих поворотников, на пользовательском блоке. Блок автором никак не подписан, не знаю кто именно его написал, скачивал ещё со старого сайта, ссылку на блок оставлю ниже.
Проект в целом работает, но с добавлением (в ходе развития проекта) штатных блоков, падает скорость переключения светодиодов от одного к другому. В итоге бегущие огни поворотника получаются очень медленные, что не есть хорошо.
Скорость переключения по планам настраивается в генераторе, который подключен к счётчику (часто используемая пара в проектах). С добавлением штатных блоков в ходе роста проекта, как уже сказал падает скорость переключения светодиодов, в генераторе пробовал ставить разное время импульсов в плоть до 1 миллисекунды, реакции никакой, полоски бегут очень медленно.
В самом начале сборки проекта, пока было мало блоков, регулировка скорости генератором работала хорошо.
Подозреваю, что пользовательский блок или немного криво написан, или конфликтует со стандартными.
Помогите пожалуйста устранить эту проблему. Я Автор канала "Ключ к Arudino" и подписчики ждут выпуска этого проекта.
Блок: WS2812
Скрин блока:Изображение

spektr107
Рядовой
Сообщения: 54
Зарегистрирован: 07.12.2016{, 22:06}
Репутация: 1
Откуда: Нефтегорск

Бегущие повороники

#21

Сообщение spektr107 » 30.08.2018{, 09:55}

Cancertanly писал(а):
30.08.2018{, 07:24}
сразу же вопрос? зачем нужен этот момент?
Спойлер
Показать
почему сразу ТРУ не поставить?
Если поставить просто тру, не будет перебора светодиодов.

Аватара пользователя
Cancertanly
Сержант
Сообщения: 140
Зарегистрирован: 06.04.2016{, 19:59}
Репутация: 12
Откуда: bish
Имя: Антон

Бегущие повороники

#22

Сообщение Cancertanly » 30.08.2018{, 09:56}

Для решения вашей задачи может подойти немного другой ПБ. Он в принципе такой же и на той же библиотеке но собран для 10ти светодиодов в ленте. если у вас не критично с пинами на уне то каждый отрезок посадить на отдельный пин, так будет проще.
WS2812_Stick_10_blocks_(CODE).ubi
(350.52 КБ) 69 скачиваний
FLProg_ru
https://t.me/flrog_ru ...................................................FPRrog_v4.2.4

spektr107
Рядовой
Сообщения: 54
Зарегистрирован: 07.12.2016{, 22:06}
Репутация: 1
Откуда: Нефтегорск

Бегущие повороники

#23

Сообщение spektr107 » 30.08.2018{, 09:58}

kalobyte писал(а):
29.08.2018{, 22:00}
посмотрел твой ролик - хороший, годный пример того, как не надо делать
Покажите как надо делать

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Бегущие повороники

#24

Сообщение kalobyte » 30.08.2018{, 10:33}

тут 2 часть - электрическая и программная
ходовые огни - их назначение - тупо светиться днем, они не должны переливаться, они не должны мигать, поэтому с электрической точки зрения это просто 1 светодиод

задний сигнал тоже белый, он тоже должен гореть, когда включена задняя скорость и это тоже один светодиод по сути
то же самое с габаритными и стопами
поэтому для этих фар не нужен никакой контроллер и ими управляет эбу

максимум ты можеш запихать в поворотники линейки из светодиодов обычных, прилепить полевики к общему проводу или улн2003
вот как тут http://www.twovolt.com/tag/large-led-di ... t-and-pcb/

взять библиотеку програмного шима https://github.com/bhagman/SoftPWM
написать код для мигания светодиодами
причем левые и правые поворотники подключены параллельно, а общий провод через пару транзисторов, которые будут включать нужный поворотник

Аватара пользователя
KaScada
Сержант
Сообщения: 284
Зарегистрирован: 23.04.2016{, 12:33}
Репутация: 8
Контактная информация:

Бегущие повороники

#25

Сообщение KaScada » 12.10.2018{, 08:22}

Если актуально для кого-то, то мы сделали свой блок для управления WS2812, для поворотников должен подойти удачно.
Тут блок и видео как работать.
ПО КаСкада на базе смартфона/планшета с ОС Андроид

Подробнее здесь: http://www.hmi-kascada.ru/

Аватара пользователя
Сергей
Лейтенант
Сообщения: 571
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 5
Имя: Сергей
Контактная информация:

Бегущие повороники

#26

Сообщение Сергей » 21.06.2019{, 09:22}

spektr107 писал(а):
29.08.2018{, 20:49}
Нет конечно. Это не для меня нужно было, публика просила, вопрос был довольно глобальный, не узко направленный на одного человека, у меня вообще авто нет
spektr107, привет. Смотрю твой канал регулярно, ну и естественно подписан.
Сейчас занимаюсь детским автомобилем. А в этот момент поворотниками. Вижу что тормозят эти все самоделки.
Делаю блок для поворотников, основанный на работе с таймером. Думаю тормозить будет меньше. Только разбираюсь что к чему, но подвижки есть. Скоро скину.

Отправлено спустя 1 час 9 минут 7 секунд:
Сергей писал(а):
21.06.2019{, 09:22}
таймером
Там принцип такой. Прерывание по таймеру считают две переменные.
В основном цикле программы по условиям "если" выполняется проход программы по соответствующим веткам этого блока. Первый проход по одному пути - настраивает переменные для поворота, второй по другому - с заданной на входе блока длительностью, последовательно включает заданное любое количество и в любом направлении, светодиодов.
После зажигания последнего диода, программа идёт по третьему пути, где гасит все диоды сразу и выжидает заданную паузу.
Потом цикл повторяется, при условии, что на входе блока все ещё присутствует единица включения.

Быстрота реализации должна быть высокая, потому что запись в ленту проходит только в моменты изменения переменных счётчиков. Путь прохода программы зависит от значений переменных. Основной цикл программы выполняется быстро и не стабильно во времени. Соответственно точность работы зависит от прерываний аппаратного таймера.
Подтормаживания не должно быть, потому что запись в диодную ленту ведётся в одном месте и один раз за проход основного цикла. Перед записью блок настраивает, по вышеописанному принцип, какие именно и сколько диодов нужно включить/отключить.

Забыл написать. Блок работает с библиотекой fastLed.h

Аватара пользователя
Сергей
Лейтенант
Сообщения: 571
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 5
Имя: Сергей
Контактная информация:

Бегущие повороники

#27

Сообщение Сергей » 23.06.2019{, 00:57}

Вот, что получилось:

Из недостатков:
- занят один таймер. Кажется Т2.
- этот таймер срабатывает минимум раз на 40 мс. Реже можно установить, но тогда повороты будут медленно работать.
- т. к. в подпрограмме обработки прерываний по таймеру находится почти весь код, (+частый вызов прерывания), на функцию Loop() остается мало процессорного времени во время работы поворотов. Из-а этого практически останавливается работа модбаса и других процессов в функции Loop(). Надо оптимизировать код. Если перенести основную часть кода из таймера в функцию Loop(), то будет подтормаживать работа поворотов. От чего мы пытаемся уйти.

com
Рядовой
Сообщения: 91
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 5
Откуда: Тюмень-Уфа
Имя: Роман

Бегущие повороники

#28

Сообщение com » 23.06.2019{, 12:41}

А что такое повороники?

liamhoulet
Рядовой
Сообщения: 5
Зарегистрирован: 08.03.2017{, 22:15}
Репутация: 0
Откуда: Ростовская обл. г. Зерноград

Бегущие повороники

#29

Сообщение liamhoulet » 23.06.2019{, 14:30}

Сергей а можно попросить ПБ. Говорили что выложите?
liam

Аватара пользователя
Сергей
Лейтенант
Сообщения: 571
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 5
Имя: Сергей
Контактная информация:

Бегущие повороники

#30

Сообщение Сергей » 24.06.2019{, 22:01}

liamhoulet писал(а):
23.06.2019{, 14:30}
Сергей а можно попросить ПБ. Говорили что выложите?
Чуть позже. Обкатаю. Сейчас вот выяснилось, что при разном кол-ве диодов на фарах,

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

Я отдельную тему сделаю, где все распишу с самого начала.

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 30
Откуда: Омск

Бегущие повороники

#31

Сообщение kulibinsvv » 25.06.2019{, 06:07}

Кто-нибудь из модераторов может исправить это дебильное - "повороники"?
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 308
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 31
Откуда: Днепр.UA
Контактная информация:

Бегущие повороники

#32

Сообщение grin-mpx » 25.06.2019{, 07:16}

kulibinsvv писал(а):
25.06.2019{, 06:07}
Кто-нибудь из модераторов может исправить это дебильное - "повороники"?
Что не так в слове поворотник?
https://ru.wiktionary.org/wiki/поворотник
Представьте себе, в автомобиле еще есть шаровые! И это не молнии. И рычагов там куча, но не управления, есть косточки, но не человеческие. Есть консоль, но нет Windows.
Так разговаривают и такой сленг у всех автолюбителей, по крайней мере те, кто хоть как-то знает машину, а не просто является прокладкой между рулем и сидением.

Аватара пользователя
Cancertanly
Сержант
Сообщения: 140
Зарегистрирован: 06.04.2016{, 19:59}
Репутация: 12
Откуда: bish
Имя: Антон

Бегущие повороники

#33

Сообщение Cancertanly » 25.06.2019{, 07:24}

grin-mpx, видимо он про орфографию в заголовке темы
FLProg_ru
https://t.me/flrog_ru ...................................................FPRrog_v4.2.4

com
Рядовой
Сообщения: 91
Зарегистрирован: 31.05.2018{, 22:12}
Репутация: 5
Откуда: Тюмень-Уфа
Имя: Роман

Бегущие повороники

#34

Сообщение com » 25.06.2019{, 08:18}

grin-mpx
grin-mpx писал(а):
25.06.2019{, 07:16}
те, кто хоть как-то знает машину
Хорошее замечание, вы считаете себя спецом? А самому не судьба ознакомится с тем почему обратиличь к модератору? Если вы не различаете ПОВОРОНИК от ПОВОРОТНИКА, кто тогда здесь
grin-mpx писал(а):
25.06.2019{, 07:16}
является прокладкой между рулем и сидением.
?!!!!

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 308
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 31
Откуда: Днепр.UA
Контактная информация:

Бегущие повороники

#35

Сообщение grin-mpx » 25.06.2019{, 08:32}

Хех :smile171: Прошу прощения. Даже не заметил ошибки в слове. Часто читаю не по слогам, а по узнаваемости слов с первых букв. :smile427:

Ответить

Вернуться в «Светодиоды, освещение»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость