打印

设计并制作一个可控输出电流和频率的正弦交流电流源。

[复制链接]
2261|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Majestyer|  楼主 | 2019-5-31 09:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设计并制作一个可控输出电流和频率的正弦交流电流源。


(1)输出端接5Ω电阻负载,输出不失真正弦波电流(有效值)在100mA~1A可调(调节步长ΔIomin=100mA,输出电流频率f=50Hz);
(2)负载电阻为5Ω,当输出电流1A时,输出电流的频率25Hz~75Hz可任意设定,步长为1 Hz;
(3)当f=50Hz,负载电阻从5Ω变到2Ω,要求输出电流保持在1A±10%;而当负载电阻开路时,电路自动切断输出电流并报警;
(4)能显示输出电流值(有效值)和输出电压值(负载两端电压的有效值),且显示相对误差小于10%。

使用特权

评论回复

相关帖子

沙发
tianxj01| | 2019-5-31 10:49 | 只看该作者
本帖最后由 tianxj01 于 2019-5-31 10:54 编辑

按照载波16KHz,1Hz  建立一个0-90°的sin表格,分辨率定256应该足够,最大255代表sin的1,最小0代表sin的0。此表需要4K的存储量,这个一般的8位单片机完全可以满足。比如N76E003
其实,这个sin表,足够你发出1HZ-几千Hz的频率了。
用PWM中断函数读取sin表格,读取的位置,=中断计数*频率数,并刷新PWM数据,同时中断还必须处理四象限过程。这样就在时间上实现了1Hz步长的要求。
单片机输出的PWM驱动功率级PWM。
1A 5欧姆有效值,由于功率不大,所以电流采样电阻则选择5Ω的1/10,为0.5Ω,则实际输出必须是则峰峰值=1.414*5.5*2=15.56V ,输出级至少采用16V以上直流供电。
电流采样数据作为输出目标,对PWM进行PID运算,以实现恒流控制。
当然输出级还必须有半桥驱动、输出滤波电感电容这些都是必须的。
单片机同时完成电流、电压、频率等显示,并设置类似飞梭的控制端口进行数据配置。
鉴于显示信息比较多,建议用12864或同类型的液晶来做。
由于有电流采样值的ADC数据,和PID运算结果,所以很容量得到输出电压有效值,而不需要再进行输出电压采样。用1/10电阻采样,相对误差应该小于1%。
当电流采样低于最低量程的一半,这里应该是50mA,认为负载异常,停止PWM驱动,并警告,至于恢复输出,这里没有给出要求方法。
需要的知识点:熟练掌握单片机PWM、ADC、液晶屏总线驱动、旋转编码器接口知识(个人认为此类仪器最好的人机接口方式)。
掌握浮栅驱动半桥芯片和原理,理解并能实际应用半桥驱动的死区概念,掌握MOS管驱动原理。
掌握并可以实际应用单片机PID控制算法。
这些,应该足够支持你做出这么一个东西了。

使用特权

评论回复
评论
maychang 2019-6-15 22:19 回复TA
@Majestyer :已经有了电压信号,用个电压-电流变换就是了。当然,必须满足你的输出电流要求。 
Majestyer 2019-5-31 12:38 回复TA
我们这边32单片机程序已经差不多了,就是通过定时器每隔一段时间触发一次DAC转换,然后通过DMA发送正弦波码表值给DAC,控制的话用串口控制电流的大小,我们现在对放大电路这块不是很熟悉,卡在了放大电路这一块,大佬们有什么好的解决方法吗 
maychang 2019-5-31 11:16 回复TA
@tianxj01 :从产品设计角度,确实应该显示频率,因为要求频率必须能够设定25Hz~75Hz,步长为1 Hz。否则人机界面就太差劲了。 
tianxj01 2019-5-31 11:10 回复TA
@maychang :主要关键是驱动还简单,就是总线间对接,硬件基本上不牵涉,所以这样的界面,比起LED段位,虽然稍微贵了那么一点点,其实设计难度是降低的。程序水平,这个就不讨论了,毕竟LED段位扫描什么的也需要不错的基本功不是? 
tianxj01 2019-5-31 11:07 回复TA
@maychang :他设计里面,明确有1Hz步进,25-75Hz,很明显这个肯定必须显示,只是设计要求中他自己失误造成遗漏。12864可以显示4行中英文,上面一个漂亮的抬头,下面三行,电压 X.XXV 电流0.100A 频率 50Hz。 又大气,还满屏,真不浪费。 
maychang 2019-5-31 11:02 回复TA
显示内容只有两项:输出电流值(有效值)和输出电压值(负载两端电压的有效值),也就是8位数字(加小数点不过10位),用12864液晶有些浪费了吧? 
板凳
Nivans| | 2019-6-16 09:02 | 只看该作者
tianxj01 发表于 2019-5-31 10:49
按照载波16KHz,1Hz  建立一个0-90°的sin表格,分辨率定256应该足够,最大255代表sin的1,最小0代表sin的0 ...

为什么不需要建立被控制对象的传递函数???感觉PID口诀好坑啊。

使用特权

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

本版积分规则

2

主题

3

帖子

0

粉丝