查看: 1314|回复: 0

【NXP电机驱动套件MAPS-56F84000】试用之四第一个BLDC程序

[复制链接]

该用户从未签到

发表于 2017-7-25 08:51:17 | 显示全部楼层 |阅读模式
分享到:
   现在软件已经按照上一章的方法编好了,这是关键时刻,要让程序运行起来了。
   第一步我不敢直接接电机运行,怕程序控制上有错误,虽然这个程序是借鉴NXP的官方的TWR-56F84789的例程修改而来,但因为有很多端口和官方的TWR-56F84789端口不一致,还是小心为妙,怕程序中还有那些坑没有找到。
按照下图挑线


   将电机的5跟霍尔传感器和电源的线接好,三根电机线圈的线不接,屏蔽程序中检测线圈的代码,运行程序,程序没有报故,运行正常,但电压检测有些不准,但现在不管它了,按下UP按钮


就可以看到


     D1到D6其中有两个灯在亮,着两个灯正好对应了6路PWM中的两路,D1、D2、D3对应驱动T2、T3、T4这三个驱动管,D4、D5、D6对应驱动T11、T12、T13这三个驱动管。
     此时用手旋转电机,就可以看到D1到D6的灯在变化,正好表示电机随着霍尔传感器的信号在换向,同时也说明程序运行正常。
    将电机的U、V、W线圈线按照循序接到电路板上。

    接好线后给电路板通电12VDC,同时运行freeMASTER对程序运行情况进行监控。
    按下UP按钮后电机开始运行起来了。
     从freeMASTER的界面上就可以看到电机的运行状态和参数,如速度、电压、PWM的占空比等


用示波器测量GPIOE1/PWM0A端口和GPIOE0/PWM0B端口,可看到波形如下




此时每按一下UP按钮,电机速度就增加500转,每按一下DOWM按钮,电机速度就减少500转。但转速为0时电机就停转。
也可以通过下面的代码修改按钮按下的转速增加或减少的数值
#define N_MIN FRAC16(500.0/N_MAX)

#define N_INC  N_MIN
从freeMASTER界面上看电机转速明显不对,实际的转速的上面显示的转速高,我通过检查代码发现转速的检测与电机的级数有关,默认的电机是2级电机,而我找的一个电机查不到具体参数,只能通过测量实际转速计算了。
#define POLE_PAIRS  2//电机级数
我改成了
#define POLE_PAIRS 16//电机级数
      再次检测电机转速已经和显示的转速一致了。
     通过这次软件调试,说明了开发板电路正常,运行的第一个BLDC电机驱动程序也正常,但这个程序功能还不够完善,后续就是要对程序进行完善了。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-20 15:26 , Processed in 0.118955 second(s), 18 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.