Robofun 機器人論壇
標題:
請問如何修改analogWrite 改變PWM輸出頻率
[打印本頁]
作者:
thumbd72034
時間:
2015-10-8 11:31
標題:
請問如何修改analogWrite 改變PWM輸出頻率
請問arduino所產生的
PWM
要如何調整頻率呢?
arduino analogWrite內定的PWM時間週期似乎2ms輸出PWM為500hz
目前是想把500hz,調降到100hz
有哪些方法呢?
作者:
超新手
時間:
2015-10-8 12:48
http://playground.arduino.cc/Code/PwmFrequency
在UNO 上試過 OK, 其他就不一定了
不過他的倍數有限制, 大部份是 2^N 次方
裡面有寫各接腳的限制
作者:
hrean
時間:
2015-11-2 15:00
這個主題我之前有研究過
在Arduino現有的API是不能改頻率
只能直接改Atmega MCU的暫存器,改變除頻的量
以Arduino UNO為例,pin 5 的 PWM 輸出是從 timer 0 所產生的
原始的除頻量是64
雖然可以除頻量,不過不能微調,只有幾個選項可以選 (如下表)
pwm.jpg
(63.37 KB, 下載次數: 295)
下載附件
2015-11-2 14:56 上傳
要如何才能夠改CS00~CS02?
可以使用bitWrite()函式來做,範例如下:
bitWrite(TCCR0B, CS00, 1);
bitWrite(TCCR0B, CS01, 0);
bitWrite(TCCR0B, CS02, 1); //修改除頻量為 1024
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2