linux实验报告29(直流电机实验).doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux实验报告29(直流电机实验)

嘉应学院电子信息工程学院学生实验报告 班级: 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桥式驱动电路只需一个电源,功率晶体管的耐压相对要求 也低些,所以应用得较广泛,尤其用在耐高压的电动机系统中。 脉宽调制 (PWM)变速 2、直流电动机的PWM 等效电路 如图2.9.2 a 所示:是一个直流电动机的PWM 控制电路的等效电路。在这个等效电路中, 传送到负载 (电动机)上的功率值决定于开关频率、导通角度及负载电感的大小。 开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz 至5kHz,小功率时(100W,5A 以下)可以取高些,这决定于晶体管的特性。对于绝缘栅双 极晶体管(IGBT),一般为5kHz 至l2kHz;对于场效应晶体管(MOSFET),频率可高达2OkHz。 另外,开关频率还和电动机电感有关,电感小的应该取得高些。 等效电路 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); 应

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档