[原创] 【Nucleo+BLUENRG心得】——PWM控制的4~20mA恒流源

qq849682862   2014-12-2 23:20 楼主
打算使用STM32L053的PWM制作一个4~20mA恒流源 先使用mbed简单看看PWM输出吧
  1. #include "mbed.h"
  2. DigitalOut my_led(LED1);
  3. InterruptIn my_button(USER_BUTTON);
  4. PwmOut my_pwm(PB_3);
  5. void pressed() {
  6. if (my_pwm.read() == 0.25) {
  7. my_pwm.write(0.75);
  8. }
  9. else {
  10. my_pwm.write(0.25);
  11. }
  12. }
  13. int main()
  14. {
  15. // Set PWM
  16. my_pwm.period_ms(2);
  17. my_pwm.write(0.5);
  18. // Set button
  19. my_button.fall(&pressed);
  20. while (1) {
  21. my_led = !my_led;
  22. wait(0.5); // 500 ms
  23. }
  24. }
主函数很简单 PWM使用PB_3 初始化输出500HZ、50%占空比 USER_BUTTON控制占空比在25%和75%之间变化 LED每500ms翻转一下 以测试硬件运行正常 下面附上测试图 DS2_QuickPrint2.png 上电初始状态 DS2_QuickPrint3.png 按键一次后 DS2_QuickPrint4.png 按键两次后 IMG_20141202_232829.jpg 为了测试 今儿把示波器挪到电脑桌上了 发现这个位置更合适 就是电脑桌有点小 稍显拥挤 恒流源后续吧 困了 最近又是大降温 真心冷 赶紧钻被窝了 本帖最后由 qq849682862 于 2014-12-10 13:30 编辑
专业从事于在线监测振动、转速、轴振动、位移等,设备管理及故障检测振动诊断系统在线监测点巡检系统-现场动平衡仪-测振仪、便携式测振仪

回复评论 (8)

没有内容啊。
点赞  2014-12-2 23:26
引用: dcexpert 发表于 2014-12-2 23:26
没有内容啊。
你太快了 本来打算保存草稿来着 明晚再写 结果点上发布了
专业从事于在线监测振动、转速、轴振动、位移等,设备管理及故障检测振动诊断系统在线监测点巡检系统-现场动平衡仪-测振仪、便携式测振仪
点赞  2014-12-2 23:39
示波器效果不错
点赞  2014-12-3 00:12
引用: dcexpert 发表于 2014-12-3 00:12
示波器效果不错
DPO
专业从事于在线监测振动、转速、轴振动、位移等,设备管理及故障检测振动诊断系统在线监测点巡检系统-现场动平衡仪-测振仪、便携式测振仪
点赞  2014-12-3 07:43
普源的示波器做的越来越好啦。PWM到4-20mA直接的那一部分电路呢,贴出来给大家看看。楼主是做什么行业的啊,有没有输出0-20mA的比较好的电路啊。因为一般非轨到轨运放好像无法输出0mA的值吧
点赞  2014-12-4 20:05
引用: jishuaihu 发表于 2014-12-4 20:05
普源的示波器做的越来越好啦。PWM到4-20mA直接的那一部分电路呢,贴出来给大家看看。楼主是做什么行业的啊,有没有输出0-20mA的比较好的电路啊。因为一般非轨到轨运放好像无法输出0mA的值吧
0mA不是太好做 最低得有个1mA左右 但是工业用4mA之前都抛掉了
专业从事于在线监测振动、转速、轴振动、位移等,设备管理及故障检测振动诊断系统在线监测点巡检系统-现场动平衡仪-测振仪、便携式测振仪
点赞  2014-12-4 20:19
一般是都用4-20mA的,但看到好多类似设备的资料写的都有0-20mA或者0-5V,不知道怎么做到的,他们用的也是简单的运放
点赞  2014-12-4 20:59
引用: qq849682862 发表于 2014-12-4 20:19
0mA不是太好做 最低得有个1mA左右 但是工业用4mA之前都抛掉了
输出0ma和功耗0ma不是一个概念吧,数控0ma检测比较难.
点赞  2014-12-5 22:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复