一, 什么是机电产品
最近的珠海航展上, 一架歼 - 10B 推力矢量验证机, 拖着长长的彩色烟雾, 做出了 "落叶飘"" 眼镜蛇 " 等一连串飞行动作, 煞是吸引眼球, 作为一个航空工业从业者, 小潘也很是很激动呢!
这次立功的矢量发动机, 就是一个几乎是最复杂的机电产品了!
日本企业界在 1970 年左右最早提出 "机电一体化技术" 这一概念, 当时他们取名为 "Mechatronics", 即机械技术和电子技术结合于一体, 话说小潘就有一个学位名叫 "Master of Mechatronics". 不过在欧美一些国家, 他们说的机电大多用 "electromechanics" 来表示, 即机械技术和电气技术的结合. 总的来说呢, 机电产品就是综合计算机与信息技术, 自动控制技术, 传感检测技术, 伺服传动技术和机械技术等交叉系统技术而研发的产品.
二, 物理上是解决 "两个流" 的问题
要研发一个成功的机电产品, 在物理实体上需要解决什么问题呢?-- 以机器人为例(也是一个典型的机电产品), 作为一个 "人", 必须要解决好两个 "流" 的问题: 一个是 "信息流", 另一个是 "动力流". 我们经常说的自动控制, 信号处理, 传感检测其实都属于 "信息流" 的范畴, 解决的是大脑和神经的问题.
而 "动力流", 则是要解决躯干和肌肉问的题."动力流" 包括动力的产生, 传递和执行, 产生动力 (机械能) 的源泉一般是发动机 (engine) 或者是电动机(motor), 一个是由化学能转化而来, 一个是由电能转化而来. 传动机构主要包括各种杆系, 齿轮, 滚珠丝杠, 轴承等部件组成, 部件之间又通过旋转运动副, 直线运动副等连接. 执行机构典型的如机械手等.
只有两个 "流" 处理好了, 才能有智慧的 "大脑", 强壮的 "四肢", 才能做出一个成功的机电产品.
二, 数学上是解决 "两个类型" 的微分方程
数学上怎么解决两个 "流" 的事呢?-- 两类微分方程: 一个是常微分方程 (Ordinary Differential Equation) 简称 ODE; 另一个是偏微分方程 (Partial Differential Equation) 简称 PDE. 有的童鞋可能纳闷啦? 我们学的方程那么多, 为啥必须是微分方程呢?-- 答案很简单, 因为我们要研究的系统都是变化的, 而变化也就意味着微分, 如果一时不能理解, 想一想微分的定义 -- 函数改变量的线性主要部分.
一个典型的常微分方程长成下面这个样子:
变量只和时间 有关系, 和空间位置没关系, 换句话说, 常微分方程描述的是单质点的变化规律, 如: 某个物体在重力作用下做自由落体运动, 下落距离随时间变化的规律; 火箭在发动机推动下在空间飞行, 飞行的轨道等等. 常微分方程一般是把研究对象当成一个质点或者刚体, 研究整体的运动规律.
事实证明, 对于繁复纷杂的大自然, 只用常微分方程是不够的, 因为有些研究对象不能简化成质点, 一个典型的例子就是琴弦:
琴弦是一个柔性体, 在弹拨的时候每个点振动都是不一样的, 一根均匀的弦, 其自由振动的数学方程是什么呢? 假定 表示 点在 时刻的位移, 则弦的约束方程为:
我们来审视一下这个方程:
这个方程含有 -- 假设没有 , 那就是和时间没关系, 就是停那没动, 静止的东西还不好研究?
这个方程含有 -- 假设没有 , 那就是和位置没关系, 就是所有点都一样, 那不就退化成刚体或者质点了? 那就退化成常微分方程了.
也就是说, 偏微分方程能描述的连续体的各个点随时间连续变化的情况, 本质上就是一种 "场" 的描述了, 一般偏微分方程也称之为数学物理方程.
严格来说, 自然界的各种现象, 都需要用偏微分方程来描述, 只不过有些情况下为简单起见, 我们忽略了位置项带来的影响, 如火箭发射的时候, 在强烈的振动下壳体会发生变形的, 理论上要完整描述火箭的状态, 是需要用偏微分的, 但是实际上我们还是把它简化成一个质点来描述, 因为这样可以简化很多工作.
三, 如何求解常微分方程
好了, 我们的研究目标知道了(两个流), 数学描述也知道了(ODE 和 PDE), 那我们怎么求解呢? 可以毫不夸张的说, 大部分机电工程师几乎所有的核心工作都是在解这两类方程! 只不过呢这个工作更多时候淹没在经验和经验公式, 计算机甚至生活常识里面去了, 以至于很多人都没有这个概念了.
为了解这两类方程, 我们需要做一些知识储备. 前面我们说了, 无论是 ODE 还是 PDE, 都是描述系统随时间连续变化的情况, 这个系统可能是质点, 也可能连续体, 那怎么描述 "连续" 这种现象呢?-- 自然常数 "" 就是我们为描述 "连续" 而发明的常数. 关于 "" 的故事, 请参照小潘专栏的第一篇文章
J Pan: 自然常数 "e", 工程中的自然数 "1"
zhuanlan.zhihu.com
在这篇文章中, 我们详述了为啥 "" 代表着 "连续". 当然, 有了 "" 还不够, 因为它只能表示 "连续", 而我们想要的是 "连续变化", 怎么的解决的呢?-- 要有东西表示 "变化" 才行, 这个任务就落到了虚单位 "" 的身上, 当 "" 和 "" 结合的时候, 一个在工程中运用最广泛的函数就产生了 --"", 看到这个函数的你是不是眼前一亮, 似曾相识的感觉呢?--"" 代表着 "连续","" 代表着 "旋转","" 代表着 "连续旋转", 也就是 "连续变化" 了. 关于这个函数的更多信息, 具体可参照
J Pan: 被众人膜拜的欧拉恒等式是个什么东东?
zhuanlan.zhihu.com
好了, 即使铺垫这么多, 我还是要告诉大家一个很沮丧的消息 -- 我们目前只能解 "线性常微分方程", 注意多了线性二字哦; 而对于非线性常微分方程以及偏微分方程, 除了极简单的情况下, 我们目前都无法找到解析解.
先说一下线性常微分方程. 这是我们目前为止研究的较为透彻的, 为此数学家们和工程师们都付出了巨大的努力, 给我们提供了较为完善的工具和方法, 那到底是什么方法呢?-- 傅里叶变换和拉普拉斯变换. 关于这两个工具, 小潘也写过两篇文章, 反响还不错, 具体请看:
J Pan: 傅里叶变换后面的到底有什么小秘密
zhuanlan.zhihu.com
J Pan: 从另一个角度看拉普拉斯变换
zhuanlan.zhihu.com
当然, 为了能让计算机能够计算, 我们还需要离散形式的傅里叶变换和拉普拉斯变换, 也就是 Z 变换, 具体请看:
J Pan: 如何理解离散傅里叶变换及 Z 变换
zhuanlan.zhihu.com
我们学到的自动控制, 信号与系统, 信号处理等课程实际上是一回事, 本质都是在研究线性常微分方程有什么特性, 怎么求解的问题. 关于如何入门自动控制, 可以参照文章
J Pan: 如何入门自动控制理论
zhuanlan.zhihu.com
我们前面说到的 "信息流", 大部分也都可以简化成常微分方程. 至于为什么要简化成常微分方程?-- 一个原因是这样做也能满足工程上的需要, 还有一个原因是我们对线性常微分方程研究的最透彻, 处理起来更得心应手.
我们再来说说自然界中更常见的偏微分方程, 因为大部分物理现象不仅随时间变化, 而且不同位置点的变化也不同, 也就是要同时关注位置和时间两个维度的信息情况. 机电工程中偏微分方程主要包括弹性介质方程组, 麦克斯韦方程组以及 N-S 方程组.
四, 如何理解偏微分方程 -- 弹性介质方程组
对于 "动力流" 而言, 需要传递力, 自然就会有变形, 因此就需要了解弹性力学. 很多童鞋搞不清楚弹性力学和材料力学的区别, 其实从名字就可以看出来了. 材料力学强调的是材料的特性, 比如强度, 刚度, 硬度等, 着眼于材料本身, 所以一般拿简单的试件来实验, 比如细长杆. 但是呢, 正所谓有好的面粉不一定能做成好吃的面条, 而弹性力学则着眼于构件或者是零件的强度, 刚度等问题, 因此研究的范围更广. 对于一个构件中的任意一点, 我们一般可以通过应力, 应变和变形量 (位移) 来研究, 其中:
应力分量假设为: , , , , , , 即三个正应力, 三个切应力;
应变分量假设为: , , , , , , 即三个正应变, 三个切应变;
位移分量假设为: , , .
弹性力学其实就是构建三类方程, 力平衡方程, 几何方程和物理方程.
1 力平衡方程:
2 几何方程:
正应变 以及切应变
3 物理方程:
正应变
以及切应变
其中 为杨氏模量(或弹性模量), 为泊松比.
这里一共有 6 个应力分量, 6 个应变分量和 3 个位移分量, 共 15 个量, 而这还只是对一个点而言的, 那对于整个弹性体岂不是更复杂? 相信对于大多数人而言, 看着就头疼, 但还有更头疼的 -- 怎么去解这 15 个变量?
先说结果: 事实上对于大多数弹性体而言, 我们是没有办法求得解析解的, 只能退而求其次, 寻求个近似解, 即便是这个近似解的过程也是相当不容易的, 我们大概说一下.
一个很显然的事实: 要想获得弹性体各点真实的位移, 除了满足位移边界条件外, 根据它们求得的应力还应满足应力边界条件和平衡微分方程. 设弹性体在一定外力作用下, 处于平衡状态, 发生的真实位移为 , , , 弹性体受力后, 发生变形, 外力作功, 外力功转化为应变能, 储存在弹性体内, 单元体内的应变能为
注意此处有新的概念出现了: 应力, 应变本身是弹性体各点的函数, 而积分 的自变量是这些函数, 这个和我们以往函数的定义 (变量是数值, 不是函数) 是不一样的. 我们把像 这样函数的函数称为泛函. 函数的增量称之为微分, 而泛函的增量称之为变分.
现在假设位移发生了位移边界条件所容许的微小位移(虚位移) , , , 这时外力在虚位移上作的虚功为:
显然, 虚功应和变形能泛函的增加 (即变分) 相等:
该式的意义是: 在给定的外力作用下, 在满足位移边界条件的各组位移中, 实际存在的一组位移应使总势能为最小, 因此该式又称为最小势能原理.
总结一下: 弹性体在外力的作用下, 发生位移, 产生变形. 位移可以是各种各样的, 但必须满足位移的边界条件. 满足位移边界条件的位移位移有无穷多组, 其中只有一组是真实的, 那就是当总势能取极小值时的位移, 这种现象, 我们称之为最小作用量原理, 这是自然界中一个普遍成立的原理.
说了这么多, 我们终于可以去试着求解偏微分方程了, 方法也很简单, 粗暴 -- 试凑法! 前面我们定义了弹性体受外力变形时总势能的变分:
现在我们假定一个弹性体的位移函数, 其中包含若干个待定系数:
当然这些函数也不是随意假定的, 它需要满足位移边界条件, 这个靠 , , 来满足. , , 主要用来模拟非边界条件的点, 这就要求它们在边界处取值应该为零, 否则和 , , 叠加后会破坏位移边界条件. , , 为待定系数. 这样我们就可以列出总势能的变分表达式, 其中只包含待定系数 , , .
不同的 , , 组合就会获得不同的位移, 由前面我们说的最小势能原理, , , 只有一组是真实的解, 那就是当 的时候, 怎么做到的呢? 很简单, 将 分别对 , , 求导取零就行了, 这个时候偏微分方程组就变成线性方程组了, 这种解偏微分的方法称之为利兹法.
如果我们所取的位移不仅满足位移边界条件, 而且根据它们求得的应力还满足应力边界条件(不要求满足平衡方程), 这种方法称之为伽辽金方法, 这种方法对位移函数的要求较高, 但计算量小一些.
但做过工程的人这时候可能都有一个疑问了, 做了那么多年工程师, 怎么没听说过这两个方法?-- 大家只对有限元法比较了解!
原因其实我们前面也有交代, 工程上的弹性体 (零组件或者系统) 及其边界条件都太复杂了, 我们几乎不能够构建一个很好的基于整个弹性体 (全域) 的位移函数.
基于全域的函数展开 source: 曾攀 - 有限元分析基础教程
那怎么办呢?-- 还记得曹冲称象吗? 整体不行, 那就切开来办呗, 我们把切开的每一个规则的小块称之为单元, 整个弹性体就被划分成了有限个单元, 简称有限元. 对一个规则的单元 (子域) 再假设位移函数就简单多了, 缺点就是计算量变大了, 不过我们现在有计算机了, 这都不是事. 有限元法 (Finite Element Method) 是我们目前为止求解弹性介质方程最有效的手段了.
基于子域的函数展开 source: 曾攀 - 有限元分析基础教程
当然实际工程中我们碰到的不仅是静态力学, 还有动力学, 其中最基础就是模态分析和随机振动分析了, 具体可参见:
J Pan: 模态分析 -- 一个找 "基" 的过程
zhuanlan.zhihu.com
J Pan: 如何理解随机振动的功率谱密度?
zhuanlan.zhihu.com
五, 如何理解偏微分方程 -- 麦克斯韦方程组
说完弹性力学, 我们不得不说另外一大类偏微分方程组 -- 麦克斯韦方程组, 这个方程组的伟大之处就不用说了, 一切都在小潘的这篇文章里:
J Pan: 你也可以理解 "麦克斯韦方程组"
zhuanlan.zhihu.com
微分形式的麦克斯韦方程组:
其中 表示电场, 表示磁场, 为真空电容率, 为真空磁导率, 是电荷密度,是电流密度. 称之为 nabla 算符, 其定义式如下:
在真空中(无源情况下), 麦克斯韦方程退化为:
该方程称之为波动方程, 可以描述自然界中的各种的波动现象, 包括横波和纵波, 例如声波, 光波和水波, 在声学, 电磁学, 和流体力学等领域应用广泛, 其变种可以在量子力学和广义相对论中见到.
如果假定波在时间上是以某个频率做简谐振动的, , 则波动方程继续退化:
该方程称为简化波动方程, 又叫亥姆霍兹方程. 倘若在亥姆霍兹方程中, 解的振动频率为零(稳态时), 也就是可以再去掉时间项, 方程进一步退化为:
这就是大名鼎鼎的拉普拉斯方程, 就称之为拉普拉斯算子. 自然界中各种稳定的现象, 注入稳定的温度分布, 浓度分布, 静电场, 无旋稳定恒电流场等与时间无关的自然现象, 都可以建立拉普拉斯方程. 拉普拉斯方程又称调和方程, 位势方程, 描述的是自然界中的输运现象.
前面说方的都是无源的情况, 有源时, 拉普拉斯方程变形为:
该方程称之为泊松方程, 有热源时的固体热传导就符合泊松方程.
可见, 麦克斯韦方程组其实包含了一大类的偏微分方程, 可以描述波动, 输运, 扩散等现象,
麦克斯韦方程组及其衍生方程也可以用有限元法进行求解.
六, 如何理解偏微分方程 --N-S 方程组
说到偏微分方程, 不提 N-S 方程组显然是说不过去的. N-S 方程组其实是有三个方程, 分别是质量守恒方程, 动量守恒方程以及能量方程, 其中动量方程也叫 N-S 方程, 是三个方程的核心.
在固体力学中, 一般研究什么物体就着眼于那个物体, 这叫拉格朗日法. 流体的运动要比固体更复杂, 因为内部各点在运动起来后相互位置的变化可以很大, 如果还是用拉格朗日法得化需要频繁的坐标变换, 不太方便, 所以一般采用着眼于空间的方法, 也就是欧拉法.
举个例子: 设想你在威尼斯这样的水上城市, 交通基本靠船, 各个地点之间都是靠河流连接, 河流上又有很多小桥, 这个时候拉格朗日会怎样描述这个世界呢?-- 拉格朗日会站在船上, 告诉大家: 在 t 时刻, 观察船头的水流速度为....... 欧拉怎么办的呢?-- 欧拉会站在桥上, 告诉大家: 在 t 时刻, 观察到经过小桥的船头的水流速度为........ 拉格朗日盯着同一个流动的微元看, 而欧拉则盯着一个固定的位置看不同的微元流过.
也就是说, 朗格朗日法研究的是具体的质点, 而欧拉法研究的是空间, 也就是场. 两种方法都可以描述流体, 欧拉法更多时候会方便一点. 我们假设 是流体的某种性质, 在欧拉坐标系中, 它不仅是时间的函数, 还是位置的函数, 完整形式是:
则 随时间的变化率为:
看着复杂, 其实就是全导数变成各个变量的偏导数之和. 变形一下就是:
其中 , , 分别是 , , 方向上的速度, 代表速度矢量. 由于其特殊性, 在流体力学中, 这种对欧拉变量的全导数经常用大写的微分符号来表示, 成为物质导数或随体导数.
这个公式就比较有意思了: 第一项称之为当地项, 就是变量 随时间变化分量; 第二项称之为对流项, 表征着周围流体对观察点的影响. 为什么我们要弄这个公式出来呢?-- 它能连接拉格朗日法和欧拉法, 将同一个物理现象在不同坐标系下的描述联系起来, 其积分形式就是雷诺输运定理.
接下来我们就可以介绍 N-S 方程组了, 共有三个:
1 质量守恒:
其中 表示速度, 表示密度. 该式的物理意义为控制体内质量的减少量等于流出控制体的质量.
动量守恒:
该式称之为纳维 - 斯托克斯 (Navier-stokes) 方程, 简称 N-S 方程. 其中各项的物理意义也很明确:
-- 流体的动量随时间的变化, 称之为惯性力项;
-- 体积力项;
-- 压差力项;
-- 粘性力项;
N-S 方程看着比较复杂, 本质就是牛顿第二定律, 即 .
能量守恒
其中:
-- 流体微团总能量 (内能和动能) 的变化;
-- 体积力对流体微团做的功;
-- 表面力 (压力和粘性力) 对流体微团做的功;
-- 流体微团通过热传导从外界接受的能量;
-- 流体微团通过辐射从外界接受的热量.
质量守恒, 动量守恒和能量守恒组成三个方程组, 因为动量方程 (N-S 方程) 是核心, 因此呢通常会把这把这三个方程统称为 N-S 方程组, 基本上牛顿流体的任何流动现象都遵循由这个方程组确定的规律进行. 也就是说搞定这个方程组, 任何流体力学都可以解决了. 小潘是航空工业从业者, 所谓航空呢, 就是研究飞行器如何在空气中运动的一门学科, 理论基础就是流体动力学, 也就是 N-S 方程组. 因为都是守恒方程, 所以可以用一个统一的形式来描述 N-S 方程组, 假设 流体微元的某个变量, 则
式中从左到右第二, 三, 四项分别为对流项, 扩散项和源项. 方程中的 为广义变量, 可以是速度, 浓度或者温度等一些待求的物理量. 是相应于 的广义扩散系数, 是广义的源项. 很遗憾的是, N-S 方程是一个非线性偏微分方程(主要体现在对流项), 求解非常困难和复杂, 目前只有在某些十分简单的流动问题上能求得精确解.
2000 年 5 月 24 日, 美国克莱数学研究所的科学顾问委员会把 NS 方程列为七个 "千禧难题"(又称世界七大数学难题)之一, 这七道问题被研究所认为是 "重要的经典问题, 经许多年仍未解决." 克莱数学研究所的董事会决定建立七百万美元的大奖基金, 每个 "千年大奖问题" 的解决都可获得百万美元的奖励. 另外六个 "千年大奖问题" 分别是: NP 完全问题, 霍奇猜想(Hodge), 黎曼假设(Riemann), 杨 - 米尔斯理论(Yang-Mills), 庞加莱猜想和 BSD 猜想(Birch and Swinnerton-Dyer).
N-S 方程组为什么难解呢, 看几张图片就知道了:
生活常识中我们知道, 流体中很容易就出现大大小小的旋涡, 大漩涡和小漩涡的尺度可能相差许多数量级, 我们把这种现象称之为湍流. 前面我们说了, N-S 方程是一个严重的非线性偏微分方程, 对初值和扰动非常敏感, 很容易就会失稳而产生混沌. 现实中是怎么处理湍流问题呢? 我们知道, 电机的设计过程中, 我们面对的是电磁场, 在计算机大规模应用以前呢, 一般采取的方法是 "场" 化 "路" 的思路, 说白了就是用 "场" 内平均值或加权平均值来代替 "场", 好处是计算量小, 缺点也很明显, 精度差.
对于湍流问题, 我们无法找到解析解, 只能退而求其次, 去尝试找找数值解, 遗憾的是精确地数值解计算量非常大, 目前的计算机也只能计算很简单的湍流问题, 我们只能继续退而求其次, 去找 "平均解". 简单的来说, 就是将非稳态的 N-S 方程对时间做平均处理, 期望得到对时间做平均化的流场, 同时还需要将过滤掉的旋涡对系统动量的影响考虑进去, 因此就出现了各种湍流模型. 因此, 我们再做 CFD 湍流的时候呢, 大多数得到都是统计值, 并不能完全代表真实的流动, 比如流体绕圆柱流动, 实验图形如下:
CFD 计算出来的可能是这个样子:
对于流体问题, 我们一般采用有限体积法(Finite Volume Method), 因为对于流体我们关注的不再是单元的变形, 而是空间内流体的压强, 速度等.
七, 机电工程师知识地图
上面说了这么多, 估计大家都看困了, 整理成思维导图就清爽多了(可惜 Visio 中的图放上来不是很清楚), 图中有些点专栏其他文章已经说了, 剩下的小潘会慢慢写上, 这也算是本专栏的一个大纲吧.
来源: http://www.tuicool.com/articles/go/qQrIbeA