创龙教仪 发表于 2023-8-3 16:36

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

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