你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1625|回复: 4

[STM32F412] 【NUCLEO-F412ZG试用体验】+ADC+PWMDAC综合实验

[复制链接]

57

主题

317

回帖

7

蝴蝶豆

论坛元老

最后登录
2020-8-2
发表于 2017-2-24 19:27:41 | 显示全部楼层 |阅读模式
       这次我们来试试每个单片机都有的ADC和DAC,STM32的ADC的功能是非常强大的,首先通道数多达十几条,可以同时进行十几个设备的ADC工作;其次精度达到12位(听说F3系列的位数更高,有十六位,具体多少位我也没仔细查过)。由于HAL库的硬件ADC十分完善,对STM32家族各个型号的支持也非常到位,因此在书写ADC程序时并没有遇到阻碍。这里我选择的ADC通道为PA0,使用杜邦线与电位器连接。
2.PNG 5.PNG
    在调试DAC的时候遇到了问题,F412无法使用F4系列的HAL硬件DAC库,原因是硬件DAC库里面有个器件的宏定义,上面有F405,F407,F415,F429等等,唯独没有F412??而强行添加F412的宏定义进去的话会有21个报错;而在工程配置的C/C++页面改变F412为其它型号的话后果更可怕,会有高达92个报错,究其原因是很多库函数驱动头文件(如stm32f4xx_hal_adc.h stm32f4xx_hal_rcc.h stm32f4xx_hal_tim.h)等是与工程配置的C/C++页面的器件宏定义直接挂钩的,擅自修改会导致海量报错。
3.PNG 4.PNG
    既然硬件DAC在F412板子上面行不通,那么我们可以试试其它方式的“DAC”,相信有人已经想到了,那就是PWMDAC,PWMDAC原理是改变PWM通道的占空比来改变输出效果,与硬件DAC直接改变电压的原理不一样,但实际效果是一样的,并且优点有三:1.PWMDAC的占空比可调范围比硬件DAC的电压可调范围更大,以及占空比精度比硬件DAC的电压精度高;2.由于直流减速电机存在停转电压阈值,当硬件DAC的电压降至停转电压阈值以下时,电机会直接停转而不是跟电压存在线性关系,如果按照模电的理论知识来讲这个现象就是进入死区,而PWMDAC的电压大小一直都是逻辑1参考电压和逻辑0参考电压的快速变换,并不存在停转阈值这个问题,即占空比与电机转速一直是线性关系,不存在死区;3.STM32库函数对PWM的支持以及完善程度都是比硬件DAC要高很多的,对于新手来说硬件DAC的函数参数并不是那么好调,而PWM库函数当中所有可调参数都是清晰明确的,新手玩PWM很快就上手了。这里我使用的PWM通道跟很久之前的一次实验一样,选择定时器3的通道3,即PB0,即F412开发板上面的绿灯。
6.PNG
2.gif
    老规矩,上传一份工程文件+头文件。 工程文件.zip (11.19 MB, 下载次数: 61)

评分

参与人数 1ST金币 +10 收起 理由
zero99 + 10

查看全部评分

<
回复

使用道具 举报

0

主题

2175

回帖

3

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2017-2-25 08:47:57 | 显示全部楼层
顶!!!很好的调试经验!
回复 支持 反对

使用道具 举报

21

主题

358

回帖

158

蝴蝶豆

版主

最后登录
2020-9-21
发表于 2017-2-25 11:34:23 | 显示全部楼层
支持一下


回复 支持 反对

使用道具 举报

10

主题

2210

回帖

8

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2017-2-25 12:19:26 | 显示全部楼层
调试经验!
回复 支持 反对

使用道具 举报

19

主题

1714

回帖

7

蝴蝶豆

论坛元老

最后登录
2020-10-25
发表于 2017-2-25 13:13:11 来自手机 | 显示全部楼层
我说是否升级下cube呀
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版