分享一下。
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)
|