搜索
bottom↓
回复: 24

请问如何用STM32输出32路0-5V可调的直流信号?

[复制链接]

出0入0汤圆

发表于 2022-6-22 15:40:52 | 显示全部楼层 |阅读模式
希望用STM32输出32路独立0-5V可调的直流信号

输出精度要求不高,±0.2V以内,尽量低成本和小体积

请问各位有什么好的方案?谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出90入372汤圆

发表于 2022-6-22 16:02:06 | 显示全部楼层
用PWM来做应该是成本最低的

出90入372汤圆

发表于 2022-6-22 16:06:37 | 显示全部楼层
一片STM32 可以输出30个PWM

出90入372汤圆

发表于 2022-6-22 16:11:41 | 显示全部楼层
还有2个通道用IO来模拟PWM ,加起来够32路了

出0入137汤圆

发表于 2022-6-22 16:19:52 | 显示全部楼层
GP8201               

出0入26汤圆

发表于 2022-6-22 16:38:16 | 显示全部楼层
频率要求不高,两路DAC分时复用就行了。320路都没问题。

出0入53汤圆

发表于 2022-6-22 16:56:39 | 显示全部楼层
xly 发表于 2022-6-22 16:38
频率要求不高,两路DAC分时复用就行了。320路都没问题。
(引用自6楼)

没有理解怎么用的 出来挨320路?

出0入0汤圆

发表于 2022-6-22 17:06:32 | 显示全部楼层
我感觉这个应该写个电流参数要求吧

出0入26汤圆

发表于 2022-6-22 22:24:35 | 显示全部楼层
zhcj66 发表于 2022-6-22 16:56
没有理解怎么用的 出来挨320路?
(引用自7楼)


你参考这个,安捷伦的电源,看DA那部分,用模拟开关+运放,一路DA分时复用出来了6路。如果你的DAC够快,而你又不要求DA更新的速度,就可以参照这种方法扩展出N路出来。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入362汤圆

发表于 2022-6-23 10:13:44 | 显示全部楼层
用32个普通gpio搭成Delta-Sigma就行了, 不需要硬件PWM
单个pin的Delta-Sigma程序如下, 改改就行, 15位精度

DSDAC_Poll放到定时器中断之类场合调用

  1. #include "misc.h"

  2. static struct {
  3.     unsigned short acc;
  4.     unsigned short val;
  5. } g;

  6. void DSDAC_Poll(void)
  7. {
  8.     g.acc += g.val;
  9.     if(g.acc & 0x8000)
  10.         gpio_bit_set(GPIOB, GPIO_PIN_14);
  11.     else
  12.         gpio_bit_reset(GPIOB, GPIO_PIN_14);
  13.     g.acc &= 0x7fff;
  14. }

  15. void DSDAC_Set(unsigned short val)
  16. {
  17.     if(val > 0x7fff)
  18.         val = 0x7fff;
  19.     g.val = val;
  20. }
复制代码

出0入0汤圆

 楼主| 发表于 2022-6-23 10:45:14 | 显示全部楼层
keshipt 发表于 2022-6-22 16:02
用PWM来做应该是成本最低的
(引用自2楼)

谢谢!                  

出0入0汤圆

 楼主| 发表于 2022-6-23 10:46:09 | 显示全部楼层
keshipt 发表于 2022-6-22 16:06
一片STM32 可以输出30个PWM
(引用自3楼)

谢谢回复!准备先用PWM方案试试

出0入0汤圆

 楼主| 发表于 2022-6-23 10:47:09 | 显示全部楼层
pulan 发表于 2022-6-22 16:19
GP8201
(引用自5楼)

谢谢回复,刚刚查了一下数据手册,这个芯片是单路DAC,可能比较占PCB面积,成本也不低。

出0入0汤圆

 楼主| 发表于 2022-6-23 10:47:32 | 显示全部楼层
亽亼 发表于 2022-6-22 17:06
我感觉这个应该写个电流参数要求吧
(引用自8楼)


电流要求不高 几个mA就可以,后面还可以加运放跟随

出0入0汤圆

 楼主| 发表于 2022-6-23 10:48:35 | 显示全部楼层
xly 发表于 2022-6-22 16:38
频率要求不高,两路DAC分时复用就行了。320路都没问题。
(引用自6楼)


谢谢9楼的详细解释!很有参考价值

出0入0汤圆

 楼主| 发表于 2022-6-23 10:49:55 | 显示全部楼层
tomzbj 发表于 2022-6-23 10:13
用32个普通gpio搭成Delta-Sigma就行了, 不需要硬件PWM
单个pin的Delta-Sigma程序如下, 改改就行, 15位精度
...
(引用自10楼)

非常感谢

出0入53汤圆

发表于 2022-6-24 08:09:25 | 显示全部楼层
xly 发表于 2022-6-22 22:24
你参考这个,安捷伦的电源,看DA那部分,用模拟开关+运放,一路DA分时复用出来了6路。如果你的DAC够快, ...
(引用自9楼)

好吧  这个确实可以用1个DAC扩展无限多个

出0入53汤圆

发表于 2022-6-24 08:10:05 | 显示全部楼层
tomzbj 发表于 2022-6-23 10:13
用32个普通gpio搭成Delta-Sigma就行了, 不需要硬件PWM
单个pin的Delta-Sigma程序如下, 改改就行, 15位精度
...
(引用自10楼)

原理图出一个

出0入362汤圆

发表于 2022-6-24 09:11:44 | 显示全部楼层
zhcj66 发表于 2022-6-24 08:10
原理图出一个
(引用自18楼)

这还要啥原理图? 出3.3V的话, GPIO后面加RC滤波就行了
5V的话, 先加HC244,HC573之类把电平提到5V, 后面再RC滤波。

出0入53汤圆

发表于 2022-6-24 10:41:55 | 显示全部楼层
tomzbj 发表于 2022-6-23 10:13
用32个普通gpio搭成Delta-Sigma就行了, 不需要硬件PWM
单个pin的Delta-Sigma程序如下, 改改就行, 15位精度
...
(引用自10楼)

哦  这是搞了一个普通io口的pwm啊

出0入362汤圆

发表于 2022-6-24 11:31:20 | 显示全部楼层
zhcj66 发表于 2022-6-24 10:41
哦  这是搞了一个普通io口的pwm啊
(引用自20楼)

和pwm类似, 不太一样

出0入0汤圆

发表于 2022-6-27 15:26:12 | 显示全部楼层
tomzbj 发表于 2022-6-24 11:31
和pwm类似, 不太一样
(引用自21楼)

能具体讲下吗?

出0入362汤圆

发表于 2022-6-27 19:22:19 | 显示全部楼层
bblythe2019 发表于 2022-6-27 15:26
能具体讲下吗?
(引用自22楼)

https://www.kechuang.org/t/56295

出20入186汤圆

发表于 2022-6-27 20:59:33 | 显示全部楼层
一片CPLD,有几个引脚就有几路PWM,不过最近CPLD涨价了。

出0入85汤圆

发表于 2022-6-28 20:29:22 | 显示全部楼层
我做过16路的,PWM做的,精度完全没问题
https://item.taobao.com/item.htm ... amp;id=609979257526
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 02:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表