【训练营_基础班】基于STC8A的智能车设计+557280A - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【训练营_基础班】基于STC8A的智能车设计+557280A

  • 3.3k
  • 3
  • 20

简介:基于STC8A的多功能控制小车

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2020-07-28 21:02:51
更新时间: 2023-07-05 23:47:03
描述
# 基于STC8A8K64S4A12智能车设计 # **一、板载外设** 1.1 红外接收头 1.2 红外避障接口 1.3 电机驱动电路 1.4 蓝牙接口 1.5 esp82266接口 1.6 NRF24L01接口 1.7 OLED电路 1.8 JQ8900接口 1.9 超声波接口 1.10 舵机接口 1.11 三个独立按键 1.12 两个LED灯 1.13 引出单片机全部引脚 1.14 自带复位按键 加一根USB转TTL的线就可以把这个板子当开发板用,非常经济实用。 **二、功能** **2.1电机正反转:** 板载双H桥驱动电路两组,可以驱动四路电机,每组电机都可以实现正反转。 **2.2 PWM控制转速:** 每组电机都外接单片机的IO口,总共用8个IO口控制4组电机,可以用单片机IO输出PWM不同控制电机的转速,可编程。 **2.3 手动控制:** 2.3.1 红外控制:可以通过板子上集成的红外接收头用红外遥控控制,这种控制方法简单,外设少,但干扰性强,信号强度弱,距离短。 2.3.2 蓝牙和wifi控制:还可以通过手机连接蓝牙或者通过esp8266连接wifi控制,这两种方法都是在手机上安装一个软件,需要一个手机,操作简单,信号较强,使用较为舒适。 2.3.3 无线控制:还有一种控制是通过NRF24L01的2.4G传输,这种控制方式需要一对NRF24L01,控制端和接收端下载配套的程序,双方可进行通信。这种方式用遥感电位器输出信号,需要较为复杂的硬件电路。但无论在信号,距离还是手感方面都较为完美。 遥感控制图(这里是开发板接的,没有另外打板子,有需要的话可以自己打个板子) ![IMG_20200307_102444.jpg](//image.lceda.cn/pullimage/P91FQZB73yg3z4iUHvSwoTGL7fJ7QI03dzA3o3VA.jpeg) **2.4自动控制:** 2.4.1 超声波控制:超声波是利用发射和接收的时间来判断距离,可通过编程设置最短距离进行改变智能车的方向。另外超声波搭配了一个SG90舵机,可以在左,中,右三个方向进行旋转,提高了检测障碍的正确性。 2.4.2 红外避障:红外避障是利用一对红外对管,一个发送和一个接收,判断产生距离的时间判断是否前方有障碍物,若时间间隔较短,则有障碍物,改变智能车的方向。 **2.5 实时显示:** 板子集成了OLED,OLED通过IIC控制,可以实时显示超声波检测的距离,显示是自动模式还是手动模式。 **2.6 语音播报:** 板子外接JQ8900语音芯片,通过提前拷贝需要的语音,在执行对应程序的时候通过一线串口发送命令,播放对应的语音。 补充:电源部分采用2节3.7V的锂电池。板子上集成了5V和3.3V稳压源,很好的适配电池和满足5V和3.3V外设的正常工作。 **三、实物:** 寒假的时候自己在家里做了一个小车,是用开发板接的线,非常的乱,而且接线很复杂,每次使用开发板的时候都要拆掉,再组装的时候非常费时、费力,一直想打一块板子。在B站看到了这个活动,获得了这次机会。于是乎,连夜测量画板子,绘制原理图,绘制PCB,经过一天多的奋战,终于完成了这个项目。今天找莫工领了PCB劵和器件劵,下了单,期待快点到。在这里感谢莫工,感谢立创EDA,遇到你们很开森。这里贴出原来的图,等后续再更新打样的新图,肯定是焕然一新,值得期待。 ![image.png](//image.lceda.cn/pullimage/Laq85gcPN7KQfFreEU1QUSjCaAGoNbOlv45j7Pnj.png) ![image.png](//image.lceda.cn/pullimage/jzXGFqdLJCSh8SnhwejAvma4PvVstsTJn5lS285m.png) ) **四、代码** 代码经过反复修改,基本功能没有问题。 ![image.png](//image.lceda.cn/pullimage/045Sd0krBHFkp1toNxHeVbw1EOJdqnp1vzRcLUsT.png) **这里贴出部分代码** ```language #include uchar Auto_Hand_Mode_Flag=1;//自动手动模式切换标志(默认手动) uchar Hand_Mode_Flag=0;//手动模式切换标志(默认红外) uchar Auto_Mode_Flag = 1;//自动模式切换标志 /********************************* * @函数名:Mode_Key_Scan * @描 述:按一下是手动控制,再按一下是自动控制 * @参 数:无 * @返回值:无 *********************************/ void Mode_Key_Scan()//模式按键扫描 { uchar i; if(Key1==0)//Key1自动手动模式切换 { i=20; while(i--); //延迟消抖 if(Key1==0) { if(Auto_Hand_Mode_Flag) //一共两种模式 Auto_Hand_Mode_Flag=0; //不是0就是1 else Auto_Hand_Mode_Flag=1;//没按一下就换一种模式 } while(!Key1); } } /********************************* * @函数名:Control_Method_Key_Scan * @描 述:手动模式控制方式按键 * @参 数:无 * @返回值:无 *********************************/ void Control_Method_Key_Scan()//控制方式 { uchar i; if(Key2==0)//控制方式切换 { i=20; while(i--); //延迟消抖 if(Key2==0) { if(Hand_Mode_Flag==3) //一共三种控制方式0123 Hand_Mode_Flag=0; //循环 else Hand_Mode_Flag++; //每次换一种 } while(!Key2); } } /********************************* * @函数名:Auto_Mode * @描 述:自动模式 (超声波避障) * @参 数:无 * @返回值:无 *********************************/ void Auto_Mode() { // static uchar switch(Auto_Mode_Flag) { case 0: Judge_distance(); //超声波避障 break; case 1: Ray_Avoid(); //红外避障 break; } //Ray_jiance(); } /********************************* * @函数名:Hand_Mode * @描 述:手动模式工具切换函数,Hand_Mode_Flag选用不同的工具控制 * @参 数:无 * @返回值:无 *********************************/ void Hand_Mode() { static uchar Voice_Flag[4]={0};//语音标志 static uchar One_Flag=0;//消除第一次语音播报标志 Control_Method_Key_Scan();//控制方式按键扫描 switch(Hand_Mode_Flag) { case 0: Ray_Hand_Key(); //红外手动按键 Ray_Decode_Ser(); //红外解码函数 if(One_Flag) //程序执行第一次的时候不执行 { if(Voice_Flag[0]==0) { //ES=0;//关闭蓝牙串口中断 JQ8900_Select_TwoCmd_Song(0x01,0x04);//红外遥控 // EX0=1;//打开外部中断0 Voice_Flag[0]=1; Voice_Flag[1]=0; Voice_Flag[2]=0; Voice_Flag[3]=0; } } break; case 1: Blue_Hand_Key(); //蓝牙手动模式 if(Voice_Flag[1]==0) { One_Flag=1; //再执行红外的时候播报 JQ8900_Select_TwoCmd_Song(0x01,0x05);//蓝牙遥控 Voice_Flag[0]=0; Voice_Flag[1]=1; Voice_Flag[2]=0; Voice_Flag[3]=0; } break; case 2: NRF24L01_Hand_Key(); //无线手动按键 NRF24L01_Receive();//接收数据的函数 if(Voice_Flag[2]==0) { One_Flag=1; //再执行红外的时候播报 // ES=0;//关闭蓝牙串口中断 //EX0=0;//关闭外部中断0 JQ8900_Select_TwoCmd_Song(0x01,0x06);//无线遥控 Voice_Flag[0]=0; Voice_Flag[1]=0; Voice_Flag[2]=1; Voice_Flag[3]=0; } break; case 3: if(Voice_Flag[3]==0) { One_Flag=1; //再执行红外的时候播报 // EX0=0;//关闭外部中断0 JQ8900_Select_TwoCmd_Song(0x01,0x07);//WIFI遥控 // ES=1;//打开蓝牙串口中断 Voice_Flag[0]=0; Voice_Flag[1]=0; Voice_Flag[2]=0; Voice_Flag[3]=1; } ESP8266_Hand_Key();//WIFI手动按键 break; } } /********************************* * @函数名:Auto_Hand_Mode * @描 述:自动手动模式切换函数Auto_Hand_Mode_Flag为0自动,为1手动 * @参 数:无 * @返回值:无 *********************************/ void Auto_Hand_Mode()//自动手动模式切换 { static uchar Voice_Flag[2]={0};//语音标志 static uchar One_Flag=0;//消除第一次不语音播报标志 Mode_Key_Scan();//按键扫描切换自动手动 switch(Auto_Hand_Mode_Flag) { case 0: if(Voice_Flag[0]==0) //语音只执行一次 { EX1 = 1; //打开超声波 One_Flag=1;//第二次,可以播报 JQ8900_Select_TwoCmd_Song(0x01,0x02);//自动模式 Voice_Flag[0]=1; Voice_Flag[1]=0; } Auto_Mode();//自动 break; case 1: /*一上电程序进入这里,由于要播放发送机已启动,所以不播放下面的*/ if(One_Flag)//如果等于1播报,否则不播报 { if(Voice_Flag[1]==0) { EX1 = 0; //关闭超声波 Car_Stop();// //由自动模式切换到手动模式,小车需停止 // TR1=0;//关闭定时器1 JQ8900_Select_TwoCmd_Song(0x01,0x03);//手动模式 Voice_Flag[0]=0; Voice_Flag[1]=1; } } Hand_Mode();//手动 break; } } ``` **五、PCB和元件** 上次从莫工那里领了劵,下了单。经过两天的等待,快递如期的到了我的手上,顺丰和邮政空运是真的快,大赞。去拿快递的时候吓一跳,这快递盒也太大了吧! 贴个图: ![image.png](//image.lceda.cn/pullimage/DnFx7dmprePTgpC8QklLFOmtkLzwyrQFf6zDOJmA.png) 拆开之后,又被吓了一跳,元器件也太多了吧,下单的时候到没有觉得有多少,这下够用好久了。 ![image.png](//image.lceda.cn/pullimage/YZLYvN0eifLjRslTfURNQjDaRIQwlePpkBV5SdtU.png) 这打的PCB板也蛮好看的 ![image.png](//image.lceda.cn/pullimage/k2yJNGnGU74aH2ElxX2CHaVTrPnNSHVTi6lTNwyR.png) **六、焊接** 直接上图: 这是焊好之后的不带模块的: 正面: ![image.png](//image.lceda.cn/pullimage/5V1Mgbdo4dj1znHGyJSruz2QPeL5p6atnDh0HQw9.png) 背面: (说明:这个OLED屏幕没有用,所以就没有焊接) ![image.png](//image.lceda.cn/pullimage/etkMIxZG5awMX3UECtY01OTjihso8emfnOZcQUXW.png) 这是安装好模块的 ![image.png](//image.lceda.cn/pullimage/cXNwvneKb0DAXqitSmen7tAdAp2usCGsl8o5OgPz.png) 这是外接电源测试的 ![image.png](//image.lceda.cn/pullimage/E3h1bIP1KfO5ufoh4NPamb3cMDE39NpRI5CAjzll.png) 后续还有好多模块要接,今天先更到这,后续会继续完善的。 今天又完善了一下,安在了小车上,上图:(原先是打算用电转打孔,因为忘记买铜柱,这里就先用胶带固定) ![image.png](//image.lceda.cn/pullimage/i5AnWUYtuphUwK1xKxpgjahyOMoeFuMfRj01Qxjr.png ) 是不是比原来好看多了。不仅好看了,而且接线什么的也方便多了,组装也更简单了,可以随时拆下来当开 发板用。下面给出一段简单的演示视频。 这里给出以前的完全演示版,想看的小伙伴可以进去看看。 B站:[小车完整版](https://www.bilibili.com/video/av94674438/)
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 TL431 U1 SOT-23_L2.9-W1.3-P0.95-LS2.4-BR 1
2 680 R8,R9,R10,R15 R0805 4
3 A2541HWV-8P H4 HDR-TH_8P-P2.54-V_A2541HWV-8P 1
4 K2-1841SP KEY2,KEY1,KEY3 KEY-SMD_4P-L12.0-W12.0-P5.00-LS15.1 3
5 511 R14 R0805 1
6 lanya H3 HDR-TH_4P-P2.54-V-F 1
7 X8821WR-02SL-N0SN CN8 CONN-TH_X8821WR-02SL-N0SN 1
8 4.7uF C3,C7,C8 C0805 3
9 TC1508S U5,U6 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 2
10 JL124D-38104G01 CN1,CN5 CONN-TH_4P-P3.81_JL124D-38104G01 2
11 chaoshengbo CN6 CONN-TH_4P-P2.50_X8821WV-04K-N0SN 1
12 nSMD075 F1 F1206 1
13 A2541HWR-3P H1,H2 HDR-TH_3P-P2.54-H-W8.6_A2541HWR-3P 2
14 1N4148W T4 D1 SOD-123_L2.8-W1.8-LS3.7-RD 1
15 2.2uF C4 C0805 1
16 duoji CN7 CONN-TH_3P-P2.50_X8821WV-03K-N0SN 1
17 K2-6639DP-B4SW-04 KEY4 KEY-TH_4P-L6.0-W6.0-P4.50-LS7.5 1
18 1uF C1,C2 C0805 2
19 47K R16 R0805 1
20 UG-2864KSWLG01 OLED1 OLED-1.3 1
21 22uF C15 CAP-SMD_L2.1-W1.3 1
22 micro USB1 MICRO-USB-SMD_5P-P0.65-H-F_C10418 1
23 10uH L1 IND-SMD_L4.0-W4.0_SMNR4020 1
24 100nF C6,C9,C10,C11,C12,C13,C16,C17,C18,C21,C22,C24,C26 C0805 13
25 6.8K R7 R0805 1
26 NF-01-S U3 WIRELM-TH_NF-01-S 1
27 X8821WV-02K-N0SN CN3 CONN-TH_2P-P2.50_X8821WV-02K-N0SN 1
28 M3铜柱 TP1,TP2,TP3,TP4 M3铜柱 4
29 AMS1117-3.3 U7 SOT-223_L6.5-W3.5-P2.30-LS7.0-BR 1
30 910K R3 R0805 1
31 4.7K R1,R2,R4,R5,R6 R0805 5
32 HDR-F-2.54_2x8 H5,H6,H7,H8 HDR-F-2.54_2X8 4
33 AMS1117-5.0 U4 SOT-223_L6.5-W3.5-P2.30-LS7.0-BR 1
34 HDR-M-2.54_1x3 J1,J2,J3,J4 HDR-M-2.54_1X3 4
35 1K R11,R12,R13,R17,R18 R0805 5
36 220uF C27,C19,C20,C23 CAP-SMD_L3.5-W2.8-R-RD 4
37 10uF C5,C14 CAP-SMD_BD4.0-L4.3-W4.3-FD 2
38 LTST-C230TGKT LED1,LED2 LED1206-RD 2
39 R903V1-7C(L) RAY1 LED-TH_3P-L6.0-W5.3-P2.54-L 1
40 SI2301 Q1 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 1
41 XKB7070-Z-92 SW1 SW-TH_6P-L7.2-W7.2-P2.00-LS5.0 1
42 WT-01S U2 WIFIM-TH_8P-L24.7-W14.4-P2.54 1
43 STC8A8K64S4A12 U8 LQFP-64_L10.0-W10.0-P0.50-LS12.0-BL 1

展开

工程视频/附件
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP