打印

IR2136驱动BLDC问题请教

[复制链接]
897|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenmr1|  楼主 | 2017-12-15 00:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1、原理图按照数据手册推荐的电路画的,电机为无霍尔BLDC

2、现在想法是通过控制HIN1HIN2HIN3LIN1LIN2LIN3,输入高低电平,控制HO1HO2HO3LO1LO2LO3输出高低电平。只是验证硬件是否正常,能驱动电机转动。代码见下面,只是设定普通的IO输出驱动,未用到PWM。代码是根据下面两个图来编写。
3、现出现如下现象:MOS管供电24VIR2136供电12VLO输出12V的高低电平变化,HO输出36V的高低电平变化。
量电机的相线,有24V高低电平变化,电机滋滋滋响,但没有转动。现在无法确认电机转动原因。
如果按照下面两张图顺序写,电机应该可以转动,但不知道为什么电机不动。
希望各位大侠指点。


代码:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
void Set_UVW(unsigned char nHIN1,unsignedchar nLIN1,unsigned char nHIN2,unsigned char nLIN2,unsigned char nHIN3,unsignedchar nLIN3)
{
                   U_H=nHIN1;//A+
                   U_L=nLIN1;//A-
                   V_H=nHIN2;//B+
                   V_L=nLIN2;//B-
                   W_H=nHIN3;//C+
                   W_L=nLIN3;//C-                          
}
intmain(void)
{      
                   delay_init();           
                   LED_Init();                  
                   LED0=0;   
                   Set_UVW(1,1,1,1,1,1);//HO1=0 ,LO1=0 ,HO2=0 ,LO2=0 ,HO3=0 ,LO3=0,所有桥臂置低
                   delay_ms(100);
                   Set_UVW(1,0,1,0,1,0);//HO1=0 ,LO1=1 ,HO2=0 ,LO2=1 ,HO3=0 ,LO3=1,所有下桥臂置高,给自举电容充电
                   delay_ms(100);
                   Set_UVW(1,1,1,1,1,1);//HO1=0 ,LO1=0 ,HO2=0 ,LO2=0 ,HO3=0 ,LO3=0,所有桥臂置低
                   delay_ms(1);
         while(1)
         {
                   Set_UVW(1,0,1,1,0,1);//HO1=0 ,LO1=1 ,HO2=0 ,LO2=0 ,HO3=1 ,LO3=0
                   delay_us(10);   
                           
                   Set_UVW(1,0,0,1,1,1);//HO1=0 ,LO1=1 ,HO2=1 ,LO2=0 ,HO3=0 ,LO3=0
                   delay_us(10);
                  
                   Set_UVW(1,1,0,1,1,0);//HO1=0 ,LO1=0 ,HO2=1 ,LO2=0 ,HO3=0 ,LO3=1
                   delay_us(10);
                  
                   Set_UVW(0,1,1,1,1,0);//HO1=1 ,LO1=0 ,HO2=0 ,LO2=0 ,HO3=0 ,LO3=1
                   delay_us(10);
                  
                   Set_UVW(0,1,1,0,1,1);//HO1=1 ,LO1=0 ,HO2=0 ,LO2=1 ,HO3=0 ,LO3=0
                   delay_us(10);
                  
                   Set_UVW(1,1,1,0,0,1);//HO1=0 ,LO1=0 ,HO2=0 ,LO2=1 ,HO3=1 ,LO3=0
                   delay_us(10);                                                
         }
}

1.png (67.47 KB )

1.png

2.png (82.27 KB )

2.png

3.png (228.81 KB )

3.png
评分
参与人数 1威望 +1 收起 理由
king5555 + 1 必須有PWM否則电机动不了,可以HO丶LO接指示灯到COM。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝