Проблема по осуществлению ультразвукой схемы
В своем проекте я использовал Arduino Uno для получения частоты более 35000 Гц, а выход цифрового контакта был подключен к схеме ультразвукового передатчика:
Однако на передающей стороне он не работает. Вот код Arduino:
void setup()
{
Serial.begin(9600);
}
void loop()
{
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
int pirSenses = analogRead(A1);
int pirOuts=11;
pinMode(pirOuts,INPUT); /*PIR sensor 1*/
int pirSense = analogRead(A0);
int pirOut = 10;
pinMode(pirOut,INPUT); /*PIR sensor 2*/
Serial.println(pirSense);Serial.println(pirSenses);
if (pirOut || pirOuts == HIGH)
{ /*tone produces ultrasonic frequency*/
delay(8000);
tone(13, 50132); delay(100); noTone(13); delay(10);
tone(13,54621); delay(50); noTone(13); delay(50);
tone(13,35689); delay(60); noTone(13);
}
else if (pirOut||pirOuts==LOW)
{
tone(13, 50132); delay(100); noTone(13); delay(10);
tone(13,54621); delay(50); noTone(13); delay(50);
tone(13,35689); delay(60); noTone(13);
}
else
{}
}
И передатчик (модель "MCPCT-G5100-4139") спецификация:
Пожалуйста, помогите мне с этой проблемой. Спасибо!
@user13535, 👍0
Обсуждение1 ответ
Ваша схема драйвера ультразвукового преобразователя работает не очень хорошо. В лучшем случае вы получаете всего несколько милливатт на выходе преобразователя. Ваша схема подает 12 вольт через резистор 2,2 К на преобразователь, а ваш транзистор Q1 просто закорачивает преобразователь.
При просмотре спецификации вашего преобразователя он выглядит как крошечный громкоговоритель, а не пьезоаппарат. Но это нормально.
Попробуйте использовать следующую схему двухтактного драйвера. Я старался, чтобы это было просто, но вам нужно было бы придумать транзистор PNP (в дополнение к вашему существующему транзистору NPN).
Квадратная волна V2 - это ваш 5-вольтовый выход от Arduino.
Кроме того, обратите внимание, что я показал схему драйвера, использующую 5 вольт, а не 12 вольт. Используя эту схему, если вы используете питание 12 вольт, выход не становится более мощным и просто вызывает больший нагрев транзисторов.
ПРАВКА 1 : ВАЖНО : Не оставляйте свой выходной вывод в высоком состоянии. Это включает транзистор Q1 и вызывает постоянный ток в преобразователе. Чтобы облегчить это, вставьте конденсатор емкостью 47 мкФ последовательно с преобразователем.
ПРАВКА 2 : Изменена схема, чтобы включить выходной конденсатор.
Какой конденсатор я должен использовать для этого? Электролитический или поляризационный конденсатор?, @user13535
Вы можете использовать электролитическое. Подключите позитив к эмиттеру транзисторов., @Marla
какова функция конденсатора 47uF? этот конденсатор функционирует как фильтр высоких частот? Спасибо, @user13535
Для блокировки постоянного тока от преобразователя., @Marla
- Максимальная частота цифрового сигнала в Arduino Uno?
- Генерировать 1,7 МГц с PWM в Uno?
- Можно ли сгенерировать точный тактовый импульс 15 кГц с помощью ардуино?
- Изменение частоты вывода ШИМ на Arduino Uno
- Как увеличить громкость динамика с помощью библиотеки Talkie в Arduino Uno...?
- создание анализатора гармоник мощности, который будет измерять амплитуды основной и кратных ей частот (например, 50 Гц, 100 Гц, 150 Гц, 200 Гц,...)
- Выход частоты FG
- Запись данных через PIN-код с определенной частотой
Откуда ты знаешь, что это не сработает? Сначала попробуйте с звуковой частотой., @Gerben
У вас есть самое большее крошечный всплеск попыток после более чем 8 секунд других операций и задержки. Сначала сделайте так, чтобы он передавал непрерывно, и либо используйте оптический прицел, либо проверьте звуковую частоту, как предложил Гербен., @Chris Stratton
На принципиальной схеме показан вывод 3, но ваш код использует вывод 13 - правильно ли вы его подключили? Код в целом имеет мало смысла - проверьте, работает ли он следующим образом:
void setup() { pinMode(13, OUTPUT); tone(13, 10000); } void loop() {}
., @CharlieHanson