BTS 7960 电机驱动说明
在BTS7960的一号引脚和7号引脚之间接一个470NF的电容效果更好。另外,5号和6号引脚也可以分别串联1K电阻。
BTS 7960 共有8个引脚8号引脚未画出,功能与4号引脚一致。
接口说明:
PWM 1 接单片机PWM1口 信号控制端 调节占空比调节电机速度
PWM 5 接单片机PWM5口 信号控制端 调节占空比调节电机速度
PB 0 接单片机PB0口 使能端,高电平有效,即PORTB_PB0=1; 工作
PORTB_PB0=0; 休眠
一端信号给正常PWM 信号,另一端给占空比为0的PWM信号,相当于地。
程序(与接口配套程序):
#include
#include "derivative.h" /* derivative-specific definitions */
void PLL_56M_init(void)
{
CLKSEL=0x00; //disengage PLL to system
PLLCTL_PLLON=1; //turn on PLL
SYNR =0xc0 | 0x06; //SYNR=6
REFDV=0x80 | 0x01; //REFDV=1
POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=112MHz;
_asm(nop); //BUS CLOCK=56M
_asm(nop);
while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;
CLKSEL_PLLSEL=1; //engage PLL to system;
}
void PB_init(void)
{
DDRB=0xFF; //B口输出.
}
void PWM_init(void)
{
PWME=0x00; //关闭PWM
PWMPOL=0xff; //输出起始电平为高电平
PWMCAE=0x00; //通道为左对齐输出
PWMCTL_CON01=1; //通道0,1级联
PWMCTL_CON45=1; //通道4,5级联
PWMPRCLK=0x00; //预分频
PWMSCLA=1; //01,45通道分频
PWMCLK_PCLK1=1; //01通道为clocksb
PWMCLK_PCLK5=1; //45通道为clocksb
PWMPER01=5600; //通道01周期
PWMDTY01=2800; //通道01占空比
PWMPER45=5600; //通道45周期
PWMDTY45=0; //通道45占空比
PWME=0xff; //开启pwm
}
void main(void) {
/* put your own code here */
EnableInterrupts;
for(;;) {
PORTB_PB0=1; //BTS 7960使能
PWMDTY01=2800; //占空比为2800/5600=50% 调节PWMDTY01的值即可调节占空比
PWMDTY45=0; //占空比为0/5600=0% 相当于地
_FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
如果发现电机反转,可将PWMDTY01 与PWMDTY45的值对换,或者改变电机接口。
隔离芯片可以选择74hc/ls245 244
小铺制造
2010年2月
本文来源:https://www.2haoxitong.net/k/doc/eeb3fd02376baf1ffc4fadbc.html
文档为doc格式