自造星球-创客空间  - 讨论区

标题:数字电位器MCP41050的实践

2015年08月19日 星期三 07:38

数字电位器(digital potentiometer,也俗称 digipot),顾名思义,不是用手拧的,而是用某种数字通信机制来控制电位器的阻值。

MCP41050是Microchip公司(对,就是那个生产PIC单片机的)生产的一种数字电位器芯片,具有256级可调范围,使用SPI协议进行通信,MCP41050的最大阻值是50K,同系列的还有10K和100K的。

Arduino对SPI协议进行了良好的封装,API简单易用,此次实践就使用Arduino来控制MCP41050了。

MCP41050的通信协议很简单,总共就两个字节,第一个字节是command,第二个字节是value。command的每个bit定义如下:

Arduino的程序示例:

MCP41050与Arduino的引脚连接关系如下:

Arduino      MCP41050

D10           CS

D11           SI

D13           SCK

GND          VSS

5V             VDD

MCP41050剩下的PA0、PB0和PW0就和普通电位器的三个引脚一样了,我接在数字万用表的电阻档,用于测试。

测试结果还是挺满意的,阻值有一定的误差,实际使用时需要校准。

我本想将其用于LM2596的输出电压调整,这样我就有一个可以使用MCU控制的数字电源了,但很遗憾,MCP41050要求电位器的工作电压范围不能超过供电范围(0-5V),超出此范围就无法正常工作,看来我还得想其他办法了。

参考资料:

MCP41XXX系列数字电位器的数据手册

Arduino SPI参考

 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号