- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机驱动三相单三拍步进电机
单片机驱动三相单三拍步进电机仿真设计
姓 名: 詹志颖
学 号: 200830873039
系 别:电子信息工程系
班 级:08级自动化一班
完成时间:2011-11-23
关于单片机驱动三相单三拍步进电机仿真设计
随着生产过程机械化、电气化和自动化的不断发展,出现了各种类型的特种电动机。这些电动机的工作原理,一般与普通的异步电动机和直流电动机的基本原理近似,但是它们在性能、结构、生产工艺上各有其特殊性,多用于自动控制过程中。一般来说,这些电动机的功率不大,小的只有几分之一瓦,大的也不过几十瓦或几百瓦,属于微型电动机的范围。步进电动机 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。每输入一个冲信号,该电动机就转过一定的角度(有的步进电动机可以直接输出线位移,称为直线电动机)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。
步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。
随着数字控制系统的发展,步进电动机的应用将逐渐扩大。
步进电动机的种类很多,按结构可分为反应式和激励式两种;按相数分则可分为单相、两相和多相三种。
图1 反应式步进电动机的结构示意图 图1是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。两个相对的磁极组成一组,联法如图所示。
下面介绍反应式步进电动机单三拍的基本原理。
一、单三拍通电方式的基本原理 设A相首先通电(B、C两相不通电),产生A-A′轴线方向的磁通,并通过转子形成闭合回路。这时A、A′极就成为电磁铁的N、S极。在磁场的作用下,转子总是力图转到磁阻最小的位置,也就是要转到转子的齿对齐A、A′极的位置(图2a);接着B相通电(A、C两相不通电),转了便顺时针方向转过30°,它的齿和C、C′极对齐(图2c)。不难理解,当脉冲信号一个一个发来时,如果按AC→B→A→…的顺序通电,则电机转子便逆时针方向转动。这种通电方式称为单三拍方式。
图2 单三拍通电方式时转子的位置
/**********************************************/
/********** 08自动化1 *******************/
/********** 詹志颖 *******************/
/********** 曾林锋 *******************/
/**********************************************/
#include reg51.h
#define unchar unsigned char
sbit kai_key p3^1; //开关,作锁功能
sbit zheng_key p3^2; //正转
sbit fan_key p3^3; //翻转
sbit 18_key p1^0; //18步
sbit 15_key p1^1; //15步
sbit 12_key p1^2; //12步
sbit 9_key p1^3; //9步
sbit 6_key p1^4; //6步
sbit 3_key p1^5; //3步
sbit 21_key p1^6; //21步
sbit 24_key p1^7; //24步
sbit 27_key p3^0; //27步
bit flag=0; //电机正反标志位
uchar bushu,maichong=3,table_begin=0;
uchar code table[]={0x01,0x02,0x04,0x04,0x02,0x01};
//电机正反转I/O口的高低电平对应表
void delay(uchar i) //延时函数
{
uchar j,k;
for(j=i;j0;j--)
for(k=125;k0;k--);
}
void key()
{
//kaikey=shuo_key;
if(kai_key==0) //这里开关闭合,表示键盘锁打开
文档评论(0)