В настоящее время я работаю над проектом, в котором я использую ШИМ на Arduino для пропорционального управления соленоидом. Я разрабатываю устройство, которое будет играть на пианино. Я хотел бы, чтобы он максимально точно имитировал движения рук, и PWM — мой лучший шанс в этом.
В настоящее время у меня есть схема, в которой я использую 3 вывода от Arduino и последовательно соединяю их через 3 сдвиговых регистра, что дает в общей сложности 24 выхода. У меня возникли проблемы с поиском подходящего MOSFET, который может обрабатывать действие PWM. Соленоиды рассчитаны на 12 В и 1 ампер. Из того, что я обнаружил, эта схема довольно проста, но из других проектов, которые я видел, они не используют выводы ШИМ, а просто включают и выключают соленоиды без переменного прикосновения.
Я просматриваю таблицы данных и чувствую, что 5 В, поступающих от Arduino, было бы недостаточно, если бы рабочий цикл был слишком низким, поскольку это привело бы к падению напряжения ниже порогового значения.
Прошу прощения, что не разбираюсь в этом, я инженер-механик, а вся эта электротехника — черная магия :). Связал картинку, надеюсь. Это просто грубая идея, которую я придумал во время fritzing, поэтому ничего не помечено, но должно быть нормально, чтобы следовать.
Спасибо за любую помощь, которую вы можете оказать.
Похоже, что могут быть некоторые проблемы с вашей схемой. Меток нет, так что это всего лишь предположение, но похоже, что ваши мосфеты находятся на высокой стороне. Вы захотите использовать N-канальные полевые транзисторы, они лучше. Погуглите "переключатель MOSFET с низкой стороны". Во-вторых, эти диоды наоборот. Они не должны проводить ток, когда на соленоид подается питание. В-третьих, рассмотрите возможность использования в будущем обычной схемы, она гораздо более удобочитаема.
Теперь перейдем к самой проблеме..
Будет сложно создать ШИМ-сигналы достаточной частоты при использовании регистра сдвига для вывода. У вас достаточно контактов для прямого управления выходами, поэтому я бы просто сделал это.
Любой мосфет может «справиться» с ШИМ. Но включать и выключать их может быть немного сложно. Если вы тщательно выберете MOSFET, а ваша частота ШИМ несколько низка (<1 кГц), вы сможете управлять затворами MOSFET напрямую с помощью Arduino. Затвор mosfet в основном представляет собой конденсатор, и вашему Arduino требуется время, чтобы зарядить его. Если частота ШИМ слишком высока, MOSFET задержится в промежуточной зоне и перегреется.
Недешевым, но очень надежным решением этой проблемы является использование микросхемы, называемой «драйвером затвора». Они просты в использовании и могут проталкивать/вытягивать несколько ампер в затвор MOSFET, чтобы включать и выключать его очень быстро. Я часто использую IXDN614PI .
Если вы хотите управлять мосфетами напрямую с Arduino, вам нужно будет найти мосфет «логического уровня». Это удивительно сложно сделать. МОП-транзисторы будут указывать Vgs (th), который является порогом включения, но вам нужно подняться выше, чтобы мосфет работал эффективно. Например, MOSFET с Vgs (th) 5 В не будет работать с сигналом 5 В. Вам понадобится больше, как 2 вольта. Для каждого мосфета вам придется заглянуть в техническое описание, чтобы выяснить, будет ли он работать (прощай, параметрический поиск). Если вам повезет, сопротивление (Rds(on)) будет указано для 5 В, но, скорее всего, вам придется искать его в таблице. Так:
Диаграмма взята из техпаспорта на PSMN017-30PL,127
И последнее, вы всегда должны добавлять резистор высокого номинала 50 ~ 100 кОм, притягивающий затворы MOSFET. Это гарантирует, что мосфеты останутся выключенными, если вы не включите их намеренно.
Дуэйн Рид
Марко Буршич
Сим Сон
Сим Сон