无刷直流电机软件的设计_第1页
无刷直流电机软件的设计_第2页
无刷直流电机软件的设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.4.3 控制器软件设计软件设计是控制系统最重要的一个组成部分,软件设计的好坏直接关系着整个控制系统性能的优良,控制系统的软件设计一定要具备实时性、可靠性和易维护性,对此,选择一款简单、方便的开发环境对于系统软件的整体优化以及提高整个系统的开发效率有很大的影响。目前支持 STM 32系列控制芯片且应用比较广泛的主要有 IAR EWARM和 KEIL MDK这两个集成开发环境,本文采用的开发环境是 KEIL MDK,它是ARM 公司推出的嵌入式微控制器开发软件,集成了业界领先的 Vision 4开发平台,具有良好的性能,是ARM开发工具中的最好的选择,适合于不同层次的开发人员使用,尤其是它与我们

2、经常使用的51单片机开发环境 Keil C51的整体布局和使用方法类似,只有一些地方不同,操作起来比较熟练,很容易上手,极大的减小了开发人员的使用难度,缩短了开发周期,提高了开发效率,因此这款KEIL MDK得到了很多人的认可。STM 32的软件开发主要开发方式有2种,就是基于寄存器的开发和基于库函数的开发,其中基于寄存器的开发方式就更51单片机的开发差不多,它是通过直接操作芯片内部的各个寄存器来达到控制芯片的目地,这种方式较直观,程序运行占用的资源少,但对于 STM 32这种寄存器数目非常多的芯片来说,采用寄存器的开发方式会减慢开发速度,还让程序可读性降低。而基于库函数的开发方式则是对寄存器

3、的封装,它向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口,这种方式大大降低了使用 STM 32的条件,不仅提高了开发效率,而且程序还具有很好的可读性和移植性,因此本文采用的是基于库函数的开发方式,编程语言全采用 C 语言。4.3.1 主程序设计无刷直流电机控制系统的软件设计主要是由主程序和中断服务子程序两大部分组成,主程序基本是完成系统初始化,电机启动、停止信号检测以及 PWM 定时器的打开与关闭等工作。系统开机上电,首先对系统中要用到的各个模块进行各项的初始化准备工作,主要包括系统时钟的配置、系统定时器的配置、系统中断向量的配置、PWM 输出定时器的配置、通用GPIO端口的配置、霍尔位置检测定时器的配置、电流电压检测ADC的配置以及DMA通道配置等等。系统初始化完成后,等待电机启动,检测到电机启动信号时,开启 PWM 定时器,电机开始运行,随后循环检测电机停止信号,当检测到电机的停止信号时关闭 PWM 输出,使电机停止运行。系统软件主程序流程图如下图所示。4.3.2 中断子程序设计中断服务子程序是一个系统控制软件的核心,为了保证该系统能够正常工作,要求控制电路能够非常准确、及时地检测出电机的位置信号,以保证电机绕组的正确换相,同时还要实时的检测电机运行过程中的电流及转速,因此把对电机转子位置信号的检测以及电机转速和电流的检测都放到中断服务子程序中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论