Как создать схему для автоматического подъема / опускания стола с регулируемой высотой?

Aug 16 2020

Задний план

Всем привет, я работаю над небольшим проектом, в котором я могу контролировать высоту стола с регулируемой высотой с помощью микроконтроллера, транзисторов MOSFET и ультразвукового датчика. По сути, я хочу, чтобы пользователь вводил высоту, и стол автоматически настраивался на эту высоту.

Технические подробности

Это тот стол, который я использую. Он имеет только кнопки вверх / вниз и не имеет функций «памяти».

Я пытался использовать это руководство, но поскольку у меня не было легкого доступа к самому двигателю, я решил «заменить» кнопки вверх / вниз на транзисторы MOSFET.

Это является MOSFET я использую. Он имеет пороговое напряжение Vgs от 2 до 4 вольт, которое будет работать с моим микроконтроллером 5 В.

Я открыл блок кнопок и вот как это выглядит.

В разъем JST входят четыре провода.

  • Красный: 30 В
  • Черный: GND
  • Зеленый: Вниз
  • Белый: вверх

Это переключатель с активным высоким уровнем, при котором подключение зеленого или белого к красному будет перемещать стол вниз и вверх соответственно. На схеме ниже показано, как переключатель ( Omron SS-5 ) работает на схеме.

Что я сделал до сих пор

Я вытащил разъем JST и подключил перемычки непосредственно к контактам-розеткам, чтобы создать следующую схему для подъема стола.

Источником напряжения слева является вывод цифрового выхода микроконтроллера. Мне удалось поднять стол, когда штифт был высоким, и перестать поднимать стол, когда штифт был низким.

Изменить (16 августа 2020 г.): я измерил ток от источника транзистора до белого провода, и он на короткое время поднялся до ~ 3 А, и пока стол поднимается (т.е. когда двигатель работает), он выводит ~ 300 мА.

Я также смог сделать то же самое для опускания стола, за исключением того, что вместо этого источник MOSFET был подключен к зеленому проводу.

Моя проблема:

Я поместил другой транзистор как таковой, чтобы делать и подъем, и опускание:

Изменить (15 августа 2020 г.): извините за запутанную диаграмму. На этой схеме ДЕЙСТВИТЕЛЬНО используются два цифровых вывода. Источником напряжения на левой стороне является D2 MCU, а справа - D3 MCU. Контакты имеют общую землю, что является причиной следующей проблемы.

Это, очевидно, создало проблему, потому что истоки обоих транзисторов подключены как к Белому, так и к Зеленому проводу, а это означает, что каждый раз, когда один транзистор включен, оба Белого / Зеленого провода ВЫСОКО. Это эквивалентно нажатию обеих кнопок одновременно, при этом стол вообще не двигается. Я попытался поставить резистор 10 кОм между двумя источниками транзисторов, но это не решило проблему.

Мой вопрос

  • Как мне отредактировать свою схему, чтобы выполнить то, что я пытаюсь сделать?
  • Могу ли я это создать, просто используя транзисторы? или же
  • Нужно ли мне открывать двигатель, чтобы следовать типичным случаям использования транзистора как переключателя?

Я был бы очень признателен, если бы кто-нибудь мог дать совет по моей ситуации :)

Я более чем счастлив прояснить любую путаницу.

Спасибо!

Ответы

1 Neil_UK Aug 16 2020 at 10:22

Короткое замыкание 3 А при запуске двигателя означает, что по белому и зеленому проводам проходит ток двигателя. Ваши полевые транзисторы должны быть рассчитаны на этот ток и должны быть защищены от скачков напряжения при выключении двигателя.

На исходной схеме коммутатора показана конфигурация H-моста. Когда оба переключателя находятся в нажатом положении, на двигатель нет тока. Когда какой- либо из переключателей поднимается, оба проводят ток к двигателю, один источник от 30 В, а другой опускается до 0 В. Ваши предложения полевого транзистора показывают только подтягивание, а не понижение, поэтому ваш двигатель не будет работать.

Вам понадобится либо драйвер H-моста с отключением, либо два драйвера полумоста, чтобы воспроизвести эту функцию. Учитывая необходимый сдвиг уровня и т. Д. И ваши знания в области электроники, было бы разумнее попробовать купить модули ввода логического уровня с выходами, рассчитанными как минимум на 30 В и 3 А.

Вместо полевых транзисторов было бы разумно использовать пару переключающих реле, чтобы делать именно то, что делают переключатели. Зайдите на свой любимый сайт электронной коммерции, выполните поиск по запросу «Модуль реле Arduino» и выберите двухканальный. Они могут питаться от 5 В, дешевы, как микросхемы, не взрываются, как полевые транзисторы (хотя контакты со временем изнашиваются), и имеют достаточную мощность постоянного тока для вашего двигателя 30 В.

2 TonyStewartSunnyskyguyEE75 Aug 16 2020 at 08:29

проблемы с предположениями для дизайна

  • не удалось распознать цель SPDT.
  • не понял Vgs (th)
  • двигатель будет колебаться при 10-кратном номинальном токе или намного больше, чем фактический ток нагрузки, поскольку он, вероятно, не использует максимальный вес нагрузки.

Например, двигатель рассчитан на 1 А, но использует только 0,3 А, за исключением 10x1 = 10 А. при запуске.

  • при выключении возникает дуга и обратная ЭДС двигателя, действующего как генератор, и переключатель как тормоз, а шестерни как фрикционный тормоз с закороченной катушкой для дополнительной нагрузки.
  • Таким образом, вам нужен полумост POWER, который работает с логическими уровнями, используя выход 30 В с силовыми диодами, чтобы справиться с выбросами 10 А или 20 А при быстром реверсировании во время движения.

Проблемы с конструкциями полевых транзисторов

  • вы предположили, что рабочее напряжение Vgs составляет 2 ~ 4 В, но это всего лишь порог, и вам нужно как минимум 2,5–3 порога 100 мкА, чтобы приблизиться к RdsOn для обработки> 10 А, что часто указывается при Vgs = 5, 10 или 12 В.

  • «Полевые транзисторы логического уровня» используют Vgs (th) около 1 В для работы при 3 В для лучшей производительности, в противном случае они нагреваются.

  • вместо драйвера высокой стороны вам понадобится SPDT или полумостовой полевой транзистор

Необходим силовой полумост, который использует вход и выход логического уровня, вероятно, рассчитанный на 30 А, чтобы иметь достаточно маленький Rdson для охлаждения во время запуска. Оба силовых диода, подключенные к каждой шине для зажима обратного хода, должны быть рассчитаны на 10 А.

  • полумост должен иметь небольшое мертвое время между Fwd и Rev, чтобы предотвратить короткое замыкание или эффект сквозного прохода. Это нормально. Но вы должны это обеспечить.

Рекомендации

Определите сопротивление обмотки двигателя и выберите полумостовую ИС логического уровня для управления 30 В / DCR + запас

Убедитесь, что он имеет защиту от запаздывания с входными элементами управления с задержкой RC-диода или задержкой MCU, и убедитесь, что состояние сброса при включении питания выключено.
как насчет защиты от остановки? В случае отказа драйвера или сбоя MCU? Рассмотрим Polyfuse.

Выполните расчет термического сопротивления радиатора и изоляционного изолятора со смазкой.

Это типично для конструкции переключателя стеклоподъемников автомобилей, за исключением большей массы, меньшей скорости, но, возможно, того же тока (?), Утилизированного с автомобильного кладбища! Или сделай сам или купи? это ежедневные решения любого дизайнера сделать / купить.

Наконец, что насчет датчика положения или? Датчик положения для длительного перемещения может быть дорогостоящим, если вы не гений механики, чтобы использовать горшок с 8-миллиметровым ЧПУ или меньшим зубчатым ремнем от линейного движения до редуктора шкива к горшку, а затем считывать напряжение потенциометра как линейное положение, откалибровать и использовать для обратной связи сервопривода. Затем позвольте входным переключателям MCU запоминать состояния, которые вы вводите для позиций, и переключаться вверх следующий и вниз следующий или 1,2,3 +, -. Но дребезжайте переключатели. Чего еще не хватает? Концевые выключатели? Практика STD для станков с ЧПУ.

1 vu2nan Aug 16 2020 at 06:09

Другой вариант - использовать два реле SPDT с номиналами контактов, идентичными существующим микровыключателям SS - 5.

HandyHowie Aug 17 2020 at 07:51

Если на столе всего лишь переключатели, двигатель и реле, не содержащие компонентов, чувствительных к полярности, вы можете просто поменять полярность источника питания. Тогда у вас будет общий 0 В, а не общая шина 30 В.

Затем вы можете использовать 2 транзистора NPN или, возможно, 2 МОП-транзистора типа N, чтобы переключить 0 В на белый и зеленый провода. Очевидно, что вверх и вниз тоже будет наоборот.

Вам нужно будет добавить пару обратных диодов, чтобы защитить транзисторы от обратной ЭДС от существующих катушек реле и двигателя.