基于STM32和L6208的步进电机控制系统解剖.doc

基于STM32和L6208的步进电机控制系统 摘要:本文介绍了步进电机的基本工作原理及控制方法,通过对ARM公司的STM32F103XX处理器Cortex-M3和ST公司步进电机驱动芯片L6208性能和驱动原理的深入分析,阐述了一种新型驱动步进电机的控制系统。本控制系统能够实时、准确、可靠地控制两相两极的步进电机。 关键词:STM32、L6208、步进电机 Abstract: This paper introduced the basic work principle and control methods, By introducing the performance of STM32F103XX and thorough analyzing the drive principle of DMOS driver for bipolar steeper motor L6208, I expounded a new control system for driving steeper motor. This control system can control bipolar stepper motor real-time, well and truly and reliably. Key words: STM32, L6208, stepper motor 引 言 本系统采用STM32F103XX微控制器驱动双极性步进电机的方法,执行整步和半步模式来控制步进电机。用户可以选择:操作模式(整步/半步);电机旋转方式(顺时针/逆时针);当前控制模式(快速/慢速)。这种方法使用中密度STM32F103XX微控制器和全集成两相步进电机驱动L6208,这是性价比最高和最简单的方式获得最小的CPU负载。Cortex-M3是专门在微控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低成本于一体。 本设计的主要特点: 不需反馈器件,比其他运动控制系统成本低。 尤其在低速扭转力和强稳定性方面具有优势。 低功耗,高性能并且灵活,可用于机器人控制,机械工具转弯处,影像和其它精准的轴位置控制环境。 高性能的STM32F103XX微控制器驱动步进电机依赖于控制器的低计算环境。 方案比较与论证 总体系统框图如图1所示: 图1 系统框图 控制模块选择 方案一:采用89C51作为步进电机控制器。经典51单片机具有价格低廉、使用简单等优点。但其运算速度低,功能单一,RAM、ROM空间小,不稳定等特点。 方案二:采用STM32F103XX作为步进电机控制器。STM32通过寄存器模式,寻址方式灵活,RAM和FLASH容量大,运算速度快、低功耗、低电压等,且通过TIM2的输出比较模式来控制步进电机以连续周期的50%和一个可变频率。DMA控制器可用来改变时钟周期,Systick定时器灵活地产生中断。 基于以上分析,选择方案二。 电机的选择 方案一:采用直流电机。直流电机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转;能满足生产自动化系统各种不同的特殊运行要求。直流电机的工作状态可分为两种:开环状态和闭环状态。直流电机工作在开环状态时,电路相对简单,但其定位性能比较差。直流电机工作的闭环状态时,其定位性能精确,但是相对开环状态又要增加很多检测器件,使用的元器件多,电路非常复杂。 方案二:采用步进电机。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、启停的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机一个脉冲信号, 电机则转过一个步距角。因此,步进电机具有快速启停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能立即使步进电机启动或反转,而且步进电机的转换精度高,驱动电路简单,非常适合定位控制系统。 基于以上分析,选择方案二。 驱动模块的选择 方案一:采用继电器对电动机的开和关进行控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,实现容易;缺点是继电器的响应速度慢、机械结构易损坏、寿命较短。 方案二:采用L6208驱动芯片。提供了带CMOS/TTL输入逻辑以及几个保护功能的全保护型双H驱动桥,为驱动双极步进电机而专门优化的全集成驱动器,从而大幅度减少了电机控制应用所需的外围元器件的数量。产品采用8V~52V的单电源电压,所有的逻辑输入引脚都配有降低噪声敏感度的磁滞功能,而且兼容TTL/CMOS/CMOS 3.3V电压。为全面保护对地短路和每个电桥的两个相位之间的短路,芯片内置过流检测电路(OCD)。OCD电路用于监测

文档评论(0)

1亿VIP精品文档

相关文档