要怎么学习自动化专业?
下面要讲述的关于这个问题的回答,是我在大学本科四年来关于自动化从课程设置到就业方向等方方面的一些感悟。PS 由于我是本科毕业就工作的人,所以以下内容有一定的局限性,需要自己甄别一下。本回答由以下方面进行叙述:1课程设置(适合想知道自动化的课程设置的中心思想的人)2 自我锻炼(适合想折腾一下自己的人)3 就业方向(适合想找找自己的方向的人)国内高校关于自动化的课程设置应该都大同小异,按照我的理解和分
下面要讲述的关于这个问题的回答,是我在大学本科四年来关于自动化从课程设置到就业方向等方方面的一些感悟。PS 由于我是本科毕业就工作的人,所以以下内容有一定的局限性,需要自己甄别一下。
本回答由以下方面进行叙述:
1课程设置(适合想知道自动化的课程设置的中心思想的人)
2 自我锻炼(适合想折腾一下自己的人)
3 就业方向(适合想找找自己的方向的人)
1.课程设置
国内高校关于自动化的课程设置应该都大同小异,按照我的理解和分类,把课程大致分为主要的两个方向,一个是主要跟电路有关的方向,另一个是主要跟控制类有关的方向;另外,由于近年来人工智能的高速发展,因此很多高校会有一些跟人工智能相关的课程,因此该部分课程可以作为第三个方向。
电路方向的课程主要包括电路分析、模拟电路、数字电路、信号与系统、电力电子技术、微机原理、嵌入式系统以及一些基于某一款或高级如STM32 或基础如51的芯片的原理及应用课程,也许有人觉得奇怪,为什么单片机类和微机原理会属于电路方向,为此我也思考了很久,微机系统类确实可以抽离出来新建一个方向,但是微机的基础还是电路,TTL、CMOS电平,信号完整性等等问题的核心还是电路,所以我才作此分类。
电路方向的课程不像控制类课程那么环环相扣彼此呼应,他们彼此之间的关系更像一个个独立的个体:
电路分析是所有电路类课程的基础,虽说后面的课程中比较少引用到电分里面的内容,但是电分的一些方法论还是挺有用的,例如节点分析法、功率角等,这门课担任的角色更像是衔接高中电学与大学电学的桥梁。
学完了电分之后会有模拟电路和数字电路,这两门课是核心,其重要程度基本每个老师都会叨叨几句。我理解的这两门课是代表两种思想,一个是模拟的思想,一个是高低电平的思想。这里举一个例子来说明:假设我们接到一个做时钟的任务,那么我们当然需要生成一个周期为一秒的脉冲,那么可以怎么实现呢?方法有很多种,但无非就是模拟实现和数字实现,模拟实现的话可以用555定时器通过配置电容电阻的值来实现,数字实现的话可以用单片机的定时器来实现。这也就是说,很多事情的实现都是可以通过模拟或者数字来实现,两种各有各的好处,没有说谁一定强于谁。
信号与系统是一种很玄幻的课程,至少对我来说很玄幻,因为刚开始学的时候很容易摸不着头脑。但是现在马上要毕业了再看回这一门课,感觉这门课虽然有很多抽象的东西,但是其核心是对信号的一个分析,我们获取了一个输入信号,可以有多少个维度来分析这个信号呢?这门课就都会一一告诉我们,虽然多,但不要紧,我们需要时刻清楚的是对信号的分析就像是对信号进行一个建模,我们需要掌握信号的特点,然后选择合适的模型,这样在后续的分析计算中才能更加如意。
电力电子技术是一门跟其他课程结合度不是特别大的课程,这门课研究的是怎么样做一个稳定且电源质量高的电源,可以这么说,如果这门课学得特别透彻,是完全可以找一份工作的,因为华为一直都有在招电源工程师。但是学好这门课是不容易的,因为这门课要记住的基本电路多,而且虽然每个电路的结构很简单,但是在真正设计电源的时候出来的质量是千差万别。所以有些人会建议在电子设计大赛的时候选电源的题目容易拿奖,但也没那么容易,如果自己的设计能力跟不上,还是处处碰壁。
最后是微机原理及相关一些单片机课程。我在上微机原理这门课的时候,我们老师讲的是很到位的,但是这门课难以避免的是课程内容很重复无聊,课本的内容其实就像是把51芯片的用户手册内容搬了过来。但是在后来应用一些单片机的时候,可以感受到一个人掌握一款新的单片机使用的快慢往往跟微机原理学得好不好有关,因为微机原理讲的是如何系统且全面地学会使用一款单片机。这里的使用不单单是说学会使用单片机的一些如ADC、串口等片内外设,还有地址线、数据线等总线的架构,内存分配等这些底层硬件的一些结构认识。
控制类方向的课程主要包括自动控制原理、现代控制理论、传感器检测技术、电机拖动、计算机控制技术、运动控制系统、过程控制等。这一个方向下的课程之间的耦合度是很高的,因此如果一开始就可以以一个系统的高度来看待自己当下所学的课程,不敢说可以让自己门门课都拿A,但是可以让自己学得没那么痛苦,至少知道自己在干嘛。
首先来看一幅图,这是一幅能够将所有控制类课程串起来的图:

自动控制原理和现代控制理论讲的是控制器部分,而自动控制原理是基于最经典应用最广泛的PID控制器,而PID里面困难的是参数的选择,那么自动控制原理讲述的就是如何选择一组让系统稳定的PID参数,整门课从开始到结束基本都在围绕着“稳定”来展开;而现代控制理论也是在寻找稳定的参数,但是跟自控不同的是现代控制理论使用的是状态空间法,状态空间法的优点在于可以比较方便地描述一个多输入多输出系统。另外现代控制理论在状态空间法的基础上还提供了一些新的控制算法,如LQR。要注意的是,以上所说的都是有一个前提的,就是系统已经建模出来了,这个模型可以不是精确的,因为自控和现代控制讨论的是在这个模型下哪一些参数是稳定(现代控制还可以确定哪一些参数是最优的)
电机拖动讲的是被控对象部分。控制对象可以是很多东西,如空调要控制的室内气温等,但是目前的课程设计基本都是选择一个最经典的控制对象——电机。所以电机拖动讲的就是电机这个对象有什么样的特性,以及电机是怎么样受驱动进而去对外做功的。电机拖动这门课会有很多很多很多的公式,但是不要怂,心里面一定要记住一点,所有的公式都是用来将电机这个实实在在的东西变成一个数学模型,即是对电机进行建模的过程。前面控制器部分讲了自控跟现代控制的前提都是数学模型已经确定了,这里电机的建模也是跟那里前后呼应的。
传感器检测技术讲的是测量反馈部分,这个对应关系不难理解,但是有一点需要注意,虽然自控里经常说反馈反馈从终点反馈到起点,但是在实际系统中,这个反馈量是不一定准确的,就是说传感器也存在误差,测量到的数值跟实际的数值是存在差异的,这点跟仿真的系统很不一样,仿真的系统里反馈是不存在误差的,实际是多少反馈回来的就是多少。因此这一门课的重点也在讲述如何优化传感器结构以及算法来将从传感器部分传递的误差尽可能小。
执行器部分我目前没有找到哪一门课是讲述这部分的,所以先放着,如果以后找到了回来补充。
还有一门课是计算机控制技术,这门课讲述的重点是在当前计算机功能日渐强大的背景下,将控制算法在计算机用代码实现,再输出控制量到执行器或者被控对象这一过程的学问。首先计算机是一个离散的系统,那么在反馈系统的很多部分都需要加入模数转换和数模转换,其次是在离散的情况下,研究采样率和保持器等对系统稳定的影响,说白了就是从连续到离散的过程中,我们之前认识的哪一些东西会发生变化,例如连续时域中使用的是拉普拉斯变换,而离散时域中使用的是z变换。
-------------2020.5.8修改--------------
控制类课程里头最能体现这类课程的整个系统运行流程的是运动控制系统,这是一门涉及控制系统从期望输入到反馈到系统输出所有环节的课程,其中控制对象是在工业领域最常见的电机控制,课程介绍了电机是如何从一个实际存在的物体到数学模型的建立,再将数学模型引入到控制系统中,借以自控理论进行参数寻优及确定,这同时也应验了先前在自控课的叙述中所说的控制系统中每一个环节都需要有具体的数学模型。那么在确定了控制对象的数学模型,再制定相应的控制器算法,那么系统的关键环节基本已经完成了。而在我们学校选的运动控制课程的课本里在结尾还有一部分内容是专门讲述检测电机转速的传感器检测原理的部分。跟其他部分也一样,最后会给出一系列的计算公式来确定数学关系。那么到这里,控制系统所有环节的数学模型都已经确定了,接下来就是对系统的参数进行调试,选取最好的效果的一组参数就可以了。
------------------分割线-----------------
过程控制是一门漫长的课程。首先我们需要认识的是一般控制系统有即时控制系统,例如倒立摆,控制周期短,系统响应迅速,另一种控制系统是过程控制系统,例如液位控制,控制周期很长,一般是以小时为单位进行计算,系统响应十分缓慢,等个几天不在话下。听我们老师说过程控制也是有人才需求的,但是我好像没怎么见过,可能是我接触的相关企业公司比较少。
2.自我锻炼
我大学四年下来,说实话课业的繁重程度不至于大到让自己再过一次高三,相反还是有挺多空余时间的,而这些空余时间其实是挺适合做一些练手的小项目的,其实我四年里一直都知道这一点的,但其实我一直都没做到的,所以其实这就是我想写这一部分的原因。
项目一:
用命令行窗口写一个银行ATM的系统
具体要求:首先提示用户输入银行卡号,再询问需要执行的操作,然后进行相应的显示
一点说明:对于一个刚开始接触编程,尤其是开始接触编程就是VC6或者visual studio的,开始一般都是基于命令行窗口(即小黑窗)来编程的,我在这个阶段的时候有一个疑问,就是现在电脑里的这些纷繁复杂的软件是怎么做出来的,而我为什么只能调出一个小黑窗。对于这个问题我去问过一些学计算机的朋友,得到的回答是,软件编程是分为两个部分的,一个是用户交互界面,一个是内部逻辑,举个QQ登录窗口的例子,我们双击点开了QQ的图标,然后出来一个窗口,窗口里需要输入账号密码,还有登录按钮等等部件,这个窗口就是交互界面,而内部逻辑是验证账号密码对不对得上,对得上就提示登录成功,对不上就提示账号密码错误。这两部分一般是分开的,而这个项目做的就是内部逻辑,所以不用管复杂的交互界面是怎么实现的,只用管内部逻辑,再用小黑窗实现简单的文字提示的交互界面就足够了。
项目二:
用LabVIEW实现控制系统的仿真
具体要求:给定系统的传递函数(从简单的一阶系统开始,如1/(s+1)),假设期望输入为阶跃时,计算出系统的响应曲线(不用现成的PID模块,从基本的数学关系开始搭起)
一点说明:挺推荐这个项目的,当时我是通过这个项目搞明白了控制类课程中的一些数学关系,如各种变换,时域频域什么的,我当时的实现是用到了一点状态空间法,应该会有别的实现方法,可以思考一下。另外一点是选用LabVIEW的原因是这是一个很实用的软件,图形化编程,所见即所得,在项目一中说到的复杂的交互界面在LabVIEW中可以比较简单地实现,但此项目不需要。
项目三:
从淘宝买一个51单片机开发板进行学习
具体要求:学习各种外设的使用,如定时器、串口、中断等
一点说明:51单片机是最基础的单片机,淘宝卖的开发板也不贵,大概50多块就有,还送各种学习资料
项目四:
基于51单片机实现秒表功能
具体要求:按一个按钮,开始计时,再按一个按钮,停止计时,输出计时时长。如果可以,最好是用汇编语言。
一点说明:按按钮要注意配备硬件消抖或者软件消抖(详情百度),而输出计时时长的方式有很多种,可以淘宝买一块LCD1602(10来块这样)作为显示屏显示,可以用串口跟电脑通讯,然后将时长通过串口传到电脑,可以将时长换算成二进制,通过led灯输出等等。
项目五:
通过51单片机实现IIC和SPI协议的数据传输
具体要求:通过51单片机对支持IIC或SPI接口的EEPROM芯片(如24c02)进行数据的读和写。
一点说明:IIC和SPI两种数据传输协议的应用十分广泛,因此很有必要掌握协议的具体实现。不过51单片机上是没有这两种协议的接口的,需要用程序来模拟实现,当成功对EEPROM完成正确的读和写时,尝试逐渐提高IIC或SPI的传输速率,一般每一种芯片都会有最大的传输速率,尝试去接近或超过这个速率,当然这个不一定会成功,因为51单片机的指令周期本身不是特别短,但是可以去尝试。最好是可以写几个函数,输入参数即是传输速率,这样以后需要用的时候可以直接拿来用,并且速率可调,十分方便。
项目六:
基于555定时器实现计时器
具体要求:不用单片机,用555实现例如篮球比赛中的计时器,正向计时或倒计时都可以,40分钟时间到时蜂鸣器长鸣
一点说明:555芯片是很经典的一块芯片,可以实现定时器和触发器的功能。在进行项目时首先应该先进行方案的验证,然后在电路仿真软件(推荐Multisim)中进行仿真,如果有条件可以尝试画出PCB板,但是除非自己有丰富的PCB经验,否则不建议直接打板出来,因为可能会有很多问题,在初始阶段让自己过过画PCB的流程即可。
项目七:
在洞洞板(也叫万能板)中焊接电路实现空气温湿度测量的电路
具体要求:单片机从传感器中读取测量数据,并输出到LCD1602中
项目八:
待补充
3.就业方向
首先需要建立一个共识就是自动化这个专业在本科的时候的涉猎是比较广的,每一个涉猎的领域的挖掘是比较浅的,这不算是一个缺点,因为在本科期间涉猎广可以让人眼界开阔一些,能找到自己喜欢的感兴趣的方向,然后坚定不移走下去。
对于我了解到的本科自动化专业毕业生的就业方向一般是:
大方向1:硬件工程师
细分1:板级硬件工程师、基带工程师、电源工程师、硬件驱动工程师、射频工程师
大方向2:算法工程师
细分2:图像处理算法工程师、智能算法工程师
大方向3:控制工程师
细分3:飞控算法工程师
说明3:我认识的本科毕业后做控制相关的大佬不多,所以这个方向不是特别清楚
大方向3:嵌入式开发
细分3:嵌入式工程师、Linux工程师、LabVIEW工程师
大方向4:转行当程序员
以上所有岗位应该都属于开发岗,一开始寻找自己的方向时尽量都往开发岗走。我见过很多为了提高自己拿offer的概率而选择投测试岗的人,这无可厚非,属于一种战略。只是说如果在开始的时候有条件,希望自己选择的是开发岗,这里并不是说测试岗就逊色于开发岗,只是说开始的时候就定位在开发岗,会让自己学到更多的东西,而测试岗中做得出色的人同样值得尊敬。同样,所有岗位都没有天生的优劣之分,区分待遇高低的不是岗位本身,而是自身的能力高低,每个岗位的高能人才都是短缺的,所以我们要做的是提高自己的能力,而非打破砂锅来问哪个岗位待遇高。
这里我就说说我比较熟悉的硬件工程师,其他岗位不是特别熟悉,就说的相对较少。
板级硬件工程师做的是电子产品的整板开发,也就是说有一个电路板的需求过来,工程师就根据需求进行器件的选型,PCB的绘制,可靠性的检验等,基本一个产品的整个开发流程都有可能会参与其中。
基带工程师做的是信号完整性的工作,也就是确保信号不失真不损耗。现在的产品的速率越来越高,因此信号的畸变可能会越来越严重,需要专门的工程师来确保信号在传输过程中是安全的。
电源工程师主要是设计电源,电源设计是非常重要的一项工作,一个电源如果质量不好,纹波高,有尖刺,可能会导致其驱动的器件直接烧毁,所以电源工程师是非常核心的。以前上课的时候老师给我们介绍了一下TI的webench这个工具,可以让不懂电源的人比较简便地来获得一个解决方案,这个是比较智能方便的,但一个电源工程师只会在webench上点几下鼠标的话是找不到工作的。
硬件驱动工程师做的是硬件驱动,一个器件因为其自身特点的差异导致驱动方式也不尽相同,常见的驱动就是CH340、RS232等的驱动,这些是比较简单的。以前秋招的时候遇到过一个招聘需求是招一个屏幕的驱动工程师,做屏幕的硬件驱动,因为屏幕是跟用户交互的主要途径,那么对屏幕的驱动要求是高效及简便,不能占用太大的系统资源来不断驱动屏幕,那么就需要工程师设计其驱动电路了。
射频工程师一般是通信工程的学生比较专业对口,做的是天线设计。
算法工程师和控制工程师我接触的不多,这里就不说了,大家可以顾名思义一下。
嵌入式工程师主要是基于Linux,做的是嵌入式系统。举个不知道恰不恰当的例子,假设我们要做一个银行ATM的机器,既然是一个机器,那就需要硬件电路支撑,需要一个核心处理器(类似CPU),有显示屏部分,还有外围的一些电路。有了这一些之后还需要一个操作系统,需要保证ATM机器的功能能够运转,能够对用户的一些操作做出响应,那么就需要做一个嵌入式系统,来根据一些特定的操作(如点击屏幕)来进行底层硬件的驱动,以完成相应的功能响应(如点击屏幕则机器发出提示音)。
至于要不要转行去当程序员,这个看个人倾向了。因为自动化专业在平时的课程中也会经常需要用到这个那个编程工具编程语言等,所以具备了一定程度上的转行能力,但是要真正转行到程序员行业中,还需要自行补充一些相关背景知识,如数据结构基本功够不够,编译原理,操作系统等知识够不够,编程语言的熟练度够不够等等。
说句题外话
今年很多人都在讨论一个问题:就业形势险峻,毕业生们怎么办?
错过了春招,秋招竞争激励,现在投了几十份简历却还都石沉大海,22/23届同学烦得头都快秃了。
其实你没事多去招聘网站上看看,你会发现不少基础岗位的招聘都写上了对python的技能要求,这也就意味着,会写程序的人会更吃香。
现在的社会,时代已经不同了,它在加速淘汰不会学习的人,所以大学期间多学点东西,不要毫无准备的去接受社会的毒打!


就算是在非专业技术领域python几乎都可以用到,特别是自动化办公和数据处理方面,python有独特的优势。而python入门相对简单,对大学生来说是一门好上手学的编程语言,就算不是找工作,利用python兼职赚点零花钱也不错啊!
如今是一个大数据的时代,Python 在行为收集和数据分析,信息采集等方面的应用已经非常非常普遍,早就不是程序员的专属技能了。就像 office 一样,是Python 已经成为了进入职场的必备技能。不是很意外,但这就是正在发生的大趋势。
Python的特点
1.需求大:百度、新浪、搜狐、淘宝、腾讯QQ等大部门的互联网相关企业都在利用Python,对Python的人才需求很大。
2.开展空间广:在无孔不入的互联网使用情况下,人工智能、大数据等领域非常适合Python的发展,这也就阐明了挑选进修Python将会有很不错的发展空间。
3.简单易学:小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,语法很简洁。
Python岗位薪资水平如何?

Python如何学习?
今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们,来看看有哪些东西。
Python学习大礼包

Python入门到精通背记手册

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
👉CSDN大礼包:《python入门&进阶学习资源包》免费分享
Python安装包

Python爬虫秘籍

Python数据分析全套资源

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
👉CSDN大礼包:《python入门&进阶学习资源包》免费分享
Python实现办公自动化全套教程

Python面试集锦和简历模板


Python副业兼职路线

资料领取
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓
更多推荐





所有评论(0)