基于嵌入式ARMLinux平台的直流电机调速控制系统的设计.docx

基于嵌入式ARMLinux平台的直流电机调速控制系统的设计.docx

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

题目基于嵌入式ARM+Linux平台的直流电机调速控制系统基于嵌入式ARM+Linux平台的直流电机调速控制系统的设计摘 要本设计基于北京博创兴业科技有限公司开发的UP-NETARM2410-S嵌入式实验平台,它采用ARM7TDMI 内核的三星S3C44B0X01 芯片,且采用RedHatLinux9.0作为它的操作系统。设计了调速控制系统,并实现驱动程序对直流电机的控制,电机的转动情况会通过实验箱上的AD模块中电位器的旋转不同而变化。在UP-NETARM2410-S嵌入式实验平台上的实验结果表明系统运行正常、稳定。关键词:ARM;Linux;直流电机;驱动一、设计要求采用实验箱上的电位器作为信号输入器件,控制直流电机的运转方向和运转速度。电位器处于中间值时,电机停止不转,电位器顺时针调大时电机顺时针旋转,且速度随着电位器的旋转而增加。电位器向逆时针转动调小时,电机逆时针旋转,且速度随着电位器旋转的角度增加。电位器转到最大或最小值时,电机的速度应该达到最高速度。电位器在中间位置时,电机不应该出现抖动情况。二、Linux开发环境设置1、建立工作目录[root@home]# mkdir zgc[root@home]# cd zgc2、编写程序源代码在Linux 下的文本编辑器有许多,常用的是vim 和Xwindow 界面下的gedit 等,在本次开发过程中使用vim,我们可以是用下面的命令来编写dcm_main.c 的源代码,进入10_dcmotor目录使用vi 命令来编辑代码:[root@10_dcmotor]# vi dcm_main.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq”保存并退出。这样我们便在当前目录下建立了一个名为dcm_main.c 的文件。3、编写Makefile要使上面的dcm_main.c 程序能够运行,我们必须要编写一个Makefile 文件,Makefile 文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。使用它带来的好处就是自动编译,你只需要敲一个“make”命令整个工程就可以实现自动编译,当然我们本次实验只有一个文件,它还不能体现出使用Makefile 的优越性,但当工程比较大文件比较多时,不使用Makefile 几乎是不可能的。下面是本次实验用到的Makefile 文件。CC = armv4l-unknown-linux-gcc#CC = gccLDFLAGS = -staticEXEC = nihaoOBJS = hello.oall: $(EXEC)$(EXEC): $(OBJS)$(CC) $(LDFLAGS) -o $@ $(OBJS)clean:-rm -f $(EXEC) *.elf *.gdb *.o4、编译应用程序在上面的步骤完成后,我们就可以在hello 目录下运行“make”来编译我们的程序了。如果进行了修改,重新编译则运行:[root@10_dcmotor]# make clean[root@10_dcmotor]# make三、系统设计1、设计思路 根据设计要求,先分别对实验箱上AD程序和电机程序进行调试并熟练,然后在电机主程序中加入AD模块及线程,将AD模块的电位器转动角度转换成的电压幅度的1024倍作为电机转动的pwm值。这样即可以满足设计要求。2、硬件流程框图对直流电机进行调速和控制,需经过AD模块,在linux操作系统中,在电机中加载AD程序后,挂载到实验箱程序。电脑通过串口把执行的程序命令发给S3C44B0X01处理器,在处理器中通过分析数据。手动调节AD模块中电位器后,处理器收到相应信号,并发命令给电机,使电机的转动做出相应的调整。硬件流程框图如图1所示。图1硬件流程框图3、软件设计及调试虽然实验室的arm s3c2410开发箱已经搭建好开发环境,可是这一部还是必须得熟悉的,首先是Boot—Loader的移植,然后再进行LINUX 内核移植。在宿主机的linux下需要搭建Linux交叉编译环境,用于应用程序的开发和编译。将硬件系统设计好之后,必须开发、加载直流电机的驱动程序,驱动设备开发商都已经提供,只需要insmod到目标机上,即可编程操作这些设备。dcm_main.c程序中主要实现代码:/****************************************************************/int main(int argc, char **argv){ float d; pthread_t th_com; void *retval;int i = 0;int s

文档评论(0)

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

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

1亿VIP精品文档

相关文档