搜索
bottom↓
回复: 38

单片机能不能把采集的数字信号转换为0-5V的电压输出?

[复制链接]

出0入0汤圆

发表于 2012-7-26 14:43:38 | 显示全部楼层 |阅读模式
传感器采集数字信号,能经过单片机DAC处理为模拟的电压0-5V输出吗?

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

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

出0入0汤圆

发表于 2012-7-26 14:50:54 | 显示全部楼层
DAC。。。。。。。。。。。。。

出0入0汤圆

 楼主| 发表于 2012-7-26 15:38:25 | 显示全部楼层
LS 的意思是能吧   我是想用万用表直接量出来

出0入0汤圆

发表于 2012-7-26 15:42:46 | 显示全部楼层
那,单片机里面需要有个DAC 功能,

出0入0汤圆

发表于 2012-7-26 15:43:22 | 显示全部楼层
E-WALKER  已经说得很明白了,杜娘一下。

出0入0汤圆

 楼主| 发表于 2012-7-26 16:23:42 | 显示全部楼层
就用51带DAC功能的可以吧,推荐一款,另外需要外围电路吗? 滤波之类的.....刚入电子,请多多指教

出0入0汤圆

发表于 2012-7-26 16:42:31 | 显示全部楼层
如果信号变化不快,也可以用PWM模拟DAC输出

出0入0汤圆

 楼主| 发表于 2012-7-26 16:51:47 | 显示全部楼层
如果是采集温湿度呢,估计几秒就要刷新采集一次

出0入0汤圆

发表于 2012-7-26 16:56:08 | 显示全部楼层
专门有这样的产品,把信号采集出来,变成标准的信号输出,输出0-5V,4-20mA,0-10V,0-20mA等,我们公司就有生产这样的东西

出0入0汤圆

发表于 2012-7-26 17:13:41 | 显示全部楼层
JAY 发表于 2012-7-26 16:51
如果是采集温湿度呢,估计几秒就要刷新采集一次

用PWM可以,单片机一般都有PWM,你手头有的话试试便知,坛里的开源的一些线性数控电源也是采用PWM模拟DAC,
带DAC的单片机一般贵些,如果不在意,那用带DAC的单片机更方便

出0入0汤圆

 楼主| 发表于 2012-7-26 17:15:29 | 显示全部楼层
smartmeter 发表于 2012-7-26 16:56
专门有这样的产品,把信号采集出来,变成标准的信号输出,输出0-5V,4-20mA,0-10V,0-20mA等,我们公司就有 ...

我知道,但是成本和稳定性要考虑的

出0入0汤圆

发表于 2012-7-26 17:16:34 来自手机 | 显示全部楼层
数控系统貌似有个PWM模拟电压输出0-10V

出0入0汤圆

发表于 2012-7-26 17:22:04 | 显示全部楼层
ADI就有单片机自带ADC和DAC

出0入0汤圆

发表于 2012-7-26 18:14:51 | 显示全部楼层
PWM有个好处,就是方便隔离,很多时候,输出是要和系统隔离的,这种成品也不贵了

出0入0汤圆

发表于 2012-7-26 18:47:28 来自手机 | 显示全部楼层
JAY 发表于 2012-7-26 16:23
就用51带DAC功能的可以吧,推荐一款,另外需要外围电路吗? 滤波之类的.....刚入电子,请多多指教  ...

STC12C5A60S2 没有DAC 但有4路PWM可以模拟

出0入0汤圆

发表于 2012-7-26 19:15:04 | 显示全部楼层
PWM应该是最实惠的方案了~
DAC通常是某个单片机系列中,偏高端的型号才会有~

出0入0汤圆

 楼主| 发表于 2012-7-26 21:24:42 | 显示全部楼层
gaoyichuan000 发表于 2012-7-26 18:47
STC12C5A60S2 没有DAC 但有4路PWM可以模拟

谢谢 正准备试STC12C5A60S 看看

出0入0汤圆

 楼主| 发表于 2012-7-26 21:27:20 | 显示全部楼层
zgxcom123 发表于 2012-7-26 19:15
PWM应该是最实惠的方案了~
DAC通常是某个单片机系列中,偏高端的型号才会有~ ...

嗯  外加DA芯片成本和板面积是个问题,试试PWM加滤波

出0入0汤圆

 楼主| 发表于 2012-7-29 08:53:55 | 显示全部楼层
PWM 主要是在程序上处理吧

出0入0汤圆

发表于 2012-7-29 09:46:00 | 显示全部楼层
STC12系列的单片机貌似都有PWM输出的,只需要对寄存器进行相关的设置就可以了

出0入0汤圆

发表于 2012-7-29 09:55:45 | 显示全部楼层
本帖最后由 BXAK 于 2012-7-29 09:58 编辑

PWM(5V,占空比50%)   二阶RC滤波后输出   2.5V直流电压 (点击图片看大图)


二阶RC滤波后输出   2.5V直流电压 的纹波(点击图片看大图)

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2012-7-29 11:46:02 | 显示全部楼层
STC12单片机的PCA只能产生8bit的PWM波形  如果我用SHt15做温湿度采集 ,温度测量最低要12位,湿度测量最低8位,这样温度采集是不是就不准确吧

出0入0汤圆

发表于 2012-7-29 15:32:50 | 显示全部楼层
自己用循环/定时器模拟PWM

出0入0汤圆

 楼主| 发表于 2012-7-30 17:44:16 | 显示全部楼层
这软件上处理怎么实现,大虾们给个思路哦

出0入0汤圆

发表于 2012-7-30 20:28:24 | 显示全部楼层
本帖最后由 BXAK 于 2012-7-30 21:49 编辑
JAY 发表于 2012-7-30 17:44
这软件上处理怎么实现,大虾们给个思路哦


STC12C5Axx系列片内资源使用示例集合(C源代码)

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2012-7-30 22:23:36 | 显示全部楼层
BXAK 发表于 2012-7-30 20:28
STC12C5Axx系列片内资源使用示例集合(C源代码)

谢谢BXAK, 比如我采集温度数字信号可以取出一个值,如20C,然后转化0-5VPWM信号输出,温度范围是0—100C,就是20/100*5=1V  这样理解对不对?

出0入0汤圆

发表于 2012-7-30 22:59:00 | 显示全部楼层
JAY 发表于 2012-7-30 22:23
谢谢BXAK, 比如我采集温度数字信号可以取出一个值,如20C,然后转化0-5VPWM信号输出,温度范围是0—100C ...

8位PWM,即256级

如果 温度0~100°C 对应输出信号0~5V,则PWM占空比=(20/100)*256 = 20*256/100

出0入0汤圆

 楼主| 发表于 2012-7-31 09:33:23 | 显示全部楼层
BXAK 发表于 2012-7-30 22:59
8位PWM,即256级

如果 温度0~100°C 对应输出信号0~5V,则PWM占空比=(20/100)*256 = 20*256/100 ...

谢谢BXAK,还有一些疑问,如果传感器能采集两个值,温度和湿度,那是不是就要做两路PWM输出?温度范围若是-40—60C,出现负值,这个占空比也是这样计算?

出0入0汤圆

发表于 2012-7-31 10:06:18 | 显示全部楼层
JAY 发表于 2012-7-31 09:33
谢谢BXAK,还有一些疑问,如果传感器能采集两个值,温度和湿度,那是不是就要做两路PWM输出?温度范围若 ...

可以转正数计算,
-40℃~60℃,范围也是100,
负温时,X=负温的绝对值,PWM占空比=(X/100)*256 = X*256/100
正温或者0℃时,X=正温值,PWM占空比=((X+40)/100)*256 = (X+40)*256/100 = (X+40)*256/100

出0入0汤圆

 楼主| 发表于 2012-7-31 13:33:20 | 显示全部楼层
本帖最后由 JAY 于 2012-7-31 14:59 编辑
BXAK 发表于 2012-7-31 10:06
可以转正数计算,
-40℃~60℃,范围也是100,
负温时,X=负温的绝对值,PWM占空比=(X/100)*256 = X*256 ...


谢谢了,很详细,在程序上我还是犯了致命错误,老是把初始化函数放到while里了,哎 搞得我调试半天,再次感谢

出0入0汤圆

发表于 2012-7-31 23:08:13 | 显示全部楼层
BXAK 发表于 2012-7-29 09:55
PWM(5V,占空比50%)   二阶RC滤波后输出   2.5V直流电压 (点击图片看大图)

  不知道这是用什么软件来做的?是模拟示波器吗?

出0入0汤圆

发表于 2012-8-1 08:03:40 | 显示全部楼层
beijinggood2008 发表于 2012-7-31 23:08
不知道这是用什么软件来做的?是模拟示波器吗?

Multisim仿真软件

出0入0汤圆

发表于 2012-8-13 18:22:00 | 显示全部楼层
very good
头像被屏蔽

出0入0汤圆

发表于 2012-8-13 18:24:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2012-10-18 17:55:26 | 显示全部楼层
现在就是增强单片机教程较少些

出0入0汤圆

发表于 2012-10-18 21:59:35 | 显示全部楼层
very very good

出0入0汤圆

发表于 2012-10-18 22:02:56 | 显示全部楼层
看来数电模电没学好!要努力了!!

出0入0汤圆

发表于 2012-10-19 12:31:27 | 显示全部楼层
你好,你是不是用18B20作为温度探头,然后0-5V输出???

出0入0汤圆

发表于 2013-7-1 23:30:40 | 显示全部楼层
BXAK 发表于 2012-7-30 20:28
STC12C5Axx系列片内资源使用示例集合(C源代码)

太感谢了,正需要这方面的资料
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-26 12:19

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

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