打印
[技术问答]

N76E003 ADC采集的电压转换为PWM

[复制链接]
1090|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
有没有相关的方法,N76E003 ADC采集的电压转换为PWM,还有N76E003 PWM分辨率是多少。转换的精度怎么样,有没能大神了解过。

使用特权

评论回复
沙发
21mengnan| | 2020-1-12 21:56 | 只看该作者
楼主,你i应该先看看ADC测量的分辨率,然后对应到PWM就行,只要这个一致,分辨率无需太大。

使用特权

评论回复
板凳
21mengnan| | 2020-1-12 22:01 | 只看该作者
12位的ADC,16位定时器产生PWM。你可以看看占空比和周期怎么设置。要满足所有的占空比,下去后的周期能跟上ADC的转换周期,除非你的ADC被c

使用特权

评论回复
地板
yunxiang521|  楼主 | 2020-1-13 12:58 | 只看该作者
周期是跟的上的,就是精度问题,我要达到千分之一左右。8bit 是不是只能最高PWM_CLOCK_DIV_128,1/128如果电压5V的话,只有0.039mV,这样的精度还有差了些。如果能达到千分之1左右的精度就好了,

使用特权

评论回复
5
yunxiang521|  楼主 | 2020-1-13 13:18 | 只看该作者
PWM 16位怎么设置,官方例成里设置的是8位是,最高只有256个级别。

使用特权

评论回复
6
yunxiang521|  楼主 | 2020-1-13 13:22 | 只看该作者
明白了,原来是和16位定时器配合使用

使用特权

评论回复
7
598330983| | 2020-1-13 14:03 | 只看该作者
yunxiang521 发表于 2020-1-13 12:58
周期是跟的上的,就是精度问题,我要达到千分之一左右。8bit 是不是只能最高PWM_CLOCK_DIV_128,1/128如果 ...

DIV那个是分频啊,最大分频128.

使用特权

评论回复
8
598330983| | 2020-1-13 14:08 | 只看该作者
如果12BIT的ADC全部用了,那就是4096个。所以你至少要实现4096个不同的PWM占空比。

使用特权

评论回复
9
598330983| | 2020-1-13 14:09 | 只看该作者
因为ADC的实际分辨率不能真的达到12BIT,你可以约等于10BIT,舍弃最后两位,应该很容易实现到PWM上。

使用特权

评论回复
10
598330983| | 2020-1-13 14:11 | 只看该作者
        PWM frequency = Fpwm/((PWMPH,PWMPL) + 1) <Fpwm = Fsys/PWM_CLOCK_DIV> 
                                                                = (16MHz/8)/(0x7CF + 1)
                                                                = 1KHz (1ms)

这个例子中的注释可以很容易理解的,这个是8分频,然后高低电平值,只要高低电平和能达到12BIT就行,这个例子中看到的,是非常适合,可以实现12BIT的ADC映射到12BIT分辨率的PWM上去。

使用特权

评论回复
11
yunxiang521|  楼主 | 2020-1-13 14:14 | 只看该作者
DVI是分频,PWMPH,PWMPL;这两个不就是周期

使用特权

评论回复
12
yunxiang521|  楼主 | 2020-1-13 14:52 | 只看该作者
对于N76E003的PWM还不是很明白。

使用特权

评论回复
13
yunxiang521|  楼主 | 2020-1-13 15:44 | 只看该作者
弄明白了,

使用特权

评论回复
14
598330983| | 2020-1-13 15:55 | 只看该作者
等楼主做好,说说效果如何。

使用特权

评论回复
15
yunxiang521|  楼主 | 2020-1-13 16:09 | 只看该作者
我大致理解了,N76E003PWM的使用,做好后把效果发出来。

使用特权

评论回复
16
yunxiang521|  楼主 | 2020-1-17 18:03 | 只看该作者
我测试了一下,N76E003的精度应该能达到0.015左右,毕竟是8bit的MCU,
我把3.3V电压分成4096步,只有56步才可以输出40mV的电压,56步以下,电压就输出为0了,加了17步,73步达到56.6mV,2048步电压1.62,4096电压3.27
这是56步以下的电压

这是56步电压

这是73步电压

这是2048步

这是4096步




总体来说,电压的调节在0.015左右,56步以下48步36步30步这些电压全是0,没有变化,只有步数到56步,电压才会有输显示40mV,56步到73之间的电压是56.6mV,60步也是56.6mV,而之间的过度步17也不是固定的。也是有幅度的。
本来以为可以达到0.001左右的精度,看来只能到0.015左右。如果分成65535,电压最小可以达到20mV,精度会更高一些。毕竟是8bit的MCU.这些测试数据是个人测试,如果那里不对希望大牛指点出来。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

100

帖子

0

粉丝