直流电机实验报告

实验题目类型:设计型

《电机与拖动》实验报告

实验题目名称:直流电动机实验

实验室名称:电机及自动控制实验室

实验组号: 1组指导教师:

报告人:学号: 201317104022

实验地点:科技楼605 实验时间:

指导教师评阅意见与成绩评定

年5月30日 2015

 

第二篇:linux实验报告2.9(直流电机实验)

嘉应学院电子信息工程学院学生实验报告

班级: 082班 座号: 姓名: 成绩: 课程名称:嵌入式Linux应用程序开发标准教程

实验项目:直流电机实验

一、实验目的

1、熟悉ARM 本身自带的PWM,掌握相应寄存器的配置。

2、Linux 下编程实现ARM 系统的PWM 输出,从而控制直流电机。

3、了解直流电机的工作原理,学会用软件的方法实现步进电机的脉冲分配。

3、掌握带有PWM 的CPU 编程实现其相应功能的主要方法。

二、实验内容

学习直流电机的工作原理,了解实现电机转动对于系统的软件和硬件要求。学习ARM PWM 的生成方法。使用Redhat Linux 9.0 操作系统环境及ARM 编译器,编译直流电机的驱动模 块和应用程序。运行程序,实现直流电机的调速转动。

三、预备知识

C 语言的基础知识、程序调试的基础知识和方法,Linux 的基本操作。Linux 关于module 的必要知识。

四、实验设备及工具

硬件:UP-TECH S2410/P270 DVP 嵌入式实验平台、PC机Pentium 500 以上,硬盘10G以上 软件:PC 机操作系统REDHAT LINUX 9.0+MINICOM+ARM LINUX 开发环境

五、实验原理

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

晶体管的导通时间也被称为导通角а,若改变调制晶体管的开与关的时间,也就是说通过 改变导通角а 的大小,如图2.9.1 所示,来改变加在负载上的平均电压的大小,以实现对电 动机的变速控制,称为脉宽调制 (PWM)变速控制。在PWM 变速控制中,系统采用直流电 源,放大器的频率是固定,变速控制通过调节脉宽来实现。

构成PWM 的功率转换电路或者采用"H"桥式驱动,或者采用 "T"式驱动。由于"T"式电路 要求双电源供电,而且功率晶体管承受的反向电压为电源电压的两倍。因此只适用于小功 率低电压的电动机系统。而"H"桥式驱动电路只需一个电源,功率晶体管的耐压相对要求 也低些,所以应用得较广泛,尤其用在耐高压的电动机系统中。

linux实验报告29直流电机实验

脉宽调制 (PWM)变速

嘉应学院电子信息工程学院学生实验报告

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

如图2.9.2 a 所示:是一个直流电动机的PWM 控制电路的等效电路。在这个等效电路中, 传送到负载 (电动机)上的功率值决定于开关频率、导通角度及负载电感的大小。

开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz 至5kHz,小功率时(100W,5A 以下)可以取高些,这决定于晶体管的特性。对于绝缘栅双 极晶体管(IGBT),一般为5kHz 至l2kHz;对于场效应晶体管(MOSFET),频率可高达2OkHz。 另外,开关频率还和电动机电感有关,电感小的应该取得高些。

linux实验报告29直流电机实验

等效电路 PWM 电路中电流和电压波讨论

当接通电源时,电动机两端加上电压UP,电动机储能,电流增加,当电源中断时,电枢 电感所储的能量通过续流二极管VD 继续流动,而储藏的能量呈下降的趋势。

除功率值以外,电枢电流的脉动量也与电动机的转速无关,仅与开关周期、正向导通时间 及电机的电磁时间常数有关。

六、程序分析

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

static struct file_operations s3c2410_dcm_fops = { owner: THIS_MODULE, open: s3c2410_dcm_open, ioctl: s3c2410_dcm_ioctl, release: s3c2410_dcm_release, };

开启设备时,配置IO 口为定时器工作方式:

({ GPBCON &=~ 0xf; GPBCON |= 0xa; })

配置定时器的各控制寄存器:

({ TCFG0 &= ~(0x00ff0000);

TCFG0 |= (DCM_TCFG0); TCFG1 &= ~(0xf); TCNTB0 = DCM_TCNTB0; /* less than 10ms */ TCMPB0 = DCM_TCNTB0/2; TCON &=~(0xf); TCON |= (0x2); TCON &=~(0xf);

\ \

\ \ \ \ \ \

嘉应学院电子信息工程学院学生实验报告

TCON |= (0x19); })

在s3c2410_dcm_ioctl 中提供调速功能接口:

case DCM_IOCTRL_SETPWM:

return dcm_setpwm((int)arg);

应用程序dcm_main.c 中调用:

ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor));

实现直流电机速度的调整。

七、实验步骤

1、编译直流电机模块

cd /arm2410cl/kernel-2410classic

make menuconfig

进入Main Menu / Character devices 菜单,选择DC MOTOR 为模块加载:

linux实验报告29直流电机实验

编译内核模块:

make dep

make

make modules

直流电机模块的编译结果为:

/arm2410cl/kernel/linux-2.4.18-2410cl/drivers/char/s3c2410-dc-motor.o

2、编译应用程序

cd /arm2410cl/exp/basic/09_dcmotor/

make

生成dcm_main

3、运行程序

在超级终端中,通过加载NFS 运行编译结果(注意:首先要设定/arm2410cl 为NFS 共享 目录):

mount –t nfs 192.168.0.xxx:/arm2410cl /host

insmod /host/exp/basic/09_dcmotor/driver/ dc-motor.o

cd /host/exp/basic/09_dcmotor/

嘉应学院电子信息工程学院学生实验报告

./dcm_main

程序运行结果:直流电机变速转动。

........

setpwm = -265

setpwm = -266

setpwm = -267

setpwm = -268

setpwm = -269

setpwm = -270

setpwm = -271

setpwm = -272

setpwm = -273

......

setpwm = 290

setpwm = 291

setpwm = 292

setpwm = 293

setpwm = 294

setpwm = 295

setpwm = 296

setpwm = 297

setpwm = 298

......

屏幕显示转速。

相关推荐