您好!欢迎进入无锡惠斯通电机科技有限公司官网 !

    联系我们
    服务热线
    13901635301
    联系人:赵先生
    手机:13901635301
    电话:0523-83765066
    地址:江苏省兴化市张郭镇刘西工业园区民营路168号
    在进入T1中断程序之后步进电机
    浏览:262 发布日期:2020-04-12 20:25:50

      求一个二相步进电机的控制程序,采用AT89C51芯片的,要求P10口能控制使能端(ENABLE),P11口能控制转向(CW/CCW),P12口能控制脉冲数(CLK)。另外,如果有控制步进电机加减速的程序更好。两个...

      求一个二相步进电机的控制程序,采用AT89C51芯片的,要求P10口能控制使能端(ENABLE),P11口能控制转向(CW/CCW),P12口能控制脉冲数(CLK)。

      另外,如果有控制步进电机加减速的程序更好。两个程序要带注释。好要用汇编的程序,如果是C程序也行。

      一楼的虽有程序,本人看不懂更不用说改程序了,我是采用TA8435H作为驱动IC的,硬件电路规定要求了P10口能控制使能端(ENABLE),P11口能控制转向(CWCCW),P12口能控制脉冲数(CLK)。谢谢你给的程序。 你能改的话再好改下。展开我来答

      可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

      步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为e799bee5baa6e997aee7ad94e78988e69d4角位移,通俗地说:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

      常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,两相步进电机可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用为广泛。

      下面以电子爱好者业余制作中常用的永磁式步进电机为例,来介绍如何用单片机控制步进电机。

      图1是35BY型永磁步进电机的外形图,图2是该电机的接线图,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将COM端标识为C,只要AC、C、BC、C,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、B、 轮流接地。

      有了这些参数,不难设计出控制电路,因其工作电压为12V,电流为0.26A,因此用一块开路输出达林顿驱动器(ULN2003)来作为驱动,通过P1.4~P1.7来控制各线圈的接通与切断,电路如图3所示。开机时,P1.4~P1.7均为高电平,步进电机依次将P1.4~P1.7切换为低电平即可驱动步进电机运行,注意在切换之前将前一个输出引脚变为高电平。如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向,只要改变各线型步进电机的接线型步进电机的电路原理图

      要求:控制电路如图3所示,开机后,电机不转,按下启动键,电机旋转,速度为25转/分,按下加1键,速度增加,按下减1键,速度降低,速度为100转/分,转带为25转/分,按下停止键,步进电机电机停转。速度值要求在数码管上显示出来。

      按上面的分析,改变转速,只要改变P1.0~P1.3轮流变低电平的时间即可达到要求,这个时间不应采用延时来实现,因为会影响到其他功能的实现。这里以定时的方式来实现。下面首先计算一下定时时间。

      按要求,转速为25转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在转速时,要求为1200脉冲/分,相当于50ms/脉冲。而在转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。可以列出下表

      表中不仅计算出了TH1和TL1,而且还计算出了在这个定时常数下,真实的定时时间,可以根据这个计算值来估算真实速度与理论速度的误差值。

      表中TH1和TL1是根据定时时间算出来的定时初值,这里用到的晶振是11.0592M。有了上述表格,程序就不难实现了,使用定时/计数器T1为定时器,定时时间到后切换输出脚即可。

      定义DSB-1A实验板的S1为启动键,S2为停止键,S3为加1键,S4为减1键,程序如下:

      本程序主要由键盘程序、显示器程序、步进电机驱动程序三部份组成,主程序首先初始化各变量,将显示器的高3位消隐,步进电机驱动的各引脚均输出高电平,然后调用键盘程序,并作判断,如果有键按下,则调用键盘处理程序,否则直接转下一步。下一步是将当前的转速值转换为BCD码,送入显示缓冲区;接着判断StartEnd这个位变量,是“1”还是“0”,如果是“1”,则开启定时器T1,否则关闭定时器T1,为防止关闭时某一相线圈长期通电,因此,在关闭定时器T1时,将P1.0~P1.3均置高。至此,主程序的工作即结束。这里为简便起见,这里没有做高位“0”消隐的工作,即如果速度为10转/分,则显示值“010”,读者可以自行加入相关的代码来处理这一工作。

      步进电机的驱动工作是在定时器T1的中断服务程序中实现的,由前述分析,每次的定时时间到达以后,需要将P1.0~P1.3依次接通,程度中用了一个变量DjCntr来实现这一功能,在主程序初始化时,该变量被赋予初值11110111B,进入到定时中断以后,将该变量取出送ACC累加器,并在累加器中进行左移,这样,该数值就变为11101111,然后将该数与P1相“与”,此时,P1.4即输出低电平,第二次进入中断时,先将该数取反,成为0001 0000,然后将该数与P1相“或”,这样,P1.4即输出高电平,关断了相应的线圈,然后将该数重新取出,并作左移,即 1110,1111右移成为1101 1111,将该数与P1相“与”,这样P1.5即输出低电平,依次类推,P1.7~P1.4即循环输出低电平。当这一数据变为01111111后,需要作适当的改动,将数据重新变回 1111 0111,进行第二次循环,两相步进电机相关代码,步进电机请读者自行分析。

      定时时间又是如何确定的呢?这里用的是查表的方法,首先用Excel计算得出在每一种转速下的TH值和TL值,然后,分别放入DjH和DjL表中,在进入T1中断程序之后,将速度值变量Speed送入累加器ACC,然后减去基数25,两相步进电机使其基数从0开始计数,然后分别查表,送入TH1和TL1,实现重置定时初值的目的。

      1. 更改程序,将S1定义为“启动/停止”,而S2定义为“方向”,按下S2,切换电机旋转方向。
    以上信息由无锡惠斯通电机科技有限公司整理编辑,了解更多步进电机,两相步进电机,混合式步进电机信息请访问http://www.huistong.com