极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10650|回复: 6

求教如何输出一个75k Hz 的PWM波?

[复制链接]
发表于 2014-6-15 23:24:57 | 显示全部楼层 |阅读模式
求教,作业要设计一个buck converter, switching frequency 是75k Hz. 老师要求这个平台从来没接触过,在论坛中看了一天也没找到具体怎么设置
请问如何生成 75kHz 50% duty cycle 的 PWM 波啊? 导师让我找示例自己调试,可是在英文官网上没有发现类似的example,请问有人能帮助下吗
回复

使用道具 举报

发表于 2014-6-16 03:32:25 | 显示全部楼层
試試 tone()這個函數吧!!
語法: tone(pin引腳,frequency頻率)
回复 支持 反对

使用道具 举报

发表于 2014-6-16 06:34:29 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2014-6-16 14:08:23 | 显示全部楼层
看这个,里面有源码下载:
http://www.makezine.com.tw/make-2599131456/make-projectsarduino
回复 支持 反对

使用道具 举报

发表于 2014-6-16 14:10:36 | 显示全部楼层
弘毅 发表于 2014-6-16 06:34
可以看这篇帖子。http://www.geek-workshop.com/thread-9595-1-1.html

#include <PWM.h> 这个类里面有可以设置波形占空比的方法吗?
回复 支持 反对

使用道具 举报

发表于 2014-6-16 15:08:31 | 显示全部楼层
这种情况下直接配置寄存器比较方便,用16位定时器输出PWM,以arduino uno为例
  1. void setup()
  2. {
  3.     pinMode(9, OUTPUT);
  4.     //快速PWM 模式14 不分频
  5.     TCCR1A =  _BV(COM1A1) | _BV(WGM11);
  6.     TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10);
  7.     ICR1 = 213;        // 16MHz / 213 ≈ 75KHz
  8.     OCR1A = 107; // 107 / (213+1) = 50%
  9. }


  10. void loop()
  11. {

  12. }
复制代码
数字9脚输出75KHz 占空比50%的方波。
回复 支持 反对

使用道具 举报

发表于 2014-6-16 16:44:37 | 显示全部楼层
楼上正解~~~~~~~~~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-13 21:31 , Processed in 0.037786 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表