步进电机精度高,惯性小,在不失步的情况下没有步距误差积累,特别适用于数字控制的定位系统。传统的细分驱动电路由细分环行分配器、放大器和合成器等部分组成。这种电路应用复杂,灵活性差。本文利用A3967SLB作为步进电机微控芯片,简化了步进电机的控制实现。由于单片机资源没有PC丰富,人机界面也没有PC友好,因此,本文采用了主从式结构,即PC用于管理,单片机用于执行。
由A3967SLB构成步进电机的驱动部分A3967SLB是美国Allegro公司生产的PWM恒流控制微步距驱动二相步进电机专用驱动器。它的工作电压可达30V,驱动电流达750mA,一个A3967SLB即可驱动一台二相步进电机,可实现8细分驱动。芯片内部的PWM电流控制电路可通过加在PFD的电压设置为慢、快、混合三种电流衰减模式,如果PFD端的电压高于0.6Vdd,则选择慢衰减方式。若低于0.21Vdd,则选择快衰减模式。处于两者之间为混合衰减模式。另外,A3967SLB还能提供完善的保护措施,包括抑制瞬态电压,过热保护、防止电流直通、欠电压自锁等功能。
A3967SLB和微处理器之间不需要附加其他的接口电路,该芯片采用Easy Stepper接口,将8条控制线减少了2条(步长和方向),只要简单地输入控制步进电机的脉冲,其内嵌的转换器就可以实现对步进电机的控制。A3967SLB还需要一些电阻、电容来调整其工作参数,整个驱动电路非常简单。
如图1所示,MS1和MS2是步进电机细分分辨率选择的逻辑输入口;DIR是电机运转方向的选择口;RESET用于重置芯片初始值,屏蔽所有外部输出;STEP为脉冲输入端口;OUT1A、OUT1B、OUT2A、OUT2B为H桥的两对输出端口;ENABLE为使能端;SLEEP为睡眠模式;SENSE1、SENSE2为H桥的电流检测电阻;REF为参考电压;GND为逻辑地和电源地;RC1、RC2为H桥固定截止时间模拟输入。最大限流I
max是由取样电阻R
s和取样比较器的输入参考电压V
ref决定的:
Imax=Vref/8Rs
AT89C52具有8KB Flash,256B内部RAM,32个I/O口线,3个16位定时/记数器,一个6向量两级中断系统,一个全双工串行通信接口,同时片内还有振荡器和时钟电路。使用很方便。在这个系统中,单片机主要用来产生控制脉冲并与上位机进行串行通信。
通信电路
在最简单的RS-232直接传送通信系统中,只要发送和接受双方同时准备好,仅用信号发送端(TXD)、信号接收端(RXD)和信号地(GND)3根信号线就可以进行通信;若以应答方式进行数据通信,可使用请求发送(RTS)、清除发送(CTS)或数据终端准备(DTR)、数据装置准备(DSR)4个信号进行硬件握手。在AT89C52单片机系统中,分别从P3.0和P3.1引出串口线RXD和TXD,通过专用的电平转换芯片转换成RS-232接口标准的电平,这样,二者之间就可以通过RS-232接口进行数字信号的传送。单片机可以通过直接传送或应答握手的方式与主机进行数据通信,但由于握手方式占用其它端口,而单片机的端口数量有限,所以,计算机与单片机的通信常采用直接传送的方式。通信电路如图2所示。
软件设计
软件部分的设计主要包括下位机按MCU的接收程序、脉冲控制程序以及上位机的串口发送程序。上位机与下位机之间进行数据通信。上位机的程序主要通过Windows可视化编程VC++实现。
下位机程序主要负责接受PC发来的数据,按照要求产生控制脉冲,具体流程为:首先对要使用的串口进行初始化,然后P2输出口清零,接着进入住程序的死循环,等待中断触发。接收一个字节的数据,RI=1,接着将RI清零。当单片机接收完数据后,标志位置1。将缓存中的数据存入控制的变量中,以便控制时使用(具体操作时先法数据帧再发启动帧)。软件控制流程如图3所示。
结语
结合以上介绍的基于A3967SLB的步进电机控制系统,在VC++环境下,利用MSComm控件实现了PC与单片机之间的串行通信。实验结果表明,用这种方式实现上位机对基于A3967SLB的步进电机的控制系统进行精确的驱动可行有效。
本系统中,利用PC的丰富软硬件资源和强大的系统功能,可进行一些数据处理、显示等工作;而从控制器AT89C52则用于实时控制。另外,该系统为开放式结构,便于系统升级。
关键字:PWM 单片机 电流
引用地址:
基于A3967SLB的步进电机细分驱动系统设计
推荐阅读最新更新时间:2024-03-30 21:22
AT89C 系列单片机解密原理
单片机 解密,最简单的就是擦除单片机片内的加密锁定位。由于AT89C系列单片机擦除操作时序设计上的不合理。使在擦除片内程序之前首先擦除加密锁定位成为可能。 AT89C系列 单片机 擦除操作的时序为: 擦除开始---- 擦除操作硬件初始化(10微秒)---- 擦除加密锁定位(50----200微秒)--- 擦除片内程序存储器内的数据(10毫秒)----- 擦除结束。 如果用程序监控擦除过程,一旦加密锁定位被擦除就终止擦除操作,停止进一步擦除片内程序存储器,加过密的 单片机 就变成没加密的单片机了。片内程序可通过总线被读出。对于AT89C系列单片机有两种不可破解的加密方法。 一、永久性地破坏 单片机 的加密位的加密方法
[单片机]
MSP430f2619学习--PWM
思路: 利用定时器B的比较功能输出PWM波形; 一、定时器B 定时器B的特点: 1)异步16位定时/计数器; 2)4种工作模式; 3)4个可选长度 4)3或7个可配置的捕获/比较寄存器; 定时器的4种工作方式分别为,停止计数模式,增计数模式,连续计数模式和增减计数模式; 要输出PWM波形,需要配置定时器B的捕获/比较部件工作在比较模式,寄存器TBCCTLx的CAP位配置为0即可; TBCCTLx寄存器定义: 定时器的每一个捕获/比较部件都拥有一组输出单元,这个输出单元是用来产生输出信号的,例如PWM波等,输出信号的引脚通常在数据手册中都会表明 每个输出单元都有8种模式: 1)电平输出,由TBCCTLx寄存器
[单片机]
MSP430单片机的特点及在接收机中的应用
一、 引言 一款数据广播编码器和微型低功耗调频数据广播接收机,整套系统采用连续相位频移键控(CPFSK)调制方式,副载波频率为72KHz,占用带宽约16Khz,数据传输速率4.8KHZ。采用CPFSK调制方式使接收机易于实现,与QPSK的调制方式相比对相位稳定度要求不高,不易受外界温度噪声的影响,而且在信号解调处理时实现低功耗。硬件结构框图如下: 二、MSP430单片机的特点及在接收机中的应用 MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对
[单片机]
基于ARM的空间光通信APT控制系统设计
空间光通信是以光波作为载波,在空间中进行信息无线传输的一种新型通信技术,其具有保密性高,抗干扰性强,通信速率高等优点,将会在卫星与卫星、卫星与地面控制站的无线通信领域发挥重要的作用,具有广阔的应用前景。但是由于光波波束窄,空间环境又比较复杂,而给通信链路的建立造成了极大的困难,所以对于空间光通信,必须先使用一套捕获、瞄准与跟踪(Acquisition,Pointing and Tracking,APT)系统来建立和维持光通信链路。嵌入式系统具有高性能、低功耗、低成本的优点,使其在运动控制上的应用具有很大优势,以ARM嵌入式处理器为基础的控制系统现在已经得到了广泛应用。针对目前卫星通信终端必须具有高实时性、高集成度、低功耗、体积
[嵌入式]
单片机系统的C语言程序结构优化
2002年初,笔者着手写一个IC卡预付费电表的工作程序,该电表使用Philips公司的8位51扩展型单片机 87LPC764 ,要求实现很多功能,包括熄显示、负荷计算与控制、指示闪烁以及电表各种参数的查询等,总之,要使用时间的单元很多。笔者当时使用ASM51完成了这个程序的编写,完成后的程序量是2KB多一点。后来,由于种种原因,这个程序并没有真正使用,只是作了一些改动之后用在一个老化设备上进行计时与负荷计算。约一年后,笔者又重新改写了这些代码。 1 系统的改进 可以说,这个用ASM51实现的代码是没有什么组织性可言的,要什么功能就加入什么功能,弄得程序的结构非常松散,其实这也是导致笔者最终决定重新改写这些代码的
[单片机]
51单片机定时器的应用
interrupt中断的关键字,n是中断号提供中断程序的入口地址。 0-INT0 1-T0 2-INT1 3-T1 4-串行中断 5-T2 直接访问寄存器和端口 定义 sfr P0 0x80 sfr P1 0x81 sfr ADCON; 0xDE sbit EA 0x9F 操作 ADCON = 0x08 ; P1 = 0xFF ; io_status = P0 ; EA = 1 ; 在使用了interrupt 1 关键字之后,会自动生成中断向量 在 IS
[单片机]
单片机多任务的实现方式
由于单片机具有价格低、运行要求低、易于开发、稳定可靠等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。但是,单片机的位数少、频率低、内存小、I/O口少等缺点限制了其加载操作系统的可能。因此,单片机不能像ARM等较高性能的处理器一样,利用加载的操作系统实现管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等功能。 但是,我们可以根据单片机所拥有的内存大小、CPU频率等因素,来为单片机量身定做一个小型的操作系统,以实现单片机的多任务运行。 1 微机实现多任务的方式 微机实现多任务的方式一般是由加载的操作系统来实现的。通过操作系统提供的函数来创
[单片机]
基于80C51单片机的多功能肌电测量仪设计
肌电测量或肌电图是检查人体神经、肌肉系统功能的重要方法,广泛应用于神经科、骨科、耳鼻喉科及口腔科。它可为临床诊断、治疗神经肌肉系统疾患提供客观的科学依据。肌电测量仪一般只具有在示波器上显示波形和记录波形的功能。早期,肌电信号通过照相对胶片进行显影才能看到;后来,把肌电信号描绘在肌电图纸上。这两种肌电信号记录法的机构都很复杂。这里介绍一种利用普通的示波器,通过单片机和A/D、D/A转换控制系统构成的,具有记忆、波形分析(诊断)功能和各种操作的实时处理的低功耗智能肌电测量仪。该肌电测量仪可实现一次采集后,多次重复显示、打印,实现了肌电信号测量仪的智能化 1 多功能肌电测量仪的硬件设计 1.1 系统硬件结构框图 系统硬件结构框图如图
[单片机]