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
    238,5 KB · Görüntüleme: 64
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.
 
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.

Biliyorum ama benim 100khz in üzerinde bir frekansa ihtiyacım var.
 
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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…