|
楼主 |
发表于 2019-4-8 20:14:00
|
显示全部楼层
本帖最后由 bg1trk 于 2019-4-8 21:48 编辑
1. 传统电源靠电位器调电压和电流,可以通过旋钮指针位置大至估算输出电压。但数控电源旋转编码开关的旋钮指针位置没有什么参考意义,如果开机直接把输出电压设为上次的值有可能意外烧坏负载(电源开机前把负载连到接线柱上),反之如果开机输出电压设为零有些时候用着又不太方便,这个你是怎么处理的。
开机后默认为预置模式,没有输出。屏幕上直读预置电压、电流,转动编码器改变选中位预置值,短按编码器改变预置位。设置好预期参数后,再长按编码器,启动输出。
除非实在马虎大意,不管预置值是多少就启动输出,不存在烧负载问题。这跟传统电源先预调电位器,再按开关启动电源的意思是一样的。而且还可精确读出预置电压,比传统电位器有优势。
2. 整个系统里数据量最大实时性要求最高的就是AD,目前我只把采样速率设为1K/s,也没用太复杂的滤波算法,所以可以把滤波代码写在中断ISR里。以后为改善性能可能会把采样速率提高或用复杂的滤波算法,这样滤波代码就不能写在ISR里了。我的代码目前就是普通的前后台方式,把滤波代码写在后台肯定满足不了实时性的要求,下一步打算上OS,你这部分是如何处理的。
个人认为,这是电源不是测量仪表,AD的结果只用于显示,对AD的实时性要求并不高。(这个构架,AD不参与闭环控制)
即使是您手上的福禄克17B这种专职的测量仪表,也有几百毫秒的延迟,实时性并不高。更何况只是电源的显示部分,值得为减少一点显示延迟而费精力、投成本吗?
我的程序里编码器和按键使用了中断,AD放在主程序的大循环里,屏显更新周期大概几百毫秒,实时性不比普通万用表差,够用了。
|
|