Как создать аналоговый сигнал, аналогичный импульсу PMT(Фотоумножитель), используя аналоговую запись?
Я разработал схему для обработки выходного импульса PMT, для тестирования мне нужен искусственный сигнал, аналогичный импульсу PMT.Как я могу использовать analogWrite() для создания такого типа сигнала.
2 ответа
Лучший ответ:
Короткий ответ: Вы не можете.
Arduino вообще не может выполнять аналоговый выход, а тем более сопоставлять определенную аналоговую форму сигнала длительностью ≈40 нс.
ШИМ на Arduino имитирует постоянные аналоговые напряжения, используя прямоугольные импульсы с переменным рабочим циклом. Он не поддерживает создание аналоговых сигналов любого типа, тем более с такой короткой продолжительностью.
Обновление
Как упоминалось в этой теме: Создайте вход пандуса с помощью Arduino Uno
Вы можете использовать лестницу резисторов для создания собственного ЦАП, а затем использовать прямое управление регистром портов (не цифровую запись), чтобы установить контакты, управляющие лестницей резисторов, и получить приблизительное приближение формы сигнала.
Я очень сомневаюсь, что ардуино на базе AVR могли бы это сделать.
Arduino на базе SAMD21 действительно имеют ЦАП, но время их преобразования составляет около 2,85 мкс. Их таймер/счетчики могут работать с тактовой частотой 96 МГц, то есть около 10,5 нс/такт, но дадут квадратный импульс (который может выродиться или не выродиться в то, что вам нужно 8-).
В целом я не думаю, что Arduino является подходящим инструментом для этой работы. Может быть, что-то вроде Teensy 4.0 могло бы это сделать, но я мало что знаю о них.
- Есть ли способ воспроизводить звуки с Arduino без использования звукового экрана?
- В чем разница между analogWrite и digitalWrite?
- Какова частота PWM-выхода на Arduino
- Как вывести истинное аналоговое напряжение на выходной контакт
- Отправка значения с одного Arduino на другой
- Проблема с выходным контактом ШИМ (PWM)
- Пассивный зуммер работает с AnalogWrite(), но не с DigitalWrite(). Он также имеет постоянный статический шум.
- Не могу контролировать скорость двигателей постоянного тока с помощью analogWrite()
Вы имеете в виду, что ищете способ генерировать импульс, как на картинке? Длительность импульса составляет 40 нс. Семейству плат Arduino AVR будет нелегко это сделать!, @Mikael Patel
Или вы имеете в виду каскад импульсов со случайной шириной, длительностью и задержкой? Все в пределах микросекунд., @Mikael Patel
Частота ШИМ Arduinoboards обычно составляет 490 Гц, что означает, что самые короткие импульсы с использованием "аналоговой записи(вывод, 1)" будут длиться 8000 нс., @RJPlog
Вы могли бы записать 200 NOPs по 62,5 нс каждый, предполагая тактовую частоту 16 МГц (минус накладные расходы)., @Zunzulla alagaty