Проблема Arduino Pro Mini PWM

Я хочу создать небольшой драйвер / контроллер светодиодной ленты с 2 каналами (холодный / теплый белый), используя Arduino Pro Mini (5V / 16MHz). Я соединил детали по следующей схемеschematics У меня есть контакты 5 и 6, настроенные в качестве выхода, управление ими осуществляется через analogWrite, и все это отлично работает на Arduino UNO.

Проблема возникает с Arduino mini pro. Когда один канал установлен на 255, а другой - на 0, светодиодная лента горит только одним цветом, что нормально, и когда я меняю значения канала PWM, другой светлый цвет начинает светиться. Пока все идет хорошо. Когда я устанавливаю оба значения в 0, полоса продолжает светиться примерно на 30% (у меня нет прицела, поэтому я не могу сказать, что делает шим-сигнал). Изменение ШИМ каналов в диапазоне 0-255 каким-то образом влияет на свет, но он никогда не снижается до полного выключения.

Глядя на arduino uno и pro mini, я не вижу ничего очевидного, что заставило бы их действовать по-другому с точки зрения аппаратного обеспечения, поэтому я предполагаю, что в библиотеках есть проблема или, возможно, мой arduino pro mini (клон) каким-то образом испорчен.

Кто-нибудь наблюдал такое поведение в Arduino pro mini и имеет для этого решение?

Edit: Добавлены некоторые измерения по запросу @Abel. Я измерил как постоянный, так и переменный ток с подключенной светодиодной лентой и без нее.

Подключение светодиодной ленты действительно все портит, но ПОЧЕМУ? UNO может справиться с этим, но pro mini - нет! Я думал, что mini был в основном просто уменьшенным arduino uno (оба имеют одну и ту же SMD-версию MEGA328P), но, видимо, есть некоторые различия. DC/AC readings

, 👍1

Обсуждение

проверьте свои характеристики светодиодной ленты. возможно, вам придется изменить частоту ШИМ., @Abel

@Abel, отличается ли частота ШИМ между UNO и pro mini? Как я уже сказал в своем вопросе, тот же код отлично работает на плате UNO, но не на pro mini. В обоих случаях я использовал штифты 5 и 6., @Aleš Kovářík

@Juraj - проблема в pro mini - ссылка на конкретную плату есть в моем вопросе - нажмите на слово "клон"., @Aleš Kovářík

есть много вещей, которые могут быть неправильными. без спецификаций светодиодной ленты я не могу определить. 1) частота может отбрасывать что-то в вашем собственном регулировании напряжения (вы в основном качаете "заземляющую" сторону). 2) pro mini logic напряжение может быть ниже (люди все время смешивают 3,3 В и 5 В). добавьте к этому свою тягу к земле, и ваши силовые МОП-транзисторы могут не реагировать должным образом. (не нужно тянуть выходную логику), @Abel

@Abel полоса такая: https://www.aliexpress.com/item/33005175470.html (5050 CCT, 12В). С моей первой попытки я не использовал МОП-транзисторы. Я использовал транзистор TIP120 Darlington, который не имел тяги 10k, и именно тогда я впервые заметил странное поведение. Тогда я не пробовал это делать с Arduino UNO и решил переключиться на МОП-транзисторы. Что касается варианта Arduino mini. Я почти уверен, что у меня есть 5 В (я проверил напряжение на контактах и надписи на кристалле). Я попытался изменить тип платы на 3,3 В в Arduino IDE - кроме синхронизации на последовательной линии, ничего не изменилось., @Aleš Kovářík

если кристалл проверится, то, скорее всего, он будет 5В. если у вас есть счетчик, переведите его в режим переменного тока и посмотрите, что происходит с шим-сигналами. Он сообщит о VRMS, но это все равно лучше, чем ничего. Сравните то, что вы видите на uno vs mini pro., @Abel

Показ фактической проводки может что-то показать., @timemage

Дважды проверьте проводку и значения резисторов. Дважды проверьте паяные соединения на вашем pro-mini (при условии, что вы сами припаяли заголовки). Пошевелите всеми своими соединениями на макете., @Gerben


3 ответа


0

Хороший чистый дизайн! Давайте точно определим, какое напряжение он выводит на МОП-транзисторы. Напишите очень простой скетч, который циклически вращает штифт каждые несколько секунд и измеряет напряжение. Вы должны получить землю и VCC. Если он меньше 4,5 вольт (включая защитную ленту), ваши полевые транзисторы создадут вам проблемы, так как они не будут должным образом усилены. Вот почему: IRF520 - это силовой МОП-транзистор с коллекторным током 9,2А и пробивным напряжением 100 В. Моп-транзистор имеет низкое пороговое напряжение затвора 4 В и поэтому обычно используется с микроконтроллерами, такими как Arduino, для переключения сильноточных нагрузок. Возможно, вам придется приобрести другой МОП-транзистор с более низким порогом затвора. Обратите внимание, что существуют некоторые различия в устройствах, поэтому они не будут одинаковыми, но будут соответствовать спецификации. Тянущие резисторы 10K являются отличным дополнением и гарантируют ваше состояние во время сброса до тех пор, пока оно не будет настроено.

,

1

Благодаря комментариям, которые я получил от нескольких человек здесь, я вчетверо проверил проводку и в конце концов обнаружил проблему. Мои недавние тесты Arduino Uno проводились на макетной плате, но у меня был прототип Pro Mini, припаянный к прототипной плате с отверстиями, соединенными столбцами на медной стороне. Я сделал надрезы во всех необходимых местах ... но один! Это единственное упущение вызвало короткое замыкание между контактом 6 и сливом из МОП-транзистора другого канала. Проблема с этими платами заключается в том, что детали находятся на одной стороне, и, переворачивая плату на медную сторону, слишком легко заблудиться во всех колоннах и что-то пропустить. Мораль этой истории такова: "Никогда не будьте слишком уверены в своей проводке / пайке" и "Arduino довольно устойчив к моим попыткам испортить его :)".

,

0

Купите хороший цифровой прицел. В наши дни они невероятно дешевы и довольно быстро окупают себя за счет уменьшения разочарования и времени на раскручивание колес. Недавно я получил двухканальный 110 МГц Hanmatek DOS1102, и с тех пор я не использовал свой старый аналоговый Tek2236

,