Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6724|回復: 7
打印 上一主題 下一主題

關於Arduino的PWM脈波寬度調變

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-10-10 15:54:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
想請問各位前輩~! 我想要用Arduino UNO腳位做PWM的輸出(輸出是接 "示波器")  我有查閱一些資料 知道arduino在做PWM輸出時,頻率大約是500HZ,請問是否能改變arduino在做PWM輸出時的"頻率",例如將頻率改成10kHZ,還是說它的頻率是固定的??
2#
發表於 2014-10-10 19:19:15 | 只看該作者
不是固定
是用指令 analogWrite
設定
3#
 樓主| 發表於 2014-10-11 00:04:59 | 只看該作者
回復 2# io64227
analogWrite是改變波寬嗎??
4#
發表於 2014-10-11 15:35:39 | 只看該作者
yes
5#
 樓主| 發表於 2014-10-11 17:47:17 | 只看該作者
謝謝你~! 我知道了~ 不過我是想要改變它的"頻率",不是改變它的"波寬" 它內部本身有500Hz,我想請問能不能將他改成10kHz ??
6#
發表於 2014-10-11 18:02:16 | 只看該作者
頻率
要自己寫 TIMEER
輸出方波
7#
發表於 2014-11-2 11:55:02 | 只看該作者
回復 5# 豪豪


   你可以參考這篇文章http://arduino-info.wikispaces.com/Arduino-PWM-Frequency
8#
發表於 2014-11-21 13:06:58 | 只看該作者
本帖最後由 havy 於 2014-11-21 13:09 編輯

Pins 5 and 6: controlled by Timer 0 in fastPWM mode (cycle length = 256)


Setting    Divisor   Frequency

0x01              1            62500

0x02             8            7812.5

0x03             64          976.5625   

0x04              256       244.140625

0x05              1024        61.03515625


TCCR0B = TCCR0B & 0b11111000 |<setting>;TCCR0B = TCCR0B & 0b11111000 | <setting>;

10kHz 沒有,但有接近的...7.8KHz

可以在void setup() 大括號內加入下面這行

TCCR0B = TCCR0B & 0b11111000 | <0x02>;

再使用pin 56 .

Referencehttp://playground.arduino.cc/Main/TimerPWMCheatsheet

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 14:19 , Processed in 0.195545 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表