打印
[AVR单片机]

atxmega128a1开发板输出一定范围的电压(可调节的)

[复制链接]
1360|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wpwplbc|  楼主 | 2015-1-7 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
airwill| | 2015-1-7 22:10 | 只看该作者
不知道是什么样个可调范围. 什么样的变化速度.
大体有两种方案,
1. 用多个 IO 口输出电阻网络, 可以快速得到多档电压输出.
2. 用1个定时器 PWM 输出, 经滤波, 得到任意挡较慢速的电压输出

使用特权

评论回复
板凳
wpwplbc|  楼主 | 2015-1-9 09:43 | 只看该作者
airwill 发表于 2015-1-7 22:10
不知道是什么样个可调范围. 什么样的变化速度.
大体有两种方案,
1. 用多个 IO 口输出电阻网络, 可以快速得 ...


        DACA_CTRLA=0x0d;//使能DAC输出到ADC,dacb的通道0和通道1,使能整个DAC
        DACA_CTRLB=0x40;//选择DACB的两个通道
        DACA_CTRLC=0x08;//选择内部1V基准,输送数据为右对齐
        DACA.CH0DATA= 1241;
        DACA.CH1DATA= 1241;
类似这样 对它的寄存器配置  使PA2或PB2口输出电压 范围  可以0~1V  或 其他   主要是我不懂整个过程  或者说原理  想找个实例来帮助理解!!!

使用特权

评论回复
地板
airwill| | 2015-1-9 09:51 | 只看该作者
哦, 没有注意到这个芯片还有个 DAC 外设. 选择内部1V基准可能有点低, 是不是用外部的 AVCC 做基准.
接下来就是寄存器配置了, 不懂整个过程和原理, 没有例程也不要紧.

        DACA.CH0DATA= 1241;
        DACA.CH1DATA= 1241;

反复多看看资料, 要实在看不明白也没关系, 因为那太抽象. 其实就是如上面两行这样改写寄存器罢了. 不断改写不同的值, 拿示波器看输出, 相信很快也能看明白.

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
wpwplbc + 1 赞一个!
5
wpwplbc|  楼主 | 2015-1-11 13:47 | 只看该作者
airwill 发表于 2015-1-9 09:51
哦, 没有注意到这个芯片还有个 DAC 外设. 选择内部1V基准可能有点低, 是不是用外部的 AVCC 做基准.
接下来 ...

好的  谢了  最近也看了不少!!!差不多懂了一些 !!!

使用特权

评论回复
6
mcuzone| | 2015-1-16 14:00 | 只看该作者
有DAC,不够用还可以用PWM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝