Led wash move прошивка

Smygly
Offline
Зарегистрирован: 19.11.2018

Голова

Всем привет.
Сразу прошу прощения, не пинайте если вам кажется, что глупость спрашиваю, но очень нужно решение вопроса.
!!!! Поиск ничего не дал !!!
И так, что имеем.
-led wash head (световой прибор с вращением по двум осям) (фото1)
- на главной плате прибора перестал отвечать контроллер dip 28 stc 12c5608, на нем было все управление. (фото2).
- 2 драйвера мотора L6219 (фото3) и, соответственно, 2 мотора по осям (фото3_1)
- 2 усилителя LM324N (фото4), не знаю зачем они нужны.
- 4 пина у МК занимает SN74HC00N , правда я тоже пока не понял что это такое))) ( Если есть знающие - подскажите , пжл. Нужна ли она , если на ардуино переходить ????)
- на каждый двигатель "прилеплены" спаренные щелевые оптические датчики и диски с "зубами". Получается, что они двухканальные - по 2 провода Подключены к микроконтролеру. (фото5)
- dmx, не отдельный, а был зашит в прошивку МК. Но есть отдельная плата, на ней SN74HC00N , ds75176bn , LM358n (Фото6)
- дисплей (фото7), у него отдельный МК стоял (фото 8), работоспособность неизвестна.
- 4 светодиодных блока RGBW(фото9) , каждый цвет на отдельный канал и на транзисторах (фото9_1)
- входное 24V , на мк стоит dc-dc на 5v.
- ещё есть непонятные пины с подпистсью test 1 и test2, (2 пина ) в мк и питание. Что они делают - незнаю. Не были Подключены в процессе работы. (фото10)

Теперь задача:
1.заменить
stc 12c5608 на Arduino (по моим подсчётам подойдет и nano, так как он по всем параметрам превосходит родной).
Соединение очень простое - на плате сделать переходник с dip28 на штыречки, в эти штыречки засунуть ардуино. Сделаю это так, чтоб можно было в случае чего заменить легко без перепайки.
2. Написать программу.
- Поступает питание.
- на дисплее надпись "wait..."
- двигатели запускаются и занимают начальную позицию по обеим осям. Позиция считается по 2х канальным целевым оптическим датчикам. Ось крутиться до упора (конструкцией задуман) и возвращается на несколько градусов обратно. Саму логику этого момента я пока не понимаю. Как именно программы должна понять, что он уперся.
!!!! Подскажите пожалуйста!!!!, если есть пример, то буду рад.
Обязательно таймер загрузки (например в течении 15 секунд искать начальное положение, потом запускаться) . В случае неисправности датчика или провода, чтоб он час не тарахтел.

- загрузка окончена. На дисплее отображается надпись "menu"
- после установки на начальные позиции запускается программа работавшая в последний раз ( auto, dmx, manual, sound)

Auto - (можно разные варианты, типо auto1, auto2, auto3)
рандомное вращение осей (где-то одновременно, где-то сольно и поочерёдно) и одновременно с этим рандомное включение светодиодов
( где-то сольно, где-то в сочетании, а где-то все вместе)

Sound - тоже самое, но срабатывает от звука (звуковой датчик есть на плате родной, но я не понял как он подключен. Но есть отдельный). В меню неплрхо было бы при выборе режима Sound кнопками изменять чувствительность датчика звука.
Manual - - при выборе режима, переход в режим настройки. (диммер для цветов, ось Х, Ось Y, цвет r, цвет g, цвет b, цвет w, strob (мерцание))
Dmx - при подключениии этого режима голова переходит в управление с dmx пульта (каналы dmx

//Kanal 1..........диммер для цветов
//Kanal 2..........R
//Kanal 3 .........G
//Kanal 4 .........B
//Kanal 5 .........W
//Kanal 6 ........ Ось X
//Kanal 7 .........Ось Y
//Kanal 8 .........Strobe
//Kanal 9..........autoprogram

Решать вопросы нужно постепенно, поэтому для начала мне хватит звуковой активации. А дальше уже работа дисплея и ДМХ.

Помогите кто-нибудь, пжл))

P. S. Не разобрался как фото выкладывать.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Боюсь, Вы выложили не в том разделе.

Этот раздел для тех, кто пишет что-то самостоятельно или хочет научиться программировать.

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

Smygly
Offline
Зарегистрирован: 19.11.2018

В том то и дело, что хочу осидить сам. Часть мыслей уже есть.
Форумы же для помощи более опытных менее опытным :)
Покупать за деньги не хочу и не буду, так как : 1. Вы правы, что это будет бессмысленно - новый прибор дешевле купить. 2.хочу разобраться и понимать процесс.

Что уже сделано.
1. Набросал черновой вариант для dmx
2. Работа с led

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

Есть мысли? Подскажете?

sadman41
Offline
Зарегистрирован: 19.10.2016

Вы бы фото запостили таки. 

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

Smygly
Offline
Зарегистрирован: 19.11.2018

Smygly
Offline
Зарегистрирован: 19.11.2018

sadman41 пишет:

Вы бы фото запостили таки. 

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

Для меня так было бы идеально) Но для чего-то же в эти головы  ставят щелевые датчики( еще и по два штуки на ось)  и диск с прорезями

sadman41
Offline
Зарегистрирован: 19.10.2016

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

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Smygly пишет:

sadman41 пишет:

Вы бы фото запостили таки. 

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

Для меня так было бы идеально) Но для чего-то же в эти головы  ставят щелевые датчики( еще и по два штуки на ось)  и диск с прорезями

Конец определяется по щелевым датчикам (диск с прорезями) . Есть похожий  в ремонте. специально проверил - с отключеным датчиком голова крутится секунду и останавливается (не видит движение ). с датчиком- до упора рывок с секунду и стоп.  Верт. вращение у меня  - начало на датчике холла.

Smygly
Offline
Зарегистрирован: 19.11.2018

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

Когда отключаю датчик, или было такое что  перетерался провод ( Любой из 4х),  то  ось  долго упирается  в стоп,  мотор  кряхтит ,  а потом  ( видимо  когда  выходит  время  на  загрузки)  работает  в штатном режиме, но из-за не работающего ( или отключенного) датчика  она  постоянно с размахом  удаляется в упор.  Если стоит на полу, то  за час  делаем  2-3  полных оборота)))

Smygly
Offline
Зарегистрирован: 19.11.2018

sadman41 пишет:

например, по падению величины RPM (это ваша гипотеза).

Подскажите, пжл, как реализовать данную гипотезу ?

sadman41
Offline
Зарегистрирован: 19.10.2016

Я бы начал с другой, раз вы тут энкодер нарисовали. Взять пример к библиотеке энкодера, подключить оптопары к ардуине и покрутить рукой вал. Если будет меняться число , изменяемое энкодером, то на этом и базироваться: давать пяток шагов двигателем и проверять - изменилось ли число с энкодера. Не меняется - или уперлись или оторвался датчик/драйвер.

Smygly
Offline
Зарегистрирован: 19.11.2018

А не подскажете какую библиотеку в этом случае можно использовать и программное решение этой ситуации?

sadman41
Offline
Зарегистрирован: 19.10.2016

Smygly пишет:
А не подскажете какую библиотеку в этом случае можно использовать и программное решение этой ситуации?

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Красиво! А сколько эта радость стоит? Я - бы себе взял такую шнягу.