这个用一个集成运放就能实现,看我下面的电路图,那个PWM就是你单片机引脚输出的PWM波,通过你的程序,调节PWM的占空比,使得358的6脚上的电压在 4.4V---0.88V之间,这样,就能输出20---4mA电流,负载就接在P4的地方,切记,358的电源一定要至少在12V上,我画的图是24V的,总之,358的电压越大越好,当然,不能超过30V。
使用专用的pac芯片,gp8102可以实现pwm转4-20ma。或者电流型的dac,GP8202可以实现i2c转4-20ma,这样单片机就很容易控制了。
你去搜索20MA电流环。
有很多成熟方案。