接上一个帖子:https://bbs.eeworld.com.cn/thread-1155646-1-1.html
软件工程师除了自己的软件编写、调试之外,还担负着产品测试的重任,那么软件部分包含哪些内容,什么是软件方案,什么是底层,什么是驱动呢?
软件部分主要包含:
- 硬件驱动层:即由寄存器直接到外部端口的PWM占空比,外部电流直接通过端口读入ADC寄存器的部分。
- FOC底层:基础部分包括clark、park、ipark、iclark、svpwm、角度计算的函数。有些产品需要ud和uq的过饱和处理、电流死区补偿、ud和uq的解耦补偿函数等。
角度部分包括有感和无感角度计算,有感包括:编码器,包括增量式编码器和绝对式编码器;霍尔、有些恶劣环境下使用的旋转变压器。无感包括:反电动势的角度计算、脉冲激励的角度计算等。
有时也把FOC底层函数和硬件驱动部分共同称为底层算法。
- 电流环:包括id电流环,iq电流环,其中id闭环与电机的效率相关,iq与电机做功相关。有时也把两个电流环拆开,与效率相关的id闭环归入底层,与运动相关的iq电流环归入应用层。
- 速度位置环:实现控制负载的速度或位置运动。属于应用层。
- 人机界面的功能层,包括开关、按钮、指示灯等。
- 安全保护:在开机、工作、停机、关机的过程中对电机、电源、控制板、被控对象实现安全保护的程序。
软件方案是指基于某款硬件平台实现某个产品需求的完整软件,对该软件做部分修改,以实现适应更多产品开发的软件。所以能称为软件方案的软件有两个必要条件,一是已经开发过成功的产品,二是为开发更多同类或者其他的产品而做了修改。不同家的软件方案主要表现在底层的适应性和电机效率上有所不同;应用层在开发相同产品的效果上,开发不同产品的时间效率上有所不同。
底层是包括了硬件驱动、FOC底层函数、角度计算以及id电流闭环的程序部分。底层主要实现了输出电压,采集电流,计算角度,使电机高效率的运动。
应用层主要指速度位置环和iq电流闭环。例如滑板车、电调类是,iq开环和速度开环,只规划控制uq电压的加减变化即可;而风扇类是iq开环有的也有闭环,但是速度闭环。以及速度规划。