提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
博主大三上学期接触全国大学生电子设计竞赛,九月份第一次进入实验室参加2020年湖南省大学生电子设计竞赛,啥都不会,闹了很多笑话。经过一年在校期间的训练学习,在2021年全国大学生电子设计竞赛的电源方向获得全国一等奖,在训练阶段的心路历程和收获的一些东西,分享给大家!(多多包涵!!)
全国大学生电子设计竞赛(National Undergraduate Electronics Design Contest) 是教育部和工业和信息化部共同发起的大学生学科竞赛之一,是面向大学生的群众性科技活动,目的在于推动高等学校促进信息与电子类学科课程体系和课程内容的改革。竞赛的特点是与高等学校相关专业的课程体系和课程内容改革密切结合,以推动其课程教学、教学改革和实验室建设工作。
在我的理解中,电赛是一类能够检验你在训练期间段所学的,所实践的一个工程类比赛。电赛涵盖的面很广,有做仪器仪表的,有做控制的,有做通信的也有做电源的。所面向的工科专业也很多,门槛也不高,只要你针对某个方向去学习,去训练,网络上也有很多开源的资料以及往年的赛题复现。
同样,电赛也是国家承认的大学生A类竞赛,含金量很高。无论是在找工作还是在申请保研和考研复试中,都是一个很好的加分项。当然,更重要的是你在电赛训练过程中所学会的知识,所实践得来的东西
赛题的质量随着一年一年也变得越来越有技术含量,以后的赛题只会朝着越来越难的趋势发展,如果有想法备战2023年全国大学生电子设计竞赛的同学,可以开始早做准备了。
通俗一点理解电源方向,就是给定一个电源输入,再获得想要的电源输出。这个电源输入到电源输出的过程,通过各种变换方式来实现。通常四种为DC-DC,DC-AC,AC-DC,AC-AC,其中AC代表的是交流,DC代表的是直流。
简单说一下四种变换方式会用到什么基础电路
1、DC-DC
DC-DC电路最常用的就是boost电路和buck电路,两大基础。顾名思义,boost电路的意思就是输入一个直流电压进来,通过电感储能和MOSFET等作开关,使其能量在微观的层次变化,最终从宏观上得到输出比输入电压更高的电压。buck电路同样如此,与boost电路所用的元器件一致,区别在于拓扑结构的不同。至于电路的工作原理就不在本篇文章里面过多赘述,会在后面分单章进行工作原理的讲解。
2、DC-AC
DC-AC电路最常用的就是单相逆变电路。单相逆变电路输入的是直流电压,输出的是频率,幅值均可控的交流电压。具体是通过四个开关器件的瞬时开关状态,使的电压以正弦规律加至负载上,通过多种滤波方式,最终得出正弦交流电的效果。其中涉及到四个MOSFET管的驱动(常用MOSFET管)方式,工作状态,软件如何去发一个SPWM波控制整体电路,通过什么样的滤波方式使得最终的波形平滑好看。
3、AC-DC
最经典的就是整流电路了,四个二极管,输入交流电,输出得到直流电压。一般建议整流输出端加电容滤波,感兴趣的朋友可以看看没有加电容和加了电容的整流输出,没加电容的话会对后面电路的直流供电产生很大的负荷。
4、AC-AC
AC-AC变换电路在电子设计竞赛中好像并没有直接出过题目,答主对这方面不太了解。有感兴趣的朋友可以去网上搜一下,答主搜到的资料显示一般可以通过变压器绕组实现,若有朋友知道相关知识,可在评论下方留言,感谢!
当我们了解熟悉了这四种变换方式以后,就可以通过对其组合去实现某些特定的功能。电子设计竞赛有很明显的变化就是,从以前最开始的只是单纯对电能进行变化到后面越来越侧重于功能方面的需求。如15年的锂电池充放电的赛题,17年的微电网模拟系统,19年的不讲也罢,20年的UPS电源,21年的C题最大功率点跟踪(模拟光伏),22年的pfc模拟电子负载。越来越接近功能性的设计,难度也在逐渐变大。很多赛题其实就是把以上四种变换方式组合在一起,进行一个最终的输出。
以2020年省赛题UPS电源为例。从市电取电,通过自耦变压器和隔离变压器得到较低幅值的交流电压,通过一系列的电能变化后,最终输出稳定的30V交流供电。在其中需要用到AC-DC,将输入较低幅值的交流电压整流成直流电压,得到直流电压后需要用到DC-DC中的boost电路,将整流得到的电压升压成更高的直流电压,最终通过DC-AC单相逆变电路,将较高的直流电压转换为我们想要的交流电压30V。
不知道大家是否能够理解电源方向到底要做什么?在我的认识之中,最简单粗暴的理解就是,明确输入和输出,明确要进行什么特殊功能的设计,明确可能要用到的基础拓扑结构,然后确认工作状态,组合调参,最终得到理想的输出结果。
一定要实践,实践,实践!!!
电源方向不是短时间就可以入门的,想要真正做出一个优秀的比赛作品,必须得建立在长期的努力坚持实践前提下(此条排除某些天才型选手),若时间充足,对基础电路进行深刻的分析,思考如何在基础电路的基础上做出花儿来!做电源的就是思维开阔一点,特别是在做电路的时候,思路不同可能最终实现比赛电路的难度有很大的区别。所以说,你能抓住时间学的越多,就能够在比赛的时候,想出更多的思路。
仿真虽然挺有用的,但是电路一定要应用到实际里面!不调你永远不知道炸电容有多么的美丽,呲电火花有多么的好看,变压器嗡嗡的叫有多么的悦耳!当然,朋友们不要害怕,答主调试了一年,目前还没遭遇过什么危险,除了那一次脑袋抽了两只手指同时去摸上下对管的D端,能够明显的感觉电流的流过,有点心悸抽抽的感觉。不过不用担心,比赛方也会人性化一些的,危险的题目也不会让你们去做,毕竟生命安全大于天。
1、基础电路
比如boost,buck,桥式boost-buck,逆变什么的,基础电路可以都玩一遍,跑出最基础的效果。
2、检测电路
比如直流电压检测,直流电流检测(分高端和低端检测,高端就是可以接在电路中的任何位置,让电流流过检测电流,低端就是一侧必须接地。两者的区别在于高端会有共模干扰,低端没有干扰),交流电压检测,交流电流检测,过零检测等等
3、供电电路
可以用开关芯片供电,也可以用专门的电源砖供电。比如我用的就是金升阳的电源砖,输入范围大,输出较为稳定,而且是隔离的电源,用了这么久没有烧过供电电源。这个是需要考虑的东西,因为有时候赛题里面会要求所有供电电源必须在实际电路中进行取电,不用采取外部供电的方式。
4、驱动电路
通常采用的有IR2104S半桥驱动芯片,或者是光耦驱动,也有隔离驱动
5、功能性电路
如EMC,EMI电路,继电器电路,负载开关电路,保险丝保护电路等等
在这里我推荐用STM32F4系列的单片机,内核采用M4内核,功能强大,主频高特别是还带有DSP库处理函数,关于浮点运算等都在单片机内部优化了,可谓是屡试不爽,很大程度上节省了运算的时间。因为在实际电路的控制中,需要对信号进行检测处理,比如检测交流信号,自己要是写个均方根函数去处理有效值,效率比较低,用dsp库里面的有效值函数一下子就能得到想要的结果,十分推荐。
1、定时器的使用
建议学会PWM输出,输入捕获,定时器中断等功能。对高级定时器的互补输出,刹车和死区设计等等。
2、DMA
学会将采集到的电压数据通过高速的DMA传输至运算单元进行处理,DMA是越过CPU的,所以速度很快
3、DSP库
里面有很多数据处理函数,直接调用即可
4、PID
万物皆可PID,网上一堆教程,学会如何去用即可,一般用个P环就能调出较好的效果
5、ADC
采集电压就得靠它,学清楚交替采集就好了,可以提高采集的速度
6、位带操作
非必须的,但是有时候会对你整体电路的控制起到帮助,用函数也能实现同样的效果
以上就是博主的浅薄认识,后面会针对基础电路发几篇文章出来,给新入门的朋友们以简洁明了的方式带你们去了解电路的工作状态和方式。以后所发的任何文章也不会有什么订阅啥的,全是公益性分享的性质,希望技术方面的学习能带给各位提升,希望大家一起努力,慢慢成长,加油!
博主所发的文章均为原创,若有转载的话请标注来处。
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
所以我开始关注ruby,很多东西看起来不错,但我对隐式return语句很反感。我理解默认情况下让所有内容返回self或nil但不是语句的最后一个值。对我来说,它看起来非常脆弱(尤其是)如果你正在使用一个不打算返回某些东西的方法(尤其是一个改变状态/破坏性方法的函数!),其他人可能最终依赖于一个返回对方法的目的并不重要,并且有很大的改变机会。隐式返回有什么意义?有没有办法让事情变得更简单?总是有返回以防止隐含返回被认为是好的做法吗?我是不是太担心这个了?附言当人们想要从方法中返回特定的东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出
给定以下方法:defsome_method:valueend以下语句按我的预期工作:some_method||:other#=>:valuex=some_method||:other#=>:value但是下面语句的行为让我感到困惑:some_method=some_method||:other#=>:other它按预期创建了一个名为some_method的局部变量,随后对some_method的调用返回该局部变量的值。但为什么它分配:other而不是:value呢?我知道这可能不是一件明智的事情,并且可以看出它可能有多么模棱两可,但我认为应该在考虑作业之前评估作业的右侧...我已经在R
我在我的Rails3示例应用程序上使用CarrierWave。我想验证远程位置上传,因此当用户提交无效URL(空白或非图像)时,我不会收到标准错误异常:CarrierWave::DownloadErrorinImageController#createtryingtodownloadafilewhichisnotservedoverHTTP这是我的模型:classPaintingtrue,:length=>{:minimum=>5,:maximum=>100}validates:image,:presence=>trueend这是我的Controller:classPaintingsC
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,: