打印

立创梁山派-21年电赛F题-智能送药小车-电路设计

[复制链接]
184|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 tyw 于 2023-7-14 09:12 编辑

#技术资源#

送药小车代码仓库:https://gitee.com/lcsc/medical_care
更好的观看体验请去:https://dri8c0qdfb.feishu.cn/wiki/UjwwwO0KZii5bykPcE4cJZafnAg送药小车立创开源平台资料:https://oshwhub.com/li-chuang-kai-fa-ban/21-dian-sai-f-ti-zhi-neng-song-yao-xiao-ch
⁤⁤⁤⁤⁤⁤⁤⁡⁢⁣⁣⁡⁤⁡⁣⁡⁡
  • 0_小车扩展板:最主要的板子,驱动电机,舵机,板载国产姿态传感器和磁力计,CAN电路,蜂鸣器等。
  • 1_外置蓝牙模块:用国产蓝牙模块做双车通讯
  • 2_梁山派-K210固定板:结构件,承载梁山派和K210开发板
  • 3_小车底板:结构件
  • 4_RGY灯板:为了满足题目要求,显示小车工作状态
  • 5_摄像头补光板:在环境亮度太低时给摄像头补光,也用于固定摄像头位置

一 全国产化
为什么要做全国产化呢?这个也算是之前的疫情给了个机会,疫情开始那几年STM32都涨疯了,疫情期间全球供应链受到了很大冲击。很多人都说显卡涨价涨的太离谱了,其实疫情那几年,就涨价幅度来说,芯片的涨价甩显卡几条街。  
所以我们要开始注重自主创新和技术独立,现在中国的很多行业都在推全国产元件,既可以提高国内的技术水平,也可以降低对外部技术的依赖,提升整体竞争力。**大家在工作学习中也可以多用用国产元件,当然并不是盲目的支持,当前许多芯片与国外技术差距确实还不小,也不要走极端,不能当二极管。国内的芯片能满足项目需求就支持它,不能的话用国外的也无可厚非。
二 引脚分配
在进行电路设计最开始的开始,最重要的首先就是引脚分配,引脚分配的不好很有可能造成明明资源很丰富的 MCU 被搞得没几个接口可以用,或者造成布线异常麻烦。良好的引脚分配可以有效决定电路板上各个元件的位置和连接方式。结合梁山派原理图和GD32F470的Datasheet中的2.6.2中的硬件定义就可以获得下面这张分配表,因为GD32并没有推出类似Cubemx这种的图形化配置工具,所以目前只能手动记录了,因为排针引出的部分引脚是被开发板的SPI Flash,LED,SDIO等占用的,部分会连接上下拉电阻。所以一定要注意分配时不要粗心大意。连接到屏幕FPC座的引脚,只要你不使用屏幕就可以使用。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/ANb0eqxx3q3FbXLoiRXPffvPmIdcu40G5nCmaKKW.jpeg?lastModify=1689214043
在选择的时候是先按照UART,SPI,正交编码器接口,PWM,IIC(优先硬件,软件的也可以),CAN,ADC,LED,KEY,灰度传感器接口  这个顺序来选的,具体怎么选还是要看你自己对这些资源的重要性排序。
UART:
  • USART2(RX:PB11;TX:PB10) --K210
  • USART5(RX:PG9;TX:PG14) --无线模块
  • USART1(RX:PD6;TX:PD5)--遥控备用
  • UART3(RX:PA1)--SBUS预留

SPI:
  • SPI3

    • CS0(PE4)
    • CS1(PC13)
    • SCK(PE2)
    • MOSI(PE6)
    • MISO(PE5)


IIC:
  • I2C0(SCL:PB6;SDA:PB7)
  • 模拟I2C(SCL:PG6 ;SDA:PG7 )

PWM:
  • TIMER8_CH0(PA2)--电机M1-IN1
  • TIMER8_CH1(PA3)-电机M1-IN2
  • TIMER11_CH0(PB14)-电机M2-IN1
  • TIMER11_CH1(PB15)-电机M2-IN2
  • TIMER7_CH0(PC6)-舵机1
  • TIMER7_CH1(PC7)-舵机2
  • TIMER12_CH0(PA6) --蜂鸣器
  • TIMER0_CH0(PA8)-备用

Encoder:
  • TIMER2_CH0(PB4) -电机M1-Encoder A
  • TIMER2_CH1(PB5) -电机M1-Encoder B
  • TIMER1_CH0(PB8) -电机M2-Encoder A
  • TIMER1_CH1(PB9) -电机M2-Encoder B

ADC:
  • ADC01_IN4(PA4)
  • ADC012_IN11(PC1)
  • ADC01_IN7(PA7)
  • ADC01_IN14(PC4)

LED:
  • LED-R(PD3)
  • LED-G(PG10)
  • LED-Y(PA15)

KEY:
  • 碰撞开关 KEY0 (PG12)
  • KEY1(PG11)
  • KEY2(PG13)
  • KEY3(PB3)

CAN:
  • CAN0(RX:PD0;TX:PD1)

还可利用引脚(灰度传感器备用)
  • PD4
  • PB1
  • PB0
  • PB12
  • PB13
  • PF10
  • PC5

具体分配可以查看原理图的最终定稿
三 元器件选型及原理图设计
  我们使用到的是全国产化的立创·梁山派开发板,在这基础上,PCB也会做到全国产化选型,所以在元器件选型时我们也会优先选择国产元件。
1.电源路径选型及设计
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/eLAYMJzh0wPTtZBTQfzwkmntml8uqnXjhkQa8330.png?lastModify=1689214043

选用国产圣邦微电子的SGM6132,3A, 28.5V, 1.4MHz Step-Down Converter.
参考官方的典型应用来设计原理图,

file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/0w5n7zMXgMzTDuuXvzgS7TA8rBLUnmvLZxJv9XCQ.png?lastModify=1689214043
这个芯片有一个比较好的一点就是留出了一个使能引脚,你要用的话就可以控制芯片的工作状态,不用的话不连它,他也可以自动启动。
一般这种电源芯片,官方都会给出参考原理图,SGM6132的datasheet第一页左下角他就给出了典型应用。不过是3.3V的。我们继续往下找到第10页可以找到典型应用电路,上面有各个参数的推荐选型的数值。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/BnFHUov3NfoWnke8n4X9aLGna6hjz41UtBdWKDkF.png?lastModify=1689214043
这里我要的是5V输出,结合上面就可以知道具体元件选型参数,都不用自己计算了。要是自己算阻值的话有一个要注意的地方就是电阻阻值不要超过他的最大值,比如这个芯片的R2最大值就是100kΩ,选的太大它可能就不能工作了。最简单可靠的还是用官方推荐的图来设计。这里的阻容以及一体成型金属电感都是选用国产厂家生产的。其他的XT30接口,自恢复保险丝,波动开关电路,TVS过压保护等选型就比较简单了。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/DsbOkiTHCEoEetkc5MNAX141V5IruiQPIuu3m0VR.png?lastModify=1689214043
XT30公头制造的出名的厂家也没几个,随便选都可以。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/VsVfHBSxfDFncr9rQg8mN4bSn9ExijZqWjs7t7Wd.png?lastModify=1689214043
考虑到两个直流减速电机在启动时第瞬时电流会很大就算给每个电机分2A吧,再给开发板留1A,所以这里选择的是最大5A的自恢复保险丝。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/hOad8YYnlTNXDeLrQtRLBAK3yrNdnFLaBaURfYNi.png?lastModify=1689214043
这里选择的拨动开关,最大可以过6A的电流,妥妥的足够用了。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/EOEiKL3qyx0lxUENcfue59NV1on1x7S2wpG4xplU.png?lastModify=1689214043
他的工作原理是,当工作在正常电压下时,TVS保护电路的电阻很大,不会对电路产生影响;但在瞬态电压出现时,TVS保护电路的电阻会迅速变小,将电压限制在设定的安全范围内,从而保护电子设备不受损坏。不过锂电池的电压是非常稳定纯净的,这个保护还是主要调试时用开关电源供电时防止电压超标。
2.电机驱动电路选型及设计

file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/xdC7af0AbTytiqo0iSvEUt77zxYbLNYeASRhnFuj.png?lastModify=1689214043
一个AT8870可以驱动一个直流电机正反转,我们要驱动两个直流电机,所以这里要用两个驱动芯片。他的手册是全中文的,重点要看的参数主要是主供电要求,逻辑供电要求,逻辑输入要求,连续输出电流,峰值输出电流,最大PWM频率等。了解上面以上参数后我们就可以选电机了,要确保电机的工作电流电压要在电机驱动芯片的工作范围以下,我选的是轮趣科技的MG513P20_12V ,这个电机减速比是20,工作电压是12V,额定电流是0.36A,堵转电流是3.2A。我们所用的AT8870峰值输出电流是3.6A,那还是有可能在长时间堵转的情况下烧毁的,所以我们需要设置驱动芯片的保护,这款芯片的ISEN引脚可以设置芯片的电流控制电流(这个电阻的取值和参考电压以及要设置的电流有关)。详细介绍可以看AT8870的datasheet的第8页,有详细的介绍和公式。在上面原理图中我就选择0.15欧姆了。代表参考电压为3.3V时,目标电流为2.2A。再有就是我们看一下快衰减和慢衰减说的是什么,这里的快慢指的是电流,而不是电机转动的速度。由于电机是感性负载,当断开电机两端的电压时,电流会产生反向电动势。这可能会对驱动芯片造成损坏。因此,要让电机停下来,除了断开电源,还需要建立一个续流回路来释放电机中的能量。慢衰减相当于加在电机(感性原件)两端电压消失,将电机两端正负短接。快衰减相当于加在电机(感性原件)两端电压消失,将电机两端快速接上与驱动电流相反的电流。
近期发现立创商城上面AT8870停止进货了,那可以选一个更好的,AT8236,最大峰值驱动输出可达6A,连续输出驱动可达4A,还是PINtoPIN的,可以直接替换,实际焊接的时候直接替换就好了。
3.姿态传感器选型及设计
姿态传感器是一种测量物体姿态的传感器,他可以通过测量物体的加速度,角速度等参数来计算出物体的姿态信息。最出名的就是mpu6050了,他是InvenSense 公司推出的全球首款整合性 6 轴运动处理组件,应美盛公司已经被日本的TDK公司买了,现在出的最新的IMU都是ICM开头的,比如ICM-42688,可以看一下这个网页的介绍,mpu开头的型号和icm-2x开头的型号已经不被推荐了(有些都已经停产了)。科学技术发展很快,这些传感器的制造工艺和精度也在飞速提升。所以大家学习或者做产品的话最好都是用新产品,电子产品都是买新不买旧嘛,更新换代太快了。传感器不好用是会难为死软件算法的。一般想要获取姿态信息有以下几种方式,第一种最简单的就是直接买模块,模块内部做姿态解算,你只需要直接处理姿态信息就行了,一般都是串口传过来的。第二种是IMU芯片内部自带解算算法,比如MPU6050自带DMP库,在MCU端配置好之后就能利用芯片自带的DMP加速来进行解算。第三种就是只能获取IMU的原始数据,然后再MCU内部自己进行解算,这个的难度最大,花的时间不够很有可能搞的一地鸡毛,获取到的数据也没法用,但同样这种学到的东西也最多。虽然国内厂家生产的六轴姿态传感器和国外还有不小的差距,但是它基本没有供货风险,而且价格也挺实惠的。可以打开立创商城搜索,可以看到国内销量最高的两款是QMI8658A和QMI8658C,尽量选A型号,他是C型号的升级版本,有更低的噪声。他的封装也是和国外大厂的部分型号PINtoPIN的,后续可以替换测试其他厂家的imu。

参考QMI8658A的datasheet中第八页(现在立创商城下面的PDF预览已经可以查看整个手册了),他给出了三线SPI,四线SPI,IIC的应用图。查看手册中的表15,可以了解这款芯片SPI最高时钟支持15Mhz,IIC时钟最高支持400Khz。为了在单位时间内获得更多的数据,就选用SPI协议了。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/OVN2y65DGgm28TE0qVKrkFDSiaGe32KK2d5c56cn.png?lastModify=1689214043
4.磁力计传感器选型及设计
姿态传感器是分为6轴和9轴的,9轴的就是带磁力计的,但是目前国产的好像还没有九轴的姿态传感器。在姿态解算中,磁力计可以提供重要的地磁信息,帮助确定设备的方向和位置。如果没有磁力计,只使用加速度计和陀螺仪来解算姿态,那么在某些情况下,例如设备在静止状态下或只在水平面上运动时,无法确定设备的方向。而通过使用磁力计,可以测量地球磁场,并确定设备的方向和位置,从而实现更准确的姿态解算。此外,磁力计还可以帮助校正陀螺仪的漂移误差,提高姿态解算的精度。国产磁力计的性能现在还挺不错了,我看到部分飞控上都开始使用QMC5883L了。现在上海矽睿推出了更新的QMC5883P,他的量程比之前大了很多。参考他的datasheet可以了解到它最高支持400Khz的IIC速率,不支持SPI,结合第七页的建议外部连接可以设计出以下原理图。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/T466YCPtFLx3jnkpduEHk5LV1Mh43ckrBgGlLyNF.png?lastModify=1689214043
5.蜂鸣器选型及设计
蜂鸣器可以将电信号转化为声音信号,可以向用户提供声音反馈或者警报信号。蜂鸣器从构造类型上有电磁式和电压式两种,从驱动方式上来说有无源(由外部方波驱动)和有源(由内部驱动,外部给电就行)两种。按封装方式的不同也可以分插针式和贴片式。那么就开始打开立创商城开始选型吧,还是选国产的,一般来说电磁式蜂鸣器的动作电压可以比较低。我选择的是无源电磁式贴片蜂鸣器,工作电压2-4v,频率4000Hz,这里的频率是指他在这个频率下的声音最响。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/HSsG76G7UHGY9DcNWMyte45fVS7FWzp8p83Jvxgi.png?lastModify=1689214043
D2在这里的主要作用是保护这个驱动的MOS管,因为蜂鸣器和电机一样是一个感性元件,也就是说它的电流是不能瞬变的。必须有一个续流二极管提供续流。如果没有这个续流二极管,停止给蜂鸣器供电的时候在蜂鸣器两端会有反向感应电动势,产生高达几十V的尖峰电压,很有可能损坏驱动电路。R26:限流电阻,防止电流太大损坏芯片的PWM输出引脚。R4就是一个简单的下拉电阻了。
6.按键及药物检测开关设计

file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/A6ReGX3TSXRQiVurMag5HYlDaAXoFDxosH5evtH0.png?lastModify=1689214043
这个就是很平常的按键设计,要注意的一点是在原理图转PCB的时候要注意核对封装,不要把引脚连错了。我们通常用的按键内部都是机械弹性开关,当它按下弹起的时候,机械触点会因为弹性作用而在闭合和断开的瞬间伴随着一连串的抖动。这种抖动会导致输入信号在高低电位之间弹跳,产生不正确的输入。这里面电阻的作用是限流(害怕初学者不小心给设置成推挽输出了),在这里要注意的是要在芯片内部设置一个下拉。电容作用是硬件去抖,不过软件上还是需要软件消抖,硬件去抖只能改善不能消除。
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/6VrvcERS9q32MO1ExlzR3ZecF1M1glrzdlctx0XE.png?lastModify=1689214043
这里的按键改为了碰撞开关,设计一个3D打印结构,当药物放下的时候使碰撞开关闭合从而起到检测药物是否安装成功的作用。
  • 编号:C87120,也叫行程开关,鼠标里面的微动按键其实就是这个,鼠标里面的都是没有那个大贴片的。

7.ADC电压采集电路设计

file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/EeC5BAiruESAYChIYNaiKR6spXw6v5f7M4GhtzBL.png?lastModify=1689214043
左边第一路ADC是采集电池过来的12V电压是否正常,其他三路用来给用户使用,这里电阻的选择就是简单的电阻串联分压。比如12V从上面过来,12V*(R15/(R11+R15))=1.09V,这个就是到单片机IO的电压,ADC引脚进来的电压最大不能超过3.3V,所以用了一个D3-双向TVS管,大于3.3V就保护单片机引脚。
8.CAN芯片选型及设计
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/Dw1pY2AXISKYqsZNoj8X37ZE9Hrj09gQkXsuM63v.png?lastModify=1689214043
9.SBUS电路设计
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/aNqf0jnJElNtUNTfgR3ygZbFN5coYoXMn4fNvoCj.png?lastModify=1689214043
四 PCB Layout
在制作PCB的时候虽然大家都追求一版成功,但是一版成功可遇不可求。就算失败了也不要泄气。犯错也是学习的过程,只要不重复犯同样的错误就够了。
1.预布局
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/VAqvMNlvS4MgNmegaRfIXgNcrQ4OsMzZCt1mZBek.png?lastModify=1689214043
2.DC-DC降压
3.电机驱动电路
file:///F:/%E7%94%B5%E8%B5%9B%E5%B0%8F%E8%BD%A6%E8%B5%84%E6%96%99/images/vjFN35eZSKJua15SP4zB45qBRYAPSNJXuADQTfvj.png?lastModify=1689214043
4.其他
更多详情请点击下方链接查看
送药小车代码仓库:https://gitee.com/lcsc/medical_car
更好的观看体验请去:https://dri8c0qdfb.feishu.cn/wiki/UjwwwO0KZii5bykPcE4cJZafnAg
送药小车立创开源平台资料:https://oshwhub.com/li-chuang-kai-fa-ban/21-dian-sai-f-ti-zhi-neng-song-yao-xiao-che



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

25

帖子

0

粉丝