实践之基于ADI Blackfin ADSP 的直流电机驱动

selina 在 周日, 10/02/2016 - 18:04 提交

selina的头像

主要用直流电机实现车库的控制,以下为实现原理:

1、直流电动机的PWM电路原理

晶体管的导通时间也被称为导通角а,若改变调制晶体管的开与关的时间,也就是说通过改变导通角а的大小,如 下图所示,来改变加在负载上的平均电压的大小,以实现对电动机的变速控制,称为脉宽调制(PWM)变速控制。在PWM变速控制中,系统采用直流源,放大器 的频率是固定,变速控制通过调节脉宽来实现。构成PWM的功率转换电路或者采用"H"桥式驱动,或者采用"T"式驱动。由于"T"式电路要求双电源供电,而且功率晶体管承受的反向电压为电源电压的两倍。因此只适用于小功率低电压的电动机系统。而"H"桥式驱动电路只需一个电源,功率晶体管的耐压相对要求也低些,所以应用得较广泛,尤其用在耐高压的电动机系统中。
脉宽调制(PWM)变速原理图

2、直流电动机的PWM等效电路

如下图所示:是一个直流电动机的PWM控制电路的等效电路。在这个等效电路中,传送到负载(电动机)上的功率值决定于开关频率、导通角度及负载电感的大小。开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz至5kHz,小功率时(100W,5A以下)可以取高些,这决定于晶体管的特性。对于绝缘栅双极晶体管(IGBT),一般为5kHz至l2kHz;对于场效应晶体管(MOSFET),频率可高达2OkHz。另外,开关频率还和电动机电感有关,电感小的应该取得高些。

驱动的实现:

ucLinux 下的直流电机程序包括模块驱动程序和应用程序两部分。Module 驱动程序实现了以
下方法:
static struct file_operations Blackfin_dcm_fops = {
owner: THIS_MODULE,
open:Blackfin_dcm_open,
ioctl:Blackfin_dcm_ioctl,
release: Blackfin_dcm_release,
};
开启设备时,配置 IO 口为定时器工作方式:
({ GPBCON &=~ 0xf; GPBCON |= 0xa; })
配置定时器的各控制寄存器:
({ TCFG0 &= ~(0x00ff0000); \
TCFG0 |= (DCM_TCFG0); \
TCFG1 &= ~(0xf); \
TCNTB0 = DCM_TCNTB0; \
TCMPB0 = DCM_TCNTB0/2; \
TCON &=~(0xf); \
TCON |= (0x2); \
TCON &=~(0xf);
TCON |= (0x19); })
在Blackfin_dcm_ioctl中提供调速功能接口:
case DCM_IOCTRL_SETPWM:
return dcm_setpwm((int)arg);
应用程序dcm_main.c中调用:
ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor));
从而实现直流电机速度的调整。
主要用直流电机实现车库的控制,以下为实现原理:

1、直流电动机的PWM电路原理

晶体管的导通时间也被称为导通角а,若改变调制晶体管的开与关的时间,也就是说通过改变导通角а的大小,如 下图所示,来改变加在负载上的平均电压的大小,以实现对电动机的变速控制,称为脉宽调制(PWM)变速控制。在PWM变速控制中,系统采用直流源,放大器 的频率是固定,变速控制通过调节脉宽来实现。构成PWM的功率转换电路或者采用"H"桥式驱动,或者采用"T"式驱动。由于"T"式电路要求双电源供电,而且功率晶体管承受的反向电压为电源电压的两倍。因此只适用于小功率低电压的电动机系统。而"H"桥式驱动电路只需一个电源,功率晶体管的耐压相对要求也低些,所以应用得较广泛,尤其用在耐高压的电动机系统中。

脉宽调制(PWM)变速原理图

2、直流电动机的PWM等效电路

如下图所示:是一个直流电动机的PWM控制电路的等效电路。在这个等效电路中,传送到负载(电动机)上的功率值决定于开关频率、导通角度及负载电感的大小。开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz至5kHz,小功率时(100W,5A以下)可以取高些,这决定于晶体管的特性。对于绝缘栅双极晶体管(IGBT),一般为5kHz至l2kHz;对于场效应晶体管(MOSFET),频率可高达2OkHz。另外,开关频率还和电动机电感有关,电感小的应该取得高些。

驱动的实现:

ucLinux 下的直流电机程序包括模块驱动程序和应用程序两部分。Module 驱动程序实现了以下方法:

static struct file_operations Blackfin_dcm_fops = {
owner: THIS_MODULE,
open:Blackfin_dcm_open,
ioctl:Blackfin_dcm_ioctl,
release: Blackfin_dcm_release,
};
开启设备时,配置 IO 口为定时器工作方式:
({ GPBCON &=~ 0xf; GPBCON |= 0xa; })
配置定时器的各控制寄存器:
({ TCFG0 &= ~(0x00ff0000); \
TCFG0 |= (DCM_TCFG0); \
TCFG1 &= ~(0xf); \
TCNTB0 = DCM_TCNTB0; \
TCMPB0 = DCM_TCNTB0/2; \
TCON &=~(0xf); \
TCON |= (0x2); \
TCON &=~(0xf);
TCON |= (0x19); })
在Blackfin_dcm_ioctl中提供调速功能接口:
case DCM_IOCTRL_SETPWM:
return dcm_setpwm((int)arg);
应用程序dcm_main.c中调用:
ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor));
从而实现直流电机速度的调整。

本文转自:嵌入式开发的博文

主图: 

 实践之基于ADI Blackfin ADSP 的直流电机驱动

用户喜欢...

四种基于电机控制系统模型,简化您的设计过程

selina 在 周四, 12/22/2016 - 13:57 提交 基于电机控制系统模型的设计价值 旨在帮助简化使用传统非自动化方法进行控制系统设计时所遭遇的固有困难与复杂性。 为设计人员提供可视化设计环境,...


机器人的愿景基于他们想要刺激的情感

大多数人不认为他们与其他机器人或生活的交流比我们看到的电视或电影。但是,机器人已经在我们的生活中扮演着重要的角色,并将以前所未有的方式,不管我们喜欢还是不喜欢。从技术上讲,我...


基于PROFIBUS提供的清晰联网提供理想工业联网技术

PROFIBUS 是一种具有多电气层选项的工业联网标准。在一些自动控制应用中,最为常见的 PROFIBUS 电气层是 RS-485 的变量,其包含了一些能够提高数据传输性能的附加要求。本文对 PROFIBUS 应用中的这种网络技术做了简要综述,并介绍了针对总线收发器的一些关键特性。PROFIBUS 专门针对工业应用而设计,因此需要稳健的接口。稳健性的测量标准请参阅收发器总线引脚的最大绝对额定值、瞬态过电压保护和 ESD 额定值。和其他 PROFIBUS 收发器相比,SN65HVD1176 的稳健性更卓越。该器件还拥有较低的总线电容(最高为 10 pf),以满足 IEC 61158-2 中所述的更高速应用的电容要求。...


英飞凌推出的首个基于ARM® Cortex™ M4处理器的32位工业单片机产品XMC4500系列

英飞凌科技股份公司已发布XMC4500系列产品。这是英飞凌推出的首个基于ARM® Cortex™ M4处理器的32位工业单片机产品家族。XMC4500单片机将于2012年5月投入量产。...