作者ykjiang (York)
看板Electronics
标题Re: [问题] 请问单晶片PWM的控制问题
时间Wed Aug 29 23:26:38 2007
刚刚用 Python 写个三行来测试,供参考:
>>> from pylab import *
>>> slices = 256
>>> array((sin(arange(0,2*pi,2*pi/slices))*128)+127.5, dtype=int)
array([127, 130, 133, 136, 140, 143, 146, 149, 152, 155, 158, 161, 164,
167, 170, 173, 176, 179, 182, 185, 187, 190, 193, 195, 198, 201,
203, 206, 208, 211, 213, 215, 218, 220, 222, 224, 226, 228, 230,
232, 233, 235, 237, 238, 240, 241, 243, 244, 245, 246, 248, 249,
249, 250, 251, 252, 253, 253, 254, 254, 254, 255, 255, 255, 255,
255, 255, 255, 254, 254, 254, 253, 253, 252, 251, 250, 249, 249,
248, 246, 245, 244, 243, 241, 240, 238, 237, 235, 233, 232, 230,
228, 226, 224, 222, 220, 218, 215, 213, 211, 208, 206, 203, 201,
198, 195, 193, 190, 187, 185, 182, 179, 176, 173, 170, 167, 164,
161, 158, 155, 152, 149, 146, 143, 140, 136, 133, 130, 127, 124,
121, 118, 114, 111, 108, 105, 102, 99, 96, 93, 90, 87, 84,
81, 78, 75, 72, 69, 67, 64, 61, 59, 56, 53, 51, 48,
46, 43, 41, 39, 36, 34, 32, 30, 28, 26, 24, 22, 21,
19, 17, 16, 14, 13, 11, 10, 9, 8, 6, 5, 5, 4,
3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 5, 6, 8,
9, 10, 11, 13, 14, 16, 17, 19, 21, 22, 24, 26, 28,
30, 32, 34, 36, 39, 41, 43, 46, 48, 51, 53, 56, 59,
61, 64, 67, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96,
99, 102, 105, 108, 111, 114, 118, 121, 124])
※ 引述《strike519 (strike519)》之铭言:
: 我手上有一ATMEL的单晶片
: 可以输出PWM
: 我想把它变成输出经滤波後 波形为SIN
: GOOGLE看了很多东东
: 有很多种方法 其中有一种查表法
: 依照一个使用者定义的阵列来控制PWM的宽度
: 可以请问一下这个表是如何产生的?
: 也辜了很多程式码来看 可是里面都没说明如何取得..
: 每只程式内的阵列内容也都不同 我猜跟载波或是pwm
: 对了我是用C语言写的! 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.124.20