加载中…
个人资料
嵌入式开发
嵌入式开发
  • 博客等级:
  • 博客积分:0
  • 博客访问:4,302
  • 关注人气:9
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

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

(2013-03-22 18:05:38)
标签:

dsp

嵌入式基础知识

adi

blackfin

adidsp

it

 

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

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

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

2、直流电动机的PWM等效电路
如下图所示:是一个直流电动机的PWM控制电路的等效电路。在这个等效电路中,传送到负载(电动机)上的功率值决定于开关频率、导通角度及负载电感的大小。开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz
5kHz,小功率时(100W5A以下)可以取高些,这决定于晶体管的特性。对于绝缘栅双极晶体管(IGBT),一般为5kHzl2kHz;对于场效应晶体管(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,小功率时(100W5A以下)可以取高些,这决定于晶体管的特性。对于绝缘栅双极晶体管(IGBT),一般为5kHzl2kHz;对于场效应晶体管(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));
从而实现直流电机速度的调整。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有