实验目的
本节视频的目的是掌握GPIO模拟输出PWM的方法,学习步进电机的控制原理,并实现步进电机的控制。
实验原理
先来看一下硬件原理图,可看到控制步进电机的管脚分别为:GPIO6[2]、GPIO6[3]、GPIO6[4]和GPIO1[15]。使用的是一路四相五线步进电机,使用的电机驱动芯片是L9110。
四相五线步进电机的控制方法有两种,四相四拍和四相八拍。本实验中使用的是四相四拍,称为全步控制。
四相:步进电机中有四组线圈。
四拍:步进电机A,B,C,D四组线圈的通电时序,四拍的驱动正转通电顺序为A-B-C-D-A-B-C-D-……循环往复,-A-B-C-D-四拍为一个循环周期。
五线:步进电机引出的接线数量为五根。
步进电机工作原理
步进电机是利用电磁铁原理,将脉冲信号转换成线位移或角位移的电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载信号的影响。每给电机加一个脉冲信号,电机就转过一个步距角,带动机械移动一小段距离。
步进电机的速度控制:通过输入的脉冲频率快慢实现的。当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。还可以通过频率的改变而提高步进电机的速度或位置精度。
步进电机的位置控制:靠给定的脉冲数量控制的。给定一个脉冲,转过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。
程序流程
程序流程设计中首先要进行UART2初始化和DSP中断初始化,接着进行矩阵键盘初始化和外设使能配置,然后进行管脚复用配置和定时器初始化,接着初始化定时器中断,最后进行矩阵键盘扫描并控制步进电机的转动。
管脚复用源码
管脚复用配置
GPIO复用配置操作直接封装成了函数,使用时,相关函数通过“gpio.h”文件引用。
StarterWare API 接口:GPIOBank0Pin0PinMuxSetup();
方向配置源码
第一个参数时GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的方向
管脚方向配置
使用StarterWare 的库将 GPIO 口配置为输出或输入。使用时,直接包含“gpio.h”文件即可。
StarterWare API 接口:GPIODirModeSet(SOC_GPIO_0_REGS, 141, GPIO_DIR_INPUT);
数据配置源码
第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平
数据寄存器配置
使用 StarterWare 的库来设置GPIO的值。
使用时,直接包含“gpio.h”文件即可。
StarterWare API 接口:GPIOPinWrite(SOC_GPIO_0_REGS, 105, GPIO_PIN_LOW);
定时器配置源码
第一个参数是定时器模块寄存器的基地址,第二个参数是用于配置定时器模块。
定时器配置
使用 StarterWare 的库来配置定时器。
使用时,相关函数通过“timer.h”文件引用。
StarterWare API 接口:void TimerConfigure(unsigned int baseAddr, unsigned int config)
周期配置源码
第一个参数是定时器模块寄存器的基地址,第二个参数是要设置周期的定时器,第三个参数是设置的周期大小
定时器周期配置
使用 StarterWare 的库来配置定时器周期。
使用时,相关函数通过“gpio.h”文件引用。
StarterWare API 接口:void TimerPeriodSet(unsigned int baseAddr, unsigned int timer, unsigned int period)
定时器使能源码
第一个参数是定时器模块寄存器的基地址,第二个参数是要使能的定时器,第三个参数是配置使能定时器的模式。
定时器使能配置
使用 StarterWare 的库来使能定时器。
使用时,相关函数通过“gpio.h”文件引用。
StarterWare API 接口:void TimerEnable(unsigned int baseAddr, unsigned int timer, unsigned int enaMode)
操作现象
硬件连接
本实验使用的硬件接口为步进电机和UART2 RS232接口,所需硬件为实验板、仿真器、RS232 交叉串口母母线、USB转RS232串口线和电源。
(1)使用 RS232 交叉串口母母线和 USB 转 RS232 串口线连接实验板的UART2串口和电脑的 USB口。
(2)连接仿真器和电脑的USB接口,
(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。
串口调试工具调节
(1)先在设备管理器查看串口的端口号;
(2)再设置串口调试工具,
软件操作
设置好串口调试工具后,在CCS里进行相关操作
导入工程,选择Demo文件夹下的对应工程
编译工程
将CCS连接实验箱并加载程序
点击运行程序,实验板上步进电机开始转动,串口调试终端打印步进电机转动的信息。
Direction 表示转动方向,正方向转动为 Forward,反方向转动为 Backward;
SpeedLevel表示转速,最慢为 0,最快为 5;
按键 7 控制转方向。
按键 8 控制加速。
按键 9 控制减速。
按下按键 7 调转方向,按下按键 8 加速,实验板上步进电机开始反方向转动