【四两拨千斤】一块八的芯片如何挽救一百多块的电路板——论数电的重要性
本文记叙了我经历的一件趣事,有别于以往的教程类博文,这篇文章我将按照事情的发展经过叙述,大家可以跟随本文体验一把笔者所经历的跌宕起伏,同时感谢教我数电的王老师(一位难得的好老师,在我本科生涯中印象深刻)。大家一定要好好学数电啊!
事情的经过是这样的:
起初,我画了一块无人车的控制器板子,使用了一种全桥芯片来驱动直流减速电机:手册上真值表是这样描述的:
从红框中看到这个全桥的驱动很简单(事实并非如此):控制输入管脚 IN1 和 IN2,就可以控制输出管脚OUT1和OUT2,实际我们不必在意第3,4行的描述,那是和过流保护相关的参数,而在我的设计中留足了余量,所以没有设计过流保护的电路。
因此,如果要实现直流电机的正反向调速的话,一个芯片需要两个PWM通道,那么我这个控制四个直流电机的控制器,就需要消耗2个四通道的定时器。
玩过单片机的同学们都知道,单片机的定时器是很宝贵的资源,尤其是我的控制器需要好几个定时器来做正交编码器计数。带PWM功能的定时器就这么多,当然是能省则省。能不能用一个定时器就实现呢?
数电知识在这里派上了用场:
对于单个电机,我用一个普通IO控制电机的正反转(极性),一个PWM通道控制占空比(电压幅值),这样四个电机只需要四个PWM通道就可控制了,正好是一个定时器的四个通道。
这么实现的?正好我的控制器中在信号部分使用了一个与非门做反相器,因此买了许多与非门芯片,所以不如就用与非门来搭建这个电路吧:
于是我用我可怜的数电知识构造了这样一个电路:
我们可以来看看真值表:
DIRx | PWMx | IN1 | IN2 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 1 | 0 |
可以看到,DIRx=0时,PWMx的变化使得输出在正转(Forward)与制动(Brake)之间切换,这也就实现了正向调速。同理,DIRx=1时,PWMx的变化使得输出在制动(Brake)与反转(Reverse)与之间切换,实现反向调速。
毫无问题,在如此想法下我完成了原理图,花了几天功夫画好PCB发出去做了。然后等板子到了兴冲冲地取回板子焊接。全过程那叫一个行云流水水到渠成。三下五除二写好了电机的驱动代码。编译!下载!电机转了!成了!(启示:不应高兴太早,否则你就会知道什么叫残忍。)
我鬼使神差的摸了一下全桥芯片,嘶!好烫!
不应该呀,我电机明明空载运行,这电流也没有超过全桥芯片的额定电流,怎么就发烫了呢?我反复排查无果。只好回去翻芯片手册,然后我就看到了这一行:
我默默回去看了一下我的真值表,什么?我竟然在制动和启动中切换,我的脑子是怎么想的?就好像我在用1KHz的频率疯狂在油门和刹车间切换,不用说,制动消耗的能量肯定化为全桥芯片中的热量了。它,就是导致全桥发热的元凶!而我就是那个试图狂踩油门和刹车来调速的憨货。
木已成舟(指我的PCB已经焊好),难道我要重画了么?在痛苦思索了一段时间后,我又有了新的想法:
我先是列出正确的真值表(在启动与滑行之间切换):
DIRx | PWMx | IN1 | IN2 |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 |
可以看到,我使IN1=DIRx 与 PWMx,而IN2=(DIR非)与PWMx,这是一个很直观的解决办法,使用2个与门和一个非门,但是不可避免的需要修改连线,这样我这刚焊好的一百多大洋的板子就打水漂了!(我可太惨了~)
有没有不用改板子的办法?很多人会想,你在想peach?老老实实改板子长记性把!
事实上,还真的有,数电老师很说过“同一个逻辑,可以有不止一个表达式”(大概是这个意思),所以,请看:
我把两个与非门换成了与门,现在大家回去看看,是不是和修改后的真值表一模一样?
逻辑门芯片都是差不多一个样子的,某宝搜一下,很快找到的匹配的型号,买了几片,一共一块八(还包邮,我在心中乐开了花)。看样子,换上芯片就完事啦!这样,我这块一百多的板子算是保住啦。下次画板子一定要认真读手册!
……
……
……
朋友们,你们以为这就结束了吗?
我把这件事讲给一位我非常敬重的硬件大神。他问我:“你PWM的频率多少”
“1000Hz”,我答。
“调到20KHz试试”,他很快回复我。
我照做了,然后摸了摸芯片,不烫了。
我:“*&……%¥#@!”
“同步续流了解一下”,他说。
有道是:“听君一席话,净省一块八”。
(怎么没有早点请教他呢?)
希望大家养成善于思考,不耻下问的习惯,记下这件小事,只为博诸君一乐。大家给个赞呗,谢谢!
【四两拨千斤】一块八的芯片如何挽救一百多块的电路板——论数电的重要性相关推荐
- atom系列服务器,这才叫四两拨千斤!Atom将登陆服务器
这才叫四两拨千斤!Atom将登陆服务器 2011年03月21日 00:08作者:郭攀编辑:郭攀文章出处:泡泡网原创 分享 泡泡网CPU频道3月21日 Intel的Atom处理器给我们的印象就是低功耗. ...
- 刘铁岩:如何四两拨千斤,高效地预训练NLP模型?
智源社区 & AI科技评论 作者 | 熊宇轩 智源导读:2020 年 11 月 1 日,微软亚洲研究院副院长.IEEE会士.ACM杰出科学家刘铁岩博士在第十九届中国计算语言学大会(CCL)上发 ...
- 百度“如流”开启智能办公模式,“四两拨千斤”开启差异化模式
文|有趣的老天师 来源 | 螳螂财经(ID:TanglangFin) 在网络资源不断完善.用户规模日益扩大的背景下,互联网行业的生态拓展变得顺理成章,如在线办公.在线教育等领域都有了长效的发展. 特别 ...
- 分享一个四两拨千斤的真实故事
分享一个四两拨千斤的真实故事. 看懂的人都是当老板的料. 有一家小食品公司,辣椒酱上市前想做宣传,无奈没有太雄厚的经济实力,租不起市区广告牌. 于是,他们突发奇想,租下城门口的一个不值钱的广告牌. 租 ...
- 【观察】掘金医疗大数据,如何四两拨千斤?
申耀的科技观察 读懂科技,赢取未来! 客观的说,过去十年来在"新医改"政策和数字化技术的双重推动下,国内医疗行业的数字化转型取得了长足的进步,但随着数字化转型的不断深入,同样也对未 ...
- 孙溟㠭讲篆刻(二):金石之上的四两拨千斤
篆刻艺术已流传3700余年,自商朝起,古人就开始治印.汉字之美在方寸之间蕴涵了千姿百态,一方小小的印章之上,刻的是千年古韵,人生百态.不黑文化艺术学社公众号将陆续推出<孙溟㠭讲篆刻>系列. ...
- 虚拟化何以四两拨千斤
作者::卢旭成 文章来源:中计在线 更新时间:2007-11-5 9:55:39 虚拟化市场已经处于爆发前的临界期,一股类似当年互联网的浪潮随时都可能席卷业界.虚拟化技术会给用户带来哪些价 ...
- 【asAI创新】华为CloudIVS轻量云:借力打力,四两拨千斤
2019独角兽企业重金招聘Python工程师标准>>> [摘要] 1.测评表现就目前来说,AI的门槛还是比较高的,业内所熟知的算法企业,为了追求算法的极致,比如人脸识别公司,仍在不断 ...
- 数据洪流来袭,企业转型势不可挡,如何四两拨千斤?
来源:机器之心 :作者:Jonathan Hui 本文约14000字,建议阅读10+分钟. 本文将会从第一步开始,告诉你如何解决深度学习项目开发中会遇到的各类问题. 在学习了有关深度学习的理论之后,很 ...
- Python装饰器——四两拨千斤还是杀鸡用牛刀?
一.引言 最近做了一个小小小项目,写了一些偏工程的代码.项目的目的看起来很简单,就是去组里的一个能显示调试信息网站上,根据我们提供的一堆查询,获取调试信息的response,然后离线的解析来完成后续实 ...
最新文章
- Win7下安装ubuntu (双硬盘用户加强版)
- 意想不到的有趣linux命令
- [BUUCTF-pwn]——others_shellcode
- PAT (Advanced Level) 1002. A+B for Polynomials (25)
- Function(函数)
- windows server2008服务器文件上传受限制怎么办,windows server 2008 服务器上传限制
- NET中dictionary的一个小坑
- 人脸识别ArcfaceDemo for Windows 分享
- GridView 中 DataFormatString 的使用
- DT大数据梦工厂 第67讲
- VS Newtonsoft的引用问题
- oracle 判断最后一笔_美股道琼斯日线杀跌一笔结束,向上一笔的反弹顺理成章。又到金秋弯腰拾金时...
- excel在线_如何设计有趣又实用的在线课程
- 印象笔记粘贴HTML,VScode下MarkDown如何连接印象笔记
- MATLAB机器人工具箱(二)机器人模型建立
- java 消息提醒_JAVA怎么样实现即时消息提醒
- 群晖docker容器外网访问的问题
- Android箭头图标移动动画实现
- app系统服务器出错怎么回事,app连接服务器出错
- android电话、短信黑白名单拦截、电话录音