当前位置:
文档之家› 基于STM32嵌入式模糊PID步进电机控制系统的设计_王虎
基于STM32嵌入式模糊PID步进电机控制系统的设计_王虎
嵌入式实时操作系统在 S TM 32 处理器上的移植及应用。设计出具有良好人机交互界面的步进电机控制器。首先介绍了
整个控制系统的硬件构成,然后分析了模糊 P ID 的控制原理及算法的实现,最后给出了控制系统的软件设计方案。
关键词:步进电机;模糊 P ID 控制;S TM 32 处理器;μC /O S - Ⅲ
步进电机是一种将电脉冲信号变换成角位移的机电 执行元件,它能直接接受 MCU 输出的数字信号,不需要 进行 A/D 转换,因此步进电机在直接数字控制系统中用 得相当广泛。
机械工程师 2014 年第 11 期 139
制造业信息化
MANUFACTURING INFORMATIZATION 仿真 / 建模 / CAD/ CAM/ CAE/ CAPP
c(t)为比较变量。控制器原理图如图 3。
(r t) c(t)
ec e
模糊 控制器
KP KI KD
PID 控制器
执行机构
测量装置
被控对象
图 3 模糊自整定 PID 控制原理图
根据操作人员经
表 1 控制规则表
验,以及模糊规则确定 规则号 e ec KP KI KD
方 法 ,采 用“IF A and B 1 NB NB PB NB PS
1)分别是第 k 和第(k-1)时刻的偏差信号。
2.2 模糊 PID 控制器
如果设定的速度为 Vd,而当前的实际速度为 Vr,则速
度偏差 e(t)=Vr-Vd,偏差变化率 EC(t)=E(t)-E(t-1)。把
速度偏差 e(t)和偏差变化率 EC(t-1)作为控制器的输入
变量,而控制量 KP、KI、KD 为输出变量,编码器实时测量值
制造业信息化
仿真 / 建模 / CAD/ CAM/ CAE/ CAPP MANUFACTURING INFORMATIZATION
基于STM32 嵌入式模糊 PID步进电机控制系统的设计
王虎, 彭如恕, 尹泉 (南华大学 机械工程学院,湖南 衡阳 421001)
摘 要:设计了一种基于 S TM 32 处理器的步进电机控制系统。以自整定模糊 P ID 控制理论为基础,阐述了 μC /O S - Ⅲ
STM32 处理器 STM32F103VET6
功率
步
放大
进
隔离
电
驱动
机
触摸 显示屏
SDRAM
电源 模块
图 1 系统总体结构框图
1.1 STM32F103x 芯片简介 STM32F103x 系列使用高性能的 ARM Cortex-M3 内
核,工作频率为 72 MHz,内置高速存储器(高达 128K 字 节的闪存和 20K 字节的 SRAM),丰富的增强 I/O 端口和 联接到两条 APB 总线的外设。所有型号的器件都包含 2 个 12 位的 ADC、3 个通用 16 位定时器和一个 PWM 定时 器,还包含标准和先进的通信接口,多达 2 个 I2C 和 SPI、 3 个 USART、一个 USB 和一个 CAN。这些丰富的外设配 置,使得 STM32F103x 微控制器适合于多种应用场合:电 机驱动和应用控制、医疗和手持设备、工业应用、可编程 控制器、变频器、打印机和扫描仪等。 1.2 速度测量和显示
例如:
#define OS_TASK_SW() NVIC_INT_CTRL=NVIC_
PENDSVSET;
#define OSIntCtxSw () NVIC_INT_CTRL =NVIC_
PENDSVSET;
#define OS_TS_GET () (CPU_TS)CPU_TS_TmrRd
();
3)OS_CPU_C.C 文件实现了 11 个函数,主要完成任
步 进 电 机 的 驱 动 采 用 的 是 SANKEN 公 司 的 UDN2916LB 驱动集成电路,能够驱动双绕组双极步进电 机。UDN2916LB 适用的电机电压范围为 10~45 V,逻辑 电压不能超过 7 V;通过内部脉宽调制控制器(PWM)可 实现最大 750 mA 的输出电流。系统采用 STM32 的通用 定时器来产生 PWM 脉冲信号,实现步进电机的控制。通 过软件程序来进行步进电机实时速度和给定速度的比 较。根据模糊 PID 控制算法,计算出 PWM 信号的输出频 率,以控制可控硅的通断频率,实现步进电机的加减速。
辑推理系统,可以得出 10 NM NS PM NM NB
控制量的模糊集合为 U= (E×EC)oR, 经过模糊推 理后,需要对模糊 PID 控制器调整的参数进行 清晰化处理,以获得精 确量。模糊量清晰化方 法有很多,如最大隶属 度法、面积法、重心法
11 NM ZO PS NM NM 12 NM PS PS NS NS 13 NM PM ZO ZO NS 14 NM PB NM ZO PS 15 NS NB PM NM NS 16 NS NM PM NM NS 17 NS NS PS NS NM 18 NS ZO PS NS NM 19 NS PS NS ZO NS
等,在本控制器中采用 20 NS PM NM PS NS
最大隶属度法。 3 软件的设计
21 NS PB NS PS ZO 22 ZO NB PS NM NS
软件部分的设计由系统软件和应用软件组成。通过
对 μC/OS-Ⅲ在 STM32 上的移植来完成系统软件的设计,
而应用软件功能的实现是建立在此基础上的。
中图分类号:TP 272
文献标志码:A
文章编号:1002-2333(2014)11-0139-03
Design of Embedded Fuzzy PID Stepping Motor Control System Based on STM32 WANG Hu, PENG Shuquan, YIN Quan
本文所设计的控制系统采用的是带速度反馈的闭环 系统,通过光电测速码盘采集脉冲,作为 STM32 编码器 接口的输入信号,经过数据处理,从而得到步进电机的转 速和转向。
系统触摸显示部分采用带驱动的 LCD 触摸屏。在此 选用 M13201-A0 型 LCD 触 摸 屏 ,它 是 3.2 寸 液 晶 屏 (230),使用 ILI9341 芯片控制液晶屏,通过 TSC2046 芯 片控制触摸屏。在本系统中用 FSMC(静态存储控制器)模 拟 8080 时序与 MCU 进行通信,这样相对于普通的 I/O 接口进行模拟更有效率。 1.3 步进电机的控制
3.1 系统软件设计
为了满足控制器对实时性的要求,在此选用嵌入式
实时操作系统 μC/OS-Ⅲ。μC/OS-Ⅲ移植包括两个部分,
即 μC/OS-Ⅲ系统移植文件和 μC/CPU 移植文件。μC/OS-
Ⅲ 系 统 移 植 文 件 包 括 3 个 文 件 , 即 OS_CPU.H、
OS_CPU_C.C 及 OS_CPU_A.S 文件,这 3 个文件用户不能
进行修改。
1)μC/OS-Ⅲ是可以裁剪的,即当应用程序不需要
μC/OS-Ⅲ内核的某些组件时,可以把这些组件在编译阶
段去掉。这些裁剪工作是通过调整配置文件 os_cfg.h 和
os_cfg_app.h 中的宏定义常量的值实现的。
2)OS_CPU.H 中定义了与处理器相关的宏、常量和数
据类型以及任务切换的执行代码。
(College of Mechanical Engineering,University of South China,Hengyang 421001,China)
Abstract: A stepping motor control system based on STM32 microprocessor is designed. Based on the theory of self-tuning fuzzy -PID ,the transplantation and applications of μC/OS - Ⅲ embedded real -time operating system in STM32 are expounded. The stepping motor controller with good human-machine interface is developed. Firstly, the hardware structures of the control system are introduced, then the theory of fuzzy-PID is analyzed. The soft design ideas of the control system are given. Key words: stepping motor; fuzzy-PID control; STM32 processor; μC/OS-Ⅲ
务堆栈和系统时钟初始化,以及一些钩子函数。
4)OS_CPU_A.S 文件是由汇编语言编写,主要实现了
两个函数:
140 机械工程师 2014 年第 11 期
制造业信息化
仿真 / 建模 / CAD/ CAM/ CAE/ CAPP MANUFACTURING INFORMATIZATION
人字齿轮齿条传动机构的建模与模态分析
THEN C and D”形式,通 2 NB NM PB NB PS
过反复实验对比,可以 确 立 模 糊 控 制 规 则 ,如 表 1 所示。
由模糊控制规则可 以确定模糊关系 R,然后 选择 Mamdani 型模糊逻
3 NB NS PM NB NB 4 NB ZO PM NS NM 5 NB PS PS NS NM 6 NB PM ZO NS NB 7 NB PB ZO ZO PS 8 NM NB PB NB PS 9 NM NM PB NM NS
1.43k
GND
C43 4700p
图 2 步进电机驱动电路