Важным этапом в разработке любого устройства является макетирование. Хотя, в широких массах гуляет расхожее заблуждение о ненужности макетирования. Как правило, оно распространено среди начальников мелкого и среднего звена и вызвано естественным желанием сократить сроки разработки. На моей памяти еще ни один проект, начинавшийся со слов «да тут всё понятно» не заканчивался хорошо). В разработке, как и в жизни в целом, действует закон кармы — всё, что вы не сделали на макете, вы будете доделывать в опытном образце, попутно матерясь и перезаказывая печать. В результате это окажется дольше, чем если бы вы выделили время на макетирование.
Целью макетирования может быть как проверка какой-то концепции (алгоритмов, быстродействия и т.д.) так и проверка конкретных технических решений (в том числе совместимость конкретных компонентов, корректность разводки платы). В первом случае стремятся использовать для макета готовые узлы (отладочные платы, готовые изделия) с тем, чтобы не тратить время на разработку и изготовление своего железа. В последнем случае часть макета (обычно ту, которая вызывает наибольшие опасения) делают максимально похожей на «боевую». Это может быть один канал из N в реальном изделии, может быть какой-нибудь радио приемопередатчик с обвязкой и т.д. Для этого разрабатывается схема, разводится плата, используются компоненты, которые будут использованы в «боевом» железе.
По поводу совместимости компонентов — около года назад был случай с Wi-Fi сетевым процессором CC3100 от Texas Instruments. На макете проверили только взаимодействие с ним, подняли точку доступа и проверили, что все работает. Для макета использовали две отладочных платы от TI: Launchpad Tiva и отладку для самого CC3100. В этой связке всё работало отлично. Но в изделии нужно было использовать отечественный кварцевый резонатор для тактирования CC3100. И вот с ним микросхема просто не завелась, хотя по всем характеристикам резонатор подходил отлично. В результате, в опытный образец пришлось переставлять резонатор с отладочной платы, чтобы он как-то заработал.
Но что-то мы отвлеклись. У нас тут LED Controller. Макетирование контроллера я хотел провести по первой схеме, взяв для этого отладочную плату контроллера и отладочную плату драйвера. Но оказалось, что отладочной платы для драйвера MBI6651 в природе не существует (по крайней мере мне не удалось найти никаких упоминаний про таковую даже на сайте производителя). Поэтому придется макет канала всё же сделать самому. Для этого была быстренько накидана схема одного канала.
Ничего примечательного в схеме канала нет — она скопирована из рекомендаций даташита на драйвер. Единственное, на схеме не указан номинал токового шунта R1. Это потому, что именно с ним я буду играться на этапе макетирования, подключая к драйверу разные светильники с разными номинальными токами.
Разводка печатной платы для канала была проведена для односторонней платы, так как изготовление макетной платы будет производиться ЛУТом в домашних условиях. Конечно, сделать двустороннюю печать ЛУТом тоже не составляет проблем, но в данном случае это неоправданное усложнение. В готовом изделии трассировка канала будет изменена в соответствии с рекомендациями в даташите (там для двусторонней платы). Также здесь использовал готовые посадочные места для компонентов из встроенных библиотек KiCAD’а. Отсюда монструозные винтовые клеммники TB-2, которые в реальности в 2 раза уже. Но сейчас надо быстро, а красиво будем делать в итоговой плате.
Про разные «сюрпризы», поджидавшие меня при изготовлении платы можно почитать тут.
После монтажа, отмывки и прозвонки (на предмет обрывов и замыканий там где не надо) плату требовалось проверить. Для этого был взят завалявшийся в закромах светильник. К сожалению, нигде на упаковке не было никакой информации о номинальном токе светильника. Кроме того, светильник был с интегрированным драйвером. Пришлось совершить акт вандализма — разобрать светильник и включиться между драйвером и платой со светодиодами с тем, чтобы померить ток.
Ток светильника оказался в районе 120мА. Далее, рассчитав по нехитрой формуле (из даташита) R = 0.1V/Iout номинал резистора и округлив для пущего удобства, установил на плату в качестве R1 резистор 1 Ом. Токовые шунты (резисторы с номиналами меньше 1 Ома и соответствующими точностями) вещь редкая, поставляется под заказ и кучками в магазинах не лежит, поэтому заказывать их на этапе макета неразумно. На макете необходимые номиналы можно получить параллельным включением резисторов небольшого номинала (1, 2, 3.3 Ом), которые у меня имеются в изобилии. В данном случае нам нужен резистор 0,833 Ом, который можно получить параллельным включением резисторов 1 и 5.1 Ом. Для ленивых (таких, как я) существует онлайн калькулятор параллельного включения резисторов (ссылка). Но так как здесь не имеет значения конкретный ток, то я просто впаял туда 1 Ом, ограничив ток до 100мА.
С платы со светодиодами пришлось отпаять 3 штуки, чтобы понизить рабочее напряжение. Штатный драйвер светильника выдавал напряжение 37В, но мой лабораторный источник выдавал максимум 30В. Пришлось отковырять три диода. Это было нелегко! Плата на алюминиевом основании имеет фантастический теплоотвод и если бы у меня не было паяльной станции с феном — я бы не справился с этой задачей. Но все закончилось хорошо 😉
Итак, светодиоды заработали от нашего драйвера. Это уже хорошо. Следующим этапом будет регулировка яркости свечения и общение по Ethernet с помощью нашей отладочной платы с STM32.