方案介绍:
供电电路
将外部输入电压一路通过LDO输出3.3V为MCU供电,同时另一路输出12V为步进电机供电。
步进电机控制
步进电机是电动云台的主要工作部件之一。电动云台带有两个步进电机,分别控制垂直运动和水平运动。步进电机是一种数字控制电机,它将电脉冲信号转变成角位移,即当步进电机接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,通过控制脉冲的个数和脉冲频率可以精确的控制步进电机的角位移量和角速度。本应用中通过GPIO口控制驱动IC的相位输出,采用双四拍的驱动方式控制步进电机的精确定位。在本应用中,采用LETIMER定时触发DMA改变GPIO的输出。LETIMER采用低频时钟源,可工作在EM2状态,根据云台转速要求设定LETIMER的定时时间,通过PCNT(脉冲计数器)对脉冲个数进行计数,即可精确的控制步进电机的转速及定位。在步进电机的运行过程中,MCU可工作在EM2的模式下,此模式下MCU的工作电流为0.9uA,只有在步进电机达到设定的位置或需要更换转动方向时才唤醒MCU进行设定的修改。
通讯接口
电动云台与总控机采用RS485通讯,用于监控人员对操纵云台的转动。在本应用中,EFM32通过LEUART接口进行485通讯,LEUART采有低频时钟源,可工作在EM2模式下,同时LEUART带有一个数据自匹配功能,只有在收到的一帧数据中的某一个数与设定的数值匹配才会唤醒MCU对接收到的数据进行处理。这在云台应用中可以实现从机IP的的自匹配。
加热模块
在北方的室外工作环境中,由于恶劣的低温条件,有可能出现云台冻结的现象,此时强行启动电机有可能出现电机烧毁的情况,此时可以云台内部加装加热器。本应用中,通过ADC定时采样温度传感器判断是否需要加热,EFM32带有12位的ADC,可以精确的检测出当前的环境温度。在温度过低的情况下用PWM对加热片进行加热,直到温度满足正常运行时才启动步进电机,保证步进电机的正常启动。
超低功耗
EFM32是全球最低功耗的32位微控制器,具有5种工作模式,其待机模式EM2的功耗电流仅为900nA,且此状态下带有RTC及一些低频外设。本应用中所提及的DMA、LETIMER及LEUART皆可以此模式下运行,即电动云台的主要工作都可以在EM2的模式下实现,整个过程CPU基本是处于睡眠状态,功耗非常低,实现其他MCU所不能实现的低功耗应用。
高集成度
EFM32片上集成有ADC、模拟比较器、运算放大器等模拟外设,可以在带加热的应用中节省部分外围器件。甚至在对环境温度采样要求不高的情况下可以直接通过比较器对温度传感器的电压进行比较,以确定是否需要预热。
良好的扩展性
EFM32的TG、G、GG系列之间具有良好的兼容性,同系列型号的芯片是pin-pin兼容,保证用户在统一的硬件平台上,可进行不同功能需求的裁剪。Flash资源从最低的4KB~1024KB,RAM资源从2KB~128KB。