roboforum.ru

Технический форум по робототехнике.

Проектирую NanoDLP Shield

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Проектирую NanoDLP Shield

Сообщение grafalex » 16 дек 2018, 21:40

Всем привет!
Нахожусь практически на финальном этапе постройки JAP LCD, только на базе NanoDLP. К сожалению во время тестов повредил матрицу и теперь у меня вынужденный перерыв. Решил времени не терять и разработать шилд для малинки.

Сейчас электронная начинка состоит из нескольких модулей связанных между собою кучей проводов. Модули таки:
- Raspberry PI Zero W (планирую переход на Raspberry Pi 3b+)
- Arduino Nano + CNC Shield + Polulu Driver
- 5<->3.3V конвертер уровней для I2C (у меня подключен пятивольтовый двустрочный дисплей к трехвольтовой малине)
- БП на 5В для питания всей этой конструкции (это не считая основного 12В БП для питания силовой части)
- Силовой транзистор который коммутирует ультрафиолетовый светодиод (100Вт диод включен через драйвер-повышайку, на 12В жрет порядка 9А)

Сейчас это выглядит так
IMG_20181216_172423.jpg


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

Решил собрать все хотелки на одном шилде для малинки, чтобы было компактно. Вдохновлялся вот этим принтером. Ну а раз уже разрабатывать плату, то можно туда и других хотелок добавить. Итак моя плата должна уметь:
- управлять шаговиком
- поддерживать концевики
- коммутировать мощный светодиод
- обеспечивать все необходимые напряжения питания - 12В, 5В и 3.3В (в зависимости от потребителя)
- позволять измерять температуру (например чтобы вовремя включать вентилятор)
- иметь средней мощности выход управляемый ШИМ (тот самый вентилятор)
- позволять подлючать внешние устройства по I2C и UART, причем поскольку напряжение потребителя заранее неясно - позволять оба напряжения (у меня, например, есть дисплеи как трехвольтовые, так и пятивольтвые)
- Сигнальный светодиод (проект на thingiverse использует его для индикации когда безопасно можно отключить питание малине)
- было бы круто иметь парочку GPIO под различные нужды (например, у того же JAP принтера аж 4 кнопки)
- пищалку (мало ли, гулять так гулять)

Вот что получилось в итоге
Schematic_lcd-printer_Sheet-1_20181216193432.png
Схема

PCB_Nano-DLP-Shield_20181216193553.png
плата


Проект тут: https://easyeda.com/editor#id=1c84f9033 ... 7bebf7602c

Пара пояснений к схеме:
- За питание малины отвечает модуль понижайка на базе MP1584. Сейчас вся пятивольтовая часть потребляет 260мА в прыжке, но это Raspberry Pi Zero. Полноценная малина будет потреблять больше, но думаю в ампер должно уложиться
- Схема конверторов уровней слизана с копеечного модуля с али
- Транзисторы 2N7002 имеют не супер-пупер характеристики, но у меня их целый рулон - нужно применить. Возможно BSS138 тоже заменю на 2N7002
- АЦП в малине нет, а отдельные микросхемы стОят дорого и, как по мне, перебор. Решил применять термометр DS18B20. Вроде как GPIO4 поддерживает One-Wire протокол
- GPIO19 также поддерживает ШИМ
- На концевиках предусмотрены подттяжки вверх, а также площадки для фильтрующего конденсатора, если понадобится (по началу думаю не запаивать)
- На GPIO предусмотрел площадки для подтяжек вверх и вниз, а также проходного резистора. Кто его знает что я туда подключать соберусь. Запаивать буду по мере необходимости.

Если тему читают опытные электронщики я буду рад конструктивным комментариям.
grafalex
 
Сообщения: 96
Зарегистрирован: 09 янв 2015, 00:11

Re: Проектирую NanoDLP Shield

Сообщение grafalex » 23 дек 2018, 15:38

Наткнулся на али на готовую плату
https://www.aliexpress.com/item/NanoDLP ... 34218.html

Отличия от моей:
+ вентилятор для обдува самой малинки
+ питалово и драйвер шаговика распаяны на плате, что делает плату чуть компактнее
- но при этом нельзя поставить тихий драйвер типа TMC2100
+ Пометки разъемов и их пинов сделаны более читабельно
- ... но к сожалению на задней стороне платы, что не очень удобно
- затвор подразумевается через серву, а не управлением мощным светодиодом
- нет выходов GPIO
- нет выходов PWM
- нет управления питанием UART и I2C (в моем случае пришлось бы использовать level converters)

Тем временем заказал платы под свой шилд...
grafalex
 
Сообщения: 96
Зарегистрирован: 09 янв 2015, 00:11

Re: Проектирую NanoDLP Shield

Сообщение grafalex » 03 фев 2019, 16:19

Пришли платы и детальки к ним
DSC_3738.jpg

DSC_3741.jpg

В процессе пайки осознал что некоторые детальки разведены неправильно (проверяйте футпринты из интернета!), пришлось колхозить. Так понижатор 12В->5В, а также несколько транзисторов пришлось припаять вверх ногами.
В проекте поправил - https://easyeda.com/editor#id=1c84f9033 ... 7bebf7602c

Сел писать прошивку под это дело - https://github.com/grafalex82/nanodlpshield
Уже завел мотор и некоторые GPIO. В ближайшее время думаю спортировать свою же прошивку под ардуину, которая в данный момент прекрасно трудится на принтере (я его таки запустил).
grafalex
 
Сообщения: 96
Зарегистрирован: 09 янв 2015, 00:11

Re: Проектирую NanoDLP Shield

Сообщение grafalex » 23 фев 2019, 16:06

Продолжу разговаривать сам с собой...

Собрал плату, установил в принтер. Дописал прошивку - все работает стабильно.
IMG_20190217_225218.jpg


Из найденных косяков
- Драйвер мотора (TMC2100) и силовой транзистор греются, радиаторы не спасают - пришлось городить обдвув
- вентилятор обдува воткнуть то и некуда. Т.е. есть, конечно управляемый ШИМ выход для вентиляторов, но там я планировал запитать охлаждение радиатора светодиода, или общее охлаждение корпуса
- GPIO хватает впритык. У меня в принтере 4 внешних кнопки и они заняли все разведенные GPIO. Термометр воткнуть уже и некуда.
- Сами кнопки у меня с гламурной подсветкой, и этой подсветке нужно питание 5В. Да, на плате есть один разъем 5В, но он совсем не там где мне нужно.

В проекте платы уже добавил 2 GPIO и выставил пару разъемов дополнительного питания. Думаю заказать вторую версию платы.

По прошивке. Все работает, но написано в ардуино стиле - на вечных циклах. Из-за этого при движении мотора тратится 100% одного ядра малины. Более того скорость движения может несколько зависеть от загрузки других ядер процессора. По хорошему нужно писать драйвер ядра Linux для шагового мотора. Я почитал статьи на эту тему - оно вроде как и не сложно. Но по моему овчинка не стОит выделки.
grafalex
 
Сообщения: 96
Зарегистрирован: 09 янв 2015, 00:11


Вернуться в 3D печать

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

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