Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
upgrades:reborn2:neopixel [2023/01/27 16:44] – sav | upgrades:reborn2:neopixel [2023/01/27 19:33] (текущий) – sav |
---|
При осмотре платы Reborn 2 был обнаружен разъем, подписанный, как Neopixel. Учитывая, что мой принтер уже работал под управлением Klipper на этот момент, я полез в документацию и понял, что управление лентой можно брать в принципе с любого подходящего pin'a с платы. | При осмотре платы Reborn 2 был обнаружен разъем, подписанный, как Neopixel. Учитывая, что мой принтер уже работал под управлением Klipper на этот момент, я полез в документацию и понял, что управление лентой можно брать в принципе с любого подходящего pin'a с платы, но раз есть такой разъем, надо его и использовать. |
Так как каждый светодиод "жрет" около 60мА я взял кусок ленты WS2812 на 5 вольт с 12 светодиодами (плотность 30 на метр), купил [[https://ozon.ru/t/rAJVBPL|дюралевый уголок с рассеивателем]], покрасил его черной краской, просверлил отверстия для крепления к профилю принтера и для крепления магнита держателя дверей. | |
Для получения 5 вольт я взял преобразователь с 24 на 5 вольт на алиэкспрессе. 12 шт х 60мА = 720мА. Подключать такое напрямую к материнке я побоялся, кто знает, какой запас мощности заложил производитель в онбоардный преобразователь на плате.. по идее, если потребляемый ток выше 1А, то вообще стоит делать отдельный блок питания для ленты. | Так как каждый светодиод "жрет" около 60мА я взял [[https://aliexpress.ru/item/1005002605903154.html|кусок ленты WS2812 на 5 вольт]] с 12 светодиодами (плотность 30 на метр), купил [[https://ozon.ru/t/rAJVBPL|дюралевый уголок с рассеивателем]], покрасил его черной краской, просверлил отверстия для крепления к профилю принтера и для крепления магнита держателя дверей. |
Пришедший преобразователь оказался с общим "минусом", поэтому я первым делом подключил его к блоку питания принтера на клеммы 24 вольт, +5в с преобразователя подключил к светодиодной ленте, а минус и сигнал взял с разъема Neopixel (G и S, соответственно). Прописал минимальный конфиг в клиппере... включаем. Лента осветилась неземным сиянием.. правильнее сказать, загорелись какие попало светодиоды, часть одним цветом, часть другим, некоторые вообще не загорелись. Вывод - сигнал управления не проходит. Не тот пин? Специально полез смотреть фотки низа платы, PE7, все правильно. | |
| Для получения 5 вольт я взял [[https://aliexpress.ru/item/1005003761299868.html|преобразователь с 24 на 5 вольт на алиэкспрессе]]. Светодиоды жрут максимум 12 шт х 60мА = 720мА. Подключать такое напрямую к материнке я побоялся, я еще не знал, какой запас мощности заложил производитель в онбоардный преобразователь на плате.. по идее, если потребляемый ток выше 1А, то вообще стоит делать отдельный блок питания для ленты. |
| |
| Пришедший преобразователь оказался с общим "минусом", поэтому я первым делом подключил его к блоку питания принтера на клеммы 24 вольт, +5в с преобразователя подключил к светодиодной ленте, а минус и сигнал взял с разъема Neopixel (G и S, соответственно). Прописал минимальный конфиг в клиппере... включаем. Лента осветилась неземным сиянием.. правильнее сказать, загорелись какие попало светодиоды, часть одним цветом, часть другим, некоторые вообще не загорелись. Попробовал давать команды через интерфейс клиппера - или не реагирует или что-то менятся как попало. Вывод - сигнал управления не проходит. Не тот пин? Специально полез смотреть фотки низа платы, PE7, все правильно. |
Обратился за помощью к evgs@ в нашем чате Ждунов, и дальше он уже помогал мне дебажить эту историю. | Обратился за помощью к evgs@ в нашем чате Ждунов, и дальше он уже помогал мне дебажить эту историю. |
У неопикселя уровни входа по КМОП-логике, соответственно логическая единица должна быть 0.7*VCC, VCC=5В, значит не менее 3.5В. Меряем тестером... 0.59 вольта на сигнальной линии.. что это? На цифровой управляющей линии по идее должна быть логическая единица при отсутствии передачи данных... Управляющая посылка короткая, частота сигнала 800кГц, тестером ее не увидишь. Нужен осциллограф. Но мой сломан, новый на замену еще едет. Появляется мысль, что налицо несогласованный уровень сигнала, типа плата реборна выдает сигнал по уровню 3.3В, хотя на разъеме выведено +5В. Нахожу схему буфера-преобразователя уровня сигнала на 1 полевом транзисторе (у меня как раз был такой). | |
| У неопикселя уровни входа по КМОП-логике, соответственно логическая единица должна быть 0.7*VCC, VCC=5В, значит не менее 3.5В. Меряем тестером... 0.59 вольта на сигнальной линии.. что это? На цифровой управляющей линии по идее должна быть логическая единица при отсутствии передачи данных... Управляющая посылка короткая, частота сигнала 800кГц, тестером ее не увидишь. Нужен осциллограф. Но мой сломан (его удалось починить, позднее, с помощью нового :) ), новый на замену еще едет. Появляется мысль, что налицо несогласованный уровень сигнала, типа плата реборна выдает сигнал по уровню 3.3В, хотя на разъеме неопикселя подписано и выведено +5В. |
| |
| Нахожу схему буфера-преобразователя уровня сигнала на 1 полевом транзисторе (у меня как раз был такой). |
{{ :upgrades:reborn2:neopixel:buffer.jpg?400 |Схема}} | {{ :upgrades:reborn2:neopixel:buffer.jpg?400 |Схема}} |
Решено. Макетная плата, делаем. Это фото прототипа. | Решено. Макетная плата, делаем. Это фото прототипа. |
Ради эксперимента пытаемся переключиться на другой пин - решаем выбрать PE9 с разъема WiFi, все равно он демонтирован ради подключения клиппера по UART. | Ради эксперимента пытаемся переключиться на другой пин - решаем выбрать PE9 с разъема WiFi, все равно он демонтирован ради подключения клиппера по UART. |
| |
| {{ :upgrades:reborn2:neopixel:pins.png?400 |}} |
| |
| и видим на нем похожий сигнал, какой мы видели на PE7!!! |
| |
| {{ :upgrades:reborn2:neopixel:pe9.jpg?400 |}} |
| |
| Ищем схему... и... сюрприз. |
| |
| {{ :upgrades:reborn2:neopixel:pe9-cap.jpg |}} |
| |
| Мы поймали результат работы ФНЧ (фильтр низких частот), неужели такой же конденсатор стоит в линии PE7 неопикселя? |
| Уже не хочется ковыряться в разводке дорожек и идентификации smd-элементов, поэтому решаем взять уже PC3, на нем точно нет никаких конденсаторов. |
| |
| И.... |
| {{ :upgrades:reborn2:neopixel:pc3-meandr.jpg?400 |}} |
| Да, наконец-то нормальный цифровой сигнал! |
| |
| Включаем через буфер на полевике и получаем: |
| |
| {{ :upgrades:reborn2:neopixel:after_buffer.png?400 |}} |
| |
| Кажется, ура. Подключаем ленту... не реагирует. Первый светодиод не горит. Решаю не испытывать судьбу, отрезаю еще кусочек из 12 светодиодов... и о чудо, все начинает работать! Видимо, в процессе жестоких экспериментов сгорел как минимум первый светодиод в ленте. Это исследование решено оставить на потом, а сейчас время насладиться результатом :) |
| |
| {{ :upgrades:reborn2:neopixel:greenlight.png?400 |}} |
| |
| итого. "Плюс" питания ленты (+5В) взят от преобразователя DC-DC с 24 на +5, земля осталась с разъема неопикселя, а управляющий сигнал взят с пина PC3 разъема WiFi и включен через преобразователь уровня на полевом транзисторе по схеме выше. Работает. |
| |
| [[https://www.klipper3d.org/Config_Reference.html#neopixel|Конфиг клиппера]]: |
| <code> |
| [neopixel my_neopixel] |
| pin: PC3 |
| chain_count: 12 |
| </code> |
| |
Автор: korxif | Автор: korxif |