0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器人主控板设计方案

CHANBAEK 来源:硬件实战君 作者:硬件实战君 2023-03-16 14:32 次阅读

在很多人眼里,主控板有着密密麻麻的芯片引脚与PCB走线,看起来非常难的样子。 其实恰恰相反,主控板的设计有着其特有的设计规律,其实说白了就像搭积木,在满足单片机最小系统的条件下,需要哪些功能,只需要增添相对应的电路模块即可,也可称为模块化设计思想。

本文我将从三个层次来介绍用于机器人主控板的设计思想。 分别为:

根基,主控板最基础部分的设计和原理;

枝干,主控板功能模块的扩展与设计思路;

树叶,主控板中功能模块具体电路参数的计算。

我将以一棵大树的层次结构为模型,带领大家走进电路设计的乐趣。

根 基

这里的根基表示的是单片机最小系统,是单片机可以正常执行程序的最简工作环境。 如果没有这些的话,单片机是无法运行程序的。

最小系统的组成包括,电源电路时钟电路,复位电路。 大多数芯片的最小系统需要包含以上三种电路,而有的芯片却可以不使用外部时钟,其芯片内部可以通过RC振荡器为程序运行提供时钟基准。

根基之电源电路。 以STM32系列单片机为例,其工作电压在2.0V~3.6V,通常会使用3.3V电源供电

假设我们使用5V电源为电路板提供电源,这样就需要将5V转换成3.3V为单片机供电。 考虑到单片机需要工作在低纹波的电源环境下,这里选择了线性降压电源(LDO)。 明确了设计目的,下面就需要进行方案选择了。

需要做的事:使用那款LDO芯片将5V电压降低到3.3V电压,且满足功率需求。 能够实现这几项需要的方案,非常多,下面我简单列举了几款常用芯片。

芯片 最大输出电流(ma) 成本(元)
AMS1117-3.3 800 0.5
SPX3819M5-L-3-3 700 0.7
RT9193-33GB 300 0.4
SSP6206-33NR 300 0.16
...... ...... ......

细细分析上面的表格中参数,发现不同芯片有着不同的最大输出电流。 这时可根据单片机内部资源使用情况来计算最大工作电流(在单片机手册可以查找到),来进行方案选取。 确定了单片机最大工作电流后,需要扩大3倍来选取电源芯片

至此,已经确定好了电源芯片方案,但是如何进行电路连接呢? 如何设计能减少干扰呢? 对于电路如何连接,一般在芯片手册前几页会给出典型应用电路。 这里我以AMS1117-3.3为例进行介绍。

下图来自芯片手册中的典型应用电路模块。 一般情况下,按照数据手册中的电路连接,就可以正常使用。 为了提高系统的稳定性,我们还可以对电路稍加修改。 比如,在电源输入口增加磁珠来抑制电源线上的高频干扰信号。 在输入输出端增加滤波去耦电容,以保证输出电源的纯净,和瞬态响应能力。

wKgaomQSt6-APNuTAADxqySIRd0328.jpg

根基之复位电路。 相信很多人和我一样,从接触51单片机时就开始疑惑复位电路的工作原理,由于对模拟电路理解的不够透彻,而不能给出正确答案,当别人问起时,吞吞吐吐说不出个所以然来。 对于复位电路,这里给出两种不同的解释,欢迎大家批评指正。

对于低电平复位的单片机来说,其复位电路如下图所示:

wKgaomQSt6-AQiZ-AAG-qkTm-mk039.jpg

复位电路解释一:首先,明确电容器具有通交隔直的能力。 而交流电的定义为非直流电都为交流电,而直流电的定义是大小方向不随时间变化。

那可以这样理解:在电路上电瞬间,电压从零变化到VCC此时电容两端电压在不断变化应该归属于交流电,这个变化过程是需要时间的。 在这段时间内电容处于导通状态,RST引脚电压接近于GND(低电平)。 满足单片机复位要求。 具体参数可通过RC电路进行计算。 通常使用0.1uf和10K电阻进行单片机复位。

复位电路解释二:从电容充电曲线理解. 电容在充电时,两端电压曲线如下图仿真图所示,电压缓慢爬升,当IO口电压低于0.8V时,单片机就会认为IO口电平为低电平,则图中复位电路使用参数可提供288us低电平时间,足够满足单片机进行复位。

wKgZomQSt6-AQlD7AAHLuVp7WhY418.jpg

根基之时钟电路。 对于单片机来说时钟就像心跳一般,在时钟信号的基准下,有规律的执行者代码。 时钟电路大同小异,这里以无源晶振为例。

wKgZomQSt6-ARjq2AAAo2tp177g636.jpg

如上图所示,为时钟电路,其中两个22pf电容为起振电容,1M电阻为环路反馈电阻。 采用8MHZ晶振,经STM32内部PLL锁相环,进行倍频可达到72MHZ,后经过分频电路进行分频为各外设提供时钟。

单片机最小系统主要由这三部分,作为控制器的根基,是必须要有的。 无论多么复杂的功能都需要基于此进行拓展,下面介绍如何拓展主控板的功能。

枝 干

这里的枝干指的是以最小系统为根基引申出来的各个功能模块。 和大树一样,枝干在满足自身生长的条件下可多可少。 这里简要介绍两个扩展功能,以展示控制器中“枝干”的设计过程。

新增枝干---温度检测功能:

这里想用单片机实现一个简单的温度计功能,可用于机器人中电机温度检测,也可以称为需求。 这时我们需要做的就是选用哪种方法去实现温度检测。 如果你学过51单片机,可能会想到DS18B20这款单总线温度传感器,好这里可以把它作为一种备选方案。 还有没有其他的??? 我喜欢列表,画图去将脑海中的想法展现在纸面上,这里列表看看我脑中能够列出多少种方案。

I/O个数 温度范围 信号种类
DS18B20 1 -55~125 数字信号
LM75A 2 -55~125 数字信号
AM2302 1 -40~80 数字信号
热电偶 1 由选型决定 模拟信号
热敏电阻 1 由选型决定 模拟信号
...... ...... ...... ......

看吧,随便一列就能够列出5个备选方案,实际中远远不止这些。 为了使文章更加丰满,介绍更多的基础电路设计,这里以负温度系数热敏电阻作为实现本次任务的传感器。

负温度系数热敏电阻的阻值会随着环境温度的升高而降低。 对于型号为MF52 10K ±1%的热敏电阻,其阻值随温度变化的曲线如下图所示。 在-40~70之间其阻值的线性度非常好,完全可以使用一次函数式(y=ax+b)来拟合这段曲线,然后根据电阻值去反推环境温度。

wKgZomQSt7CAM_wTAAg0GglwT7M499.jpg

问题推进到现在,测量温度的需求,已经演变成了如何测量热敏电阻阻值的需求。 说道电阻,应该能够想起最基本的欧姆定律吧!

wKgZomQSt6-APg4LAAADZwEWsY0420.jpg

通过上式,我们就可以通过检测热敏电阻两端电压来确定热敏电阻阻值。

电压法测量热敏电阻阻值:这种办法比较简单,在产品中应用的也较多。 使用电阻R1与热敏电阻串联,然后使用单片机ADC功能读取VF1点电压,后反推出热敏电阻阻值,进而计算出当前所测试温度。

其计算公式为:

wKgZomQSt6-ADBR4AAAIEEuUTLk354.jpgwKgaomQSt6-AL3UGAADRn3GZ9RY117.jpg

电路中的R1需要选取一个合适的数值。 选取过大,NTC两端电压变化范围就会变得很窄,为后期的数据出来带来不便。

如下图所示,为R1分别选取了10K,55K,100K三个阻值时,VF1随温度变化曲线。 从图中可以看出当R1=10K时,VF1的范围很宽,并且温度在0度到45度范围内变化时,VF1具有很好的线性度。

相比而言当R1选取55K和100K时,VF1的表现就没有那么好了。

wKgaomQSt6-AM3uEAABwFPOadk0279.jpg

这样我们就在单片机最小系统上添加了测量温度的功能。 在整个设计过程中,我们只仅仅使用到了单片机的一个ADC口,其余都应属于模拟电路知识。 按照这个思维,我们可以实现很多功能,比如你想要给控制器添加WIFI功能,通过分析也许你连原理图都不用改,只需要购买个具有UART的WIFI模块就能够实现,就是这么简单。

新增枝干---电路电流检测功能:

在控制器设计中难免会涉及到检测电流,用于电路过流保护,或电机电流检测。 这里想用单片机检测电机某相电流,来实现电机的FOC控制,也可以称为需求。

电流检测方案有多种可供选择,比如采样电阻,霍尔电流传感器,罗氏线圈。 这里我选择了电阻对电机相电流采样

wKgaomQSt6-ARII0AAALLh4A4V0923.jpg

一般检流电阻的值都比较小,比如0.005欧姆。 当流过10A电流时,电阻两端压差仅为50mv,这样就不会对电路造成影响,但是会带来一个问题,直接使用单片机ADC读取时,无法准确读取到数据。 通常的做法是将电压放大后,再使用单片机读取。

电路设计到这里,从刚开始的电流检测需求,已经推进到采样电压信号的放大需求。 这时想到的必然是使用运放对采样电压放大。

如下图所示,选取了运放构成的减法电路(差分放大电路),来放大电压信号。 具体的电路计算后文详细介绍。

wKgaomQSt6-AVeY8AAAl8PBtXJQ794.jpg

这样又在单片机最小系统上添加了电流检测功能。 在整个设计过程中,只仅仅使用到了单片机的一个ADC口。

枝干部分就先列举两例,在这种思维的指引下,你可以尝试着实现其他功能,比如实现一个数据显示功能,实现CAN通信,实现4-20ma信号处理。 好好想想,看看有多少种可用的解决方案。

树 叶

树叶指的是以最小系统为根基引申出来的各个功能模块中的具体电路参数。 这里的设计需要根据选定的最终方案来详细计算电路中阻容等每个元件的值和具体器件选型。

现在以上文中电流检测电路为例,来介绍如何计算电路参数。

上图中的电路原型为减法电路(也称差分放大电路),如下图所示

wKgZomQSt6-ANH-oAAAPhtyCbbI083.jpg

根据模电基础知识,其输出电压表达式为:

wKgaomQSt6-AGOXQAAAFTChDmtw026.jpg

,其中

wKgZomQSt6-AHpM7AAADeb3Fzdo601.jpg

差分放大器的放大倍数。

假设系统中需要将信号放大5倍,这时

wKgZomQSt6-AHpM7AAADeb3Fzdo601.jpg

应该等于5。 这里的取值可就多了,比如100欧姆和500欧姆,1K欧姆和5K欧姆,10K欧姆和50K欧姆。 这么多种组合,到底哪个组合比较好呢? 在我看来在保证功耗允许的情况下,阻值越小越好。 100欧姆就比1K欧姆好,1K欧姆就比10K欧姆好。

电机的三相电流波形是相位相差120度的正弦波,如下图所示。 在电流检测过程中信号有半个周期为负值。 对单电源供电的运放,位于负半轴的电流值是无效的,无法进行放大。 此时就需要对电流波形进行偏移,使得整个周期的电流波形都位于正半轴以上。

wKgaomQSt6-ASMr4AACiuaQ5CnY872.jpg

为了解决这个问题,只需要在下图RB处添加直流偏移电压Vref,输出电流形就会向Y轴正方向偏移Vref。

wKgZomQSt6-ACMKsAAAQgCHtiaw749.jpg

此时,输出电压表达式为(可根据叠加原理推导):

wKgZomQSt6-ATSsEAAAGuA0uIKA178.jpg

下图所示,将一个30mv正弦信号放大5倍并偏移1.65V后的电流波形。

wKgZomQSt6-AdPytAACbA1DrPlo446.jpg

至此,我们已经计算出了电路中的电阻参数,当Ra=1K时,Rb=5K这个组合是比较好的。 因为STM32单片机ADC引脚最大输出电压为3.3V,通常对电流波形偏移Vref=1.65V即可满足要求。

主控板的设计就这样简单,明确需求,方案选取,计算参数,简单三步即可实现你想要的功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620830
  • 机器人
    +关注

    关注

    206

    文章

    27033

    浏览量

    201396
  • 振荡器
    +关注

    关注

    28

    文章

    3518

    浏览量

    137638
  • 电源芯片
    +关注

    关注

    41

    文章

    1009

    浏览量

    75881
  • 主控板
    +关注

    关注

    0

    文章

    31

    浏览量

    5373
收藏 人收藏

    评论

    相关推荐

    国产机器人主控芯片(二):高性能内核助力工业机器人协作升级

    国产机器人主控芯片在“国产替代”的浪潮中以更低的价格和毫不逊色的性能逐渐取得了国内机器人厂商的青睐。这一期我们继续将目光聚焦在国产厂商,看看在机器人主控芯片国产替代浪潮中还有哪些不得不看的系列
    的头像 发表于 01-10 08:28 4952次阅读

    191型RV1126主控板开箱视频

    主控板
    易百纳
    发布于 :2024年04月09日 14:02:24

    自主飞行空中机器人设计方案

    自主飞行空中机器人设计方案
    发表于 09-26 13:29

    机器人设计方案,控制系统设计汇总

    机器人设计方案{:7:}分享
    发表于 06-30 13:12

    飞控主控板

    上传个飞控主控板
    发表于 07-16 16:11

    关于机器人主控操作系统

    大家有知道广州数控的机器人主控操作系统是基于什么做的吗?还有珞石机器人?或者我去哪可以查到呢?想做个简单的调查~谢谢
    发表于 12-25 20:57

    机器人主控操作系统

    有知道广数或者珞石机器人主控操作系统的吗?做个小小的调查,可是一直没问到,
    发表于 12-25 20:59

    【uFun试用申请】浙江省大学生机器人竞赛

    项目名称:浙江省大学生机器人竞赛试用计划:1.设计机器人主控板,搭载各类功能模块2.实现USB功能读取USB摄像头数据3.应用舵机控制pca9685实现舵机控制4.与寻迹模块进行通
    发表于 04-09 16:19

    【PCB设计大赛】熊猫机器人主控板

    参加机器人比赛的一块主控板,可能任然存在很多问题,朋友如有指教,不甚感激!)2.附件(原理图+PCB工程文件)在本帖附件哦~3.作品截图:4.设计心得(可选)为了完成最终功能,先是经历了小模块设计,然后大版整合,历经几次改版。最后悟出一点心得:设计一款较好的PCB不是一蹴
    发表于 12-20 11:58

    如何搭建实体机器人ros底盘

    目录介绍一、底盘主控板二、嵌入式开发1. 与上位机pc的关系2. 与STM32主控板的关系介绍自下而上的分析实体机器人(差分轮速机器人)搭
    发表于 01-20 07:36

    RM机器人主控系统程序下载

    RM机器人主控系统程序
    发表于 04-18 17:13 4次下载

    龙芯1C机器人主控板PWM功能操作教程

    龙芯1C机器人主控板共有32路PWM输出,由板载的两颗PCA9685PW芯片提供,每颗芯片最大可输出16路PWM信号。 详细使用方式如下: 一、准备工作 将各舵机的电源和信号线按线序插到主控板
    的头像 发表于 10-17 08:34 4375次阅读

    dfrobot蓝牙四驱机器人主控器Arduino 兼容简介

    Romeo BLE Quad 蓝牙四驱机器人主控器是一款基于32位ARM处理器开发的机器人主控器,集成BLE蓝牙4.0和四路电机驱动,兼容Arduino IDE开发环境。
    的头像 发表于 01-03 14:15 1217次阅读
    dfrobot蓝牙四驱<b class='flag-5'>机器人主控</b>器Arduino 兼容简介

    基于STM32的六足机器人主控板pcb图以及原理图

    基于STM32的六足机器人主控板pcb图以及原理图
    发表于 01-18 14:51 29次下载

    从三个层次来介绍用于机器人主控板的设计思想

    在很多人眼里,主控板有着密密麻麻的芯片引脚与PCB走线,看起来非常难的样子。其实恰恰相反,主控板的设计有着其特有的设计规律,其实说白了就像搭积木
    发表于 05-18 11:43 1004次阅读
    从三个层次来介绍用于<b class='flag-5'>机器人主控板</b>的设计思想