标题:
电机驱动MC33886的单片机控制程序与资料
[打印本页]
作者:
努力的小新人
时间:
2019-1-3 22:57
标题:
电机驱动MC33886的单片机控制程序与资料
分享一下。
0.png
(44.15 KB, 下载次数: 25)
下载附件
2019-1-4 01:32 上传
MC33886使用说明
电机驱动原理图:
MC33886A和B是33886全桥驱动芯片,(如图所示)可驱动两个直流电机。P4接口
IN1、IN2(A) IN3、IN4(B) 为信号的输入端,接单片机的PWM端口。P2 接口OUT1
OUT2。P3接口OUT3、OUT4位输出信号,接口接直流电机。P1接口为电源输入。D1-D8
位1N4007二极管,主要起电源短路保护作用,V1-V5为5V稳压管,防止过大的电压冲击
烧坏芯片;R7为限流电阻, 减轻在运行过程中,过大电流冲击,将单片机烧坏!
注明:板子上引出的5V插针,使用时不用接5V电源;目的是:输入信号端不接单片机进
行测试时,可以将5V电源和信号控制端(任意一组)进行短接,对应的输出端口会
有高电平输出!(IN控制端没有给信号,P2,3口输出是低电平)。
单片机MC9S12XS128测试程序如下:
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
/************************************************/
/*锁相环倍频*/
/************************************************/
void pll_xs(void)
{
SYNR=0x44;
REFDV=0x81;//总线频率40M
while(!CRGFLG_LOCK);
while(CLKSEL_PLLSEL!=1)
CLKSEL_PLLSEL=1;
}
/***********************************************/
/*PWM初始化!*/
/************************************************/
void PWM_int(void)
{
PWMPOL|=0xaa;//PWM Polarity开始输出高电平,1、3、5、7 positive.
PWMCLK|=0xaa;//Clock Select, Sn,B:7632.A:0145
PWMPRCLK=0x22;//CLOCKA和CLOCKB是4分频是10M
PWMCTL=0xf0;
PWMSCLA=5;//1M
PWMSCLB=5;//1M
PWMCAE=0x00;
PWMDTY01=900;
PWMPER01=1000;
PWME=0xaa; //PWM Enable,1、3、5、7 enable.
}
/************************************************/
void main(void) {
pll_xs();//倍频
DDRB=0xff;
PORTB|=0xff;
PORTB&=0xfe;//PB0和PB1用来控制电机转向的
EnableInterrupts;
PWM_int();
for(;;) {
_FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
复制代码
所有资料51hei提供下载:
MC33886 驱动.rar
(1.5 MB, 下载次数: 54)
2019-1-3 22:54 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1