Я работаю над пользовательской системой панорамирования и наклона, в которой двигатели «панорамирования» и «наклона» будут питаться от пары драйверов двигателей с ШИМ . Другими словами, у каждого двигателя будет свой драйвер. Сами драйверы будут получать команды от arduino nano, которые, в свою очередь, будут получать управляющие входы от джойстика с 4-позиционным переключателем . Двигатели будут включаться только по одному, так как джойстик закрыт.
Пока это довольно легко. Сложность заключается в том, что кабель, который я вынужден использовать, имеет только три проводника для двигателей! Два двигателя должны иметь общий проводник. Я изо всех сил пытаюсь придумать способы питания двигателей, поскольку подача питания на один из них в большинстве конфигураций, которые я придумал, также посылает питание на другой двигатель.
Лучшее, что я мог придумать, это пропустить провод от каждого двигателя через нормально замкнутый переключатель на джойстике, чтобы цепь от неподвижного двигателя замыкалась каждый раз, когда на общий проводник подается питание. В моей голове это имеет смысл, но у меня есть ощущение, что это может поджарить мои драйверы PWM.
Моя другая идея состояла в том, чтобы использовать четыре реле NC логического уровня и пропускать через них провода двигателя на стороне контроллера. Затем я мог бы использовать код для полного отключения «стационарного» двигателя от его драйвера каждый раз, когда включается другой двигатель. Но теперь мне придется иметь дело с некоторыми задержками каждый раз, когда я быстро переключаюсь с одного двигателя на другой. Например, если я иду «вверх», а затем «влево» в быстрой последовательности, реле для «левого / правого» двигателя потребуется время, чтобы выключить и замкнуть цепь.
Ребята, что вы думаете? Это похоже на тип проблемы, которую может решить умное расположение переключателей, но я не могу ее решить.
поместите Arduino и драйверы рядом с двигателями и не объединяйте провода двигателей.
поместите джойстик на конец кабеля и используйте его для переключения резисторов, которые могут считываться одним из аналоговых входов areduinos, чтобы определить, что делает джойстик.
например:
смоделируйте эту схему - схема, созданная с помощью CircuitLab
есть еще один способ подключить два двигателя к 3-проводному кабелю, но в нем используются детали, отличные от выбранных вами.
вместо ШИМ-приводов используйте понижающие модули LM2596 и просто переключайте их между понижающим (положительное напряжение) и повышающе-понижающим (отрицательное напряжение) режимами с помощью переключателей джойстика.
установите предустановленное напряжение на модуле LM2596, чтобы получить желаемую скорость работы.
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Как вы можете видеть, органы управления остаются при торможении двигателя, активация управления «вверх» создает положительное напряжение для двигателя, а активация управления «вниз» создает отрицательное напряжение.
используйте другой понижающий модуль и другую пару джойстиковых переключателей для другого двигателя и заземлите общий провод двигателя.
Учитывая, что у вас двойные переключатели и ваш джойстик 4-позиционный (а не 8-позиционный), так что только одна пара переключателей может работать в любой момент, вы можете сделать это и таким образом.
Это удерживает неиспользуемый провод X или Y закороченным на общий провод, вы можете измерить напряжение на XY и C, чтобы определить, в каком направлении нажимается джойстик, если Arduino должен знать это. а также допускает заземление питания, но жертвует заземлением общего провода двигателя.
Решение Anther позволяет Arduino управлять скоростью и направлением двигателя, но использует только один драйвер двигателя.
BeB00
ядерный чувак
шнедан
BeB00
ядерный чувак
BeB00