过流保护
电机的过流保护可以保护电路板及电机免于大电流造成的发热和损坏。过流保护的功能要求快速、准确、灵活。CY8C3866AXI-040片内的模拟模块可以很好的实现这个功能。图12为PSoC Creator中过流保护电流的设计:
图12 Creator中过流保护电路的原理图设计
CurrIn为采样电阻上采样的电流信号,PGA_OC为增益可调的放大器,它将流过采样电阻上的电流信号进行放大。 VDAC8_OC 为8位的数模转换信号,它将用户设置的最大电流阈值转换为模拟电压信号。Comp_OC为比较器。比较器的输出连到PWM模块的Kill端。这样,如果实际电流大于所设定的阈值时,比较器信号发生翻转,PWM输出即被关断,实现了硬件保护功能。
PWM被关断的模式也可以灵活的配置:
图13 PWM模块中Kill信号的模式配置
Disabled: Kill信号不起作用
Asynchronous : 当Kill信号有效时,保持关断
Single Cycle: Kill信号只在当前PWM周期有效
Latched: Kill信号一经触发,即使Kill信号恢复,模块也一直保持关断
Min-Time: Kill信号有效后,用户可以设置模块被关断的时间周期
速度闭环调节
速度闭环设计可以保证电机速度在负载,电压等发生变化时,保持速度稳定。最经典的控制方法为PID控制,其公式如下:
其中 为速度误差, 为积分系数, 为比例系数。
这种为绝对式PID控制,每次计算都把往次的结果累加起来,这增加了CPU的负担。 而相对式PID则是一种改进的方法:
这种方法只计算输出量的增量,对于积分环节,也只计算本次的误差,无需累加计算。这种算法时候与基于微控制器的数字控制系统。
用户界面
本设计提供了多样的用户界面,以方面对电机控制参数的修改,并了解电机的状态信息。
一种用户界面是基于LCD面板和电容触摸按键的,LCD面板为显示接口,电容触摸按键则是用户输入接口。电容触摸按键是利用电容感应技术,通过检测手指与按钮之间的电容来实现按键和旋钮功能。如图14所示,BT1和BT2是两个电容触摸按键,另外还有一个滑条可以动态改变参数:
图14 电容感应滑条和按键
此用户界面的状态机如下:
图15 用户界面的状态机
电机的旋转方向、最大电流、PID参数都可以借助上述用户界面来设置。CY8C3866AXI-040 片内的Capsense模块以及LCD模块能很方便的完成按键扫描已经数据显示。
另外,本设计还允许用户通过UART接口由GUI来实现对电机的监控,这里就不做赘述。
结语
基于PSoC3(CY8C3866AXI-040)的无位置传感器BLDC电机控制利用片内丰富的资源减少了BLDC无传感器控制对外部器件的依赖。片内模拟多路选择器和比较器可以实现在PWM高电平时刻对反电势信号进行采样。换相状态机和过流保护功能完全可由片内硬件模块完成。此外,该芯片在处理电机控制的同时还具备强大的用户界面接口功能。