作为一个参加过一年智能汽车的选手(下图是我第一次比赛的母板),当我再次重画电路的时候,仍然是对电路中的元器件作用不是很了解,于是决定开始去了解自己设计的电路而不是只是套用别人现有的设计。
所以作为我学习的记录也抱着分享经验的目标,如果有哪里讲得不对还请各位大神纠错。
二.设计的基础知识在直流稳压芯片里分为两种:LDO(低压线差性稳压)和 开关稳压器(DCDC)。
关于这两者的差别和原理方面推荐大家看 工科男孙老师的讲解(讲解得的非常详细):
https://www.bilibili.com/video/BV11v411K7LN?spm_id_from=333.999.0.0
孙老师对LDO和DCDC做的差异总结:

一般我们常用的LDO比如说AMS11173.3V(参数如下图),它的输出电流的最大电流在1A,要是没有这些参数概念,无论什么电子设计都拿它去做,一旦它出现在了不适合的场景,那么做出来的板子多少是会有问题的,严重一点的甚至会看到“芯片的烟火表演”。

这也就是说要根据实际需求去进行合理的芯片选型。
一般芯片选型可以从ti(德州仪器),adi(亚德诺),sgm(圣邦微),和mps(芯源)等官网去选型,在其官网上也有一些。
在智能车里我们的电源只起到三个作用:芯片供电,外部模块供电和舵机供电,以及电机供电。
我参与的是基础四轮摄像头组别,使用的是3.3V单片机TC264和TC364,所以准备在电源电压到3.3V之间用了一个5V稳压过渡,(在现有的规则下已经支持小车可以使用最高24V的)如果使用24V的话需要用一个12V去进行过渡,减轻5V稳压器件的负担。
一.单片机的电流需求(3.3V)
以下是TC264的最大工作电流,327ma(这里我选用的芯片是TC264DA)。

二.MT9V034总钻风摄像头电流需求(3.3V)
此外我使用的摄像头是逐飞科技的总钻风,它的产品电流在75mA。

综合以上3.3V环境的电流需求,我们只需要选择一款稳定且输出电流在1A左右的3.3V稳压芯片即可。当然为了缓解3.3V稳压器件的压力,我们设置了过渡作用的5V稳压电路,那相对应的也要求此5V稳压器件和12V稳压器件应该是有大于1A的输出电流的。
三.舵机电流电压需求
我这里使用的是C车模该车模,首先他的舵机的最适电压是6V,它的最大消费电流为175mA。
但这个电流肯定不能作为我们选择舵机电源稳压芯片的电流输出参数参考,实际上在智能车的运行过程中无论是摩擦力大的情况也好,还是在前轮卡死导致舵机堵转的情况下,它的消费电流肯定比它标的参数要大,就拿普通的996R舵机来说其正常工作电流在800mA左右,其堵转电流却达到了1.5A,所以在实际对舵机电源做设计的时候要选输出电流比消费电流大的稳压器件,这里需求我把他提到2A。

四.电机电流电压需求
在接着上面的舵机可调电源说一下,那里还有一个问题,一般来说我们智能车使用的是最大8V电压的电池,但是电池使用久了会掉电,一般掉电到6V的时候就要去充电了,但是会有一些同学直接让可调电源输出6V——就会在没电情况下电源芯片的输入电压小于等于输出电压,我当年的新B车舵机总是跑一会就歇菜了,后来才发现是是因为这个原因(之前使用的是镍镉电池)。
其实使用的电池电压大小主要和电机有管,我们的电机(C车)使用的是RS-380电机,其参数如下,但是经过我的测试其实上个12V也没有多大的问题,而且在如今规则所提供的可选电压范围也比较大,12V也在规则之中,只要电源上到12V对可调电源的影响其实不大了,但是即使是这样可调电源还是会具备一定的冒烟危险,不过没那么大了。
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我正在开发一个Rails应用程序,我需要在其中找到给定特定偏移量或时区的夏令时开始和结束日期。我基本上在我的数据库中保存了从用户浏览器接收到的时区偏移量(“+3”,“-5”),我想在它出现时修改它由于夏令时的变化。我知道Time实例变量有dst?和isdst方法,如果存储在它们中的日期在夏令时与否。>Time.new.isdst=>true但是使用它来查找夏令时的开始和结束日期会占用太多资源,而且我还必须为我拥有的每个时区偏移量执行此操作。我想知道更好的方法。 最佳答案 好的,基于你所说的和@dhouty'sanswer:您希望能够
我有一台生产机器和一台开发机器,都运行ubuntu8.10并且都运行最新的phusionpassenger。当我在osx上的本地开发机器上使用ruby1.9.1时,我想知道外面的人是否已经在使用带有ruby1.9.1甚至1.9.2的phusionpassenger?如果是这样,请告诉我们您的设置!此外,有没有办法在apache上使用phusionpassenger同时运行ruby1.8.7(ree)和1.9.1?感谢您的指点,我在任何地方都找不到任何提示... 最佳答案 是的,从某些2.2.x版本开始就正式支持它,我不记
date_select方法只能设置:start_year,但我想设置开始日期(例如3个月前的日期)(但没有这样的选项)。那么,我可以将开始日期设置为date_select方法吗?或者,要制作这样的选择框,我应该使用select_tag和options_for_select吗?或者,有什么解决办法吗?谢谢, 最佳答案 有可能……例如:start_year–设置年份选择的开始年份。默认为Time.now.year-5参见thisresource. 关于ruby-Rails3-我可以将开始日期
我想从特定索引开始遍历数组。我该怎么做?myj.eachdo|temp|...end 最佳答案 执行以下操作:your_array[your_index..-1].eachdo|temp|###end 关于ruby-从特定索引开始迭代数组,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/44151758/
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据
前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型