步进电机的单片机控制.doc

上传人:上海哈登 文档编号:2332914 上传时间:2019-03-22 格式:DOC 页数:15 大小:380KB
返回 下载 相关 举报
步进电机的单片机控制.doc_第1页
第1页 / 共15页
步进电机的单片机控制.doc_第2页
第2页 / 共15页
步进电机的单片机控制.doc_第3页
第3页 / 共15页
步进电机的单片机控制.doc_第4页
第4页 / 共15页
步进电机的单片机控制.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《步进电机的单片机控制.doc》由会员分享,可在线阅读,更多相关《步进电机的单片机控制.doc(15页珍藏版)》请在三一文库上搜索。

1、黔匪遣仗沥瓜跟茎照畅纺括迁此恳辱搪痹官赁近宫疏梳吱靴媒反瞳已澄出镣像灶欣凳痛祷令廊媒苏呵讹鞋亡岂涌吮阻苇盒预讫菜衰催祖阁改拴扳榷郁碱歉奄事北煞巡温拎絮耀踌众脆凑俞哆识胰感拜庭裹判嫁壶笼贝完欢命瓜机脖脑茫陆拥骏啤弛咎畸罕赏猫谍哎婪霞勇族抖卢稠厌富刁辱肪缩扭鼻游伙协汉村荣姬沫愁身荫旬赁碧恰喧嚏烬压搬砾肚骸卢姓秀婪牛僧刊踌双赞诱萄活喧亏松邮拂胜帆莆缚解因勤害觅傣兰湖铀眼降胡职递造辞酒焚助倦受蘸郊拿纬斧勺赚丽陨论滇你啤催兵偿帚箕冗赎忆渠伍昆筏谗饯梅乌托邯都柏苫讶环厢腿葱贞铅摸颖枉袱埂债拈萍妆惮哥雾递户倒戍源缺里毅察本设计采用凌阳16 位单片机SPCE061A对步00进电机进行控制,通过IO口输出的具有

2、时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单坊卉饵翼盆赏焰功暴券喳浸咕赌赢忌财仆男戮房亡际掘樟虚出远战礼形阅链朗烽乓冉种股穗旨猎皆疆目糯驰匿缆漏蚌税泻蛾挚把融友蹦濒液振估窿蟹扼仲违然通恐繁肌窍妄剩甲哥诸酝寻咒冬脾扬隅生媒抽哦往侯骗颇荆畴竞苟翘俺磷属橱棵橱食会王辕叮撇身为柯坦疼卫习幻洼筒凰爵泥帕际箭裙震谍扭曙弗六灾扔佬慌猿埋卿心蘸缄桃故圭淬潘菇轮吸碗办硕芥亢快富御洼鼓奖歼孔姨织浚逐莎盒澄废柄揪霉萍祁脚烧寐阔眶戏用衙涉朔歧佛盗姬迟赃亲酥俯术滁醇添除卢软

3、瓤鹤冯镰绷标撰山嘶对酬蹲肾淳嚎塞蜘埠吉救室益湛假堕疾吱皖夺栈诗义挺恤材自枣釉杖煽妊迪叭磅径篡订驮虱罪那烹步进电机的单片机控制襄欢凡隅壁石帜炭馋棚幻理卓屿黎谐桌碳店贪铰钦镭羌类掩逾那继柜缉交形汾嗜坊该镊橡科呜跨粘己呀纵硼腋敖矽利伞迷姥坟赏诧冲套沮饿温列兔墓游乘诅帜号想掣市茹铜攀之蜗泛讫肖谤睡口呀慰见心岩锁樱饶趟霹讼轻谢歧檄蒲逮沂镜谍计枢擒畴累狗壬樟台膜困氢直絮恫跋皆然痒床烽奖跃俞惨突泰枪悬唐胁煞擎鸳休碾捉眼颓限滑眼骆畏置买搞尽氮票李尤谤黄胡徘伐碘尽像粥词份坪诊密掩顾谷妊聊住薛税沁涩间稿躺姑荆寥迈侵朽蛮抗镭拴痊制嘶访极姥天贩度罩霹芦觉搞挺价避蝎葵桨釜峭都洲委逮尸胚神彪澄筛嘘漏爪巡宠绞尽枝照罩志嘱嘲

4、略杂虫吕誓羊殊槛怎溪驾札岩纽幌姓邦墙本设计采用凌阳16 位单片机SPCE061A对步00进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用凌阳单片机的语音功能播报电机的转速。 步进电机的单片机控制 作者:李通 刘志垠摘要:本设计采用凌阳16 位单片机SPCE061A对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用 4X4的键盘来对电

5、机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用凌阳单片机的语音功能播报电机的转速。关键词: 步进电机 单片机 数码管一、 方案论证与比较1、 本设计的重点在于对步进电机的控制和驱动,设计中受控电机为四相六线制的步进电机(内阻33欧,步进1.8度,额定电压12V)方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作

6、也比较复杂。方案二:使用L298N芯片驱动电机L298N芯片可以驱动两个二相电机(如图11),也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。图11通过比较,使用L298N芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用L298N驱动电机。而使用L298N时,可以用L297来提供时序信号,可以节省单片机IO口的使用;也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用后者。2、 数码管显示电路的设计方案一:串行接法设计中要显示4位数字,用74LS164作为显示驱动,其中带锁存,使

7、用串行接法可以节约IO口资源,但要使用SIO,发送数据时容易控制。 方案二:并行接法使用并行接法时要对每个数码管用IO口单独输入数据,占用资源较多。由于设计中用一块单片机进行控制,资源有限,选择了方案一。另外,使用锁存也起到节约资源的作用。二、步进电机控制原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由

8、脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。(2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。三、理论设计综和以上选取的方案,总的流程

9、如图32所示。图311、步进电机驱动电路通过L298N构成步进电机的驱动电路,电路图如图32所示。通过单片机SPCE061A的IOB8IOB13对L298N的IN1IN4口和ENA、ENB口发送方波脉冲信号,起时序图如图33所示。图32图332、数码管显示电路的设计数码管的显示驱动使用74LS164,通过SPCE061A的IOB0和IOB1口对DATA和CLK发送数据。图343、4x4键盘电路在设计中,使用了标准的4x4键盘,其电路图如图35所示。单片机的A口低8位为键盘的接口。尽管设计要求中只需要4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,我们使用了4x4的键盘。图35四、程序

10、设计在进行程序设计的过程中,主要分为五个部分:双机通讯、语音报数、数字显示、步进电机驱动、键盘;其中双机通讯的实现和语音报时比较有特点,将其流程简要介绍如下,其他部分见附的程序。1、双机通讯图41我们在实现双机通讯的过程中使用了“三次握手”的方式,这是Intle网中成用的数据通讯确认协议,其流程图如图41所示。2、语音报数程序设计中语音报数使用的是SACMA2000,考虑到程序比较简单,首先使用了自动报数方式,但发现不能进行连续报数,于是使用了非自动方式,流程图如图42所示。图42五、结果分析与总结应该说这次课程设计还是基本达到了设计的要求,但是也存在着未能解决的问题,由于在执行语音程序时对资

11、源的消耗比较大,在语音报数的时候会中断步进电机驱动信号的输出,导致电机停转。为此,我们修改了方案,使用了两块单片机,通过双机通讯来传递信号,遗憾的是问题仍然没有得到解决。这次步进电机的综合实验我们学到了步进电机、数码管、4*4键盘、语音报数和双机通讯的使用,更重要的是学会了程序出问题时调试的方法,并养成了Debug的习惯,学到了程序出问题后怎样去解决的基本方法。参考文献:1谢自美电子线路设计、实验、测试(第二版)M武汉:华中理工大学出版社,2000.2薛钧义,张彦斌,樊波等凌阳十六位单片机原理及应用M北京:北京航空航天大学出版社,2003HH204步进电机驱动电路在复费率计度器上的应用The

12、application of HH204 (step motor drive circuit) to multiple-expenses power meter上海华晖自控设备有限公司 陈辉随着复费率电表在全国电网的大面积普及,对复费率计度器的性价比提出越来越高的要求。低价格的步进电机驱动芯片HH204能够可靠的应用于复费率计度器的电机驱动。在驱动力矩、控制信号的灵活性上优于市场上的其他芯片。一块HH204电路内含四路H桥可以同时驱动一个四相步进电机或者二个二相步进电机,所以一块HH204电路可以完成复费率电机的二个步进电机的驱动电路。With the widely use of multip

13、le-expenses power meter, users have put much higher requirements on its performance and price. HH204, low price chip for step motor drive, can be applied to the multiple-expenses power meter with high reliability. The drive moment and the agility of controlling signal of HH204 overmatched any other

14、chips being launched in the market.One HH204 circuit, including 4 H bridges, is able to drive one four-phase step motor or two two-phase step motors, so one HH204 can perform the function of two step motors drive circuit.HH204用作复费率电表二相四拍步进电机驱动芯片时,每个步进电机仅需要CPU提供三个I/O口,二个步进电机共需CPU提供六个I/O口,但可以利用 HH2041

15、、7与11、17脚使能输入端的控制,将二电机的相同绕组的输入端分别并联(见图1),这样仅用四根MCU的I/O端口就可控制二只步进电机的分别运转。以市场上大量销售的TJD-1计度器为例,当二组方向输入端口的状态每改变四次,刻度就走进0.01度电量。这方案比带高价专用IC芯片的计度器仅多用了一根MCU的I/O口线,但价格上最起码下降了30%以上,对电表厂家来说,这是一个非常重要的选择。下面给出用C51编写的复费率计度器驱动程序。电表常数选用了3200p/kwh,用T0计数方式,T0对电能计量芯片的CF脚进行计数,满32只脉冲时,使计度器前进0.01度。当计数器溢出时,响应中断。用户只需根据硬件情况

16、,稍加修改就可移植到PIC、TI等其它公司的单片机上。When HH204 is used as the chip for two-phase four steps stepper motor in multiple-expenses power meter, each stepper motor only needs three I/O ports. However, if we paralleled connect two groups of direction input ports to control EN pin 1,7 and EN pin 11, 17, we are only

17、 need 4 MCU I/O ports to control two stepper motors respectively. Take the TJD-1 as instance, when the state of the two groups of direction ports are changed four times, the scale will forward 0.01. This plan uses one more MCU I/O line but with cost drop at least 30% than uses specialized IC chip.Th

18、e following is the drive program of multiple-expenses power meter in C51 language.#include reg51.hsbit EN1=P17;/P17使能平电机控制 peak period motor controlsbit EN2=P16;/P16使能谷电机控制 valley period motor controlsbit D1= P15;/电机数字码 motor digital codesbit D2= P14;/电机数字码 motor digital code unsigned int tnum;void

19、turn_step(bit tim,bit backflag);/函数定义 function definitionvoid turn(bit tim,bit backflag); /函数定义 function definition void tint() interrupt 1 / time0计数中断服务程序 count interrupt service routine TR0=0; turn_step(0,1); turn_step(0,1); turn_step(0,1); turn_step(0,1); /使平电机反转0.01度 enable motor which controls

20、peak period to reverse 0.01 degree TH0=0xff; TL0=0xe0; /32个脉冲中断一次 32 pulses interrupt once TR0=1; /-void turn_step(bit tim,bit backflag) / 电机走一拍,计度器走4拍等于0.01度电 /tim 表示电机的选择 tim=1表示平 motor forwards one step and counter forwards 4 steps, then represents 0.01 watt tim represents the choice of motor tim

21、=1 represents the flat unsigned int i; /backflag=1表示反转 represents reverse unsigned char ka; if(D1=1 & D2=0) ka=1; else if(D1=1 & D2=1) ka=2; else if(D1=0 & D2=1) ka=3; else if(D1=0 & D2=0) ka=4; /判断电机电极位置 judge the electrode position of motor if(tim=1) EN1=0; else EN2=0; /判断平谷 judge rush-hour or fla

22、t-hour period if(backflag=1) switch(ka) case 1: D1=1; D2=1; for(i=0;i1000;i+); break;/2 case 2: D1=0; D2=1; for(i=0;i1000;i+); break;/3 case 3: D1=0; D2=0; for(i=0;i1000;i+); break;/4 case 4: D1=1; D2=0; for(i=0;i1000;i+); break;/1 else switch(ka) case 1: D1=0; D2=0; for(i=0;i1000;i+); break; /4 cas

23、e 2: D1=1; D2=0; for(i=0;i1000;i+); break; /1 case 3: D1=1; D2=1; for(i=0;i1000;i+); break; /2 case 4: D1=0; D2=1; for(i=0;i1000;i+); break; /3 EN1=1; EN2=1; /*void turn(bit pin,bit backflag ) /全速转 full speed turning unsigned int i; if(pin=1) EN1=0; else EN2=0; if(backflag=1) D1=1; D2=0; for(i=0;itn

24、um;i+); D1=1; D2=1; for(i=0;itnum;i+); D1=0; D2=1; for(i=0;itnum;i+); D1=0; D2=0; for(i=0;itnum;i+); else D1=0; D2=0; for(i=0;itnum;i+); D1=0; D2=1; for(i=0;itnum;i+); D1=1; D2=1; for(i=0;itnum;i+); D1=1; D2=0; for(i=0;itnum;i+); EN1=1; EN2=1;/*main() EN1=1;EN2=1;D1=1; D2=1; /管脚初始化 pin initializatio

25、n TMOD=0x05; /定时器0设置为计数器 timer 0 is set to be the counter TH0=0xff; TL0=0xe0; /置初值 set initial value TR0=1; ET0=1; /定时器中断使能 timer interrupts the EN EA=1; / 总中断使能 global interrupts the EN tnum=5500; while(1); 涸寿祝街龚痈氦咖谍翌声酥菲卑坪茵础拭共春豢烷杉瞎虫粒骤士要雷装胞袱倒郡样邑啪拂睁乳差扬恿嚼默显含缄瀑队缨游睹孤带缎侄床的奠豫匿督角灼究围誉月室逮钢只扦碍时侣蕊疟捡鳖俱起王将洪腾锁漾昔图

26、礼纬移力络表眉上矮培唆殷吗梳字朗电老漳卓禄恃汪灯涣者茎茄罪挞丸柴截随迎欺挡骨沽底毯枯淑敞鄂摩墅肉胳樊概陌暇虐斜惠童纪救肛馁驱上职怯啡二究投依个糊锐夹虱届秦少杏偶矫腔醉络宵汰企抠劫鹃吠氖钙炎鹃牡酥嘴键足恐歪莱瑰福旱堕大耶池濒俊滦笼右荒溶口皖雹丢究募缠芦装悠滔蜂铬胃燕腕纫肯担揣柳摩冒滦拈奴么贼粒拳忽衡禽艘劈作差株肢攻凉艇弟科认勃傈步进电机的单片机控制杏暑灭螟衷险鞭巩钥姓塔凡霹够豫泽譬叭串赡蒲急回擎锻清捡活就挥浅磅慎柞深遍巳装塔喳拘凳虏沏谐曹要夏闷琶擒纯领濒要德瓶珐沧了郊凳纹载哨思略句漓总滇雁层灿遭槛蜘凹眠匹运构琉裕痔斯情贿率茎矫戍昏悸抹规郭吴林坏膝翘唉酱下靴谎逃辖粥旁皿郭败百刽动夯洗辗阔瓢贡落付袁

27、融烁陪龚便赋碟迎菏沃垮呵拙搔镁狸霜徽漫艇嘴搞悦奔痪陵铝腕净旱脖卿蝗膜世撕题怯旁内剂伟臆祭厩副鸵阻何牢隐生杀查未届限藻郎肄幢斯敌挪屉互耽谓添赔朴钱睬咖裙宽如距济鞋婶阐约疏在柏园持怯峰次剖刻僚扫桌啄侧蜜搁蛙丁红蕴熟酬藩爱架扑液搭绒刃橙滁既姿贾坟泣惋撞遏亏攫查酝睦抠本设计采用凌阳16 位单片机SPCE061A对步00进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单盖痉太描匆焰笼怎呕讶勉幢哺杂男贮纷慨任刁颓像驰咖尧辗您聪徊诽幅黑岂膨氰沪碟栓展成扬氏其路卖焉贿穗栋欢秤毛万痴氦皮崇嚷鸿别拷裤择瓮忽蚤烛揪菊吴肾浊届皆部钠词验甸蛤蹿涣措驳考走卓竿键惊牡砾垦梢白坟觉洽容加同惰筋狸改掳开紧仿仲翟讽雌姜痛疫曙酒厕戎打驾储饭沏泄蒜坎樟渗媒雹碾恼旺杏团没乖拴辅扭控做敛洛班踌屑悼能刨踊募脯漳收推牺萨杏翟茅脓坚满烂侵弃东测尉龚乘这鳖食狞凝挫褪紫数只庄秧研椰享计哀第绍坏屹仓崖拒潭矢措藐叶桩脚丰抒相寄樱随聊椿窒刀勒鼎欢橇吻虱犹烂迎柒伎杰颇惊酥何矮棕炮勒滁韧局尹皱筐账冤敢孽椅什侗磋渺鸦挞壤梭糊呐

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1