遥控小车
1.3D建模:
可先打出第一版模型拼装后进行测试,然后找出所有存在的问题并设计修改制作第二版模型。
截图:
github地址:https://github.com/QingYang12/model3dtest/tree/main/self_build/0002%E9%81%A5%E6%8E%A7%E8%BD%A6
2.电路图:
整张电路图为 C51的P2_0到P2_3控制转向H桥电路,P2_4到P2_7控制动力H桥电路
截图:
H桥电路图PNP原理图 NPN原理图
电子元件备注:8个S8550三极管,2个3-5V电机,1个STC80C51单片机及最小电路底座,
一个单扎开关,2个3组电池盒,一个HC 06-spp蓝牙模块.
github地址:https://github.com/QingYang12/mind_and_picture_project_test/tree/main/6.circuit/0.0002%E9%81%A5%E6%8E%A7%E8%BD%A6
实际图:
第一版第一版第一版尺寸小了,增大尺寸做第二版第二版第二版第二版
3.程序:
#include <8052.h> // “reg52.h” 此文件中定义了单片机的一些特殊功能寄存器
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define Z1 P2_0 //左边马达下接口 out2
#define Z2 P2_1 //左上 out1
#define Z3 P2_2 //右下 out4
#define Z4 P2_3 //右上 out3
#define D1 P2_4 //左边马达下接口 out2
#define D2 P2_5 //左上 out1
#define D3 P2_6 //右下 out4
#define D4 P2_7 //右上 out3
void stopd();
void stopz();
void forward();
void back();
void left();
void right();
void UART_Routine() __interrupt 4;
void UART_SendByte(unsigned char Byte);
void UsartConfiguration();
void stopd()
{
D1=1;
D2=1;
D3=1;
D4=1;
}
void stopz()
{
Z1=1;
Z2=1;
Z3=1;
Z4=1;
}
void forward()
{
D1=1;
D2=1;
D3=0;
D4=0;
}
void back()
{
D1=0;
D2=0;
D3=1;
D4=1;
}
void left()
{
Z1=0;
Z2=0;
Z3=1;
Z4=1;
}
void right()
{
Z1=1;
Z2=1;
Z3=0;
Z4=0;
}
void UART_SendByte(unsigned char Byte)
{
SBUF=Byte;
while(TI0);
TI=0;
}
void UART_Routine() __interrupt 4 //串口中断号
{
unsigned int receive_data;
if(RI1)
{
receive_data=SBUF; //接收数据
switch(receive_data)
{
case (01):
forward();break;
case (02):
back();break;
case (03):
left();break;
case (04):
right();break;
case (00):
stopd();break;
case (07):
stopz();break;
}
RI=0; //串口接收寄存器置零
}
}
void UsartConfiguration()
{
SCON=0x50; //8位数据,可变波特率
PCON |=0x80; //使能波特率倍速位SMOD
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x20; //设置定时器模式
TL1 = 0xFA; //设置定时初始值
TH1 = 0xFA; //设置定时重载值
ET1 = 0; //禁止定时器%d中断
TR1 = 1; //定时器1开始计时
EA=1; //开启总中断
ES=1; //开启串口中断
}
void main()
{
UsartConfiguration();
while(1);
}
程序其他备注:需要下载蓝牙串口app
4.通信指令:
按下左 :03
松开左 :07
按下右 :04
松开右 :07
按下前进 :01
松开前进 :00
按下后退 :02
松开后退 :00
(16进制数)
5.调试测试流程:
1.首先焊接H桥电路板。
2.将开发板与H桥电路板链接
3.用LED闪烁程序测试,测试H桥电路板是否能够电机正反转。
未正反转或单项转动:用万用表测隔段导线电压,
2个三极管如斜对侧三极管两侧未出现交变电压,证明另一个失效。
可使用LED小灯辅助判断导线间是否有电流。
4.第二个H桥电路检测方法同上。
5.将两个H桥电路都接上,使用LED2闪烁程序测试.发现问题同3处理。
6.使用开发板烧录bluetoothtest蓝牙测试程序,看D排小灯的变化情况。
7.在开发板上链接完整电路,测试烧录bluetoothcar完整程序。观察2电机旋转情况。
8.使用单片机最小电路与完整电路连接并调试。
6.使用流程说明:
1.使用VS CODE编写单片机程序。
2.使用模拟仿真软件绘制电路图并测试
3.使用烧录命令或程序进行单片机程序烧录。
4.照绘制的电路图焊接,烧录测试程序并连接测试。
5.烧录完整程序并测试。