4 硬件设计
4.1 LPC2141的使用方法
LPC2141的系统功能框图如图5所示。LPC2141是NXP公司基于ARM7的LPC2000系列低成本微控制器,具有6通道PWM定时器、片上USB接口、8 KB的片上静态RAM和32 KB的片上闪存程序存储器。对于较大的存储或特定外设(CAN总线、以太网等)的要求,可以选择LPC2000系列的其他型号(如LPC2368等),这些芯片都是和LPC2141兼容的。
本设计具备如下特性:CPU负载小于5%,代码大小为6 KB(包含USB通信代码);未用的外设包括UART、I2C、SPI/SSI、RTC、2个定时器和5个A/D输入;超过30个未用的通用输入输出口GPIO,用于用户的特定应用要求。
4.2电机的选择
使用Maxon公司120 W的EC-40直流电机。空载时供电电压为24 V,电机的转速可达到5 900 r/min,最大的连续电流达到6 A。
4.3 MOSFET的选择
选用NXP公司的PH120100S N沟道场效应管Trench-MOS逻辑电平。这个电平与选定的电机有关。对于24 V电机,MOSFET的VDS需要至少40V,而漏电流必须足够大,以满足电机的启动电流。由于系统程序代码设计了软启动机制(对于小台阶的启动需要一定的速度),漏电流在一定程度上有所减小。PH201常用电感器00S能够处理的最大漏极电电感生产厂家流是34.3 A,峰值电流是137 A,采用表面贴装SOT669(LFPAK)封装。
4.4 MOSFET驱动的选择
MOSFET驱动用于提升控制器LPC2141输出驱动电机的电压。本文选择NXP公司的PM[)3001D和PMGD400UN作为MOSFET,驱动电路如图6所示。
4.5 电机速度的调整
LPC2141集成6通道32位PwM定时器,通过设定不同的PwM占空比数值来控制电机的转速,通过USB接口读取电机实际的转速。
5 软件设计
本系统软件部分包括3部分:用户接口(GUI)、LJSB设备驱动和BLDC电机控制代码。
5.1 用户接口
Windows的用户界面可控制无刷直流电机演示,如图7所示。该应用程序软件是BLDC_USBGUI.EXE,采用MicrOSOft Visual Basic2008专业版开发,需要在PC机上安装Microsoft.NET Framework,可方便地控制电机速度和读取电机电流及转速。
5.2 USB设备驱动
USB通信部分可以到Keil公司网站(www.keil.corn)上下载USB通信代码(LPC2148 USB HID人体学没备驱动代码)。如有疑问可与笔者联系(okarmdy@gmail.com)。
5.3 BLDC电机控制代码
本例程序采用C语言编写,采用Keil公司uVision3开发环境进行编译。系统执行的任务如下:
①USB接口用于接收电机的转速信息,以及设定电机电流和转速。
②使用10位A/D输入检测电机电流大小,用于保护电机。
③使用定时器1产生10 ms的系统中断时间戳,用于在不同时间戳切换和分派系统任务。
④使用定时器0的捕获引脚读取霍尔传感器来控制电机的转子,设定PWM定时器占空比来控制转速,驱动Q1~Q6的MOSFET输出,从而控制三相桥的导通与关断。
电机控制部分代码包括5个模块:bldc.c、adc.c、pwm.c、hsensor.c、timerl.c。头文件bldc.h用于设置无刷直流电机功率电感器控制的相关参数(如电机电流和转速设定等)。使用Keil’s uVision3调试开发环境自带的标准启动代码库配置LPC2141芯片,设置CCLK=PCLK=60 MHz。
结语
本文使用LPC2141微控制器设计了一款无刷直流电机控制系统,代码精简,控制可靠。经过长期测试证明,系统相关器件的选型设计是稳定的。从芯片设计和系统低成本设计上,该系统具有电感生产厂家一定的应用推广价值。
基于dsPIC30F6014数字信号控制器的CAN节点设计引言CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-b
[开关电源]两个不同电压源怎么共地?一个是由USB接口提供的3v电压,另一个是提供芯片电压vcc的外接12v电压,都是直流电
这两个电压可以直接共地吗?会不会有干扰
可不可以加入光耦继电器隔离干扰,怎么解决?
小白一个,求
凯悌车用传感器之主被动组件最佳解决方案DESYN(益力半导体) 推出iD8258 PWM Step Down DC/DC Converter:iD8258 Synchronous PWM Step-Down DC-DC Converter