实验2电机控制实验-单机版..docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验2电机控制实验-单机版.

电机控制实验 实验名称:电机控制实验 学时安排:2课时 实验类别:验证型、设计型 实验要求:1人1组 实验目的和任务 掌握嵌入式linux下直流电机控制的基本方法 掌握直流电机控制基本原理 实验设备介绍 系统需求:安装有windows以上版本的操作系统M内存, 20G硬盘空间– 这一步是为了在没有串口线连接ARM实验箱的串口1时,也可以对ARM实验箱进行远程控制。(这个操作实际是扩展练习,用telenet方式连接,也可以用串口方式,均可) 再连接网线,将PC机与实验箱配置成同一个网段 测试网络是否可达 在超级终端下,ping PC机的IP,如果ping通,则说明网络已经联通 在xp下,运行 - CMD - 输入telnet ARM实验箱IP,按提示输入用户名、密码 连接成功后的截图 进入直流电机控制目录,准备运行直流电机控制程序 cd /mnt/yaffs/dc-motor 如果你没有发现yaffs下有该文件夹,你可以自己去拷贝你需要的东西,即把应用程序包通过NFS的方式共享给嵌入式ARM实验箱 提示:在实验室机房电脑的D盘,找“博创资料”文件夹,进入经典2410光盘,再选择进入2410 dvp Linux目录,再进入imag目录,你在这个文件夹,会发现有一个yaffs.tar.bz2的文件夹,先把它拷贝到readhat虚拟机,解压(使用tar xvjf yaffs.tar.bz2),再通过NFS的方式共享,如果忘了,请查看之前的实验报告,在下面也有关于NFS的关键步骤描述 加载驱动,找到.o文件,在Linux 2.4内核里,驱动程序以.o文件的形式存在。例如,你可以执行 insmod dc-motor.o (注意文件名在不同实验箱可能会有差异) 运行测试程序 ./dcm-motor (注意文件名在不同实验箱可能会有差异) 如果一切正常,ARM实验箱上的直流电机此时会正常转动起来。 2.直流电机控制实验 – 编译上层应用程序 首先要回答的问题是 驱动与一般上层应用程序有什么不同? 因为有着种种的不同,如运行空间,使用对象,使得在编译、编程时有着很大差别 应用程序里有main,驱动里面是没有main的。想一想为什么? 由于直流电机的驱动已经被集成到内核里,所以无需动态加载. 反过来说,如果驱动没有编进内核,是不是一定要加载,否则就不能用?在你使用博创实验箱过程中有没有这样的例子? 请直接拷贝PC机上路径为: 2410 dvp linux\exp\basic\09_dcmotor里的源代码(在D盘上找),你能分清哪些是直流电机的源代码吗? 将其拷贝到linux主机,并编译 问题:在linux下编译源文件,有哪些方式?试列举 如果编译失败,请思考为什么? 这个是什么原因?很多人编译通过了,但却不知道为什么?知道为什么比能编译通过重要很多!!! 它上面说,Makefile的第二行语句发现,找不到上层目录的Rules.mak文件,为什么没有这个文件就编译不过呢?是不是makefile里有些东西在Ruels.mak里定义了?请找出这些东西,把它们定义在Makefile里,应该就可以 了 如果你编译完了,请记得用file 来查看,是不是能在ARM下执行。如果不是,那么是不是你的编译器用错了?回想一下交叉编译的作用,以及交叉编译器的使用方法!!! 如果你成功了,那么,再想一想,还有其它方式解决这个问题吗?你试试arm-linux-gcc –o t dcm_main.c是不是也能成功???为什么? 将可执行文件拷贝到ARM板上运行 请思考,有多少种方法可以使用? 串口? FTP? 在这里,我们使用NFS的方式. 请用串口线连接ARM板与PC机,并设置好IP,使两都可以ping通 在超级终端输入: ifconfig eth0 21 mount -o nolock,rsize=4096,wsize=4096 42:/arm2410cl /mnt/nfs 命令输完了,你知道这些命令的具体含义吗? 在相应目录,运行你编译好的可执行文件 知道你的编译出来的可执行文件放在哪吗? 观察结果,应该可以看到电机在转动,有打印输出 ........ setpwm = -265 setpwm = -266 setpwm = -267 setpwm = -268 setpwm = -269 setpwm = -270 setpwm = -271 setpwm = -272 3.直流电机控制实验 – 修改上层应用程序 你已经可以使电机转动了,但千万不要以为你已经懂得控制电机了,因为你一行代码也没写,博创实验箱原本就自带了例子了。要想懂,那就试着修改它,看电机会不会按照你的想法转动? 修改源代码,要求电机以恒定速度运行 提示:

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档