步进电机的控制.docx

上传人:b****4 文档编号:3005193 上传时间:2022-11-17 格式:DOCX 页数:30 大小:104.22KB
下载 相关 举报
步进电机的控制.docx_第1页
第1页 / 共30页
步进电机的控制.docx_第2页
第2页 / 共30页
步进电机的控制.docx_第3页
第3页 / 共30页
步进电机的控制.docx_第4页
第4页 / 共30页
步进电机的控制.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

步进电机的控制.docx

《步进电机的控制.docx》由会员分享,可在线阅读,更多相关《步进电机的控制.docx(30页珍藏版)》请在冰豆网上搜索。

步进电机的控制.docx

步进电机的控制

设计者:

林东刘丽玲温定贤

指导教师:

郭海燕老师

日期:

2008年8月14日

 

步进电机的控制

摘要

本设计以PIC16F877A单片机为控制系统的核心,通过接收不同的按键命令,实现了二相步进电机的正转、反转、速度设置和转动步数设定的功能。

系统主要包含四部分:

按键电路、显示电路、单片机控制电路和步进电机驱动电路。

 

关键词:

PIC16F877A、按键、驱动

 

目录

1系统设计4

1.1设计任务4

1.2方案论述4

1.3系统框图4

2.电路设计4

2.1工作原理[1]4

2.2参数计算5

3主程序的设计5

3.1软件平台和开发工具5

3.2软件功能及算法6

3.3软件流程图6

4.系统测试7

5.结论8

6.参考文献8

7.附录8

附录

(一)原器件明细表8

附录

(二)原理图8

附录(三)PCB图9

附录(四)主程序清单9

 

1系统设计

1.1设计任务

(1)可通过按键控制步进电机的正转和反转;

(2)可设置步进电机的速度和转动步数,数码管实时显示设定值。

1.2方案论述

根据设计任务分析,可知系统应主要包含四部分:

按键电路、显示电路、单片机控制电路和步进电机驱动电路,此外还应考虑供电电源的选择。

首先要考虑的是控制器的选择,由于电机控制对实时性的要求较高,因此在设计中采用PIC16F877A单片机作为控制器,它绝大多数指令为单字节指令,程序编写方便、执行速度快。

电源为整个系统的运行提供所需的能量,是电路的核心,在设计中采用的是双电源供电,主要考虑到单片机的工作电压为5V,而步进电机工作电压为12V,而且采用双电源供电也可以消除电机驱动所造成的干扰,提高系统的稳定性。

系统运行过程中要求实时显示设定的速度和步数,由于只是简单的数字显示,可采用多位数码管动态显示,节省成本。

电路中另一个要慎重考虑的因素就是电机驱动电路的设计。

由于单片机的拉电流很小,而步进电机的工作电流要达到0.34A,因此采用三极管放大电路放大后来驱动步进电机工作。

1.3系统框图

根据题目要求和方案论述,本设计的系统框图如图1.1所示。

单片机接收不同的按键命令,控制RC0~RC3输出相应的时序,经驱动电路后控制步进电机工作。

若是设定速度和转动的步数,则数码管需显示相应的数值,提供友好的人机交互界面。

 

2.电路设计

2.1工作原理[1]

电路原理图如图2.1所示,当I/O口输出高电平时,相应的三极管导通,相线圈有电流通过,电机工作;反之,则电机不工作。

基极电阻R1~R4起限流保护作用,二极管也具有保护电路的作用,当电机突然上电或掉电时,电路的电流较大,此时电感和二极管形成闭合回路,以免电流过大而烧坏电机。

图2.1电路原理图

2.2参数计算

1、三极管的选择[2]

由于在设计中采用的步进电机为永磁式二相步进电机,工作电压为12V,电流为0.34A,而电源电压为12V,因此当电机工作时要求三极管必须工作在饱和导通状态。

CS9013饱和导通时集射极的压降为0.6V,集电极最大电流为0.3A,小于电机的工作电流,不能满足设计要求。

2SD882饱和导通时集射极压降为0.3V,且集电极电流可达2A,压降小且电流大,因此在本设计中采用2SD882。

2、电阻的选择

单片机输出高电平时三极管导通,由于单片机的拉电流很小,基极电阻主要起到限流作用,因此阻值应较大,这里取为4.7KΩ。

3主程序的设计

3.1软件平台和开发工具

设计中采用PIC指令系统进行编程,用贝能MPLABICD2编程器进行编译,仿真,烧写。

PIC16F877A单片机指令系统共有35条指令,除条件跳转指令外其余均为单字节指令,程序编写较方便、简洁。

本设计采用的时钟晶振为4MHZ,故每条指令周期为1us。

3.2软件功能及算法

主程序主要起到一个导向和决策的作用,控制子程序的走向,显示、按键扫描等都是通过调用具体的子程序来实现的。

本系统在主程序中运用模块化结构,所有控制量集中处理,并在RAM建立各控制量的映射,方便各功能模块的编程及修改。

复位有两部分,一个是上电复位,一个是掉电复位。

3.3软件流程图

(1)主程序流程图

软件的主程序流程如图3.1所示。

主程序[3]不断检测是否有按键输入,如果有按键,则进行相应的键值处理,根据按键改变步进电机的工作方式,并显示设定的速度和步数。

 

(2)子程序流程图

 

4.系统测试

步进电机的电源采用实验室提供的直流稳压电源,电压为+12V,通过按键来改变步进电机的工作方式。

第一次按下K0键时实现电机正转,第二次按下时电机反转,如此依次循环。

按下K2键可调整电机的速度,调整范围为每分钟10转至150转,K4为增加键,K5为减少键。

按下K3键进入步数设定模块,长按K4键则步数增加,长按K5键步数减少,可调范围为0000至9999。

5.结论

本设计以PIC16F877A单片机为控制系统的核心,通过接收不同的按键命令,实现了二相步进电机的正转、反转、速度设置和转动步数设定的功能,基本完成了题目中要求的各项任务和功能。

6.参考文献

[1]全国大学生电子设计竞赛组委会编.全国大学生电子设计竞赛获奖作品汇编(第一届~第五届)[M].北京:

北京理工大学出版社,2004,8

[2]张华林,周小方编著.电子设计竞赛实训教程[M].北京:

北京航空航天大学出版社,2007,7

[3]李荣正,刘启中,陈学军编著.PIC单片机原理及应用(第2版)[M].北京:

北京航空航天大学出版社,2005,10

7.附录

附录

(一)原器件明细表

名称

型号及

规格

备注

名称

型号及

规格

备注

1

三极管

2SD882

4

2

二极管

IN4007

4

3

电阻

4.7KΩ±1%

4

附录

(二)原理图

附录(三)PCB图

附录(四)主程序清单

-----------------------

;系统程序设计(080727)

;----几个重要子程序及主子程序之间的关系

;-----------------------

;以下为特殊功能存储器的定义

;-----------------------

INCLUDE"PIC16F877A.INC"

;-----------------------

;以下为I/O口定义

;-----------------------

#DEFINECSRC,0

#DEFINECS4922RC,0;12位DA转换器片选

#DEFINECS3202RC,1;12位AD转换器片选

#DEFINELDACRC,2;数据转存到DAC寄存器

#DEFINESCKRC,3;SPI串口时钟线

#DEFINESDIRC,4;SPI串口数据输入

#DEFINESDORC,5;SPI串口数据输出

#DEFINEBEERA,5;蜂鸣

#DEFINECS0RB,1;LED0

#DEFINECS1RB,2

#DEFINECS2RB,3

#DEFINECS3RB,4

#DEFINECS4RB,5

#DEFINECS5RE,0

#DEFINECS6RE,1

#DEFINECS7RE,2;LED7

;-----------------------

;以下为内部RAM的定义

;-----------------------

WBUFEQU20H;W保护单元,含0A0H单元

STBUFEQU21H;STATUS保护单元

FSBUFEQU22H;FSR保护单元

PCBUFEQU23H;PCLATH保护单元

R0EQU24H;R0~7工作寄存器

R1EQU25H;R0~7循环变量或中间结果

R2EQU26H

R3EQU27H

R4EQU28H

R5EQU29H

R6EQU2AH

R7EQU2BH

R8EQU2CH

R9EQU2DH

DSBITEQU2EH;显示位选,0~7=LED0~LED7

DSBUF0EQU2FH;显缓LED0

DSBUF1EQU30H;显缓LED1

DSBUF2EQU31H;显缓LED2

DSBUF3EQU32H;显缓LED3

DSBUF4EQU33H;显缓LED4

DSBUF5EQU34H;显缓LED5

DSBUF6EQU35H;显缓LED6

DSBUF7EQU36H;显缓LED7

DSDOTEQU37H;小数点位

#DEFINEDOT0DSDOT,0

#DEFINEDOT1DSDOT,1

#DEFINEDOT2DSDOT,2

#DEFINEDOT3DSDOT,3

#DEFINEDOT4DSDOT,4

#DEFINEDOT5DSDOT,5

#DEFINEDOT6DSDOT,6

#DEFINEDOT7DSDOT,7

DSFLEQU38H;显示位闪烁控制(0-7分别对应LED0-7)

SHANEQU39H

#DEFINEFLONSHAN,0;闪烁总控位,=1闪

#DEFINEMINFSHAN,1;分钟到的标志位

#DEFINEFXFSHAN,2;反向标志位

#DEFINESTOPSHAN,3;停止标志位

;-----------------------

KEY1EQU3AH;键值1,触发型

KEY2EQU3BH;键值2,触发型

#DEFINEK0KEY1,0

#DEFINEK1KEY1,1

#DEFINEK2KEY1,2

#DEFINEK3KEY1,3

#DEFINEK4KEY1,4

#DEFINEK5KEY1,5

#DEFINEK6KEY1,6

#DEFINEK7KEY1,7

#DEFINEK8KEY2,0

#DEFINEK9KEY2,1

#DEFINEK10KEY2,2

#DEFINEK11KEY2,3

LASTK1EQU3CH;旧键值1,控制型

LASTK2EQU3DH;旧键值2,控制型

#DEFINELK0LASTK1,0

#DEFINELK1LASTK1,1

#DEFINELK2LASTK1,2

#DEFINELK3LASTK1,3

#DEFINELK4LASTK1,4

#DEFINELK5LASTK1,5

#DEFINELK6LASTK1,6

#DEFINELK7LASTK1,7

#DEFINELK8LASTK2,0

#DEFINELK9LASTK2,1

#DEFINELK10LASTK2,2

#DEFINELK11LASTK2,3

ANJCOUNTEQU3EH;按键去抖

HOUHEQU3FH;时单元,非压缩BCD码

HOULEQU40H

MINHEQU41H;分单元,非压缩BCD码

MINLEQU42H

SECEQU43H;秒单元,2进制

TIMEREQU44H;走时用,5ms加1

;-------

STAEQU45H;工作状态寄存器

;-----------------------

VAN0EQU46H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1