一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: holts
收起左侧

许老师0.3%电桥,换STM8S开工

  [复制链接]
发表于 2012-12-8 22:17 | 显示全部楼层
stc也是10bit ADC,过采样之后,也差不多是12bit
看中stm32是12bit的,过采样之后也许还会提升。明天先测试一下线性度。
stm8的,我手上没有这种芯片。没法测试。建议实测一下线性度,与四位半的表比对即可。
发表于 2012-12-8 22:19 | 显示全部楼层
stm32的PWM实现DAC的精度,我测试过了

STM32F103C8的高频PWM精度                               
钟频        72MHz                       
Vcc        3286mV                       
Period值        9                       
PWM频率理论值        72/(9+1)=7.2MHz                       
PWM频率实值        7.200MHz                       
理论占空比        CCR/(Period+1)                       
输出RC滤波        10k+0.47uF                       
CCR寄存器值        VC86E读数(mV)        实测占空比        理论点空比        误差
0        4        0.0%        0.0%        0.0%
1        296        8.9%        10.0%        -1.1%
2        624        18.9%        20.0%        -1.1%
3        952        28.9%        30.0%        -1.1%
4        1279        38.9%        40.0%        -1.1%
5        1608        49.0%        50.0%        -1.0%
6        1935        58.9%        60.0%        -1.1%
7        2263        69.0%        70.0%        -1.0%
8        2591        79.0%        80.0%        -1.0%
9        2918        88.9%        90.0%        -1.1%
10        3280        100.0%        100.0%        0.0%
11        3280        100.0%               

误差是端口上升速度限制引起的。误差为定值                               
同理,在0.72MHz,误差会降10倍                               
注:端口的非线性内阻引入的测量误差,在本次计算可以忽略                               
本次所得误差是线性的,不是非线性的。                               
端口引起的非线性误差,要在5位半以上的表才易测到。                               



STM32F103C8的高频PWM精度                               
钟频        72MHz                       
Vcc        3304mV                       
Period值        9                       
PWM频率理论值        72/(9+1)=7.2MHz                       
PWM频率实值        7.200MHz                       
理论占空比        CCR/(Period+1)                       
输出RC滤波        3.3k+0.47uF                       
CCR寄存器值        VC86E读数(mv)        实测占空比        理论点空比        误差
0        3        0.0%        0.0%        0.0%
1        297        8.9%        10.0%        -1.1%
2        627        18.9%        20.0%        -1.1%
3        957        28.9%        30.0%        -1.1%
4        1288        39.0%        40.0%        -1.0%
5        1618        49.0%        50.0%        -1.0%
6        1947        59.0%        60.0%        -1.0%
7        2277        69.0%        70.0%        -1.0%
8        2607        79.0%        80.0%        -1.0%
9        2937        89.0%        90.0%        -1.0%
10        3300        100.0%        100.0%        0.0%
11        3300        100.0%               

STM32F103C8的高频PWM精度                               
钟频        72MHz                       
Vcc        3304mV                       
Period值        99                       
PWM频率理论值        72/(99+1)=7.2MHz        0.72MHz               
PWM频率实值        7.200MHz                       
理论占空比        CCR/(Period+1)                       
输出RC滤波        3.3k+0.47uF                       
CCR寄存器值        VC86E读数(mv)        实测占空比        理论点空比        误差
0        3        0.0%        0.0%        0.0%
1        329        9.9%        10.0%        -0.1%
2        659        19.9%        20.0%        -0.1%
3        989        29.9%        30.0%        -0.1%
4        1319        39.9%        40.0%        -0.1%
5        1649        49.9%        50.0%        -0.1%
6        1979        59.9%        60.0%        -0.1%
7        2308        69.9%        70.0%        -0.1%
8        2638        79.9%        80.0%        -0.1%
9        2967        89.9%        90.0%        -0.1%
10        3300        100.0%        100.0%        0.0%
11        3300        100.0%
发表于 2012-12-8 22:21 | 显示全部楼层
可见,做PWM转DAC时,CCR不要置为0字和满字,这两个点上,线性度不好。其它点都是高线性的。
降低谐波失真,要求DAC线性度高一些。
发表于 2012-12-8 23:58 | 显示全部楼层
回复 23# xjw01


    许老师进展令人鼓舞 。如果您再设计电桥,建议上到100K,STM32出100K正弦感觉不吃力。再建议电桥的输入不要采用俄版的方式,俄版原设计的精度在1%的水平,跟不上您的新方案,建议输入使用可编程运放,可以直接用数字控制获得1×;10×;100×;1000×的放大倍率,电路可以简化不少。芯片的价格虽然稍微贵一点40-50元的水平但是总体水平提高不少。周一我把资料传上来。再有STM32的ADC可以同步触法,这样可以使用软件自动补偿放大器的相移同时采用正交采样,放弃原来的相敏检波,从放大器直接输入到STM32的ADC端,电路可以简化一大段。
发表于 2012-12-9 00:03 | 显示全部楼层
回复 13# holts


    自动校准的难度很大,我的想法是使用PC输入参数做校准。再有就是LCR自动识别,这个只要判断相位即可也不复杂,再有就是自动换档,这个自动档用起来会更简洁方便。实际现在很多商品电桥都有这些功能啦。PC校准就是所谓的不开盖校准。
 楼主| 发表于 2012-12-9 00:17 | 显示全部楼层
回复 25# fujiachun

你所说的PC校准, 需不需要在测式端接标准电阻来配合 ?
发表于 2012-12-9 12:30 | 显示全部楼层
回复 26# holts

需要。主要是LCD显示的信息量小,可以显示更大的信息量。
例如零点校准:接入的标准19.8欧,把参数输入PC,PC可以反算扫描,更新内部参数,直到测量值等于19.8欧,这样就不用一点点校准了。
发表于 2012-12-9 13:05 | 显示全部楼层
支持!把许老师的LCR做得更加简单.完美.适用!
发表于 2012-12-9 20:45 | 显示全部楼层
本帖最后由 xjw01 于 2012-12-9 21:01 编辑

回复 24# fujiachun


    今天测试了ADC,采用软件触发方式。
   对线性度测试结果不理想。
1、采用单次采样,误差约2字
2、采用1000次采样,取平均,误差约为1字左右。
3、采用1000次采样,取平均,每次延时10us,误差5字
4、采用1000次采,取平均,每次都进行自校,不管是否延时10us,误差都是1字左右。
5、连续采样读值高,间隔采样读值低

总结规律:
1、连续采样,让ADC不能喘气,线性还可以。读数大。AD不喘气采样,估计是工作电流变大,基准电压下降,引起AD结果变大。
2、长间距采样,实际上相当于当次采样。
3、短间距采样,线性度有问题。除非不断自校准。
因为没有高密度测试,估计这个“经验”还是有问题。



不喘气采样,stm32有个怪现象,PWM输也端子电压会间歇性电压跳变1mV。刚开始,以为是高位表坏了,后来用四位半的表复测,还是那个样子。不过,每次转换前都加上自校准,就不会有这个现象。
发表于 2012-12-9 22:52 | 显示全部楼层
虽然是文盲,也进来兴一下。

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-3-29 05:28 , Processed in 0.044648 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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