创龙教仪-木江鹏 · 2023年08月03日 · 广东

嵌入式教程:2-24 步进电机控制实验

实验目的

本节视频的目的是掌握GPIO模拟输出PWM的方法,学习步进电机的控制原理,并实现步进电机的控制。

实验原理

先来看一下硬件原理图,可看到控制步进电机的管脚分别为:GPIO6[2]、GPIO6[3]、GPIO6[4]和GPIO1[15]。使用的是一路四相五线步进电机,使用的电机驱动芯片是L9110。

image.png

image.png

四相五线步进电机的控制方法有两种,四相四拍和四相八拍。本实验中使用的是四相四拍,称为全步控制。

四相:步进电机中有四组线圈。

四拍:步进电机A,B,C,D四组线圈的通电时序,四拍的驱动正转通电顺序为A-B-C-D-A-B-C-D-……循环往复,-A-B-C-D-四拍为一个循环周期。

五线:步进电机引出的接线数量为五根。

image.png

步进电机工作原理

步进电机是利用电磁铁原理,将脉冲信号转换成线位移或角位移的电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载信号的影响。每给电机加一个脉冲信号,电机就转过一个步距角,带动机械移动一小段距离。

步进电机的速度控制:通过输入的脉冲频率快慢实现的。当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。还可以通过频率的改变而提高步进电机的速度或位置精度。

步进电机的位置控制:靠给定的脉冲数量控制的。给定一个脉冲,转过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。

程序流程

程序流程设计中首先要进行UART2初始化和DSP中断初始化,接着进行矩阵键盘初始化和外设使能配置,然后进行管脚复用配置和定时器初始化,接着初始化定时器中断,最后进行矩阵键盘扫描并控制步进电机的转动。

image.png

管脚复用源码

image.png

管脚复用配置

GPIO复用配置操作直接封装成了函数,使用时,相关函数通过“gpio.h”文件引用。

StarterWare API 接口:GPIOBank0Pin0PinMuxSetup();

方向配置源码

第一个参数时GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的方向

image.png

管脚方向配置

使用StarterWare 的库将 GPIO 口配置为输出或输入。使用时,直接包含“gpio.h”文件即可。

StarterWare API 接口:GPIODirModeSet(SOC_GPIO_0_REGS, 141, GPIO_DIR_INPUT);

数据配置源码

第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平

image.png

数据寄存器配置

使用 StarterWare 的库来设置GPIO的值。

使用时,直接包含“gpio.h”文件即可。

StarterWare API 接口:GPIOPinWrite(SOC_GPIO_0_REGS, 105, GPIO_PIN_LOW);

定时器配置源码

第一个参数是定时器模块寄存器的基地址,第二个参数是用于配置定时器模块。

image.png

定时器配置

使用 StarterWare 的库来配置定时器。

使用时,相关函数通过“timer.h”文件引用。

StarterWare API 接口:void TimerConfigure(unsigned int baseAddr, unsigned int config)

周期配置源码

第一个参数是定时器模块寄存器的基地址,第二个参数是要设置周期的定时器,第三个参数是设置的周期大小

image.png

定时器周期配置

使用 StarterWare 的库来配置定时器周期。

使用时,相关函数通过“gpio.h”文件引用。

StarterWare API 接口:void TimerPeriodSet(unsigned int baseAddr, unsigned int timer, unsigned int period)

定时器使能源码

第一个参数是定时器模块寄存器的基地址,第二个参数是要使能的定时器,第三个参数是配置使能定时器的模式。

image.png

定时器使能配置

使用 StarterWare 的库来使能定时器。

使用时,相关函数通过“gpio.h”文件引用。

StarterWare API 接口:void TimerEnable(unsigned int baseAddr, unsigned int timer, unsigned int enaMode)

操作现象

硬件连接

本实验使用的硬件接口为步进电机和UART2 RS232接口,所需硬件为实验板、仿真器、RS232 交叉串口母母线、USB转RS232串口线和电源。

image.png

(1)使用 RS232 交叉串口母母线和 USB 转 RS232 串口线连接实验板的UART2串口和电脑的 USB口。

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

image.png

串口调试工具调节

(1)先在设备管理器查看串口的端口号;

(2)再设置串口调试工具,

image.png

软件操作

设置好串口调试工具后,在CCS里进行相关操作

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接实验箱并加载程序

点击运行程序,实验板上步进电机开始转动,串口调试终端打印步进电机转动的信息。

Direction 表示转动方向,正方向转动为 Forward,反方向转动为 Backward;

SpeedLevel表示转速,最慢为 0,最快为 5;

按键 7 控制转方向。

按键 8 控制加速。

按键 9 控制减速。

按下按键 7 调转方向,按下按键 8 加速,实验板上步进电机开始反方向转动

image.png

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息