基于CAN总线的步进电机控制系统 联系客服

发布时间 : 星期四 文章基于CAN总线的步进电机控制系统更新完毕开始阅读16ed70096bd97f192279e9f2

中国计量学院毕业设计(论文)

5.步进电机的最高温度:

步进电机温度过高首先会使步进电机内部的永磁性材料磁性减弱,从而使步进电机的转动力矩下降甚至停止工作导致失步,因此电机的最高温度是因为采用的磁性材料的退磁温度来决定;一般情况下,磁性材料的退磁温度都在120℃以上,有的材料甚至能达到250℃以上,所以电机的表面温度达到90℃也是可以正常工作的。

6.力矩与功率换算

步进电机在调速范围较大时,步进电机的功率是变化的,实际生产中一般采用力矩来衡量,功率和力矩的换算公式如式3.1。

P=Ω*M*Ω=2n60pπ=2nM60pπ ?????????????????(3.1)

其中参数P是功率,它的单位是瓦特,Ω为每秒转动的角度,单位是弧度,n为定子转动的速度,M为力矩单位为牛顿?米

P=2fM400π (半步工作) ???????????????????(3.2)

式3.2 中,参数f代表的含义是每秒脉冲数,缩写是PPS。

步进电机一般用在打印机,多功能一体机,复印机,传真机等,具有高精度,快速相应等特点的系统上。

18

中国计量学院毕业设计(论文)

3.6步进电机转速指示器

图3.6.1步进电机转速指示器原理图

为了减小调试难道和方便实物验收,本系统增加了步进电机转速标志模块。因为发光二极管反向耐压只有5伏。他的工作电流也比较小,所以在实际生产生活中必须跟限流电阻串联用以限制支路上的电流。限流电阻的计算公式如式3.3:

R=(E-UF)IF?????????????????????????(3.3)

式中E为电源正电压,UF为发光二级管的工作电压,IF为发光二级管的额定电流。发光二极管有一般只有两根引脚,其电源正负极的辨别方式和电容一样,较短的为负极,较长的为正极。长的一端应该连接电源的正极。有个别厂商生产的引脚一样长,但外壳上绝对会有标记,一般与标记较近的引脚是发光二级管正极。

发光二级管与小灯泡和氖气灯相比较,发光二级管的优点是:工作电压低,工作电流小,功耗小,稳定性好,衰老时间长;通过调节电流的大小就可以方便地改变LED发光的强弱。所以,发光二极管用途很广,例如:大型公共场所或者室内的照明光源,在电子设备中当做信号指示灯等。

在本电路中,电源为DC5V采用的发光二级管的工作电压为1.8V,电流为3mA。

R=(E-UF)IF

=(5v-1.8V)3MA?1.067KΩ????????????????(3.4)

19

中国计量学院毕业设计(论文)

取近似值1KΩ的色环电阻,串联在电路中,得到了较好的效果。

4 基于CAN总线的步进电机控制系统软件设计

4.1软件总体设计

图4.1.1系统软件总体流程图

基于CAN总线的步进电机控制系统软件设计主要分为SJA1000驱动部分和步进电机驱动部分两大块,其中步进电机驱动部分是主体,是单片机一直运行的函数,完成了对步进电机的基本运动控制,其中包含了正转,反转和停止共九级调速。SJA1000驱动部分包括SJA1000芯片初始化模块、CAN总线发送函数模块和CAN总线接收模块。步进电机调速指示灯驱动,步进电机速度等级发送等功能包含在其他子程序中,这些功能模块的设计会在本章后半段详细讲解。

4.2 系统功能模块详细设计

如图4.1.1所示,整个系统的软件流程,在系统上电后对各个芯片进行初始化,次序如下,首先对STC89C52RC单片机进行初始化,包括打开单片机的内部定时器0,外部中断1和数据总线、地址总线的初始化。若初始化成功进入

20

中国计量学院毕业设计(论文)

CAN总线初始化模块,此模块主要包括对SJA1000芯片的初始化,对其与单片机相连接的一些管脚进行初始化设置,保证初始化完成。如果初始化失败,重新初始化,如果成功,则设置定时器0,定时10us,此后,程序执行到步进电机调速部分,根据从CAN总线接收到的数据,驱动步进电机调速和点亮相应的指示灯进行显示。

4.3 单片机初始化

系统上电后,单片机首先对自己进行初始化,为后续程序做铺垫。主要是对SJA1000进行复位操作,复位的方法是对SJA1000的RST脚先至于低电平,10US后,在拉高该脚,这样SJA1000就进行了一次复位操作了。复位操作后,为了与SJA1000通讯,所以要选中SJA1000芯片,故而拉低SJA_CS脚。然后是开启外部中断1,触发方式是边缘触发,而后开启总中断。

SJA_RST = 0; //SJA1000复位有效 mDelay(10); mDelay(10); SJA_CS = 0; EX1 = 1; IT1 = 0;

EA = 1;

//CAN总线片选有效

//外部中断1使能;CAN总线接收中断 //CAN总线接收中断,低电平触发 //打开总中断 //延时

SJA_RST = 1; //CAN总线复位管脚,复位无效

图4.3.1单片机初始化流程图

4.4 CAN初始化模块

在单片机初始化完成后,随着程序的执行,就进入了CAN初始化模块,由于本系统采用了新型的CAN总线独立控制器SJA1000,所以对CAN的初始化都是围绕着SJA1000完成的。

SJA1000T的初始化只能在复位后才可以进行,初始化的内容主要包括:芯片的工作方式的设置、接受滤波的工作方式的设置、接收代码寄存器(ACR)和接收屏蔽寄存器(AMR)的设置、波特率的设置和中断许可寄存器(IER)的设置等。

21