步进电机正反转设计

更新时间:2023-11-25 18:58:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

步进电机正反转设计

1 设计目的

步进电机若加入适当的脉冲信号时,转子则会以一定的步数转动。如果加入连续的脉冲信号,步进电机就会连续转动,转动的角度与脉冲频率成正比,正、反转可由脉冲的顺序来控制。

2 硬件介绍

(1)80c51单片机简介

首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示), 引脚的具体功能将在下面详细介绍

单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端; 时钟:TAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

控制线:⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵ PSEN:外ROM读选通信号。① RST(Reset)功能:复位信号输入端。② VPD功能:在Vcc掉电情况下,接备用电源。⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

I/O线:80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

(2)ULN2003简介

U2916151413121110COM1C2C3C4C5C6C7CULN2003A1B2B3B4B5B6B7B123456712345678 ULN2003的内部结构和功能ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列

16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

3 实验程序

/*************** writer:shopping.w ******************/ #include #define uint unsigned int #define uchar unsigned char uchar code FFW[]= {

0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };

uchar code REV[]= {

0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };

sbit K1 = P3^0;

sbit K2 = P3^1; sbit K3 = P3^2; void DelayMS(uint ms) {

uchar i; while(ms--) {

for(i=0;i<120;i++); } }

void SETP_MOTOR_FFW(uchar n) {

uchar i,j;

for(i=0;i<5*n;i++) {

for(j=0;j<8;j++) {

if(K3 == 0) break; P1 = FFW[j]; DelayMS(25); } }

}

void SETP_MOTOR_REV(uchar n) {

uchar i,j; for(i=0;i<5*n;i++) {

for(j=0;j<8;j++) {

if(K3 == 0) break; P1 = REV[j]; DelayMS(25); } } }

void main() {

uchar N = 3; while(1) {

if(K1 == 0) {

P0 = 0xfe;

本文来源:https://www.bwwdw.com/article/iekt.html

Top