ADC输入电位器主控制器STM32 SPGT62C19B驱动电路LCD显示电机 图2.1控制系统结构框图
2.3 步进电机控制系统软件方案
硬件功能的实现离不开软件的设计与完成。软件设计是步进电机控制系统设计中最重要、最关键的部分,也是本次毕业设计的难点之处。由于本系统使用STM32平台,运用Keil for ARM开发环境,在Keil u Vision软件平台进行开发。本课题软件设计的思想主要是自顶向下,模块化设计,逐一设计各个子模块,分别进行调试,最后的连调整个程序,判断是否达到预期的要求,做出结论。各个部分函数都可相互调用又相对独立可调,保证调试的便利与程序的可读性。
6
第3章 系统的硬件设计
本系统采用STM32作为主控制器,采用ADC输入电位器作为输入部分,步进电机及其驱动电路采用SPGT62C19B型步进电机驱动模块。下面分别对STM32以及相关模块的特性进行具体介绍。
3.1 STM32开发板简介
根据本课题设计的任务要求,须采用STM32作为开发平台,因此本课题设的控制电路由采用 ST 的STM32F103RB 芯片及其外围电路组成。芯片的引脚图如图3.1所示。
图3.1STM32F103RB芯片引脚排列图
1.1.2 STM32F103RB开发板硬件资源特性
采用 ST 的STM32F103RB 芯片*(72MHz,128KB Flash,20KB SRAM,2×SPI,2×I2C,USB,
7
CAN,PWM,2×ADC,3×USART,3 个16 位定时器-8 位/16 位单片机的终结者)
", 工业级设计,可稳定运行于-40 到85 摄氏度 ", 1 个串口 ", 1 个CAN 端口 ", 1 个USB 接口 ", 1 个SD 卡插槽
", 1 个160x128 图形点阵彩色TFT LCD ", 标准 20 针JTAG 口,用于下载与调试
", 1 个可调模拟电压控制用于ADC 输入,用来测试 STM32F103 的模数转换特性。
", 1 只扬声器用于测试PWM 输出。 ", 1 只五向游戏杆,作为开关量输入用。 1 片I2C 器件24C02
已经将芯片所有信号引出,方便二次开发 。
STM32 系列32 位闪存微控制器基于突破性的ARM Cortex-M3 内核,这是
一款专为嵌入式应用而开发的内核。Cortex-M3 内核:英国ARM 公司力推内核,致力于替代8 位/16 位单片机。使用THUMB-2 指令集,32 位性能,16 位密度,与ARM7TDMI 相比,Cortex-M3 内核要快35%,代码减少45%。
STM32 系列产品得益于Cortex-M3 在架构上进行的多项改进,包括提升性
能的同时又提高了代码密度的 Thumb-2 指令集,大幅度提高的中断响应,而且所有新功能都同时具有业界最优的功耗水平。
3.2 步进电机模块
3.2.1 步进电机驱动模块
本设计选用专用的电机驱动芯片SPGT62C19B。SPGT62C19B电机控制模组是为学生以及单片机爱好者学习步进电机和直流电机控制而设计的学习套件。模组采用凌阳SPGT62C19B电机驱动芯片,配置两相步进电机和直流电机各一台,并提供4位LED数码管用来显示电机转速等信息。模组针对SPCE061A单片机设计,可以方便地用排
8
线与SPCE061A精简开发板(即“61板”)连接,可作为单片机教学、产品开发前期验证等辅助工具使用。
模组配备的步进电机为35BYJ26型永磁步进电机,工作方式为双极性两相四拍。步进电机是一种将电脉冲转化为角位移的执行机构。当步进电机接收到一个脉冲信号,它就按设定的方向转动一个固定的角度(称为“步距角”)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率实现步进电机的调速。
SPGT62C19B是低电压单片式步进电机驱动器集成电路芯片,可驱动一台两相步进电机,或者两台直流电机。它带有双路H桥,可分别驱动两个独立的PNP功率管。每一个H桥都有各自独立的使能引脚,因此非常适合于需要独立控制的步进电机驱动系统。SPGT62C19B输出电压可达40v,输出电流可达750mA,由输入的逻辑电平来决定输出脉冲的宽度及频率,所以由这款芯片组成的电机驱动系统将脉冲发生器、脉冲分配器、脉冲放大器合为一体,省去了很多外围器件。
SPGT62C19B的内部由两组完全相同的控制电路组成了两路输出通道。。输入控制信号经前级缓冲后送入片内控制器,然后由控制部分进行处理并驱动晶体管,最后由OUT端口输出驱动信号以控制电机的运行。
SPGT62C19B的控制脚有如下6个:
表3.2.1SPGT62C19B的控制引脚
9
引脚 20 17 16 8 9 10 名称 I01 I11 PHASE1 I02 I12 PHASE2 用途 通道1的电流大小控制 通道1的电流大小控制 通道1的电流方向控制 通道2的电流大小控制 通道2的电流大小控制 通道2的电流方向控制
以通道1为例,控制口I01与I11的不同逻辑组合可使通道1输出端产生不同大小的电流输出:
表3.2.2控制脚I01与I11逻辑组合与输出电流的关系
I01逻辑值 0 1 0 1
I11逻辑值 0 0 1 1 输出电流 Imax 2/3*Imax 1/3*Imax 0 上表中,Imax是输出电流的上限值,它与图 2.3中Vref和Rs的值有关。其关系式为:
Imax = Vref /10*Rs:
PHASE1的逻辑电平值决定了该通道的电流输出方向。PHASE1与电流方向的对应关系
表3.2.3 控制脚PHASE1与输出电流的关系
PHASE1逻辑值 0 1 输出电流方向 OUT1B -> OUT1A OUT1A -> OUT1B 3.2.2 步进电机驱动控制模块
步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距
10