项目简介
本项目是基于AI8051U的多用途小车控制板,具有双轮自平衡小车主控板,四轮小车主控板,遥控器板,AI8051U性能评估板等多功能用途。
项目功能
本设计是基于AI8051U设计的多用途小车控制板;设计有四路直流电机接口,两路编码电机接口,SPI(IIC)OLED屏接口,MPU6050模块接口,超声波模块接口,红外通信,蓝牙模块接口,WIFI模块接口,摇杆,除小车基础功能外还设计了板载W25QXX及AT24CXX用以实验SPI及IIC通信,同时加装了板载AI8H以测试多路串口通信、COMP+、RGB灯及若干按键以方便对评估AI8051芯片其性能;
项目参数
- 本设计采用TC118S单通道直流马达驱动器,驱动小车前进、后退、停止及刹车功能;
- 本设计采用OLED显示屏插座可兼容SPI或IIC的8/7/4线接口,为开发者提供调试便利;
- 本设计采用MPU6050模块插座,为小车或遥控器提供姿态数据;
- 本设计采用HC-SR04超声波模块插座,为小车提供前方障碍物距离数据;
- 板载AI8H2K12U,其主要功能作为USB转双串口方案,分别接主控的串口1与串口2;
- 通信上可以选择板载的红外通信方案,同样可以考虑设计的蓝牙模块及WIFI模块插座;
- 板载一颗360°无死角带归位摇杆,为遥控器用途提供更丰富的控制方案;
- 考虑到该芯片引脚仍有富余,为其添加存储拓展、LED、蜂鸣器等设计,以方便对其芯片性能做充分评估。
原理解析(硬件说明)
本项目由以下部分组成,电源部分、电机驱动部分、主控部分、陀螺仪拓展部分、通信部分,本项目主要是通过摇杆产生控制信号由选定通信方案发送,再由主控接收控制信号并进行处理,通过对陀螺仪提取姿态信息,驱动电机做出对应操作。

1--电源电路:
采用DC插座及XT30作为电池供电接口、TYPE-C-16P接口作为调试供电接口,同时使用对应的USB数据引脚分别接入AI8H2K12U与AI8051U对应的USB引脚处,直接使用USB通过正反插实现不同芯片的作为下载和调试,无需转换为串口信号。在CC1和CC2引脚处加入5.1K下拉电阻,便于不同主机识别和配置,采用TPS5632DCDC稳压芯片为电机、模块、元件提供+5V,+3V3电源电压,主控使用一颗ME6211线性稳压器单独供电,并设计重新上电按键。

2--电机驱动电路:
依靠5V电压对电机供电,采用四路TC118S实现单通道直流马达驱动器控制四路电机驱动,并为四路电机提供接口,同时引出两路提供编码电机接口,电机可靠PWM调速驱动。

3--主控电路
参照官方最小系统,保留了外接晶振接口及复位按键还有USB一键下载按键······

4--陀螺仪拓展电路
设计有MPU6050模块插座。


5--通信电路
为实现小车遥控,设计有板载红外通信电路,可实现红外信号收发通信,开发者也可以通过预留的蓝牙及WIFI模块插座,实现不同通信协议的操作。
......
软件代码
/******************** 主函数 **************************/
void main(void)
{
u8 t=' ';
WTST = 0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXFR = 1; //扩展寄存器(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
P0M1 = 0x00; P0M0 = 0xff; //设置为推挽输出
P1M1 = 0x00; P1M0 = 0x00; //设置为准双向口
P2M1 = 0x00; P2M0 = 0x00; //设置为准双向口
P3M1 = 0x00; P3M0 = 0x00; //设置为准双向口
P4M1 = 0x00; P4M0 = 0x00; //设置为准双向口
P5M1 = 0x00; P5M0 = 0x00; //设置为准双向口
P6M1 = 0x00; P6M0 = 0x00; //设置为准双向口
P7M1 = 0x00; P7M0 = 0x00; //设置为准双向口
OLED_Init();//初始化OLED
OLED_ColorTurn(0);//0正常显示,1 反色显示
OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
while(1)
{
OLED_DrawBMP(0,0,128,64,BMP1);
BLUE = 1;
GREEN = 0;
RED = 0;
delay_ms(500);
BLUE = 0;
GREEN = 1;
RED = 0;
delay_ms(500);
BLUE = 0;
GREEN = 0;
RED = 1;
delay_ms(500);
OLED_Clear();
OLED_ShowChinese(0,0,0,16);//刘
OLED_ShowChinese(18,0,1,16);//工
OLED_ShowChinese(36,0,2,16);//的
OLED_ShowChinese(54,0,3,16);//立
OLED_ShowChinese(72,0,4,16);//创
OLED_ShowChinese(90,0,5,16);//开
OLED_ShowChinese(108,0,6,16);//源
OLED_ShowString(8,2,"ZHONGJINGYUAN",16);
OLED_ShowString(20,4,"2024/12/12",16);
OLED_ShowString(0,6,"ASCII:",16);
OLED_ShowString(63,6,"CODE:",16);
OLED_ShowChar(48,6,t,16);
t++;
if(t>'~')t=' ';
OLED_ShowNum(103,6,t,3,16);
delay_ms(500);
OLED_Clear();
}
}
待补充
注意事项
组装流程

图1:焊接好空板

图2:装配好模块

图3:装上小车
实物图
此处可放入组装完成后完整实物图

图1:组装完成

图2:点亮RGB灯

图3:OLED测试