1 / 23
文档名称:

计算机控制技术课程设计(论文)-步进电机控制系统设计.doc

格式:doc   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机控制技术课程设计(论文)-步进电机控制系统设计.doc

上传人:3346389411 2012/12/3 文件大小:0 KB

下载得到文件列表

计算机控制技术课程设计(论文)-步进电机控制系统设计.doc

文档介绍

文档介绍:课程设计

课程名称计算机控制技术___
题目名称____步进电机角度控制__
学生学院____自动化学院_____
专业班级_____07自动化(2班)_
学号_____3107000887____
学生姓名_____王群_________
指导教师_____高军礼________
2010 年 6 月 27 日
目录
一、课程设计(论文)的内容 3
二、课程设计(论文)的要求与数据 3
三、系统元件选取 3
四、系统功能简介 4
五、系统电路与原理-------------------------------------------------------------------------------------------4
六、程序流程图 6
七、程序代码 8
八、心得与体会 16
广东工业大学本科生课程设计(论文)任务书
题目名称
步进电机控制系统设计
学院
自动化学院
专业班级
自动化07级2 班
姓名
王群
学号
3107000887
一、课程设计(论文)的内容
原理性设计一个基于单片机(微机)组成的步进电机控制系统。通过课程设计掌握键盘、显示、步进电机控制等内容。
二、课程设计(论文)的要求与数据
(1) 设计键盘和显示电路,要求通过按键实现步进电机旋转角度和旋转方向的设置、电机启动/停止的按键控制、显示电路显示步进电机的运动状态。
自行确定步进电机型号,设计其相应的驱动电路(可采用驱动芯片或分离元件实现)。
掌握步进电机的工作原理及其速度和方向的控制。
(4) 微处理器可以采用8086,C51,AVR等。
三、系统元件选取
1、键盘选用4*4(数量一个)
功能如下:
0
1
2
3
4
5
6
7
8
9
正转
反转
启动
停止
清零
设置
步进电机的选取(数量一个)
步进电机:选用四相、°的步进电机。选取步进电机(28BJY-48)
3、步进电机驱动芯片(数量一个)
芯片选择:80C51,步进电机驱动芯片ULN2003A,LCD选择LM016L。
四、系统功能简介
LCD显示屏上可以显示转动次数,转动角度,转动方向。在一开始就可以进行键盘扫描,然后可以进行参数设置,具体是,将要设置的转动方向,转动次数,转动角度都输入进去,按下设置键,接着再按下启动键,电机就会开始转动,中途按下停止键的话,电机会停止转动。同时还可以进行清零操作,方便连续设置。五、系统电路与原理
LCD显示模块
可以显示出转动方向,次数和度数
步进电机驱动模块:
选用ULN2003A作为步进电机的驱动芯片。由于ULN2003A具有反相功能,因此单片机P1口输出的步进电机驱动信号应该为反相的驱动信号。通过改变输出驱动信号的顺序,可改变步进电机的运转方向;通过改变驱动信号间延时的长短,可改变步进电机的转速。
阵列键盘模块:
利用单片机P2口的第四位作为键盘的行选信号,P2口的高四位作为键盘的列选信号,有键按下时,先判断哪个键被按下,然后执行相应的键功能。
六、程序流程图
七、程序代码
#include<>
#include<>
#define uint unsigned int
#define uchar unsigned char
unsigned char code F_Rotation[8]={0x40,0x60,0x20,0x30,0x10,0x18,0x08,0x48};//正转参数
unsigned char code R_Rotation[8]={0x48,0x08,0x18,0x10,0x30,0x20,0x60,0x40};//反转参数
unsigned char code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};
unsigned int code shuzi[5]={0x00,0x00,0x00,0x00,0x00};
unsigned int a=0;
unsigned int b=0;
unsigned int c=0;
unsigned int d=0;
unsigned int e=0;
unsigned int f=0;
sbit E=P2^7; //LCD使能引脚
sbit RW=P2^6; //LCD读写引脚
sbit RS=P2^5; //LCD数据/命令选择引脚
void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;