题目要求
以奥斯卡最佳动画长片《机器人总动员》中的“瓦力机器人”为原型,仿造制作的一款机器人。
题目分析
把瓦力机器人搬到现实中,可用手机控制机器人移动以及机械臂动作,带WiFi实时画面传输、
超声波传感器、温度传感器、电压检测,手机上可看到传感器数据。
原理图设计说明
懒得写了,直接搬论文中的。。。 完整原理图位于附件中
1 系统硬件电路设计
本章主要叙述机器人的电路设计,包括锂电池充放电电路、WiFi图传电路以及机器人运动控制电路。系统组成如图3.1所示,其中ESP32-S用于处理OV2640摄像头的图像,并通过WiFi网络发送到手机,HC-05蓝牙模块用于接收手机发送的数据以及对手机发送信号,ATmega2560单片机用于处理蓝牙模块接收到的数据,对电机驱动电路发送信号控制电机,超声波模块用于测量距离,TFT显示屏用于显示机器人当前电量。
设计原理图及绘制PCB图所用的软件为立创EDA专业版。立创EDA专业版是嘉立创旗下一款国产的PCB设计工具,拥有完全的独立自主知识产权,永久免费。
图3.1 电路设计总框图
1.1 锂电池充放电电路设计
锂电池是一类由锂金属或锂合金为正/负极材料、使用非水电解质溶液的电池。具有能量比高、使用寿命长、自放电率低、重量轻等优点,比较适合用于机器人项目。电路结构包括以IP5209组成的外围电路、输入输出电路、锂电池保护电路和升压输出电路。
1.1.1 主控——IP5306
IP5306是一款多功能
电源管理芯片,内部集成了升压转换器、锂电池充放电管理以及电池电量显示。该芯片能够提供高达2.4A的输出电流和2.1A充电电流,其电能转换效率可达92%,在芯片空载能够进入休眠状态。该芯片采用ESOP8封装,电路符号如图3.2所示。
图3.2 IP5306电路符号
1.1.2 主控外围电路
输入端VIN及输出端VOUT、VOUT2均加电容进行滤波,其中VOUT给除电机驱动芯片外全部电路供电,VOUT2给电机驱动芯片供电,这样分开供电的好处是:即使电机启动时电流过大也不会使单片机端电压下降,保证了整个控制电路正常运行;电路使用4颗LED灯用于电量显示,使用按键进行触发;使用1uH功率电感用于升压输出,同时IP5306对输出端电压进行测量,做到闭环控制,电路连接如图3.3所示。
图3.3 IP5306充放电电路
1.1.3 锂电池充放电保护电路
XB8886A为单节锂电池保护IC,采用SOP8-PP封装,内部集成功率MOS以及高精度电压检测电路和延时电路,有电芯反接、过热、过充电、过放电、过电流和负载短路等保护,广泛应用于单芯锂离子电池组、锂
聚合物电池、移动电源等领域。电路原理图如下图,其中B+接锂电池正极,B-接负极。电路连接如图3.4所示。
图3.4 锂电池充放电保护电路
1.1.4 电源输入电路
由于本设计没有快充要求,所以选择了6Pin的Type-c母座作为电能输入接口。6Pin母座相较于16Pin或24Pin母座引脚面积更大,能够提供更大的输入电流,同时也相对容易焊接,价格也更便宜,在满足设计要求的同时降低了制作成本。电路符号如图3.5所示。
图3.5 Type-c母座电路符号
1.1.5 升压稳压电路
该电路用于给电机驱动芯片供电。电机驱动芯片供电有两种,一种是直接用IP5209芯片输出的5V电压,另一种是将前面的5V电压进行升降压处理。显然第二种供电方式适用的电机更广,电机的输出力矩可以通过调压来改变,有更多的容错。该电路控制芯片选用SX1308,SX1308是一款固定频率,SOT23-6封装的电流模式升压转换器,高达1.2MHz的工作频率使得外围电感电容可以选择更小的规格,内部集成80mΩ功率MOSFET,输入电压2V-24V,输出电压最高28V,其输出电压可以通过分压电阻来调节,其电路连接如图3.6所示。
图3.6 升压稳压电路连接图
1.2 WiFi图传电路设计
该电路使用ESP32-S作为主模块,主功能是把OV2640摄像头数据通过WiFi发送到手机。电路主要包括以ESP32-S为主的外围电路及复位电路、电源电路、PSRAM电路 OV2640摄像头连接电路及复位电路、TF卡连接电路。
1.2.1 主控模块——ESP32-S
ESP32-S是一款通用型WiFi-BT-BLE MCU模组,功能强大用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。其电路符号如图3.7所示。此模组的核心是乐鑫科技开发的ESP32芯片,内置520KB的SRAM,主频支持80MHz、160MHz和240MHz,具有可扩展、自适应的特点。需要注意的是,由于全金属机身对信号的屏蔽作用,本设计中没有使用到ESP32-S的板载天线,用的是外接天线,需要把ESP32-S电路板上的0欧姆电阻转接到板载的一代IPEX天线座上,便于外接天线。
图3.7 ESP32-S电路符号
1.2.2 ESP32-S外围电路
外围电路相对简单,包括一个退藕电容、下载电路和复位电路。下载程序时需将ESP32-S的IO0引脚接地,方法就是通过按键接地,按键对应原理图中的SW1。复位电路由10k电阻、100nF电容和一个按键组成。其电路连接如图3.8所示。
图3.8 ESP32-S外围电路连接图
1.2.3 电源电路
该电路用于给整个WiFi图传电路供电,电路包括三只线性稳压器,分别是AMS1117-3.3V、ME6211-2.8V和ME6211-1.2V,前者负责摄像头外的元件供电,后两者用于摄像头供电,电路还包括一只用于判断线性稳压器是否正常工作的LED灯。电路连接如图3.9所示。
图3.9 电源电路连接图
1.2.4 摄像头连接电路
摄像头选用的是OV2640,使用24Pin的FPC连接座连接到PCB上。摄像头需要三种供电电压,分别是1.2V、2.8V和3.3V。电路图如图3.10所示。
图3.10 摄像头连接电路
1.2.5 存储电路
存储电由一个PSRAM电路和TF卡连接电路组成。PSRAM全称为伪静态随机存储器,用于扩展ESP32-S的存储空间。使用到的是一颗APS6404芯片,该芯片具有高速,低引脚数接口,拥有四个SDR I/O引脚,并以高达144MHz的频率在SPI或QPI模式下运行。TF卡使用自弹式TF卡座连接,外围电路如图3.11所示。
图3.11 存储电路电路图
1.3 机器人运动控制电路
该电路控制机器人的所有动作机构,包括左右两个主动轮和拥有三个自由度的机械臂,以及处理各种传感器的数据,作出相应的动作。考虑到整个机器人需要多个电机以及传感器,主控选择ATmega2560单片机,相关参数如表3.1所示,图3.12为该单片机引脚封装图。
表3.1 ATmega2560参数列表
|
|
---|
控制器 | ATmega2560 |
工作电压 | 5V |
数字I/O | 54(包含15路PWM输出) |
模拟输入口 | 16 |
每个I/O口直流电流 | 40mA |
闪存(Flash Memory) | 256KB(其中8KB用作BootLoader) |
静态存储器(SRAM) | 8KB |
EEPROM | 4KB |
时钟频率 | 16MHz |
图3.12 ATmega2560的100引脚封装
1.3.1 主控及外围电路
主控使用ATmega2560,外围电路包括晶振电路、复位电路、烧录电路、超声波传感器连接电路、温度传感器电路、TFT屏幕连接电路、散热风扇控制电路等。晶振选择四引脚16MHz无源晶振,对应原理图中的X1,连接时需在XTAL1和XTAL2间接1M欧姆电阻。复位电路使用按键加电阻电容来实现,分别对应原理图中的SW4、R26和C37,可以实现上电自动复位和按键复位。烧录电路包括烧录引导程序(BootLoader)的电路和使用串口进行烧录的电路,对应原理图中的J1和P1,都是使用单排针进行连接;烧录引导程序是一个全新单片机第一件要做的事,否则后续程序将无法烧录进单片机中;超声波传感器使用的是HC-SR04,对应原理图中的H2,需要对传感器进行一点改装,就是把两个超声波头和排针拆下,方便在电路板上焊接,而拆下的超声波头则是使用XH2.54-2P连接座连接到超声波模块上,连接座对应原理图中的CN11和CN12。温度传感器使用的DS18B20,对应原理图中的U13,DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点,使用是需在信号端和电源端接10k欧姆上拉电阻。TFT屏幕使用8Pin的FPC连接座连接到单片机,对应原理图中的FPC2,需要注意的是屏幕使用的是3.3V的电压供电,超过会烧毁屏幕。散热风扇使用的是额定电压5V、长宽都是30mm的风扇,对应原理图中的CN4,风扇由一只S
8050三极管控制。电路连接如图3.13所示。
图3.13 ATmega2560及外围电路连接图
1.3.2 HC-05蓝牙模块
与手机之间进行通信使用的是HC-05蓝牙串口模块,通过蓝牙接收手机发出的控制然后通过串口发送给单片机来控制机器人的运动。电路连接如图3.14所示。HC-05是主从一体的蓝牙模块,默认为从机。既支持跟模块通信,也支持跟手机通信。具有两种工作模式:串口透传通信模式和AT指令模式。(1)模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接设备并进行数据传输。比如跟手机蓝牙连接,可通过手机APP给蓝牙模块发送数据。指令可通过表3.2查询。(2)T指令模式时能执行下述所有AT命令,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。AT 指令不区分大小写,均以回车、换行字符结尾。表3.2 蓝牙模块指令表
|
|
|
|
---|
指令 | 功能 | 响应 | 参数 |
AT | 测试指令 | OK | 无 |
AT+RESET | 模块复位(重启) | OK | 无 |
AT+VERSION? | 获取软件版本号 | +VERSION:<Param>OK | Param:软件版本号 |
AT+ORGL | 恢复默认状态 | OK | 无 |
AT+ADDR? | 获取模块蓝牙地址 | +ADDR:<Param>OK | Param:模块蓝牙地址 |
AT+NAME=<Param> | 设置设备名称 | OK | Param:蓝牙设备名称 |
AT+NAME? | 查询设备名称 | 1.+NAME:<Paeam>OK——成功2.FAIL——失败 |
|
AT+RNAME?<Param> | 获取远程蓝牙设备名称 | 1.+NAME:<Param>OK——成功2.FAIL——失败 | Param:远程蓝牙设备地址 |
AT+ROLE=<Param> | 设置模块角色 | OK | Param:参数取值如下:0——从角色1——主角色2——回环角色 |
AT+ROLE? | 查询模块角色 | +ROLE:<Param>OK |
|
AT+PSWD=<Param> | 设置配对码 | OK | Param:配对码默认:1234 |
AT+PSWD? | 查询配对码 | +PSWD:<Param>OK |
|
AT+UART=<Param1>,<Param2>,<Param3> | 设置串口参数 | OK | Param1:波特率Param2:停止位Param3:校验位 |
AT+UART? | 查询串口参数 | +UART=<Param1>,<Param2>,<Param3> |
|
AT+PMSAD=<Param> | 删除指定认证设备 | OK | Param:蓝牙设备地址 |
AT+RMAAD | 删除所有认证设备 | OK | 无 |
AT+ENSNIFF=<Param> | 进入节能模式 | OK | Param:设备蓝牙地址 |
AT+EXSNIFF=<Param> | 退出节能模式 | OK |
|
图3.14 蓝牙模块电路连接图
1.3.3 电机驱动电路
该电路用来驱动直流有刷电机和二相四线步进电机,驱动电路一共设计了五组,其中四组用来驱动步进电机,其余用来驱动有刷直流电机。由于单片机I/O口的驱动能力有限,而且单片机
直接驱动电机对单片机有风险,可能会直接烧毁单片机,所以专业的事情还是给专业的芯片来做。单片机负责输出控制信号给电机驱动芯片,然后电机驱动芯片再驱动电机。驱动电路如图3.15所示。DRV8848为家用电器和其他机电应用提供了双h桥电机驱动器。该装置可用于驱动一个或两个直流电机,一个双极步进电机,或其他负载。一个简单的PWM接口可以方便地与控制器电路连接。这里使用的芯片是DRV8848,该芯片采用双H桥设计能够驱动一个或者两个直流电机或一个两相四线步进电机或其他负载。每个H桥使用固定的断路时间斩波方案来调节绕组电流,每个能够输出高达2A驱动电流,在并联模式下能够输出4A驱动电流。该芯片拥有睡眠模式,它能关闭内部电路,实现非常低的静态电流、睡眠模式可以通过nFAULTra引脚来设置。芯片内部集成了短路保护、过温保护功能。该芯片为功率器件,本身具备一定内阻,电路的发热与负载电流、功率管导通内阻以及环境温度密切相关。内部设计有芯片级温度检测电路,实时监控芯片内部发热,当芯片内部温度超过设定值时,产生功率管关断信号,关闭负载电流,避免因异常使用导致的温度持续升高,进而造成塑料封装冒烟、起火等严重安全事故。芯片内置的温度迟滞电路,确保电路恢复到安全温度后,才允许重新对功率管进行控制。
图3.15 电机驱动电路连接图
PCB设计说明
没啥好写的,接线回路尽量短就行,按照原理图连就完事了
软件说明
用到的软件以放在附件中,自行下载查看
实物展示说明
注意事项
演示视频
https://www.bilibili.com/video/BV1zF411L7Zk#reply113561422512
其它附件上传