当前位置:文档之家› 基于89C52步进电机调速、细分、测速系统-课设计报告

基于89C52步进电机调速、细分、测速系统-课设计报告

基于89C52步进电机调速、细分、测速系统-课设计报告
基于89C52步进电机调速、细分、测速系统-课设计报告

基于89C52步进电机调速、细分、测速系统

课程设计报告

单位:

小组成员:PengSir

专业:

班级:

指导老师:

成绩:

目录

摘要 (1)

一系统简介 (1)

1.1步进电机工作原理简介 (1)

1.1.1步进电机基本参数 (2)

1.1.2步进电机细分简介 (3)

二系统方案 (4)

2.1控制器的选择 (4)

2.2电子驱动电路与细分的方案选择 (4)

2.3显示器的选择方案 (5)

2.4转速信号采集方案 (5)

2.5开发软件的选择 (5)

三模块介绍 (5)

3.1 STC89C52RC型单片机最小系统 (5)

3.2 TB6560AHQ驱动电路················错误!未定义书签。

3.3 电源模块 (9)

3.4 ADC0804模块 (8)

3.5光电开关模块 (10)

四程序设计及流程 (10)

4.1 系统电路示意图··················错误!未定义书签。

4.2 程序设计 (11)

五实物图 (12)

六心得体会 (12)

参考文献 (14)

附录 (15)

摘要:在电气时代的今天,电动机在工农业生产与人们日常生活中都起着十分重要的作

用。步进电机作为最常见的一种电机,作为一种数字伺服执行元件,步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。

本系统采用STC公司STC89C52RC芯片为核心进行设计,并配合THB6016H驱动芯片,合理利用了该芯片上丰富的资源,采用ADC0804做数据采集,作为输入指定转速。在数码管上対实时数据进行显示。单片机与74LS14用光耦连接,提高了抗干扰性,并且可以保护单片机。本系统完成了题目的全部基本要求和发挥部分要求,在整体上保证了设计任务的超额完成。

关键词:步进电机 PWM 光电开关 STC89C52RC THB6016H ADC0804

一系统简介

1.1 步进电机工作原理简介

步进电机属于实用的典型的机电一体化组件。它是一种将电脉冲信号转化为角位移或直线位移的执行机构。又可称脉冲电机或阶跃电机,国外常称为Step motor、Stepping motor、Stepper motor等等。当不见电机驱动器接收到一个脉冲信号,它就驱动步进电机按照设定的方向转动一个固定的角度(称为“步据角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到确定的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有累积误差的特点,广泛运用于各种开环控制。步进电机问世以后,很快确定了自己的应用领域,应用发展己有约30年的历史。步进电机的种类根据自身的结构不同,可分为三大类:反应式(Ⅵt,也称磁阻式)、永磁式(PM)和混合式(HB)。

永磁式步进电机一般为两项,转矩和体积较小,步进角一般为7.5度或15度;

反应式步进电机一般为三相,可以实现大转矩输出,步进角一般为1.5度,但是噪声和震动较大。反应式步进电机的转子磁路由软磁材料制成,定子上面有许多相磁力绕组,利用磁导的变化产生转矩。

混合式步进电机兼有反应式和永磁式的双重优点,其自身阻尼作用较好,运行平稳,噪音低、低频振动小,目前混合式步进电机是应用最广泛的电机之一。步进电机的优缺点如下: (1)在不失步的前提下步进电机的角位移与输入脉冲数严格的成正比,因此不存在累计误差,具有良好的跟随性。

(2)步进电机的动态响应快、易于启停、正反转及变速。

(3)可用数字信号直接进行开环控制,容易构成简单廉价但可靠的数字控制系统。同时,在要求高时它也可以与角度反馈环节组成高性能的闭环数控系统。

(4)停止时具有自锁能力。

(5)速度可在相当宽范围内平滑调节。

(6)无刷,电机本体部件少,可靠性高。

(7)一般可以不用减速器而直接驱动负载。

(8)带惯性负载的能力较差。

(9)由于步进电机存在振荡和失步现象,因此必须对控制系统和机械负载采取相应的措施。

(10)步进电机只能通过脉冲电源供电才能运行,它不能直接使用普通的交直流电源驱动。

1.1.1 步进电机基本参数

(1)电机固有步进角

它表示控制系统每发出一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如86BYG250A型电机给出的值为0.9/1.8(表示半步工作时为0.9度,整步工作时为1.8度),这个步踞角可以称为“电机固有步踞角”,它不一定是电机实际工作时的真正步进角,真正的步进角和驱动器有关。

(2)步进电机的相数

它是指电机内部的线圈组数,目前常用的有二相、三相、四项、五相步进电机。电机相数不同,其步进角也不同,一般二相步进电机步进角为0.9/1.8、三相为0.75/1.5、无相为0.36/0.72.在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步进角的要求。如果使用细分驱动器,则“相数”将变得没有意义,用户只需要在驱动器上改变细分数,就可以改变步进角。

(3)保持转矩

它是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最为重要的参数之一,通常步进电机在低速时的力矩接近保持力矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持力矩就成为衡量步进电机最重要的参数之一。

1.2 步进电机细分简介

随着步进电机在数控机械、自动化领域中的应用越来越广泛,对小步距、低振动

和低噪声的步进电机要求愈来愈迫切。步距角公式r

z m 10

360=θ

式中r z 一转子齿数;

1m 一运行拍数,通常等于定子相数或相数的整数倍,即km m =1; m 一定子相数; k 一电机驱动方式。

由上式看出,步距角的大小由电机自身参数m 、r z ,和电机驱动方式k 决定,受电机制造工艺的限制,靠增加m 和r z ,来减小步距角受到一定限制,此时必须通过增大k 来获得更小的步距角。当步进电机工作于整步工作方式时,k=l ;当步进电机工作于半步工作方式时,k=2;为了获得更大的k ,就必须采用细分控制方法。细分驱动技术可以大幅度减小步进电机的步距角,并且步距角越小,进入稳定区域越容易,这样就增加了电机运行的平稳性,还可以减弱甚至消除电机的低频振荡和噪声,提高起动频率和高速下的转矩,同时也可以提高电机的定位分辨率和精度。

二 系统方案

2.1控制器的选择

方案一:采用CPLD 为控制核心,适合复杂逻辑控制和高速运算系统; 方案二:使用51单片机为核心,适合系统控制。

综合分析,本系统采用STC89C52RC 单片机,STC89C52RC 单片机与51单片机兼容同时可以通过下载线下载程序,方便了程序的调试和运行。

2.2电子驱动电路与细分的方案选择

方案一:由分立元件制作TA8435h 驱动电路。优点是成本低廉、易于控制。缺点是电路体积大,TA8435H 在实体店很难购买,再者网购的TA8435H 大多数是拆机件很难保证芯片的可用性和可靠性。

方案二:使用THB6016H 做驱动电路简单,性能稳定,调试方便,而且芯片很容易购买,可靠性强。

根据电路要求分析,本系统采用THB6016H 做驱动电路

2.3显示器的选择方案

方案一:选用LED 数码管显示电机转速的各种信息,LED 显示信息量小、功耗大,同时

还需要制作相应硬件驱动电路。显示效果明显。

方案二:选用字符点阵LCD模块显示小车的各种信息,LCD信息量大、功耗低,,它提供标准的并行或者串行接口,驱动简单,使用方便。

显示要求明显且显示的信息量不大,所以采用方案一。

2.4转速信号采集方案

方案一:使用光译码盘。优点;测量比较精确。缺点:调试很负载,程序量大。

方案二:采用光电开关。有点:调试简单,只需要MCU在单位时间内计算输入MCU的脉冲数,就能通过简便的程序计算出转速。缺点:误差较大,码盘的缺口很难控制宽度。

综上,采用光电开关进行转速信号采集较为合理。

2.2.4开发软件的选择

方案一:汇编语言。比较直接、简洁,不适合复杂运算。不易读。

方案二:C语言。比较灵活,适合复杂判断和运算。

根据实际,选择用KEIL C 进行编程。

三模块介绍

3.1 STC89C52RC型单片机最小系统

单片机主要擅长系统控制,而不适合做复杂的数据处理,在设计单片机最小系统时我们选用STC89C52 8位DIP-40封装的单片机作为MCU,本系统的单片机最小系统由时钟电路、复位电路、电源电路、外围总线接口等部分组成。图1为单片机最小系统结构框图。

图1

3.2 TB6560AHQ驱动电路

THB6016H两相混合式步进电机驱动芯片,内置双全桥MOSFET驱动、温度保护及过流保护,采用HZIP25封装(尺寸:36.5×17mm),耐压40V、电流3.5A(峰值)、16细分,外围电路简单。适配57mm机座及其以下所有两相混合式步进电机。

TB6560AHQ驱动芯片的优势:

(1)电机振动小噪音低:因为芯片自带2、8、16细分可选,足够满足每分钟从几到近千转的应用要求。

(2)嵌入式驱动器发热少:芯片自带的散热面积足以单独支持小电流驱动的散热要求。(3)支持各种步进电机选型:客户可选择力矩稍大的混合式或永磁式步进电机,使电机工作在允许最大转矩的百分之30至50之间,电机成本几乎不变;芯片提供多档电流设置和电流衰减模式,支持相同动力指标下各种不同参数的步进电机。

总之,因TB6560AHQ芯片集成度很高,外围电路极其简单,可靠性极高,支持57和部分86步进电机从每分钟几十到近千转的宽调速应用,可使数控设备研发成本和生产成本双双下降。实物如图2:

图2

工作电流设置表3:

表3 静止时自动半流如表4:

表4 细分设置如表5

表5

衰减设置如表6:

表6

3.3 电源模块

本系统要求有5V的电源输入,因此我们选用了LM317作为电源芯片。LM317作为输出电压可变的集成三端稳压块,是一种使用方便、应用广泛的集成稳压块。其应用电路如图7所示。图8为电源滤波电路。

图 7

图 8

稳压电源的输出电压可用下式计算,Vo=1.25(1+R2/R1)。本系统中取R1为240n,R2取5K的可调电位器。通过调节R2的阻值大小,进而可以改变输出电压的大小,实现电压可调,其可调范围是Vo=1.25V—37V。在应用中,为了电路的稳定工作,在一般情况下,还需要接二极管作为保护电路,防止电路中的电容放电时的高压把317烧坏。

3.4 ADC0804

ADC0804是一个早期的A/D转换器,因其价格低廉而在要求不高的场合得到广泛应用。ADC0804是一个8位、单通道、低价格A/D转换器,主要特点是:摸数转换时间大约100us;方便的TTL或CMOS标准接口;可以满足差分电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时(0V~5V)输入信号电压范围是0V~5V;不需要调零,等等。

ADC0804是一个20引脚的芯片,引脚排列如图9所示。

图 9

CLK_R,CLK,GND 之间用电阻和电容组成RC 震荡电路,用来给ADC0804提供工作所需的脉冲,其脉冲频率为1/(1.1RC )。2/REF V 端用两个 k 1的电阻分压得到2/cc V 电压,即2.5v ,将该电压作为AD 芯片工作时内部参考电压。其电路图如图10:

图 10

3.5 光电开关模块

光电开关模块采用简易的连接方式,在调节的时候注意将R2和R4的电阻调的尽可能小这样才能是产生的信号能够达到TTl电平,从而让单片机识别。其电路如图11:

图11

其整形电路,采用的是74LS14,74LS14是集成的施密特触发器,通过预设阀值将输入的正弦波整形为方波这样才能是MCU的外部中断能更好的识别下降沿,从而使计数达到准确。其内部电路如图12:

图12

四程序设计

4.1 系统电路示意图

本次设计的“步进电机控制“这一套系统,主要利用ADC0890实现数据采集,数据为0---5V电压,转换为0—255的数字量,使单片机产生相应的脉冲,数码管前2位显示步进电机的理想转速。单片机读取的数字量改变步进电机的转速,光电开关和74LS14采集由码盘

旋转产生的信号量,并将其转换为方波,输入MCU,经过MCU的计算将实际转速用数码管的后2位显示出来。其系统的电路示意图如下:

图13

4.2 程序设计

脉冲的产生有T0和T1定时中断产生,之说以要用两个定时中断是为了是产生的脉冲频率尽可能的低,因为步进电机只有在低速旋转时才具备它区别与直流电机的意义,如果用一个定时器,就不能很好的和前面的电位器和ADC0804相结合,其大致的程序如下,让TI滞后于T1定时器25ms,之后在使他们自动装载的时间相等,这样就能产生较理想的脉冲。

TMOD=0x01;

TH0=(65536-50000)/256; //设置PWM波周期

TL0=(65536-50000)%256;

TH1=(65536-52500)/256;; //脉宽调节

TL1=(65536-52500)%256;;

ET0=1; //开定时器0中断

ET1=1; //开定时器1中断

TR0=1 ; //启动定时器0

TR1=1 ; //启动定时器1

void timer0() interrupt 1

{ TR0=0 ;

TH0=(15536+180*adval)/256;

TL0=(15536+180*adval)%256;

CLK1 = 1 ;

TR0=1 ; }

void timer1() interrupt 3

{ TR1=0 ;

TH1=(15536+180*adval)/256; //重新装载

TL1=(15536+180*adval)%256;

CLK1=0 ; //结束输出

TR1=1 ;

}

计数是由外部中断0来实现的,设置外部中断0下降沿触发,这样每来一个下降沿,num 就自加,已达到对码盘空位的计数。

实际测速显示程序是由52单片机独有的T2定时器来实现的,在规定的时间内产生中断,以计算此时码盘转过的空隙数,来计算实际的转速。由于我们只采用T2定时器的计时功能,故自需对RCAP2H和RCAP2L进行赋值就可以了。因为52单片机在上电后自动默认T2OMD和T2CON 为0,故不用在去设置。在T2中断处必须要求TF2进行软件清零,因为这个标志位是硬件不能清零的。其程序大致如下:

void timer2() interrupt 5 //{ a++;

TF2 = 0; // 复位中断标志位

if(a>=10)

{a = 0;

TRU = (num*12)/35;

num = 0;}

}

五实物图

图14

六心的体会

本次综合设计是基于单片机的步进电机调速、细分、测速实验。步进电机本是我从来没有接触过的电机,本着挑战的心态我选择来了这个从未做过的实验,通过为期几个星期设计还真的使我受益匪浅。

所谓“纸上谈兵终觉浅,觉知此事要躬行。”这句话还真的不假,从开始的设计实验的框架就让我头疼,因为不了解怎么样通过AD和电位器给步进电机给定速度,整个实验就无从下手,现在后头看看以前的想法还真的比较幼稚,因为但是思考问题是分开考虑的,没有将整个设计综合考虑,给定速度是通过调节输出脉冲的个数,而输出脉冲个数是通过单片机来调节的,而单片机是通过I/O收集来的8位数据来进行运算从未通过中断来产生脉冲。其次到后来的稳压电路的制作,简简单单的一个电路我却花费的两天都没有调节出来,最后通过挨着排查才发现问题所在,为了防止稳压电路的输入端正负极接错,我特意增加了一个发光二极管,然而发光二极管在导通是电阻特别的大,以至于分担了很多电压使输出电压始终达不到5V,说明设计电路的时候不能想当然,而是要通过理论的推敲。再到后来就是细分的实现出现了很大的问题,最主要是因为以前没有接触过步进电机不知道怎么去控制它,最开始我使用了TA8435h去控制它,然而TA8435h这块芯片在市面上很少,而且在网上购买都不能买到新的,且都是拆机的,可靠性不能得到保障,以至于后来没有焊接成功驱动板,其实这些都应该归结于对细分原理没有完全的搞清楚,概念没有吃透,导致选择芯片的失误。后来通过老师的指导才找到了合适的芯片。

调节程序还不叫顺利,就是在测量实际转速是,因为我采用了两个定时器去产生低频脉冲,以至于不能找到一个基准时间去衡量转速,最后还好是使用的52单片机,其内部有一个特殊的T2定时器,这样才解决这个问题。尚未解决的就是在实际测量转速的时候,由于步进电机在整步运行时,每走一步会产生抖动,这样就使得买盘没转动一个小格,本应产生一个脉冲即一个下降沿,却因为抖动产生多个脉冲,通过示波器观察的到,最多的时候产生9个脉冲,即外部中断就多计算了很多次使得实际转速的现实很不准。

经过专业设计,使我学到了很多知识,同时也锻炼了我的动手能力。以前自己总是对动手操作这方面很忧心。可是经过了几周的调试使我自己深深喜欢上了这一项活动。知识是无穷的,只有我们不畏艰辛,坚信学无止境的念头,努力拼搏我们才能取得更优异的成绩。当然也同时让我感觉到了不认真就会出错,我们要以精益求精的态度要求自己。让我感到很充实,我努力了,我付出了,我也得到了回报,因为我们组的实验成功了。感谢队友的合作,感谢老师的指导。

参考文献

[1] 张洪润,蓝清华. 单片机应用技术教程[M] . 北京:清华大学出版社,1997.

[2] 秦曾煌. 电工学[M] . 北京:高等教育出版社,1999.

[3] 常斗南,等. 可编程序控制器原理、应用、实验[M] . 北京:机械工业出版社,1998.

[4] 于海生,等. 微型计算机控制技术[M] . 北京:清华大学出版社,1999.

[5] 王福瑞,等. 单片机微机测控系统设计大全[M] . 北京:北京航空航天大学出版

社,1998.

[6] 陈理壁. 步进电机及其应用[M] . 上海: 上海科学技术出版社,1989.

[7] 刘保延,等. 步进电机及其驱动控制系统[M] . 哈尔滨:哈尔滨工业大学出版

社,1997.

[8] 郭敬枢,庄继东,孔峰. 微机控制技术[M] . 重庆:重庆大学出版社,1994.

[9] 刘国荣. 单片微型计算机技术[M] . 北京:机械工业出版社,1996.

[10] 王福瑞. 单片微机测控系统设计大全[M] . 北京:北京航空航天大学出版社,1998

[11] 潘新民等: 单片微型计算机实用系统设计1 北京: 人民邮电出版社, 1992.

[12] 何立民. 单片机应用技术选编[M] . 北京:北京航空航天大学出版社,1993.

[13] 潘新民等: 单片微型计算机实用系统设计1 北京: 人民邮电出版社, 1992.

[14] 翟玉文梁伟艾学忠施云贵编著,电子设计与实践,中国电力出版社,2005 附录

#include

#include //调用intrins.h中得函数

#define uchar unsigned char

#define uint unsigned int

sbit CLK1 = P3^1;

sbit wei1 = P0^0;

sbit wei2 = P0^1;

sbit wei3 = P0^2;

sbit wei4 = P0^3;

sbit CSAD_ = P0^5;

sbit RD_ = P0^6;

sbit WR_ = P0^7;

uchar a,b,adval,num,TRU;

uchar code table[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71 };

void delayms(uint xms)

{uint i,j;

for(i = xms;i > 0;i--)

for(j = 110;j > 0;j--);}

void display(uchar qian,uchar bai,uchar shi,uchar ge) { wei1 = 1;wei2 = 1;wei3 = 1;wei4 = 0;

P2 = table[qian];

delayms(1);

wei1 = 1;wei2 = 1;wei3 = 0;wei4 = 1;

P2 = table[bai];

delayms(1);

wei1 = 1;wei2 = 0;wei3 = 1;wei4 = 1;

P2 = table[shi];

delayms(1);

wei1 = 0;wei2 = 1;wei3 = 1;wei4 = 1;

P2 = table[ge];

delayms(1);

}

void main()

{

uchar A1,A2,A3,A4,Est,num;

num = 0;

a = 0; //计算实际显示所用时间计数

TRU = 0; //用于实际显示

TMOD=0x01;

TH0=(65536-50000)/256; //设置PWM波周期 TL0=(65536-50000)%256;

TH1=(65536-52500)/256;; //脉宽调节

TL1=(65536-52500)%256;;

EX0 = 1; //打开外部中断0

IT0 = 1; // 下降沿触发

ET0=1; //开定时器0中断

ET1=1; //开定时器1中断

TR0=1 ; //启动定时器0

TR1=1 ; //启动定时器1

PX0=1;//外部中断0优先级高

CLK1=1;

CSAD_ = 0;//ad转换使能

RCAP2H=(65536-50000)/256;

RCAP2L=(65536-50000)%256; //reload msb_value重载值

TH2=RCAP2H;

TL2=RCAP2L; // 填入初始化值

ET2=1; // enable timer2 interrupt 允许T2中断

TR2=1; // timer2 run 开始计时

EA=1; // interupt enable 中断允许

while(1)

{ WR_ = 1;

_nop_();

WR_ = 0; //启动AD转换

_nop_();

WR_ = 1;

P1 = 0xff;

_nop_();

RD_ = 1;

_nop_();

RD_ = 0;

_nop_();

adval = P1;

RD_ = 1;

Est =(1530+54*adval)/255;

A1 = Est/10;

A2 = Est%10;

A3 = TRU/10;

A4 = TRU%10;

display(A1,A2,A3,A4);

};

}

void timer0() interrupt 1

{

TR0=0 ;

TH0=(15536+180*adval)/256; //重新装载,如果时间能够满足要求,最好自动装载

的模式

TL0=(15536+180*adval)%256;

CLK1 = 1 ;

TR0=1 ;

}

void timer1() interrupt 3

{

TR1=0 ;

TH1=(15536+180*adval)/256; //重新装载

TL1=(15536+180*adval)%256;

CLK1=0 ; //结束输出

TR1=1 ;

}

void ISR0_Key() interrupt 0 using 1

{

num++;

}

void timer2() interrupt 5

{

a++;

TF2 = 0; // 复位中断标志位 if(a>=10)

{

a = 0;

TRU = (num*12)/35;

num = 0;

}

}

课程设计:车辆出入库管理PLC系统设计

目录 目录.............................错误!未定义书签。绪论 . (2) 1.1 PLC的特点 (3) 1.2 PLC的基本结构 (4) 1.3 PLC的软件系统 (5) 1.4 PLC的工作原理 (5) 14.1输入采样阶段 (6) 1.4.2程序执行阶段 (6) 1.4.3输出刷新阶段 (6) 车辆出入库管理系统的构成 (8) 2.1整体框架 (8) 2.2传感器的布置 (8) 2.3显示电路 (8) PLC的I/O端口接线 (10) I/O口地址分配 (12) 硬件的选择 (14) 5.1可控编程控制器的选择(P L C) (14) 5.2压力传感器的选择 (15) 5.3按钮开关的选择 (16) 5.4信号灯的选取 (17) 5.5导线选择 (17) 5.6 LED显示屏的选择 (17) 程序设计 (19) 6.1课题内容 (19) 6.2计数逻辑 (20) 6.3程序流程图 (21) 6.4梯形图 (23) 总结 (28) 元器件清单 (30)

绪论 随着生产力和科学技术的不断发展,人们的日常生活和生产活动大量的使用自动化控制,不仅节约了人力资源,而且很大程度的提高了生产效率,又进一步的促进了生产力快速发展,并不断的丰富着人们的生活。 早期的自动控制系统是依靠继电-接触器来实现的,其特点是:结构简单、价格低廉、抗干扰能力强,可以实现集中控制和远距离控制,但是其采用固定接线,通用性和灵活性差;又采用触点的开关动作,工作频率低,触点易损坏,可靠性差。 1969年,出现了可编程逻辑控制器PLC(Programmable Logic Controller),其特点是:具备逻辑控制、定时、计数等功能,编程语言采用直观的梯形图语言,软件更改方便,通用性和灵活性好。 目前,可编程控制器PLC主要是朝着小型化、廉价化、标准化、高速化、智能化、大容量化、网络化的方向发展,与计算机技术相结合,形成工业控制机系统、分布式控制系统DCS(Distributed Control System)、现场总线控制系统FCS(Field bus Control System),这将使PLC的功能更强,可靠性更高,使用更方便,适用范围更广。 随着汽车特别是私有汽车的普及使用,公共场所和社区汽车流转数量激增,这对车辆的安全停放和管理提出了更高的要求,引进先进的控制技术和管理方式,实现对大型停车场系统的集中化和智能化的安全性管理控制已经成为大规模停车服务管理的必然趋势。针对现有的停车系统管理中存在的缺陷及PLC技术和传

基于单片机的步进电机课程设计报告

设计题目:基于单片机的步进电机控制系统设计 设计目的: 综合运用所学的《单片机原理及应用》的理论知识,通过实践加强对所学知识的理解,具备设计单片机应用设计系统的能力。以单片机为核心设计一个步进电机控制系统,要求能够通过键盘设置步进电机的正转和反转,加速和减速。并在LED 数码管显示器上显示步进电机转速。通过了解系统的软硬件构成及其特点,详细掌握怎样通过单片机控制其输出来控制步进电机的运转,并对应地在数码管上显示出来,更加系统的了解步进电机的组成,工作原理,控制方法。 设计要求: 【1】进行方案论证,说明步进电机控制系统的工作原理 【2】设计控制系统所需的硬件电路,给出电路原理图和元器件清单。 【3】给出软件流程图并编写程序源代码。 【4】完成系统的调试,给出调试结果并分析。 【5】了解单片机的内部结构,组成,学习单片机的工作原理以及内部工作状态,并熟悉在不同时刻,单片机的输入输出情况 【6】了解步进电机的分类和用途,掌握步进电机的内部结构以及工作原理,并学习单片机简单控制步进电机的正转和反转,加速和减速 【7】使用keil和proteus等软件进行系统的仿真,并在开发板硬件上实现。锻炼自己的编程,调试能力。 设计条件: 步进电机的工作原理 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件步进电机。在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号时,它就驱动步进电机按设定的方向转动一个固定的角度。称为“步距角”。它的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 电机的位置和速度与导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定

步进电机控制实验

步进电机控制实验 一、实验目的: 了解步进电机工作原理,掌握用单片机的步进电机控制系统的硬件设计方法,熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试水平。 二、实验容: 编写并调试出一个实验程序按下图所示控制步进电机旋转: 三、工作原理: 步进电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。 步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C ′,相邻的两个磁极之间夹角为60o,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。 当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。由此可见,错齿是促使步进电机旋转的原因。 三相步进电机结构示意图 例如在三相三拍控制方式中,若A相通电,B、C相都不通电,在磁场作用下使转子齿和A相的定子齿对齐,我们以此作为初始状态。设与A相磁极中心线对齐的转子的齿为0

c语言车辆管理系统课程设计

#include<> #include<> #include<> #define MAX 3 /*车库容量*/ #define price /*每车每分钟费用*/ typedef struct time { int hour; int min; }Time; /*时间结点*/ typedef struct node { char num[10]; Time reach; Time leave; }CarNode;/*车辆信息结点*/ typedef struct NODE { CarNode *stack[MAX + 1]; int top; }Moni_Cheku;

typedef struct car { CarNode *data; struct car *next; }QueueNode; typedef struct Node { QueueNode *head; QueueNode *rear; }Moni_Biandao; void InitStack(Moni_Cheku *); /*初始化车库*/ int InitQueue(Moni_Biandao *); /*初始化便道*/ int Arrival(Moni_Cheku *, Moni_Biandao *); /*车辆到达*/void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*车辆离开*/ void List(Moni_Cheku, Moni_Biandao); /*显示车库和便道的存车信息*/ int main() { Moni_Cheku Enter, Temp; Moni_Biandao Wait; int ch; InitStack(&Enter); /*初始化车站*/

步进电机实验报告剖析

北华航天工业学院 课程设计报告(论文) 课程名称:微机控制技术课程设计 设计课题:步进电机的控制系统 专业班级: 学生姓名: 指导教师: 设计时间:2013年06月11日

北华航天工业学院电子工程系 微机控制技术课程设计任务书 姓名:专业:班级: 指导教师:职称:教授时间:2013.6.11 课程设计题目:步进电机的控制系统 设计步进电机单片机控制系统,其功能如下: 1.具有对步进电机的启停、正反转、加减速控制; 2.控制按钮分别为正转、反转、加速、减速、以及停止键; 3.能够通过三位LED数码管(或液晶显示器)显示当前的转动速度,并且由两只不同颜色的发光二极管分别指示正转和反转,因此可以清楚的显示当前转动方向和转速; 4.要求每组选择的步进电机控制字不同; 5.用单片机做控制微机; 应用软件:keil protues 成果验收形式: 1.课程设计的仿真结果 2.课程设计的报告书 参考文献: 【1】张家生. 电机原理与拖动基础【M】. 北京:北京邮电大学出版社,2006. 【2】马淑华,王凤文,张美金. 单片机原理与接口技术【M】.北京:北京邮电大学出版社,2007. 【3】顾德英,张健,马淑华.计算机控制技术【M】. 北京:北京邮电大学出版社,2006. 【4】张靖武,周灵彬. 单片机系统的PROTEUS设计与仿真【M】. 北京:电子工业出版社,2007 第16周 时间 安排 指导教师教研室主任: 2013年06 月11日

内容摘要 步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。 关键词:步进电机单片机数码管显示

步进电机调速

摘要 本文介绍的是在DICE-AT2型自控原理实验箱上,通过编写汇编语言实现对步进电机转速的调节以及正转—停止—反转的控制。 在试验箱上将电路搭好,打开软件,输入程序,将宏汇编程序经过汇编,连接后形成.EXE文件装入系统,运行程序观察电机转速及转向的变化。 程序运行后电机的变化跟预期相符,各项步骤运行正常。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。 关键词:步进电机;汇编编程;8088cpu;计算机控制

Abstract Is introduced in this paper on the DICE - AT2 control principle experiment box, by writing assembly language implementation of the stepping motor speed regulation and control forward, stop, reverse. In test chamber, general layout is good, open software, input program, the macro assembler after assembly, connection formation. EXE file into the system, run the program to observe the changes of motor speed and steering. Program is running after the change of the motor with expectations, the various steps to run normally. Stepper motor is the electrical pulse signal into angular displacement or linear displacement of open loop control stepping motor. Stepper motor as the executive element, it is one of the key products of electromechanical integration, widely used in all kinds of automation control system. With the development of microelectronics and computer technology, step ? Keywords:Stepping motor; Assembler programming; 8088 CPU; The computer control

步进电机的控制实验报告

步进电机的控制实验报告 一、实验目的 1.学习步进电机的工作原理。 2.了解步进电机的驱动电路。 3.学会用单片机控制步进电机。 二、实验器件 1.T IVA C 系列芯片,电机模块和LCD显示模块。 2.电脑以及CCS开发软件。 三、实验内容 设计一个简单的程序驱动步进电机并控制转速,通过LCD板上的滚轮装置可以调节步进电机的转速。 四、实验原理 双极性四线步进电机:一般双极性四线步进电机线序是 A B A/ B/, 其中A 与A/是一个线圈,B和B/是一个线圈,一般这种驱动需要的是H桥电路。 H双极性四线步进电机驱动相序: 1.单相四拍通电驱动时序 正转: A/ B A B/ 反转: B/ A B A/ 2.双相通电四拍驱动时序 正转:A/B AB AB/ A/B/ 反转:A/B/ AB/ AB A/B 3.半步八拍驱动时序 正转:A/ A/B B AB A AB/ B/ A/B/ 反转:A/B/ B/ AB/ A AB B A/B A/

DRV8833驱动芯片: DRV8833为玩具、打印机及其他机电一体化应用提供了一款双通道桥式电机驱动器解决方案。该器件具有两个H 桥驱动器,并能够驱动两个直流(DC)电刷电机、一个双极性步进电机、螺线管或其他电感性负载。每个H桥的输出驱动器模块由N沟道功率MOSFET组成,这些MOSFET被配置成一个H桥,以驱动电机绕组。每个H桥都包括用于调节或限制绕组电流的电路。借助正确的PCB设计,DRV8833的每个H桥能够连续提供高达1.5-ARMS(或DC)的驱动电流(在25℃和采用一个5VVM电源时)。每个H桥可支持高达2A的峰值电流。在较低的VM电压条件下,电流供应能力略有下降。该器件提供了利用一个故障输出引脚实现的内部关断功能,用于:过流保护、短路保护、欠压闭锁和过热。另外,还提供了一种低功耗睡眠模式。 DRV8833内置于16引脚HTSSOP封装或采用PowerPAD?的QFN封装(绿色环保:RoHS和无Sb/Br)。 图1 H桥电路真值表 设计思路:使用单相四拍通电驱动时序驱动步进电机。用单片机生成四个占空比为25%相位逐个延迟90度的PWM信号,按照特定顺序输入到驱动芯片的AIN1、AIN2、BIN1、BIN2引脚。通过调节LCD模块上的滚轮来调节PWM信号的周期从而控制步进电机的转速。调节的频率范围是25HZ-50HZ。步进电机的转速信息通过传感器采样送到单片机,信息处理后送到LCD显示模块显示。 实验主程序: int main(void) { uint32_t pui32ADC0Value[1]; // 保存ADC采样值 int speed = 0; uint32_t cur_Period, old_Period = 0; // 根据滚轮ADC转换值换算出当前的时间周期值 // 系统时钟设置 SysCtlClockSet(SYSCTL_SYSDIV_64 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ); // 初始化滚轮 Init_ADCWheel();

步进电机细分控制(英文)

1/17 AN1495 APPLICATION NOTE 1INTRODUCTION Microstepping a stepper motor may be used to achieve one or both of two objectives; 1) increase the position resolution or 2) achieve smoother operation of the motor. In either case the basic the-ory of operation is the same. The simplified model of a stepper motor is a permanent magnet rotor and two coils on the stator separated by 90 degrees, as shown in Figure 1. In classical full step operation an equal current is delivered to each of the coils and the rotor will align itself with the resulting magnetic vector along one of the 45 degree axis. To step the motor, the current in one of the two coils is reversed and the rotor will rotate 90 degrees. The complete full step sequence is shown in figure 2. Half step drive,where the current in the coil is turned off for one step period before being turned on in the opposite direction, has been used to double the step resolution of a motor. In either full and half step drive,the motor can be positioned only at one of the 4 (8 for half step) defined positions.[4][5] Therefore,the number of steps per electrical revolution and the number of poles on the motor determine the resolution of the motor. Typical motors are designed for 1.8 degree steps (200 steps per revolution)or 7.5 degree steps (48 steps per revolution). The resolution may be doubled to 0.9 or 3.75 degrees by driving the motor in half step. Further increasing the resolution requires positioning the rotor at positions between the full step and half step positions. Figure 1. Model of stepper motor MICROSTEPPING STEPPER MOTOR DRIVE USING PEAK DETECTING CURRENT CONTROL Stepper motors are very well suited for positioning applications since they can achieve very good positional accuracy without complicated feedback loops associated with servo sys-tems. However their resolution, when driven in the conventional full or half step modes of operation, is limited by the configuration of the motor. Many designers today are seeking alternatives to increase the resolution of the stepper motor drives. This application note will discuss implementation of microstepping drives using peak detecting current control where the sense resistor is connected between the bottom of the bridge and ground. Examples show the implementation of microstepping drives with several currently available chips and chip sets. REV . 2AN1495/0604

c语言车辆管理系统课程设计.doc

#include #include #include #define MAX 3 /*车库容量*/ #define price 0.5 /*每车每分钟费用*/ typedef struct time { int hour; int min; }Time; /*时间结点*/ typedef struct node { char num[10]; Time reach; Time leave; }CarNode;/*车辆信息结点*/ typedef struct NODE { CarNode *stack[MAX + 1]; int top;

}Moni_Cheku; typedef struct car { CarNode *data; struct car *next; }QueueNode; typedef struct Node { QueueNode *head; QueueNode *rear; }Moni_Biandao; void InitStack(Moni_Cheku *); /*初始化车库*/ int InitQueue(Moni_Biandao *); /*初始化便道*/ int Arrival(Moni_Cheku *, Moni_Biandao *); /*车辆到达*/ void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*车辆离开*/ void List(Moni_Cheku, Moni_Biandao); /*显示车库和便道的存车信息*/

机器人课程设计报告范例

机器人课程设计报告范例

**学校 机器人课程设计名称 院系电子信息工程系 班级10电气3 姓名谢士强 学号107301336 指导教师宋佳

目录 第一章绪论 (2) 1.1课程设计任务背景 (2) 1.2课程设计的要求 (2) 第二章硬件设计 (3) 2.1 结构设计 (3) 2.2电机驱动 (4) 2.3 传感器 (5) 2.3.1光强传感器 (5) 2.3.2光强传感器原理 (6) 2.4硬件搭建 (7) 第三章软件设计 (8) 3.1 步态设计 (8) 3.1.1步态分析: (8) 3.1.2程序逻辑图: (9) 3.2 用NorthStar设计的程序 (10) 第四章总结 (12) 第五章参考文献 (13)

第一章绪论 1.1课程设计任务背景 机器人由机械部分、传感部分、控制部分三大部分组成.这三大部分可分成驱动系统、机械结构系统、感受系统、机器人一环境交互系统、人机交互系统、控制系统六个子系统现在机器人普遍用于工业自动化领域,如汽车制造,医疗领域,如远程协助机器人,微纳米机器人,军事领域,如单兵机器人,拆弹机器人,小型侦查机器人(也属于无人机吧),美国大狗这样的多用途负重机器人,科研勘探领域,如水下勘探机器人,地震废墟等的用于搜查的机器人,煤矿利用的机器人。如今机器人发展的特点可概括为:横向上,应用面越来越宽。由95%的工业应用扩展到更多领域的非工业应用。像做手术、采摘水果、剪枝、巷道掘进、侦查、排雷,还有空间机器人、潜海机器人。机器人应用无限制,只要能想到的,就可以去创造实现;纵向上,机器人的种类会越来越多,像进入人体的微型机器人,已成为一个新方向,可以小到像一个米粒般大小;机器人智能化得到加强,机器人会更加聪明 1.2课程设计的要求 设计一个机器人系统,该机器人可以是轮式、足式、车型、人型,也可 以是仿其他生物的,但该机器人应具备的基本功能为:能够灵活行进,能感知光源、转向光源并跟踪光源;另外还应具备一项其他功能,该功能可自选(如亮灯、按钮启动、红外接近停止等)。 具体要求如下: 1、根据功能要求进行机械构型设计,并用实训套件搭建实物。 2、基于实训套件选定满足功能要求的传感器; 3、设计追光策略及运动步态; 4、用NorthStar设计完整的机器人追光程序;

控制步进电机调速系统实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称微机原理及应用 实验学期 2011 至 2012 学年第二学期学生所在系部电子信息工程学院 年级 2009 专业班级 学生姓名学号 任课教师 实验成绩 计算机系制

《微机原理及应用》课程综合性实验报告 开课实验室:计算机接口实验室2012年5月29日 实验题目微机控制步进电机调速系统 一、实验目的 1、了解计算机控制步进电机原理 2、掌握步进电机正转反转设置方法 3、掌握步进电机调速工作原理及程序控制原理 二、设备与环境 TPC-2003A 微机。 Vc++编译器。 三、实验内容 硬件接线图参考实验指导书。 软件编程在TPC-2003A自带的VC++编译环境下使用。 在通用VC++下编程,需要拷贝相关的库文件。 用汇编语言编写控制程序需注明原理。 四、实验结果及分析 1、实验步骤 1、按如下实验原理图连接线路,利用8255输出脉冲序列,开关K0~K6控制步进电机转速,K7控制步进电机转向。8255 CS接288H~28FH。PC0~PC3接BA~BD;PA口接逻辑电平开关。 2、编程:当K0~K6中某一开关为“1”(向上拨)时步进电机启动。K7向上拨电机正转,向下拨电机反转。 实验原理图

2.实验结果 按照实验步骤连接实验电路,检查无误后运行程序。可以看到,当开关k0到k6依次为高电平时,电机转速越来越慢,k0闭合时速度最快,k6闭合时速度最慢,当k0到k6的低位有闭合时,步进电机按最低位的转速运行,因为程序中的查询方式是从k0-k6,即在程序的优先级别中k0的级别是最高的而k7的优先级别是最低的。k7控制电机的正转与反转。 3.实验分析 (1)步进电机的工作原理: 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动 电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。 如图(b)所示:本实验使用的步进电机用直流+5V 电压,每相电流为0.16A,电机线圈 由四相组成:即: φ1(BA) φ2(BB) Φ3(BC) Φ4(BD) 驱动方式为二相激磁方式,各线圈通电顺序如下表所示。图(b) 表中首先向φ1 线圈-φ2 线圈输入驱动电流,接着φ2-φ3,φ3-φ4,φ4-φ1,又返回到φ1-φ2,按这种顺序切换,电机轴按顺时针方向旋转。 实验可通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。

微机原理课程设计 步进电机的正反转及调速控制分解

课程设计报告 题目步进电机正反转及调速 控制系统的设计 课程名称微机原理及应用 院部名称机电工程学院 专业电气工程及其自动化班级10电气1班 学生姓名管志成 学号1004103027 课程设计地点C304 课程设计学时20 指导教师李国利 金陵科技学院教务处制

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。 本设计基于Proteus 7.8设计环境,运用了8086 CPU芯片以及74273芯片、74244芯片和步进电机以及7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速,不同的按钮对应不同的速度,并且在没有速度按钮按下的时候,步进电机自动切换到停止状态。 关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统

一、概述 1.1 课程设计的目的 (4) 1.2课程设计的要求 (4) 二、总体设计方案及说明 2.1 系统总体设计方案 (5) 2.2系统工作框图 (5) 三、系统硬件电路设计 3.1 Intel 8086 微处理器的简介 (6) 3.2 步进电机的原理 (7) 3.3 ULN2003A的简介 (8) 3.4 74154芯片简介 (9) 3.5 74LS273芯片简介 (10) 3.6 8086最小系统的设计 (11) 3.7 步进电机及其驱动电路的设计 (12) 3.8 电机状态显示电路的设计 (12) 3.9 输入采样电路的设计 (13) 3.10系统总电路图 (14) 四、系统软件部分设计 4.1 系统流程图 (15) 4.2 系统软件源程序 (16) 4.2.1电机绕组通电顺序设定 (16) 4.2.2 延时子程序设计 (16) 4.2.3 汇编源程序及说明 (16) 五、总结 5.1 系统软硬件的联合调试 (21) 5.2 问题分析和解决方案 (23) 5.3 心得与体会 (23) 六、参考文献 (23) 附录:总电路图 (25)

汽车管理系统课程设计

数据库系统概论课程设计 题目:汽车销售管理系统 成员:戴明弟(201201050803)冯聪(201201050805) 毕晓峰(201201050801)专业:软件工程2012—1

任务书 汽车销售管理系统的设计与实现 调查本地从事汽车销售的企业,根据企业汽车销售的情况,设计用于汽车销售的管理系统,主要功能有: 1) 基础信息管理:厂商信息、车型信息和客户信息; 2) 进货管理:车辆采购、车辆入库; 3) 销售管理:车辆销售、收益统计; 4) 仓库管理:库存车辆、仓库明细、进销存统计; 5) 系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等;

汽车销售管理系统的设计与实现 A.引言 a)设计目的 巩固和加深对数据库系统基础理论的理解;掌握使用数据库进行软件系统设计的基本思想和方法;提高学生运用数据库理论解决实际问题的能力;培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力。 b)设计要求 以Microsoft SQL Server或MySQL作为后台数据库,以Visual Studio、Eclipse等软件作为前台开发工具,完成一个小型数据库应用系统的设计开发。 c)设计环境 以Microsoft SQL Server 2012 作为后台数据库,以NetBeans 作为开发工具,以Java为开发语言。 B.概要设计 a)系统需求分析 (1).调查厂商组织情况。包括了解各组织的部门组成情况,各部门的职责等,为分析信息流程做准备。 (2).调查各部门的业务活动情况。包括了解各个部门和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么,这些是调查的重点。 (3).在熟悉了业务活动的基础上,协助用户明确对新系统的各种要

步进电机实验报告

单片机实验 课程名称:步进电机表实验 授课班级:2010级自动化三班 任课教师:文远熔 计划学时:32学时 实验组员:张藤耀赵福亮王聪慧 秦菱蔚梁钦郑欢

目录 摘要………………………………………………………………………… 第一章概述…………………………………………………………………………………………. 1.1实验目的………………………………………………………………………… 1.2实验要求………………………………………………………………………… 1.3步进电机的介绍…………………………………………………………………… 1.4 研究思路………………………………………………………………………… 第二章硬件设计………………………………………………………….. 2.1 51单片机介绍…………………………………………………………………… 2.2 UIN2003A…………………………………………………………………………… 2.3 ZLG7290…………………………………………………………………………… 2.3.1 7290工作原理………………………………………………………………… 2.3.2 7290引脚图…………………………………………………………………… 第三章相关图像………………………………………………………………. 3.1 总电路图……………………………………………………………………… 3.2 7290控制数码管……………………………………………………………………… 3.3 程序流程图………………………………………………………………………… 3.3.1 控制框图………………………………………………………………………… 3.3.2 流程图………………………………………………………………………… 第四章调试………………………………………………………………………第五章心得体会…………………………………………………………………附录【一】系统程序……………………………………………………………附录【二】参考文献…………………………………………………………….

步进电机工作原理、驱动控制系统与选型

步进电机工作原理、驱动控制系统与选型 一、感应子式步进电机工作原理 (一)反应式步进电机原理 由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。 1、结构: 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图: 2、旋转: 如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。 如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。 如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。 如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て。 这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A 相,电机转子向右转过一个齿距,如果不断地按A,B,C,A……通电,

电机就每步(每脉冲)1/3て,向右旋转。如按A,C,B,A……通电,电机就反转。 由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。 不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BC-C-CA-A这种导电状态,这样将原来每步1/3て改变为1/6て。甚至于通过二相电流不同的组合,使其1/3て变为1/12て,1/24て,这就是电机细分驱动的基本理论依据。 不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m……(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制——这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。 3、力矩: 电机一旦通电,在定转子间将产生磁场(磁通量Ф)当转子与定子错开一定角度产生力 F与(dФ/dθ)成正比 其磁通量Ф=Br*S ;Br为磁密;S为导磁面积; F与L*D*Br成正比;L为铁芯有效长度;D为转子直径;Br=N·I/RN·I为励磁绕阻安匝数(电流乘匝数)R为磁阻。 力矩=力*半径力矩与电机有效体积*安匝数*磁密成正比(只考虑线性状态) 因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。 (二)感应子式步进电机

步进电机驱动方式(细分)概述

步进电机驱动方式(细分)概述 众所周知,步进电机的驱动方式有整步,半步,细分驱动。三者即有区别又有联系,目前,市面上很多驱动器支持细分驱动方式。本文主要描述这三种驱动的概述。 如下图是两相步进电机的内部定子示意图,为了使电机的转子能够连续、平稳地转动,定子必须产生一个连续、平均的磁场。因为从宏观上看,电机转子始终跟随电机定子合成的磁场方向。如果定子合成的磁场变化太快,转子跟随不上,这时步进电机就出现失步现象。 既然电机转子是跟随电机定子磁场转动,而电机定子磁场的强度和方向是由定子合成电流决定且成正比。即只要控制电机的定子电流,则可以达到驱动电机的目的。下图是两相步进电机的电流合成示意图。其中Ia是由A-A`相产生,Ib是由B-B`相产生,它们两个合成后产生的电流I就是电机定子的合成电流,它可以代表电机定子产生磁场的大小和方向。 有了以上的步进电机背景描述后,对于步进电机的整步、半步、细分的三种驱动方式,都会是同一种方法,只是电流把一个圆(360°)分割的粗细程序不同。 整步驱动 对于整步驱动方式,电机是走一个整步,如对于一个步进角是3.6°的步进电机,整步驱动是每走一步是走3.6°。

下图是整步驱动方式中,电机定子的电流次序示意图: 由上图可知,整步驱动每一时刻只有一个相通电,所以这种驱动方式的驱动电路可以是很简单,程序代码也是相对容易实现,且由上图可以得到电机整步驱动相序如下: BB’→A’A→B’B→A A’→B B’ 下图是这种驱动方式的电流矢量分割图: 可见,整步驱动方式的电流矢量把一个圆平均分割成四份。 下图是整步驱动方式的A、B相的电流I vs T图: 可以看出,整步驱动描出的正弦波是粗糙的。使用这种方式驱动步进电机,低速时电机会抖动,噪声会比较大。但是,这种驱动方式无论在硬件或软件上都是相对简单,从而驱

c语言车辆管理系统课程设计

c语言车辆管理系统课 程设计 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

#include<> #include<> #include<> #define MAX 3 /*车库容量*/ #define price /*每车每分钟费用*/ typedef struct time { int hour; int min; }Time; /*时间结点*/ typedef struct node { char num[10]; Time reach; Time leave; }CarNode;/*车辆信息结点*/ typedef struct NODE { CarNode *stack[MAX + 1]; int top;

}Moni_Cheku; typedef struct car { CarNode *data; struct car *next; }QueueNode; typedef struct Node { QueueNode *head; QueueNode *rear; }Moni_Biandao; void InitStack(Moni_Cheku *); /*初始化车库*/ int InitQueue(Moni_Biandao *); /*初始化便道*/ int Arrival(Moni_Cheku *, Moni_Biandao *); /*车辆到达*/ void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*车辆离开*/ void List(Moni_Cheku, Moni_Biandao); /*显示车库和便道的存车信息*/

微机原理步进电机控制课程设计报告

科技大学 课程设计报告 学生:学号: 专业班级: 课程名称: 学年学期:2 0 —2 0 学年第学期 指导教师: 20 年月

课程设计成绩评定表

目录 一、设计题目………………………………………………………………. 二、设计目的………………………………………………………………. 三、设计原理及方案……………………………………………………….

四、实现方法………………………………………………………………. 五、实施结果………………………………………………………………. 六、改进意见及建议………………………………………………………. 七、设计体会………………………………………………………………. 、 一、设计题目 编程实现步进电机的控制 二、设计目的 1.了解步进电机控制的基本原理 2.掌握控制步进电机转动的编程方法 3.了解8086控制外部设备的常用电路 4.掌握8255的使用方法 三、设计原理及方案 3.1设计原理 步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。 利用8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB…),八拍(A-AB-B-BC-C-CD-D-DA-A…)等。 通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入

相关主题
文本预览
相关文档 最新文档