微机实验报告 步进电机正反转及调速设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口设计实验报告步进电机正反转及调速设计
专业:机械设计制造及其自动化
班级:10090112
小组成员:周先军 10901239
张赓 10901240
胡一国 08901312
组别: B5
摘要:本系统是基于STM8系列单片机的步进电机转速转向控制器。该系统采用STM8S103F3P6单片机作为主控制器,运用L298全桥驱动器驱动步进电机,通过摇杆、按键控制电机转速,并且通过1602液晶显示器显示当前转速。该系统中使用的四相步进电机,具有控制精度高,转动扭矩大等特点,实际生产中有广泛的运用。系统中除了传统按键控制外,还增加遥控控制,单片机通过AD读取摇杆控制信号,实时控制电机转速。整个系统具有结构简单、可靠性高、成本低和实用性强等特点,具有较高的通用性和应用推广价值。
关键词:四相步进电机 STM8单片机控制 L298驱动电路正反转摇杆控制
一、系统方案
1.1控制系统方案
方案一:采用8086系列单片机。8086是Inter系列的16位微处理器,数据处理能力强。但是8086系列的CPU指令数据需要放置在内存中,需要依赖外部非易失存储器和RAM才可以工作,外部电路复杂。
方案二:采用STM8系列单片机。STM8是意法半导体生产的8位单片机,哈弗结构。拥有8K字节Flash,1K字节RAM,1K EEPROM,内部集成5路10位ADC,高级控制定时器可带死区控制PWM 、以及SPI 、I2C等接口。整体性能优越,价格便宜,周边电路简单。
综上对比,选择方案二。
1.2驱动电路方案
方案一:采用ULN2003达林顿管阵列控制电机。ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,工作电压高,工作电流大,灌电流可达500mA。但系统采用通用四线四相步进电机,需要两路同时灌、输电流,该驱动设计只能满足5线步进电机的驱动,不符合要求。
方案二;采用L298集成全桥驱动芯片。L298内部含有4通道逻辑驱动电路,是一种二相和四相电机专业驱动器,内含有两个H桥的高电压大电流双全桥式驱动器,接受标准的TTL逻辑电平信号,可驱动46V、2A以下的电机。具有灌电流功能。适用于本系统采用的4线步进电机,经对比采用方案二。
1.3 控制信号采集
方案一:通过按键输入,控制电机转速加减。有液晶屏幕辅助显示设定电机转向、转速信息。
方案二:通过PS2摇杆和MMA7361加速度传感器产生欲控制的信号,通过单片机的AD采样进行信号采集,进行实时控制。
对比两种方案,方案二操作更加方便直观,用户体验乐趣强,电路设计简单。因此采用方案二。
1.4 电源供电电路
本系统中步进电机供电7.2V,单片机控制板供电5V,最小系统板供电3.3V,传感器供电3.3V。为了使用方便,本系统采用7.2V电池组统一供电。通过开关电源芯片TPS54331降压到5V,为单片机控制板供电;采用LM1117-3V3线性电源芯片降压到3.3V,为单片机和传感器供电。
1.5系统组成框图
图 1.5
二、硬件设计
2.1、驱动电路(L298)
图2.1
2.2、控制系统电路(STM8)
图 2.2 2.3、供电电源电路(TPS54331)
图 2.3
三、软件设计
整个系统软件分为AD信号采集和电机信号输出两个部分。采集信号的AD 值与程序设定的中值范围(AD0-AD1)进行比较。小于AD0,输出反转信号;大于AD1,输出正转信号。实际AD值与中间值差值,对应输出信号频率,从而控制步进电机转速。(附录1)
四、测试方案和测试结果
4.1步进电机相序测试
四线步进电机完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,四相电机既有有四相四拍运行方式即AB-BC-CD-DA-AB,四拍运行时步距角为θ=360度/(50*4)=1.8度。当电机绕
组通电时序为AB-BC-CD-DA时为正转,通电时序为DA-CA-BC-AB时为反转。
4.2 电机控制信号测试
为了检测单片机输出信号,在控制电路板上安装了一组LED灯。通过观察LED灯的闪烁顺序,校验输出电机的信号相序。单片机通过PA5采集传感器信号,通过PC3、PC4、PC5、PC6四个I/O口输出控制信号。默认状态为低电平,对于LED为亮;当I/O口置高,LED灯熄灭。用摇杆摆动输入欲控制信号,单片采样处理后输出,通过观察熄灭LED灯的流动顺便和周期大小,可以直观的反映I/O 口输出信号,从而能很好的校验输出相序信号。
4.3测试结果分析
连接好个模块电路,接通电源。首先使用摇杆做传感器,摇杆复位处于中间状态时,电机停止;往左摇动,电机反转,往右摇动,电机正转。而且摇动幅度越大,转速越快。使用加速度,将传感器平放,电机停止;向左倾斜,电机反转;向右倾斜,电机正转;倾斜角度越大,转速越快。经过以上测试,该系统比较好完成了题目的设计要求。
五、总结
本设计较完满的完成了题目的基本要求。采用STM8单片机,运用C语言编写程序;运用Altium Designer设计PCB电路,通过打印、转印、腐蚀、钻孔等工序制作腐蚀电路板;通过网站下载芯片PDF文档,学习了怎么使用新的电子芯片,设计周边电路。传感器部分使用PS2摇杆和加速度传感器,使得实际操控有很多的乐趣。通过本设计,很好的了解了电路板的设计制作过程,增强了团队的合作精神。通过测试,成功实现了四线步进电机的正反转及转速控制。
附件 1
/** 微机原理与接口设计 B5 LED流水灯(步进电机)
周先军
2013 4 25 */
/* Includes ------------------------------------------------------------------*/ #include "stm8s.h"
#include "USART.h"
#include "delay.h"
#include "1602.h"
#include "PWM.h"
#include "TIM.h"
#include "ADC.h"
#include "GPIO.h"
#include "eeprom.h"
#include
/* Private defines -----------------------------------------------------------*/ void CLK_Configuration(void);
void GPIO_Configuration(void);
void EXTI_Init(void);
/* Private function prototypes -----------------------------------------------*/ //串口参数
u8 RxBuffer1[40];
u8 RxCounter1=0;
u8 RxBuffer2[40];
u8 RxCounter2=0;
void main(void)
{
u16 AD;
int i;
CLK_Configuration();
GPIO_Configuration();
ADC_Init(2,ADC1_PRESSEL_FCPU_D8);
ADC_Init(3,ADC1_PRESSEL_FCPU_D8);
ADC_Init(4,ADC1_PRESSEL_FCPU_D8);
ADC_Init(5,ADC1_PRESSEL_FCPU_D8);
ADC_Init(6,ADC1_PRESSEL_FCPU_D8);
Init_1602();
//UART1_DeInit();
Uart1_Init(115200);
__enable_interrupt(); //开中断