Необходимо «расширить» цифровой сигнал Arduino

digital network

Вот сценарий: У нас есть 1 Arduino Uno, принимающий DMX и преобразующий его в сигнал, который отправляется в цифровом виде (PIN 3). Затем цифровой сигнал поступает на несколько ИК-светодиодов, которые управляют 3200 ИК-свечами, меняющими цвет. Недавно я добавил еще несколько отправителей, и теперь некоторые отправители не работают (даже те, которые работали раньше). Я предполагаю, что это связано с тем, что цифровой сигнал был ослаблен из-за того, что я много раз разделял его.

Я бы хотел добавить еще одну Arduino, чтобы управлять половиной ИК-передатчиков. Очевидно, у меня уже есть кабель, идущий к каждому устройству, но я знаю идеальное место, чтобы «вставить» новый Arduino. Это возможно? Может ли второй Arduino «повторить» или декодировать и перекодировать цифровой сигнал? Если да, то на какие контакты я смотрю и нужен ли мне какой-то специальный код?

Спасибо за помощь!

, 👍1

Обсуждение

Или - могу ли я использовать другой PIN-код на текущем Arduino для питания другой половины отправителей? Он должен быть с поддержкой ШИМ., @Ed Olivett

@AltAir — мы используем специально созданный ИК-передатчик с использованием светодиодных баков от Sparkfun. Мы использовали их в прошлом году без проблем. Проблема теперь происходит после добавления 6 дополнительных баксов в этом году., @Ed Olivett

Можете ли вы предоставить ссылку на устройства, которые вы используете в своих отправителях?, @Majenko

@Majenko - https://www.sparkfun.com/products/13716, @Ed Olivett


2 ответа


Лучший ответ:

1

Сценарий, о котором вы говорите — подключение одного выхода ко многим устройствам — называется разветвлением. Да, контакт GPIO имеет ограниченный объем диска, что ограничивает количество устройств в разветвлении.

Есть две проблемы, вызванные чрезмерным разветвлением:

  1. Избыточное потребление тока от резистивных нагрузок
  2. Избыточная емкость из-за логических нагрузок

Первое очевидно, когда у вас слишком много светодиодов, подключенных напрямую к выходу (конечно, с резисторами). Суммарный ток, потребляемый светодиодами, превышает ток, который может обеспечить вывод ввода-вывода, и либо вывод повреждается, либо светодиоды становятся тусклее, чем хотелось бы.

Последнее более очевидно при работе с коммуникационными сигналами. Избыточная емкость, создаваемая каждым затвором, подключенным к выходу, вызывает эффект фильтра нижних частот, который может отфильтровывать высокочастотные сигналы или искажать формы сигналов путем удаления высокочастотных компонентов и «изгибания» красивых чистых прямоугольных сигналов.

В обычных логических системах обычно используются линейные драйверы или буферы, позволяющие подключать больше устройств к одному сигналу. Обычно используются такие устройства, как 74HC244, который представляет собой 8 буферов в одном чипе. Вы можете подключить входы всех 8 буферов к одному выходу Arduino, и каждый выход из буфера точно отражает вход и может подключаться к большему количеству устройств, чем может Arduino (каждый выход имеет дополнительную 10 мА устойчивую мощность привода, чем Arduino) .

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

схема

,

Так что, похоже, я мог бы использовать некоторые из этих буферов. Это то, что я покупаю или строю?, @Ed Olivett

Это фишка, которую вы покупаете и встраиваете в свой дизайн., @Majenko

хорошо. В общем, я бы купил одно из этих устройств, а затем поместил бы его между Arduino и светодиодными баксами?, @Ed Olivett

Ага. Это верно., @Majenko

У меня есть 28 баксов, питающих 4 ИК-светодиода каждый., @Ed Olivett

где лучше всего купить устройство, о котором вы говорите?, @Ed Olivett

Похоже, что слишком большая емкость искажает форму волны., @Majenko

Для одного-двух лучше всего подойдет eBay., @Majenko


0

Буфер — хорошая идея, каждый контакт на Arduino может отдавать 20 мА, но тогда чип может перегреваться, и вы не можете довести каждый выход до 20 мА, поэтому буферный чип — это то, что вам нужно. Просто учитывайте скорость буфера при отправке данных. Есть много чипов, которые могут это сделать, и многие, которые, возможно, не смогут этого сделать. Так что смотрите на скорость чипа от входа до выхода. Опять же, ардуино может не справиться. Так что подумайте о PIC, некоторые PIC действительно быстры по сравнению с Arduino.

,