C语言或者汇编语言写的 PIC控制无刷电机启动程序

C语言或者汇编语言写的 PIC控制无刷电机启动程序,第1张

4相4拍步进电机,步进角为7.5

步进电机驱动口连接在RA0-RA3

include<p16f877a.inc> 包含877A的头文件

__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC

芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡

#define step1 9h 转动第1步驱动信号(不同的电机,可以引出线顺序不一样)

#define step2 0ch 转动第2步驱动信号(本程序以“常州市丰源微特电记有限公司的35BY48S053”电机为基础)

#define step3 6h 转动第3步驱动信号

#define step4 3h 转动第4步驱动信号

countequ 20h

org 00h 复位入口

nop ICD所需要的空指令

goto main 跳转到主程序

org 05h

****************************主程序***************************

main

banksel adcon1

movlw 07h

movwf adcon1设置所有A口为普通数字口

banksel trisa

clrf trisa 设置A口为输出

clrf status

clrf porta

movlw .12电机旋转一周需循环次数 360/(7.5*4)

movwf count

loop

movlw step1 第1步

movwf porta

call delay

movlw step2 第2步

movwf porta

call delay

movlw step3 第3步

movwf porta

call delay

movlw step4 第4步

movwf porta

call delay

decfsz count,1是否旋转完一周

goto loop 否,继续转动

clrf porta 是,停止转动

goto $-1停机

*******************************延时程序********************************

控制输出的频率

delay

movfw 0FH

movwf 21h

movlw 0ffh

movwf 22h

decfsz 22h,1

goto $-1

decfsz 21h,1

goto $-5

return

******************************源程序结束*******************************

end

无刷电机不用控制器的只有电脑风扇所用电机,因为其内部具有一块线路板已经具有了分相功能。其他无刷电机必须具有控制器线路板,这一线路板包括分相和检测磁极方向的功能和功率开关功能,所以不能不用。

想学习使用无刷电机必须了解这些,并且需要达到自己制作控制板的能力才能具备DIY制作人的标准。

直流无刷电机是属于永磁无刷同步电机类。其直流无刷电机控制器只能应用于直流无刷电机。其功能参数、型号、电源电压、输出功率、相位角度、有无霍耳开关、光电开关或自识别功能、等等的等等必须一致。所以需要与电机控制器配合使用。

直流无刷电机:

直流无刷电机是同步电机的一种,也就是说电机转子的转速受电机定子旋转磁场的速度及转子极数(P)影响:N=120.f / P。在转子极数固定情况下,改变定子旋转磁场的频率就可以改变转子的转速。直流无刷电机即是将同步电机加上电子式控制(驱动器),控制定子旋转磁场的频率 并将电机转子的转速回授至控制中心反复校正,以期达到接近直流电机特性的方式。也就是说直流无刷电机能够在额定负载范围内当负载变化时仍可以控制电机转子 维持一定的转速。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11457451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存