本文选择MSP430G2231为Launchpad核心板的单片机,采用Launchpad核心板加底板的形式,对步进电机进行控制。滑变,即滑动变阻器,用来控制电机的转速,本系统共有两个拨动按键,一个拨动按键用来选择步进电机的模式,如四相八拍或四相四拍,另一个拨动按键用来控制转动方向。数码管可用来显示模式和方向,以及转速的百分比。
系统总体设计框图
在硬件设计时,只需设计外围电路,留出与Launchpad核心板的接口即可,既节约了设计时间,又节省了成本,而且无需额外购买仿真器,从而使设计成本到达最低。
在软件设计方面,可充分利用G2系列单片机的各个功能模块,如时钟系统、TA定时器、ADC10模数转换器,看门狗,以及IO口中断等资源,设计出高效率、低功耗、结构紧凑而又功能强大的产品。
MSP430G2系列Launchpad开发板组成及硬件资源情况介绍
MSP430G2系列Launchpad是TI推出的一款低成本的开发平台。它适用于适用于TI 最新MSP430G2xx系列产品,其基于USB 的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。
LaunchPad 具有集成的DIP 目标插座,可支持多达20 个引脚,从而使MSP430 Value Line 器件能够简便地插入LaunchPad 电路板中。
此外,其还可提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。LaunchPad 试验板还能够对eZ430-RF2500T 目标板、eZ430-Chronos 手表模块eZ430-F2012T/F2013T 目标板进行编程。此外,它还提供了从MSP430G2xx 器件到主机PC 或相连目标板的9600 波特UART 串行连接。其实物图如图2.1所示。
图2.1.1 MSP430G2系列Launchpad开发板实物图
MSP430G2系列Launchpad开发板硬件资源:
• USB 调试与编程接口无需驱动即可安装使用,且具备高达9600波特的UART串行通信速度
• 支持所有采用PDIP14 或PDIP20 封装的MSP430G2xx和MSP430F20xx 器件
• 分别连接至绿光和红光LED 的两个通用数字I/O 引脚可提供视觉反馈
• 两个按钮可实现用户反馈和芯片复位
• 器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板
• 高质量的20 引脚DIP 插座,可轻松简便地插入目标器件或将其移除
关键器件选型以及性能指标参数
一、步进电机
本作品选用的是常州市德利来电器有限公司生产的35BY48BH10型步进电机,其技术数据、接线图、外形图和实物图如下所示。
1. 技术数据
2. 接线图 & 外形图 & 实物图
二、L298N
作为电机驱动的核心器件,电机驱动芯片的选型对整个系统的可靠性和性能都起着至关重要的作用。本作品中选用了意法半导体ST生产的L298N电机驱动芯片。其关键指标如下:
图2.2.1L298N实物图
1. 供电电压可高达46V,直流电流可达4A。完全满足步进电机的驱动要求。
2. 低饱和电压。
3. 过热保护。
4. 逻辑0输入电压可达1.5V,可有效抑制噪声;逻辑1输入电压可低至2.3V,所以可以用430单片机直接驱动。
综上可见,L298N电机驱动芯片可以完全满足本作品的要求。
三、Max7219
由于IO引脚有限,所以采用串行方式控制数码管,数码管驱动芯片选择Max7219,它最多能驱动8位数码管,能独立完成刷新扫描而不需要单片机的参与,每位独立控制,内部有解码器,可选择解码和不解码两种方式,亮度可以通过数字或模拟方式控制。从各个方面来讲,它都是本例的最佳选择。
图2.2.1 Max7219实物图
系统主要由单片机,电机驱动电路,控制电路,电源电路以及数码管显示电路组成,系统原理图如图2.3.1所示。
图2.3.1系统原理图
下面是各个模块的具体介绍:
1.电机驱动模块
因为L298N逻辑1输入电压可低至2.3V,所以可以用430单片机直接驱动,IN1、IN2、IN3和IN4接到单片机管脚上。Vss接供电电压,Vs接输入逻辑电压,可接3.3V,本例为了走线方便,直接接5V。
EN A和EN B接高电平,I SEN A、I SEN B通过一个小电阻接地,目的是限制负载电流过大,OUT1、OUT2、OUT3和OUT4直接接步进电机,因为电机的感性器件,电流不能突变,所以接上8个二极管以保护电源。另外在Vss和Vs附近必须接一个100uF的电容,当这个大电容离器件太远时,必须在近处再接一个小电容。
2. 电机控制模块
如图所示,滑变用来控制电机的速度,Speed接到单片机的A7脚上,通过测量电压值,计算出恰当的延时时间,达到控制速度的目的。
转动方向和Mode用来改变电机的转向和模式,即选择四相四拍或四相八拍模式。
图2.3.3电机驱动模块
3. 数码管显示模块
由于IO引脚有限,所以采用串行方式控制数码管,数码管驱动芯片选择Max7219,它最多能驱动8位数码管,能独立完成刷新扫描而不需要单片机的参与,每位独立控制,内部有解码器,可选择解码和不解码两种方式,亮度可以通过数字或模拟方式控制。从各个方面来讲,它都是本例的最佳选择。
图2.3.4电平转换模块
图2.3.5数码管驱动模块
图2.3.6数码管
注意在使用时必须在该芯片附近接一个大电容,比如4.7uF。
由于它是5V逻辑电平,而MSP430是3.3V电平,所以用74HC573进行电平转换。
数码管用的是共阴极四位数码管,这是由驱动芯片Max7219决定的。
PCB板与系统元器件清单
1. PCB板
图2.4.1 PCB板正面
图2.4.2 PCB板背面
2、系统元件清单如表
PCB板设计要求和注意事项
由于是大功率器件,所以100uF电容必须离芯片越近越好,否则应再在L298N附近加上一个小电容,此外二极管也必须离芯片输出引脚越近越好。Max7219的电容也应该离芯片越近越好。
安装调试注意事项
由于是大功率器件,所以要加散热片,安装时就先焊散热片,再插入L298N,用螺丝固定到散热片上后,再焊L298N的各个管脚。安装好的实验板、插上Laundrypad核心板后的实验板,以及连接上步进电机的实验板如下图所示。
图六.1 安装好的板子
图六.2插上Laundrypad核心板后的实验板
图 六.3连接上步进电机的实验板
程序流程图介绍
本作品软件程序通过单片机P1.0、P1.1、P1.2和P1.3依次输出高或低产生一定的相序来驱动电机驱动芯片,进而驱动步进电机;而转向和模式是通过重复扫描相应按键,判断其相应的高低从而对电机的转向和模式进行控制。系统流程图如图3.1.1所示。
图3.1.1系统流程图
通过AD对滑变的电压值的采样来决定转动速度的快慢,这部分是在AD中断中进行的。AD中断服务子程序如图3.1.2所示。
图3.1.2中断服务子程序
本作品是以MSP430G2系列Launchpad开发平台为核心板,加上功能模块底板,实现了对步进电机的四相四拍和四相八拍控制,并实现了转动方向和转动速度的控制,并且用数码管显示转动方向和转动速度的百分比