как создать sinewave 40kHz?

yerigoth
Offline
Зарегистрирован: 14.05.2013

Привет форумчанам!

Есть видео, на котором показано, что чел сделал на arduino генерацию синусоидальной волны.
А вопрос, можно ли сделать волну 40kHz с помощью arduino?
 

yerigoth
Offline
Зарегистрирован: 14.05.2013

Я наверное ошибся, эту тему надо бы в разделе "Программирование" создавать. :)
Модератор, если увидите, то перенесите пожалуйста.

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

поиск юзаем и находим: Генератор синусоиды на Arduino

 

yerigoth
Offline
Зарегистрирован: 14.05.2013

Спасибо за ответ. В принципе я понимаю, что сделать синусоиду не проблема, вопрос именно в том, сможет ли она 40kHz потянуть? Из википедии ясно, что тактовая частота контроллера Arduino - 8Mhz. То есть я так понимаю - 40kHz без проблем синусоиду потянет, так?
Сорри за глупые вопросы, я просто в программировании шарю, а в железе ни бум-бум. Но очень хочется начать, поэтому такие вопросы. Так что, если можно, ответьте пожалуйста.

yerigoth
Offline
Зарегистрирован: 14.05.2013

Погуглил, нашел. Спасибо. Проще генерить сигнал dds микросхемой.

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

можно вообще на ОУ собрать генератор синуса, если конечно не надо там прогамно частоту менять или еще чо нить

yerigoth
Offline
Зарегистрирован: 14.05.2013

А что такое ОУ?
У меня вообще задача - по стороннему сигналу (или по нажатию кнопки, допустим) генерить сигнал частотой 40kHz в течение 50-500мс (жестко заданное время) и потом отключаться. Паять самому что-то хочется по минимуму. То есть взять dds микросхему надо. Еще что нужно будет?

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

тырнет все знает: DDS генератор на AVR. там до 80 кГц

ЦАП они на резисторах замутили и, скорей всего, синусоиду протабулировали(можно так и пилу замутить), чтобы уйти от математики.. а вывод в порт у нас вроде 1 цикл занимает, т.е. запас на логику еще остается

задержку точную можно сделать с помощью таймера  ... пока таймер пашет, выдаешь с таблицы на матрицу резисторов нужный код.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

При желании, если не ошибаюсь, на леонарде можно и ШИМом замутить, потому как там есть волшебный модуль PLL, позволяющий подать на таймер много больше мегагерц. Но точно не скажу - нужно крить даташит. Ну а самое простое (можно на любом контроллере) - это конечно ЦАП на резисторах.