一.直流电机驱动电路TB6612FNG
VM :一般接12V(4.5v-15v)
VCC:一般接5V
STBY:1----电机工作 (可以直接接3.3V)
0----电机待机
AIN1:
AIN2;控制电机转动方向
AO1:电机M+
AO2:电机M-
注意:电机的两个引脚有顺序,不要接反了


驱动电路1
PWMA 接单片机的 PWM 口 真值表: AIN1 0 0 1 AIN2 0 1 0 停止 正传 反转 A01 AO2 接电机 1 的两个脚
讯享网
驱动 2路
讯享网PWMB 接单片机的 PWM 口 真值表: BIN1 0 0 1 BIN2 0 1 0 停止 正传 反转 B01 BO2 接电机 2 的两个脚
逻辑真值表

二.控制电机转向
GPIO口配置:
/* * 电机控制端GPIO设置 * AIN1 AIN2 * 左前 P6.0 P6.1 * 右前 P6.2 P6.3 * 左后 P6.4 P7.0 * 右后 P6.5 P6.6 */ void CAR_RUN_Init(void) { P6DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6; P6OUT &= ~(BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6); P7DIR |= BIT0; P7OUT &= ~BIT0; }
控制小车行进方向:
讯享网 void CAR_F_R(int mode_1)//控制前后行动,控制IN1,IN2 { switch(mode_1) { case 0://前行 P6OUT &= ~(BIT0 + BIT2 + BIT4 + BIT5); //0 P6OUT |= BIT1 + BIT3 + BIT6; //1 P7OUT |= BIT0; break; case 1://后退 P6OUT |= BIT0 + BIT2 + BIT4 + BIT5; //1 P6OUT &= ~(BIT1 + BIT3 + BIT6); //0 P7OUT &= ~BIT0; //0 break; case 2://左转 P6OUT &= ~BIT0; //0,P6.0 P6OUT &= ~BIT1; //0 P6OUT &= ~BIT2; //0,P6.2 P6OUT |= BIT3; //1 P6OUT &= ~BIT4; //0,P6.4 P7OUT &= ~BIT0; //0 P6OUT &= ~BIT5; //0 P6OUT |= BIT6; //1 break; case 3://右转 P6OUT &= ~BIT0; //0 P6OUT |= BIT1; //1 P6OUT &= ~BIT2; //0 P6OUT &= ~BIT3; //0 P6OUT &= ~BIT4; //0 P7OUT |= BIT0; //1 P6OUT &= ~BIT5; //0 P6OUT &= ~BIT6; //0 break; case 4://停止 P6OUT &= ~(BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5 + BIT6); //0 P7OUT &= ~BIT0; break; case 5://左旋转 P6OUT &= ~BIT0; //0 P6OUT |= BIT1; //1 P6OUT |= BIT2; //1 P6OUT &= ~BIT3; //0 P6OUT &= ~BIT4; //0 P7OUT |= BIT0; //1 P6OUT |= BIT5; //1 P6OUT &= ~BIT6; //0 break; case 6://右旋转 P6OUT |= BIT0; //1 P6OUT &= ~BIT1; //0 P6OUT &= ~BIT2; //0 P6OUT |= BIT3; //1 P6OUT |= BIT4; //1 P7OUT &= ~BIT0; //0 P6OUT &= ~BIT5; //0 P6OUT |= BIT6; //1 break; default: break; } }
以下是我自己的小车和板子的连线图


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/50200.html