单片机与DSP无位置控制:主程初始化与换相流程详解
9 浏览量
更新于2024-08-31
1
收藏 183KB PDF 举报
在单片机与DSP联合设计的无位置传感器控制系统中,软件流程的设计至关重要。系统的核心部分在于主程序`main()`,该程序首先进行一系列初始化步骤。首先,对DSP内核时钟、预分频器、AD采样时钟、各种外设中断,如PWM和GP10等进行配置,这些设置确保了系统的稳定运行和精确控制。PWM的占空比、不导通相的选择以及D上升沿触发器的触发信号周期都在这里被设定,这些参数直接影响电机的驱动性能。
其次,利用无刷直流电机的模型仿真结果,初始化开环起动时间和换相标志,如Flag,它是一个关键变量,用来表示电机的六个不同换相状态,其值会在0到5之间循环变化。程序会定义两个数组,一个是换相数组Phase[8],记录不同换相状态对应的PWM驱动行为;另一个是不导通相端电压选择数组FloatSelect[8],用于决定何时加载哪个电压到模拟多路开关ADG409上。
在程序初始化阶段,通过读取电机换相表,电机会被暂时锁定在某个位置,此时的PWM占空比较小,以减小电机绕组中的电流,防止启动时的抖动。接着,通过设定换相标志,逐步改变电机的驱动状态。在延时之后,换相标志会递增,程序会从换相表数组中获取下一个值并写入ACTR寄存器,开始电机的启动过程。然后进入一个软件循环,等待中断事件的发生,如定时器中断,标志着换相过程的开始。
当电机达到一定的反电动势阈值后,系统会切换到闭环控制状态,这时DSP会启用CAP中断来检测第一个不导通相的反电动势过零点,以此作为进入CAP中断子程序的触发信号。整个软件流程精心设计,旨在实现对无位置传感器无刷直流电机的精确控制,确保系统的高效、稳定运行。附录中提供了具体的主函数初始化代码,供开发者参考和调试。
2020-05-31 上传
2020-11-15 上传
2020-11-15 上传
2020-11-15 上传
2020-12-10 上传
2020-11-05 上传
2020-12-10 上传
2020-12-08 上传
2020-12-07 上传
weixin_38709466
- 粉丝: 5
- 资源: 969
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库