您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 成本管理论文关于企业物流的论文企业物流成本管理浅析
1课程设计课程名称嵌入式系统题目名称基于ARM的步进电机控制系统的设计与实现学生学院自动化学院专业班级物联网工程13级(1)班学号3213001582学生姓名李晓青合作者梁志成、田靖汶指导教师王涛2015年12月30日2一、课题研究意义、现状及应用分析随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个行业的控制领域都将有广泛应用。单片机、C语言等前沿学科的技术的日趋成熟与实用化,使得步进电机的控制系统有了新的的研究方向与意义。在现代工业生产中,生产机械一般都用电动机拖动。为了提高生产率和保证产品质量,大量的生产机械要求步进电机以不同的速度工作。步进电机具有较好的控制性能,其启动、停车、反转及其它任何运行方式的改变都可在少数脉冲内完成,且可获得较高的控制精度,因而得到了广泛的应用。步进电机是一种将电脉冲信号转换成直线位移或角位移的执行元件。步进电机具有转子惯量低、定位精度高、无累积误差、控制简单等特点,已成为运动控制领域的主要执行元件之一。ARMSTM32是近年来发展非常迅速的处理器,有很好的应用前景。将其应用于步进电机的调速控制,有极大的使用价值。以脉宽调制技术为代表的电机数字驱动技术也在迅猛发展,将计算机应用于这一领域正好可以发挥其在数字控制方面的优势。二、课题总体方案设计及功能模块介绍:1)ARM嵌入式开发板:此次课程设计使用的是ALIENTEKMiniSTM32开发板,CPU是STM32F103RCT6,FLASH容量为256K,SRAM容量为48K;并配备:1个标准的JTAG/SWD调试下载口1个电源指示灯(蓝色)2个状态指示灯(DS0:红色,DS1:绿色)1个红外接收头,配备一款小巧的红外遥控器1个IIC接口的EEPROM芯片,24C02,容量256字节1个SPIFLASH芯片,W25Q64,容量为8M字节(即64Mbit)1个DS18B20/DS1820温度传感器预留接口1个标准的2.4/2.8/3.5/4.3/7寸LCD接口,支持触摸屏1个OLED模块接口(与LCD接口部分共用)1个USB串口接口,可用于程序下载和代码调试1个USBSLAVE接口,用于USB通信1个SD卡接口1个PS/2接口,可外接鼠标、键盘1组5V电源供应/接入口1组3.3V电源供应/接入口1个启动模式选择配置接口1个2.4G无线通信接口1个RTC后备电池座,并带电池1个复位按钮,可用于复位MCU和LCD3个功能按钮,其中WK_UP兼具唤醒功能1个电源开关,控制整个板的电源3(ARM嵌入式开发板)2)步进电机:工作原理:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机驱动方式:①1相励磁法:每一瞬间只有一个线圈导通,其他线圈休息。其特点是励磁方法简单,耗电低,精确度良好。但是力矩小、震动大,每次励磁信号走的角度是标称角度。②2相励磁法:每一瞬间有两个线圈同时导通,特点是力矩大、震动较小,每次励磁转动角度是标称角度。③1-2相励磁法:1相和2相轮流交替导通,精度较高,且运转平滑。每送一个励磁信号转动二分之一标称角度。有称为半步驱动。4相电机中,1、2种方式称4相4拍,3种称4相8拍。(步进电机)3)按键:在MiniSTM32开发板上的按键KEY0连接在PC5上、KEY1连接在PA15上、WK_UP连接在PA0上。如图所示:4(按钮连接图)三、系统硬件平台及接口设计系统硬件平台主要由一块STM32平台、步进电机驱动模块构成,以STM32为核心,包括电机驱动、电机、LCD显示等模块。STM32作为主控芯片,通过I/O端口来控制步进电机驱动芯片,从而实现对步进电机的控制。接口特色设计:①定义PA4~8为推挽输出,作为步进电机的信号输入口;②定义PA0为”输入”作为按钮”开始/停止”入口,PC5为”输出”作为按钮”二档/三档”的入口。3.1步进电机驱动模块设计:本次使用的步进电机因自带驱动模块,因此只需知道模块上的各个引脚功能并将其连接到stm32上完成步进电机的驱动。由电机原理图可以看出,通过对S1、S2、S3和S4四条线的轮流通电达到使电机驱动的目的。采用8拍的模式,电机的码表如下:步进电机原理图5S1S2S3S410001100010001100010001100011001根据以上码表,在stm32上利用GPIO做相应的输出并加上时延,完成步进电机的驱动。并由ARMSTM32提供步进电机5V的电压的作驱动。接口电路如图:四、系统软件功能设计,程序流程图及代码实现,包括必要的注释STM32PA4PA5PA6PA7PA8步进电机VCCS1S2S3S464.1主程序流程图:4.2代码实现,包括必要的注释/按键初始化函数5.//PA0.15和PC5设置成输入6.voidKEY_Init(void)7.{78.RCC-APB2ENR|=12;//使能PORTA时钟9.RCC-APB2ENR|=14;//使能PORTC时钟10.JTAG_Set(SWD_ENABLE);//关闭JTAG,开启SWD11.GPIOA-CRL&=0XFFFFFFF0;//PA0设置成输入12.GPIOA-CRL|=0X00000008;13.GPIOA-CRH&=0X0FFFFFFF;//PA15设置成输入14.GPIOA-CRH|=0X80000000;15.GPIOA-ODR|=115;//PA15上拉,PA0默认下拉16.GPIOC-CRL&=0XFF0FFFFF;//PC5设置成输入17.GPIOC-CRL|=0X00800000;18.GPIOC-ODR|=15;//PC5上拉19.}//按键处理函数20.u8KEY_Scan(u8mode)21.{22.staticu8key_up=1;//按键按松开标志23.if(mode)key_up=1;//支持连按24.if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))25.{26.delay_ms(10);//去抖动27.key_up=0;28.if(KEY0==0)returnKEY0_PRES;29.elseif(KEY1==0)returnKEY1_PRES;30.elseif(WK_UP==1)returnWKUP_PRES;31.}elseif(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1;32.return0;//无按键按下33.}//外部中断定义及初始化程序//外部中断0服务程序34.voidEXTI0_IRQHandler(void)35.{intspeed;36.delay_ms(10);//消抖37.if(WK_UP==1)//WK_UP按键38.{39.//LED=!LED;40.if(speed==100000)41.{LED=0;speed=20;}42.else43.{speed=100000;LED=1;}44.}45.EXTI-PR=10;//清除LINE0上的中断标志位46.}//外部中断9~5服务程序47.voidEXTI9_5_IRQHandler(void)848.{49.delay_ms(10);//消抖50.if(KEY0==0)//按键051.{LED=0;speed=3;}52.EXTI-PR=15;//清除LINE5上的中断标志位53.}54.//外部中断15~10服务程序55.voidEXTI15_10_IRQHandler(void)56.{57.delay_ms(10);//消抖58.if(KEY1==0)//按键159.{LED=0;speed=7;}60.EXTI-PR=115;//清除LINE15上的中断标志位61.}62.//外部中断初始化程序63.//初始化PA0,PC5,PA15为中断输入.64.voidEXTI_Init(void)65.{66.KEY_Init();67.Ex_NVIC_Config(GPIO_A,0,RTIR);//上升沿触发68.Ex_NVIC_Config(GPIO_C,5,FTIR);//下降沿触发69.Ex_NVIC_Config(GPIO_A,15,FTIR);//下降沿触发70.MY_NVIC_Init(2,2,EXTI0_IRQn,2);71.MY_NVIC_Init(2,1,EXTI9_5_IRQn,2);72.MY_NVIC_Init(2,0,EXTI15_10_IRQn,2);73.}//步进点击初始化函数74.voidMOTOR_Init(void)75.{76.RCC-APB2ENR|=12;//使能PORTA时钟77.RCC-APB2ENR|=15;//使能PORTD时钟78.GPIOA-CRL&=0X0000FFFF;79.GPIOA-CRL|=0X11110000;//PA8推挽输出PA2LED推挽输出80.GPIOA-CRH&=0XFFFFFFF0;81.GPIOA-CRH|=0X00000001;82.GPIOA-ODR|=18;83.GPIOA-ODR|=14;//PA8输出高84.GPIOA-ODR|=15;85.GPIOA-ODR|=16;//PA8输出高86.GPIOA-ODR|=17;87.GPIOD-CRL&=0XFFFFF0FF;88.GPIOD-CRL|=0X00000300;//PD.289.GPIOD-ODR|=12;//PD.290.}9//步进点击停止函数91.voidMOTOR_Stop(void)92.{93.MOTOR1=0;94.MOTOR2=0;95.MOTOR3=0;96.MOTOR4=0;97.intmain(void)98.{99.Stm32_Clock_Init(9);//系统时钟设置100.delay_init(72);//延时初始化101.uart_init(72,9600);//串口初始化102.MOTOR_Init();//初始化motor103.EXTI_Init();//外部中断初始化104.speed=100000;105.MOTOR_Stop();//motorstop106.while(1)107.{108.printf(OK\r\n);109.//delay_ms(1000);110.while(speed==100000)111.{delay_ms(100);}112.MOTOR1=1;MOTOR2=0;MOTOR3=0;MOTOR4=0;113.delay_ms(speed);114.MOTOR1=1;MOTOR2=1;MOTOR3=0;MOTOR4=0;115.delay_ms(speed);116.MOTOR1=0;MOTOR2=1;MOTOR3=0;MOTOR4=0;117.delay_ms(speed);118.MOTOR1=0;MOTOR2=1;MOTOR3=1;MOTOR4=0;119.LED8=!LED8;120.delay_ms(speed);121.MOTOR1=0;MOTOR2=0;MOTOR3=1;MOTOR4=0;122.delay_ms(speed);123.MOTOR1=0;MOTOR2=0;MOTOR3=1;MOTOR4=1;124.delay_ms(speed);125.MOTOR1=0;MOTOR2=0;MOTOR3=0;MOTOR4=1;126.delay_ms(speed);127.MOTOR1=1;MOTOR2=0;MOT
本文标题:成本管理论文关于企业物流的论文企业物流成本管理浅析
链接地址:https://www.777doc.com/doc-2440527 .html