Копировать выходной сигнал ШИМ на другой выходной контакт?

Ардиуно Мега 2560

У меня есть устаревшая печатная плата, которая подключает PORTA, контакты = {22, 23, 24, 25, 26, 27, 28, 29} к входу ШИМ набора исполнительных механизмов. Сопровождающий код использовал процедуру обслуживания прерываний для генерации сигналов ШИМ. Это, в свою очередь, вызвало множество других проблем в системе.

Итак, я хотел бы использовать внутренние счетчики Mega & используйте ШИМ, доступный на контактах = {2, 3, 4, 5, 6, 7, 8, 9} & используйте функцию analogWrite(). В настоящее время к этим контактам больше ничего не подключено, но доступ ограничен.

Прежде чем приступить к перепроектированию печатной платы, мне было интересно, можно ли реплицировать выходы контактов {2, 3, 4, 5, 6, 7, 8, 9} на контакты {22, 23, 24, 25, 26, 27, 28, 29}?

, 👍0

Обсуждение

Непонятно, чего вы пытаетесь достичь. Я понял следующее: вы хотите измерить значение сигнала ШИМ на контактах {22, 23, 24, 25, 26, 27, 28, 29}, а затем вывести новый сигнал ШИМ с тем же значением на контакты { 2, 3, 4, 5, 6, 7, 8, 9}. Это верно?, @chrisl

Я хочу сгенерировать ШИМ на контактах {2, 3, 4, 5, 6, 7, 8, 9} с помощью AnalogWrite(), но реплицировать этот вывод на контактах {22, 23, 24, 25, 26, 27, 28, 29}, @DrBwts

Невозможно перенаправить выводы на другие выводы, функциональность вывода закреплена за этим выводом. Вы можете попробовать программную библиотеку PWM., @Jot

Есть ли причина, по которой вам нужен один и тот же сигнал ШИМ на более чем 1 контакте? Почему бы вам просто не подключить один контакт к обеим целям?, @chrisl

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

Внутренне это невозможно. Если контакты с 22 по 29 не используются ни для чего другого, можно припаять перемычки к проставке или непосредственно на печатной плате. В противном случае, как предположил @Jot, программная ШИМ всегда возможна, но достижимая частота будет ограничена., @towe


1 ответ


1

Как писал Джот, вы не можете просто направить сигнал от контакта к контакту внутри чипа/Arduino. Итак, если вы не перепроектируете PCP, что было бы самым чистым способом, или не используете перемычки, что не так чисто, вам придется использовать программное ШИМ. Для этого также есть библиотеки, если вы не хотите писать это самостоятельно, например, библиотека SoftPWM. Эти библиотеки имеют свои ограничения, особенно по частоте. Обязательно проверьте, соответствуют ли они вашим потребностям.

,

завтра проверю связанную библиотеку, спасибо. Есть ли какая-нибудь причина, по которой я не мог соединить контакты вместе?, @DrBwts

Ты можешь. Речь идет только о том, насколько чистым будет решение. Конечно, лучше всего иметь печатную плату, предназначенную для этого. Соединение контактов с помощью перемычек немного менее чистое, но будет работать хорошо (при условии, что эти контакты вам не нужны для других целей)., @chrisl