Обсуждаем цифровые устройства...
Ответить

Ошибки в компоновке платы с Atmega328P

Пт янв 10, 2020 02:40:40

Доброго всем времени суток!
Хочу поделиться очередным epic fail. Просто когда начинаешь проектировать свои печатные платы о многом не задумываешься, а это важно....
Хотя может проблема и не в этом. В общем история следующая....

Есть контроллер мощной ультрафиолетовой лампы на светодиодах. Светодиоды в количестве 30 штук напаяны на алюминиевую плату. Три нитки по 10 штук каждая.
Вот общая схема платы которая всем управляет
Изображение
Идея простая есть три драйвера светодиодов на основе HV9961LG каждый из них управляет своей ниткой из 10 диодов. Включает/выключает драйвера Atmega328P меняя состояние ноги PD3.
Вот схема драйвером светодиодов
Изображение
Теперь собственно о проблеме.... Так получилось что катушка индуктивности второго драйвера светодиодов находится на рядом с контроллером. На лицевой стороне Atmega328P, под ней на обратной стороне катушка драйвера ledControlB
Изображение
Вот так это выглядит в полусобранном виде:
Изображение Изображение

Теперь собственно о проблемах:
1. Когда подключены все три нитки светодиодов не работает ничего....
2. Если подключены нитки 1 и 3 (катушки индуктивности которых далеко от контролера), то все работает замечательно.... Контроллер может их включить и выключить....
3. Если подключена только нитка 2 (катушка контроллера которой находиться за Atmegа328P), то в момент включения светодиодов контроллер перезагружается или уходит в небытие....
4. Если контролеры светодиодов включить принудительно соединив управляющий вывод (подключенные к PD3 atmega328) проводом с +5V питания, то все три контроллера светодиодов работают корректно.... Все светодиоды горят и ток в нитках правильный....

Ну и собственно вопросы:
1. Действительно катушка индуктивности контроллера светодиодов расположенная на обратной стороне платы за Atmrga328P может приводить к его перезагрузке? Или надо искать дефекты монтажа или еще какие причины?
2. Если к проблеме действительно приводит компоновка платы, то как это можно поправить? Только переделывать плату? Или есть еще какие то варианты?

Re: Ошибки в компоновке платы с Atmega328P

Пт янв 10, 2020 09:17:29

сначала попробовать убрать дроссель в сторону....или переделать этот один драйвер на другую плату...

Re: Ошибки в компоновке платы с Atmega328P

Пт янв 10, 2020 10:44:57

С топологией платы все совсем грустно, например кварц вынесен очень далеко и Reset выведен на разъем ICSP, а разъем на краю платы и т.д.
Это все очень длинные провода, помеха на которых, может нарушить работу МК.
Видел я плату с проводником Reset даже покороче чем здесь, так МК сбрасывался при включении/выключении люминисцентной лампы освещения стола, на котором лежала эта плата. А тут дроссель лежит на МК...
Просто надо:
- подать внешние сигналы управления на драйверы, чтобы они работали независимо от МК
- осциллографом посмотреть картинку на стоке транзистора коммутирующего дроссель и картинку на выводах МК, в частности на Reset и XTAL1, XTAL2.

Re: Ошибки в компоновке платы с Atmega328P

Пт янв 10, 2020 12:08:00

Плата нормально работать при такой компоновке не будет.
У меня в УФ светилке при зажигании ламп Тини 2313 , расположенный в 15см от балласта зависал, если у него было сделано тактирование от кварца, от внутреннего генератора он работает. Хотя кварц стоит совсем рядом с МК. Пришлось плату экранировать. А тут источник помехи практически в миллиметре от МК, еще бы он не глючил. Такие вещи нужно делать либо на раздельных платах , либо, если на одной, то в разных частях платы, позаботившись еще о взаимном расположении.

Re: Ошибки в компоновке платы с Atmega328P

Пт янв 10, 2020 15:07:58

Очень плохо когда силовая дорожка на импульсный преобразователь проходит через кварц и питание контроллера. питание МК и силовой части должно быть разделено и объединяться на входном разъёме.
На RESET ещё можно добавить конденсатор

Re: Ошибки в компоновке платы с Atmega328P

Пт янв 10, 2020 15:21:45

Если к проблеме действительно приводит компоновка платы, то как это можно поправить?

Думаю, данная информация будет полезной:
https://yadi.sk/i/iAz-O2oRfuPPy
https://yadi.sk/i/ULsoJGZMfuPSW

Re: Ошибки в компоновке платы с Atmega328P

Сб янв 11, 2020 09:55:56

сначала попробовать убрать дроссель в сторону....или переделать этот один драйвер на другую плату...

Попробовал... Не помогло... По прежнему 1 и 3 линия работают хорошо, со второй проблемы....
Изображение

Добавлено after 56 minutes 8 seconds:
Ну и еще пара соображений....
Вот картинка с обозначение зон драйверов светодиодов для разных каналов.
Изображение

Если посмотреть на зону канала 3, то да длинная линия reset через нее проходит и кварц в нее попадает.... Но видимо из-за того что индуктивность чуть в стороне это то на работоспособность не влияет!
т.е. если я не покачаю диоды к драйверу 2, а подключаю только к драйверу 3 все работает прекрасно!

Еще момент. Если смотреть на зону канала 2 (с которой все не работает). Да там индуктивность прямо под контроллером и рядом линии XTAL1, XTAL2
Но ведь когда я убрал индуктивность (выпаял с платы и припаял проводами) ничего не изменилось....
Изображение

Т.е. дело не в наводках от индуктивностей?
Что остается, питание? Сейчас это выглядит вот так:
Изображение Изображение

Получается мне только цепи питания переделывать?

Re: Ошибки в компоновке платы с Atmega328P

Сб янв 11, 2020 12:30:12

Неужели гадать, спрашивать и ждать ответа проще и быстрее, чем посмотреть осциллографом что творится на выводах микроконтроллера?

Re: Ошибки в компоновке платы с Atmega328P

Сб янв 11, 2020 12:56:06

Ну собственно вот...
Желтым - питание, голубым - reset
Изображение

Re: Ошибки в компоновке платы с Atmega328P

Вс янв 12, 2020 01:33:13

1. В прошивке сменить кварцевый генератор на внутренний.
2. Непосредственно на (около) выводах МК - питание 6, 5 (4, 3) и на reset (29, 5) припаять керамические конденсаторы 0,1 мкФ с допустимым напряжением >= 16 В.

Если не поможет - переделывать плату.

P.S. А зачем там вообще МК? Включать/выключать группы светодиодов можно хоть кнопками с фиксацией, хоть переключателем на 3 направления.

Re: Ошибки в компоновке платы с Atmega328P

Вс янв 12, 2020 11:06:16

P.S. А зачем там вообще МК? Включать/выключать группы светодиодов можно хоть кнопками с фиксацией, хоть переключателем на 3 направления.

Там еще вентилятор с ШИМ для охлаждения этих диодов, датчик температуры на радиаторе, дисплей с индикацией, таймер ну и управляется все это энкодером
Изображение
Ответить