Arduino ile nasıl yüksek frekans üretilir?

kağan cengiz

Centipat
Katılım
21 Mart 2021
Mesajlar
11
Daha fazla  
Cinsiyet
Erkek
Üzerinde çalıştığım bir projede 100 KHz'in üzerinde bir kare dalga sinyalini ihtiyaç duyuyorum o yüzden bunu Arduino UNO ve nano üzerinde tone kodu ile üretmeyi denedim ama tone komutu 16 bit integer kullandığı için sayıyı maksimum 65536 yapabiliyorum yani maksimum 65 KHz frekans üretebiliyorum. Bu yüzden de Arduino üzerinde baska bir frekans üretme yoluna ihtiyacım var ve okuyarak zamanınızı ayırdığınız için teşekkürler.
 

Dosya Ekleri

  • 20220126_043801.jpg
    20220126_043801.jpg
    238,5 KB · Görüntüleme: 62
Son düzenleyen: Moderatör:
AVR'deki ton üretimi de çoğu şey (sleep() mesela) gibi timer'a bağlı olarak yapılıyormuş. Elinde 16 bit bir timer olduğu için maksimum 65535 Hz ton üretebiliyorsun, bu da 16 bitlik tamsayıların limitidir.
 
PWM için mutlak maksimum ~62 KHz.

Zamanlayıcı 8 Bit olduğundan overflow için için 256 tick gerekiyor. 16MHz / 256 =~ 62kHz.

ESP32 ya da STM32F1 / F4 kullanarak bu sorunu çözebilirsin ancak. Çünkü UNO'da bir şekilde 100 KHz alsan bile sistemdeki timer fonksiyonların çalışmayacak.
 
PWM için mutlak maksimum ~62 khz.

Zamanlayıcı 8 bit olduğundan overflow için için 256 tick gerekiyor. 16MHz / 256 =~ 62khz.

ESP32 ya da STM32F1 / F4 kullanarak bu sorunu çözebilirsin ancak. Çünkü UNO'da bir şekilde 100 khz alsan bile sistemdeki timer fonksiyonların çalışmayacak.

Teşekkürler.
 

Yeni konular

Geri
Yukarı