
专业版
电赛控制板
1.8k
0
0
0
简介
本设计目的是尽可能一块板完成电赛所能用到的所有功能
简介:本设计目的是尽可能一块板完成电赛所能用到的所有功能开源协议
:GPL 3.0
创建时间:2024-09-06 22:22:36更新时间:2024-09-13 15:54:29
描述
项目简介
- 这是一块从去年这个时候开始设计的控制板,在半年前设计好了,准备电赛使用,在此之前大大小小经过了4个版本,只可惜电赛没能用上。因为自己改动了很多,看了很多优秀的开源作品,为自己减少了很多弯路,所以开源出来,让更多没有指导的学生一些参考。在本设计目的是尽可能一块板完成电赛所能用到的所有功能,使用的是STM32F103RCT6,单片机的引脚几乎全部用完。
- 支持功能:
双路稳压、板载daplink、双编码器电机(带隔离)、双舵机、TFT彩屏、陀螺仪、磁力计、4路按键、1路LED、外接FLASH存储、有缘蜂鸣器、两路ADC(1路外接、1路电源)、一路DAC输出、电源排针引出、1路IIC引出、超声波、循迹、3路串口(一路通过跳线帽接daplink)。
单片机资源分配


硬件介绍
电源部分
- 接口采用XT60和普通接线端子,可根据自己的电池焊接所需的接口。


- 两路电源都采用MP2225,分别将VCC转5V,5V转3.3V。
- VCC提供给电机使用,可以根据电机的额定电压接入不同电压的电池,5V提供给两路舵机使用,3.3V提供给板载器件及单片机使用。
- 若舵机电压不为5V可根据以下公式更改为所需电压,5V与USB之间有1N5819串联,即使更改成大于5V时插上USB也不会对电脑USB口造成损害,只有USB供电时,5V电压测得可能为4.7V为二极管正常压降。

- 此处用了两个电阻并联代替公式的一颗R2,如果可以买到合适比例的电阻可以自行更换,Vout为你要输出给舵机的电压,这里搭配的为5V

- 板上还额外提供了5V、3.3V、GND的外接接口

下载部分
- 此项目板载daplink,使用CH552下载daplink固件。固件可以参考梁山派下载器。
https://oshwhub.com/lengyuefeng/a7c57e6d86bd47789178df3fda9219dc - 通过跳线帽接着RCT6得串口UART1以及SWD,不想焊接CH552或者损坏时可先焊接Type-C旁边的排针,通过排针进行程序下载或是串口通讯。若发现daplink有检测到单片机,但无法下载程序,可将连接下载器和单片机MCU_RST的跳线帽拔出,下载器不接复位没有任何影响。

单片机部分
- 单片机使用的为STM32F103RCT6,滤波电容尽量靠近了电源引脚,晶振部分进行了包地处理。

电机部分
- 电机使用编码器电机,使用两片AT8236控制,使用了EL357进行隔离控制,编码器经过了三极管的隔离(具体为啥我也忘了,觉得没必要可以不焊三极管连接的电阻并且将1,3脚短接。
- 控制方面这里使用了TIM3的四路PWM进行控制编码器电机,

- 测速方面使用了TIM2和TIM5的编码器模式测速

- 舵机部分可根据舵机的电压更改一级稳压电路的的反馈电阻,通过TIM4的两路PWM控制

屏幕部分
- 屏幕采用的是0.96寸SPI协议裸屏焊接版,分辨率为80*160,价格也就3、4块钱一片,比直接买OLED便宜,且外围电路简单,满足显示要求,若想显示复杂的内容,建议直接用串口显示。注:焊接之前看清丝印的引脚顺序和屏幕上的引脚顺序,避免焊反!!!

- 控制方面使用软件SPI(没用硬件SPI是因为单片机资源有点极限,加上只打算显示数据,不需要刷新很快)

陀螺仪部分
- 陀螺仪使用的是MPU6050,资料多,网上已经有很多开源资料及教学可以查看,因ST的硬件IIC功能并不是非常完美,加上不需要多快的检测频率,所以使用软件IIC控制更为合适,使用过程中数据的零漂问题并没有发现很好的解决方案,但是实际使用中,只有启动时有少量零漂,后趋于稳定零漂可忽略不计。注:没有风枪或者加热台要谨慎焊接。

磁力计部分
- 磁力计使用的是QMC5883,和陀螺仪共用1路IIC,我个人用的不多,大家可以选择性焊。注:没有风枪或者加热台要谨慎焊接。

FLASH部分
- 存储部分用的是一颗W25Q128,使用的硬件SPI2通信,不需要掉电存储的也可不焊。

基础输入输出部分
- 板载了一颗LED可用来状态显示,4路按键输入,1路有缘蜂鸣器(可焊接无缘,但是我只需要单纯响,有缘更好控制)。

AD/DA部分
- 使用ADC1的通道5来测量电池电压,通道6用来外接电压检测,同时外接了1路DAC进行电压输出,两通道ADC都进行了电阻分压,在计算时,ADC读取到的电压需要11倍,地平面进行了0R电阻分割。

串口部分
- 此项目引出了3路串口,UART1通过跳线帽连接了板载的daplink,UART2和UART3可分别用来给无线模块和OPENMV/K210通信,当串口不够用时,可将板载daplink的UART1的跳线帽拔出使用。

循迹部分
- 因为单片机的资源紧张,普通的循迹模块会使用很多引脚,所以采用并转串的方案,板载接口只使用了3根数据线,控制十分简单无需担心,搭配含有并转串的循迹模块使用感很好(如果只是三路循迹则不需要)。
- 这里推荐https://oshwhub.com/xaiomao/infrared_track 的方案,16路循迹成本不高,而且使用光敏二极管检测光源,可以任意更换自己所需的颜色检测,相比比较网上卖好几倍的价格,此方案十分友好。

超声波部分
- 此处使用的是简单的IO功能控制,接入超声波模块可以用来避障测距,但最近几年电赛没有用上超声波模块,拿来学习还是不错的。

外接IIC部分
- 此处预留了硬件IIC接口,也可当普通的GPIO或是软件IIC使用,可接入OLED显示、24C0X作为存储、或是其他传感器,但使用时想要注意引脚顺序。建议使用4P的排线引出,根据传感器引脚顺序接好在端子上,再将接线端子插入传感器。

此项目包含了大部分常见模块以及常见的引出接口,没有多余的引脚引出,但是可以将没有使用上的串口、DAC、ADC、IIC等接口当作普通GPIO使用。
焊接顺序
- 我的焊接顺序为:先焊接电源部分,使用电池或者数控电源接入,用万用表测量电压情况(5V、3.3V)是否正常,若不正常,查看电源芯片是否方向错误、电容电阻是否放错、电阻的阻值是否用错。电压正确时再焊接单片机最小电路及复位电路,可以再焊个LED方便测试,使用下载器连接下载跳线帽处,写个LED闪烁下载测试,查看单片机是否工工作正常。若无法识别单片机,可以打开手机摄像头的的微距(眼神好可以直接看),查看引脚是否有短路虚焊。程序正常运行可以继续焊接陀螺仪磁力计,这俩比较难焊,建议热风枪或者加热台焊接(磁力计用的不多,可以不焊)。然后写个IIC的程序测试一下,能读到数据剩下的可以大胆焊接了,焊接经验丰富的可以直接一口气焊完。
程序部分
- 因为准备去实习忙着到处投简历,程序没时间整理,有公司收的话应该就有时间整理了。
模型图

实物图



设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程添加到专辑
0
0
分享
侵权投诉
工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。






















评论