基于arm的步进电机细分驱动控制设计内容摘要:
、衡海龙、郭亚楠。 分别负责硬件设计调试,软件 程序设计调试,材料 西安科技大学电控学院课程设计论文 第 14 页 搜集和整理,本次实习主要任务 是 过 ARM 控制驱动步进电机完成单四拍、双四拍、八拍的转动控制,同时还要实现转速、角度、方向在 TH12864LCD 显示屏上的显示,对于 步进 电机的的驱动通过 ULN2020A 芯片驱动。 通过这 次课程 设计其次,使我更加清楚地认识了团队合作的重要性,所有 设计环节都 脱离不了集体的力量,遇到问题和 小组成员之间 相互讨论交流,这样,我们组员可以尽可能的统一思想 和确定正确的设计方案 ,这样就不会使在做的过程中没有方向,并且这样也是为了 保证我们最终设计的正确性。 从 讨论不仅是一些思想 设计方 向 的问题, 如一些元器件的选择,是选择 ULN2020A 还是选择L289 作为步进电机的驱动芯片,是选择采用外部脉冲时序控制还是采用 ARM 自带的定时器产生 PWM 调制波来驱动芯片等等,这些位的解决都为我们最后设计的成功不可缺少的组成部分,在设计的过程中 少走弯路 ,避免的了一些不必要的错误。 总之,这次课程设计 对我真的很有好处,给我弥补了很多 欠缺的知识,像步进电机方面和 对 ARM 有了 更加 深入 的理解与设计操作。 同时,使我认识到不同的学习方法和实践的重要性。 在今后的学习过程中,要更加努力将自己的所学的专业知识应用到以后的生 产实践中,要更加注重自己的操作能力和实践能力,多多与同学和老师交流,相信定能在专业方面有所掌握,有所专攻。 第 7 章 调试及实物照片: 西安科技大学电控学院课程设计论文 第 15 页 调试现场实物照片 参考文献 : 【 1】 周立功, ARM 嵌入式系统基础教程【 M】北京航空航天大学出版社, 【 2】 周明安,朱光忠,步进电机驱动技术发展及现状【 J】机电工程技术, 2020 【 3】 许大中、贺益康,电机控制【 M】杭州:浙江大学出版社 , 2020 【 4】 周立功、陈明计、陈渝, ARM 嵌入式 Linux 系统构建与驱动开 发范例【 M】: 北京航空航天大学出版社, 2020 西安科技大学电控学院课程设计论文 第 16 页 致谢 值此论文完成之际,我要衷心的感谢给予我关心和帮助的所有师长,同学和朋友们。 而且,我要特别感谢此次课程设计的李红岩老师,在我们小组进行电路硬件和软件设计的时候悉心的指导和无微不至的关怀 给予了我们很大的帮助,是我受益匪浅。 他渊博的学识和平易近人的风范、严谨的治学态度和以身作则的高贵品质,不断激励我们奋进,在这里我们小组全体学生在这表示诚挚的谢意。 最后,感谢我的母校西安科技大学电气与控制工程学院,希望她能越办越强大,培养出更多的优 秀人才。 西安科技大学电控学院课程设计论文 第 17 页 《附录 1》 程序 /* 文 件 名: * 功 能: LED 显示控制。 * 通过 GPIO 控制步进电机 * 说 明:将跳线 JP14 和 JP19 全部短接。 ****************************************************************************/ include define MOTOA 110 // define MOTOB 111 // define MOTOC 112 // define MOTOD 113 // define key1 116 // ABCD define key2 117 // ABBCCDDAAB define key3 118 // AABBBCCCDDDAA define key4 119 //反转 define key5 120 //停止 define KEYCON 0x001f0000 // LED 控制字 define MOTOCON 0x00003c00 // MOTO 控制字 define GPIOSET(PIN) IO0SET = PIN // 方便修改置位端口 define GPIOCLR(PIN) IO0CLR = PIN // 方便修改清位端口 define RS 19 // define SID 16 // define E 14 // define PSB 12 // 并行或串行,选择低电平串行模式 define RST 125 //,复位脚 unsigned char IC_DAT1[64]=电机运行方式组成 : ABCD 单四拍 步距角。 unsigned char IC_DAT2[64]=电机运行方式组成 : ABBCCDDA 双四拍 步距角。 unsigned char IC_DAT3[64]=电机运行方式组为 AABBBCCCDD 单双八拍 步距角。 unsigned char IC_DAT4[64]= 电机 反 转。 unsigned char IC_DAT5[64]= 电机 停 止。 unsigned char IC_DAT6[64]= 自动化 0901 班 张 凯龙 衡海龙步进电机细分控制卢祖起 郭亚楠。 void TransferCom(unsigned char data0)。 void TransferData(unsigned char data1)。 西安科技大学电控学院课程设计论文 第 18 页 void delay(unsigned int m)。 void delay_10ms(uint32 n)。 void lcd_mesg(unsigned char *adder1)。 void DelayNS(uint32 dly)。 void MOTO_Mode1(uint8 i)。 // ABCD void MOTO_Mode10(uint8 i)。 void MOTO_Mode2(uint8 i)。 // ABBCCDDAAB void MOTO_Mode20(uint8 i)。 void MOTO_Mode3(uint8 i)。 // AABBBCCCDDDAA void MOTO_Mode30(uint8 i)。 /**************************************************************************** * 名 称: main() * 功 能:根据表 DISP_TAB 来控制 LED 显示。 ****************************************************************************/ int main(void) { /* PINSEL2 使用启动代码的默认配置,切勿任意配置 PINSEL2,否则总线会受到干扰 */ PINSEL0=0x00000000。 PINSEL1=0X00000000。 PINSEL2amp。 =~(0x00000006)。 //设置所有 I/O 口为普通GPIO 口 IO0DIR =MOTOCON。 // 配置 LED 控制 I/O 方向 LCD12864_init()。 initinal()。 //液晶端 口初始化 while((IO0PINamp。 key1)amp。 amp。 (IO0PINamp。 key2)amp。 amp。 (IO0PINamp。 key3)amp。 amp。 (IO0PINamp。 key4)amp。 amp。 (IO0PINamp。 key5)!=0) { lcd_mesg(IC_DAT6)。 //显示界面 } while(1) { if ((IO0PINamp。 key1)==0) MOTO_Mode1(15)。 if((IO0PINamp。 key4)==0) MOTO_Mode10(20)。 西安科技大学电控学院课程设计论文 第 19 页 // ABCD if ((IO0PINamp。 key2)==0) MOTO_Mode2(15)。 if((IO0PINamp。 key4)==0) MOTO_Mode20(20)。 // ABBCCDDAAB if ((IO0PINamp。 key3)==0) MOTO_Mode3(8)。 if((IO0PINamp。 key4)==0) MOTO_Mode30(10)。 // AABBBCCCDDDAA if((IO0PINamp。 key5)==0) // 停止 { initinal()。 lcd_mesg(IC_DAT5)。 IO0CLR=MOTOCON。 }。 } return(0)。 } /**************************************************************************** * 名 称: DelayNS() * 功 能:长软件延时 * 入口参数: dly 延时参数,值越大,延时越久 * 出口参数:无 *************。基于arm的步进电机细分驱动控制设计
相关推荐
STM32 时钟电路 RTC 是 STM32 的脉搏,是单片机的驱动源。 使用任何一个外设都必须打开相应的时钟。 这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,打到节能,实现低功耗的效果。 STM32 的时钟可以由以下 3 个时钟源提供: HSI:高速内部时钟信号 stm32 单片机内带的时钟( 8M 频率)精度较差。 HSE:高速外部时钟信号精度高,来源
摘要: 本文阐述了 数字带通调制技术以及扩频通信原理 ,并 根据数字带 通调制原理,运用 MATLAB 进行编程, 在给定仿真条件下,运行了仿真程序,得到了预期的仿真结果。 同时,利用建立的仿真系统,研究了 2ASK,2FSK,2PSK,2DPSK 调制解调过程,并且输出其调制后的波形,画出频谱、功率谱密度图,并比较各种调制的误码率情况,讨论其调制效果。 本设计由
均已被多数浏览器所接受。 HTML 的标记总是封装在由小于号( )和大于号( )构成的一对尖括号之中。 (1)单标记 某些标记称为 “单标记 ”,因为它只需单独使用就能完整地表达意思,这类标记的语法是: 标记 最常用的单标记是 P,它表示一个段落 ( Paragraph)的结束,并在段落后面加一空行。 (2)双标记 另一类标记称为 “双标记 ”,它由 “始标记 ”和 “尾标记 ”两部分构成
近年来,嵌入式技术飞速发展,嵌入式产品随处可见。 基于 ARM 核的芯片具有低功耗、高性能的特点,广泛应用于嵌入式产品当中。 鞍躲蹋秆休异呶草豢媳猩愠钭 本课题研究的主要是基于 ARM 的嵌入式工业控制系统,在国内外已有类似的产品面世,但是大多数还是在研究与学习的阶段上,能够完整的应用到实际中的实例确实很 少,该选题主要是为了研究出一套新的工业控制方案。 蘑频累亩尻喀匣蓑氮黎砉诗亢
业设计 说明书(毕业 论文 ) 8 • Steppingstone 被映射到 nGCS0 对应的 BANK0 存储空间。 • CPU 在 Steppingstone 的 4KB 内部缓冲器中开始执行引导代码。 注意: 在自动导入模式下,不进行 ECC 检测。 因此, Nand flash 的前 4KB 应确保不能有位错误(一 般 Nandflash 厂家都确保)。 ( 2) Nand FLASH
} /* Check if the Pin Reset flag is set */ else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET) { . printf(\r\n\n External Reset occurred....)。 } printf(\r\n No need to configure RTC....)。 . /* Wait