课程设计(论文)_机电传动单向数控平台设计

上传人:ra****d 文档编号:106379348 上传时间:2022-06-13 格式:DOC 页数:39 大小:509.50KB
收藏 版权申诉 举报 下载
课程设计(论文)_机电传动单向数控平台设计_第1页
第1页 / 共39页
课程设计(论文)_机电传动单向数控平台设计_第2页
第2页 / 共39页
课程设计(论文)_机电传动单向数控平台设计_第3页
第3页 / 共39页
资源描述:

《课程设计(论文)_机电传动单向数控平台设计》由会员分享,可在线阅读,更多相关《课程设计(论文)_机电传动单向数控平台设计(39页珍藏版)》请在装配图网上搜索。

1、一、 教学目的通过课程设计培养学生综合运用所学知识和能力、提高分析和解决实际问题能力的一个重要环节,专业课程设计时建立的专业根底课程和专业方向课的根底上的,是学生根据所学课程进行的工程根本训练,课程设计的目的在于:1. 培养学生综合运用所学的根底理论和专业知识,独立进行机电控制系统产品的初步设计工作,并结合设计或试验研究课题进一步稳固和扩大知识领域。2. 培养学生搜索、阅读和综合分析参考资料,运用各种标准和工具书籍一集编写技术文件的能力、提高计算、绘图等根本能力。3. 培养学生掌握机电产品设计的一半程序和方法,进行工程师根本素质的训练。4. 树立正确的设计思想及严肃认真的工作作风。二、 设计要

2、求1. 电机驱动方式:步进电机。2. 机械传动方式:螺旋丝杠。3. 电气控制方式:单片微机控制。4. 功能控制要求:速度控制。5. 主要设计参数:单向工作行程1000mm,移动负载质量50kg,负载移动阻力50N,移动速度控制3m/min。三、 总体方案设计2.1方案概述:本系统将采用ATMEL公司生产的MEGA-16L系列产品作为控制单元。通过控制单片机的引脚发送的脉冲信号控制步进电机的速度然后将步进电机产生的力矩通过减速器进行一级减速之后输入螺旋丝杠端驱开工作平台的移动。同时该系统将采用实时控制系统通过按键的控制调整当前的速度值并将速度值显示在显示系统中,显示系统由12864屏幕承当工作任

3、务,可以显示中文字符,通过将当前的速度值显示在屏幕上可以方便控制者对系统的操作。2.2方案特点:本系统与其他同类产品相比具有以下的特点:1. 单片机控制具有较强的灵活性,可以处理多种可能发生的情况。2. 响应速度快,提高控制的实时性。3. 造价比拟廉价,系统扩展方便。4. 可视化程度高,方便控制。四、 机械传动系统设计给定参数:单向工作行程:1000mm移动负载质量:50kg负载移动阻力:50N移动速度控制:3m/min滑动螺旋传动计算一、确定丝杠的导程 查手册知导程为10MM的丝杠其公称直径范围最大,且在这个公称直径范围内的丝杠其优先腿脚选用的稻城也为10MM,因此,确定选用导程Ph=10M

4、M的丝杠。二、丝杠的转速 三、丝杠的平均载荷四、预期额定动载荷1按预期工作时间估计 查表:轻微冲击 精度等级1-3,取 可靠性96%,取 :寿命=15000h 得: 五、丝杠副的型号 根据所选定的导程=10mm以及动载荷选用FFZD型丝杠,型号FFZD3210,其主要参数如下: 公称直径32mm 导程10mm 丝杠大径30mm 轴端直径=24mm 动负荷32KN 静载荷70KN 刚度1170N/um 六、耐磨性计算 选择梯形螺纹 整体式螺母的 许用压强在18 MPa -25 MPa之间 ,选取p为22 MPa 许用压强p为:22MPa 七、验算自锁 螺旋副摩擦系s 螺旋副摩擦系数 根据得出螺纹

5、升角 根据得出当量摩擦角 八、计算驱动转矩 、为轴承摩擦力矩 驱动转矩T为:258(N*mm)九、计算螺杆强度 螺杆当量应力 合格十、螺纹牙强度计算 螺杆 螺母 螺杆 螺母 螺纹牙底宽度为:十一、螺杆的稳定性计算 螺杆的最大工作长度l为:1300mm 两端固定长度系数 螺杆材料的弹性模量E为:207000MPa 应使 不能满足此条件应该加大十二、螺杆的刚度计算 螺杆材料的切变模量G为:83000MPa 轴向载荷使导程产生的变形量LF为:0mm 转矩使导程产生的变形量LT为:0mm 导程的总变形量L为:0mm十三、计算横向振动 螺杆两支承间的最大距离lc为:1000mm 两端固定的系数 临界转速

6、nc为: 5255.678(r/min)十四、计算效率 电动机的选择选用步进电机:工作机所需输入功率:50+50N*3m/min=5w电机所需功率:其中, 为闭式圆柱齿轮效率,0.97按8级精度 所以查表选电机型号为:75BF001 电机参数: 型号: 75BF001相数: 3步距角(电压/V: 24相电流/A: 3最大静转矩/(N空载起动频率/(step/s): 1750空载运行频率/(step/s): 电感/mH: 19电阻/分配方式: 三相六拍外形尺寸/mm: 7553 查表采用固定式E型、F型轴承、轴承型号为7602021TVP,主要参数如下: 内径d=20mm 外径D=47mm 宽度

7、B=14mm 球径Dw= 球数Z=15动负荷Ca=19600N预加负载F0=2300N极限转速nm=3000r/min重量m=4.4轴承校核1由设计条件知,负载很小G=mg=500N19600,因此轴承承载能力能完全满足要求。2寿命设计: =1 润滑与密封轴承的润滑:根据轴颈的圆周速度,轴承可以用润滑脂和润滑油润滑,由于齿轮的转速根据以知是大于2m/s,所以润滑可以靠机体的飞溅直接润滑轴承。齿轮的润滑:采用浸油润滑,由于低速级周向速度为/s,所以浸油高度约为六分之一大齿轮半径齿轮与轴承用同种润滑油较为便利,考虑到该装置用于小型设备,选用L-AN15润滑油。密封:采用迷宫式密封件,圆周速度小于等

8、于10m/s,环境温度低于润滑脂溶点五、电气控制系统设计 本系统将采用ATMEL公司生产的AVR系列MEGA-16L产品作为控制单元。其具有以下优点:一、简便易学,费用低廉首先,对于非专业人员来说,选择AVR单片机的最主要原因,是进入AVR单片机开发的门槛非常低,只要会操作电脑就可以学习AVR单片机的开发。单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中的各种封装的器件。AVR单片机因此在业界号称“一线打天下。其次,AVR单片机便于升级。AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。再次,AVR单片机

9、费用低廉。学习AVR单片机可使用ISP在线下载编程方式(即把PC机上编译好的程序写到单片机的程序存储器中),不需购置仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10000次以上,不会产生报废品。二、高速、低耗、保密首先,AVR单片机是高速嵌入式单片机:1、AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。2、多累加器型,数据处理速度快。AVR单片机具有32个通用工作存放器,相当于有32条立交桥,可以快速通行。3、中断响应速度快。AVR单片机有多个固定中断向量入口地址,

10、可快速响应中断。其次,AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8 V即可工作。再次,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。三、I/O口功能强,具有A/D转换等电路1. AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)1040 mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。2. AVR单片机内带模拟比拟器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATmega48/

11、8/16等器件具有8路10位A/D。3. 局部AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,本钱又低。4. AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行平安保护,可防止程序走乱(飞),提高了产品的抗干扰能力。四、有功能强大的定时器/计数器及通讯接口定时/计数器T/C有8位和16位,可用作比拟器。计数器外部中断和PWM(也可用作D/A)用于控制输出,某些型号的AVR单片机有34个PWM,是作电机无级调速的理想器件。AVR单片机有串行异步通讯UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准整数频

12、率下,而波特率可达576K。 在电机驱动芯片我选用L298n,它能驱动的最高电压为50V,单向电流最大可达5AL298n芯片采用以下接线方式:在稳压电源上我选择三端稳压集成电路7805为单片机供电。电子产品中,常见的三端稳压集成电路有正电压输出的78 系列和负电压输出的79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有9013样子的TO-92封装。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格廉价。该

13、系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。在实际应用中,应在三端集成稳压电路上安装足够大的散热器当然小功率的条件下不用。当稳压管温度过高时,稳压性能将变差,甚至损坏。当制作中需要一个能输出以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个,但应用时需注意:并联使用的集成稳压电路应采用同一厂家、同一批号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以防止个别集成稳压电路失效时导致其他电路的连锁烧毁。在78

14、* 、79 * 系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引脚序号、引脚功能如附图所示。图中的引脚号标注方法是按照引脚电位从高到底的顺序标注的。这样标注便于记忆。引脚为最高电位,脚为最低电位,脚居中。从图中可以看出,不管正压还是负压,脚均为输出端。对于78*正压系列,输入是最高电位,自然是脚,地端为最低电位,即脚,如附图所示。对与79*负压系列,输入为最低电位,自然是脚,而地端为最高电位,即脚,如附图所示。 在本系统中我设计了串行通讯的模块,可以使单片机接受上位电脑发送过来的数据进而控制电机的转动,实时的通讯系统方便了对该平台的控制,同时能实现远程

15、控制。在串行通讯中我设计使用的是MAX232N芯片,以下是其接线电路与引脚配置图。 首先设计的局部是ATmega16单片机的最小外围电路,包括:晶振电路、复位电路、ISP下载电路、供电电源电路。 晶振电路图如下:复位电路如下:稳压电源电路:ISP下载电路如图: 改系统的显示局部我采用12864屏幕作为显示元件,它作为汉字屏幕能显示4*8个汉字。同时能使用穿行方式与单片机进行通信接受单片机发送的数据并显示工作于串行模式时的引脚定义:PIN1- GND 电源, 一般接0V。 PIN2-VDD电源, 一般接5V。 PIN3-V0比照度调整端。 PIN4-CS,片选PIN5-SID,数据PIN6-SC

16、K,脉冲 PIN7-NC,不连接PIN8-NC,不连接 PIN9-NC,不连接PIN10-NC,不连接 PIN11-NC,不连接 PIN12-NC,不连接 PIN13-NC,不连接 PIN14-NC,不连接PIN15-PSB 并行:PSB=1,可以接VCC; 串行:PSB=0,一般接GND PIN16 -NC,不连接 PIN17-RST,模块复位低电平有效PIN18 -NC,不连接 PIN19 -LED+ ,背光 ,一般接5V。 PIN20 -LED- ,背光 ,一般接GND。下列图是12864的驱动电路:12864屏幕的指令集:六、局部程序/ 串口通讯 / 芯片: Mega16/ 晶振: 1

17、6M/计算机串口发送字节后 单片机接收到返回,#include #include unsigned char temp,shu=0;/*/void uart0_init(void) UCSRB = 0x00; /disable while setting baud rate UCSRA = 0x00; UCSRC = BIT(URSEL) | 0x06; UBRRL = 0x67; /set baud rate lo UBRRH = 0x00; /set baud rate hi UCSRB = 0x98;/tansmit-串口发-void uart_t( unsigned char data

18、x )while ( !( UCSRA & (1UDRE) );UDR = datax;/* 字符输入函数 */unsigned int uart_r(void) while(!(UCSRA& (1RXC); return UDR;/*字符串输出函数 */void main()DDRD=0xff;uart0_init();SREG=0x80; /开总中断 while(1);#pragma interrupt_handler uart0_rx_isr:12 /串口接收中断void uart0_rx_isr(void) /uart has received a character in UDR t

19、emp=UDR; uart_t(temp); /送什么发什么 PORTD=temp; /这里可以收到串口助手发来的数据 七、参考文献1康永泽,论机电一体化的开展。论文2上海电器科学研究所,电机与控制应用期刊。3计时鸣,机电一体化控制技术与系统。4尚涛,机电控制技术。5尹志强,机电一体化系统设计课程设计指导书。6刘同法,单片机外围接口电路与工程实践。7龙威林,单片机应用入门:AT89S51和AVR 。8陈忠平,单片机根底和最小系统实践。9白静,数字电路与逻辑设计。10董景新,控制工程根底。11程志红,机械设计。12程志红,机械设计课程上机与设计。13肖兴明,机电控制及自动化。14李朝青,单片机原

20、理及接口技术。15路敦民,机电传动及控制。八、程序附页主程序:#include /头文件定义#include #pragma data:code #define uchar unsigned char#define uint unsigned int#include 12864.c unsigned char data=0; uint speed=0; uchar turn=0;/*函数名称: Delayus功 能: 延时指定微秒8M晶振参 数: US-延时的微秒数返回值 : 无/*/void delay_us(uint US) uint i; US=US*10/4; for( i=0;iUS

21、;i+); void delay_ms(uint MS) uint i,j; for( i=0;iMS;i+) for(j=0;j1141*2;j+);/1141是在8MHz晶振下,通过软件仿真反复实验得到的数值/*/void port_init(void)/端口初始化 DDRA = 0xFF; DDRB = 0xFF; DDRC = 0xFF; DDRD = 0x00;/*T1初始化void timer1_init(void) TCCR1B = 0x00; /stop TCNT1H = 0xFF; /setup 初值 TCNT1L = 0x30; TCCR1A = 0x00;/tart Ti

22、mer TCCR1B = 0x02; /*函数名称: KeyPress参 数: 扫描键值返回值 : 1,2,3,4/*/unsigned char KeyPress()uchar i=0;DDRD&=0xf0;PIND|=0xf0;PORTD=0xff; switch PIND case 0xef: / delay_ms(1); if(PIND=0xef) i=1; return i; break; case 0xdf: / delay_ms(1); if(PIND=0xdf) i=2; return i; break; case 0xbf: / delay_ms(1); if(PIND=0x

23、bf) i=3; return i; break; case 0x7f: / delay_ms(1); if(PIND=0x7f) i=4; return i; break; case 0xff: / delay_ms(1); if(PIND=0xff) i=0; return i; break; void init_devices() CLI(); port_init(); timer1_init(); SEI(); void speedup() speed+; void speeddown() speed-; void speeddown() CLI(); void back() if(t

24、urn=0) turn=1; if(turn=1) turn=0; /*/ void main() init_devices(); while(1) write_12864(0,0,1/speed*1.5*60/360+48); write_12864(6,0,r/min); data=KeyPress(); if(data=1) speedup(); if(data=2) speeddown(); if(data=3) stop(); if(data=4) back(); #pragma interrupt_handler timer1_ovf_isr:9void timer1_ovf_is

25、r(void) /TIMER1 has overflowed TCNT1H = speed; /reload counter high value TCNT1L = 0xF8; /reload counter low value flag+; flag%=9; if(turn=0) switch(flag) case 0: PORTB|=BIT(0); PORTB&=BIT(1); PORTB&=BIT(2);case 1: PORTB|=BIT(0); PORTB|=BIT(1); PORTB&=BIT(2);case 2: PORTB|=BIT(1); PORTB&=BIT(2); POR

26、TB&=BIT(0);case 3: PORTB|=BIT(1); PORTB|=BIT(2); PORTB&=BIT(0);case 4: PORTB|=BIT(2); PORTB&=BIT(0); PORTB&=BIT(1);case 5: PORTB|=BIT(2); PORTB|=BIT(0); PORTB&=BIT(1); if(turn=1) switch(flag) case 0: PORTB|=BIT(0); PORTB&=BIT(1); PORTB&=BIT(2);case 1: PORTB|=BIT(0); PORTB|=BIT(1); PORTB&=BIT(2);case

27、 2: PORTB|=BIT(1); PORTB&=BIT(2); PORTB&=BIT(0);case 3: PORTB|=BIT(1); PORTB|=BIT(2); PORTB&=BIT(0);case 4: PORTB|=BIT(2); PORTB&=BIT(0); PORTB&=BIT(1);case 5: PORTB|=BIT(2); PORTB|=BIT(0); PORTB&=BIT(1); void uart0_init(void) UCSRB = 0x00; /disable while setting baud rate UCSRA = 0x00; UCSRC = BIT(

28、URSEL) | 0x06; UBRRL = 0x67; /set baud rate lo UBRRH = 0x00; /set baud rate hi UCSRB = 0x98;/tansmit-串口发-void uart_t( unsigned char datax )while ( !( UCSRA & (1UDRE) );UDR = datax;/* 字符输入函数 */unsigned int uart_r(void) while(!(UCSRA& (1RXC); return UDR;/*字符串输出函数 */12864屏幕驱动程序:/ LCD 12864 汉字屏 / 运行环境:

29、ICC AVR / 目标系统: Atmega16L / 编辑时间: 2010-1-8 / 编辑人 : zhanggan #include /头文件定义#include #define uint unsigned int#define uchar unsigned char#define x1 0x80#define x2 0x88#define y 0x80#define comm 0#define dat 1端口操作定义#define LCD_RS_CLR PORTC&=0X01;delay(5)#define LCD_RW_CLR PORTC&=0X02;delay(5) #define

30、LCD_E_CLR PORTC&=0X04;delay(5)#define LCD_RS_SET PORTC|= 0X01;delay(5)#define LCD_RW_SET PORTC|= 0X02;delay(5) #define LCD_E_SET PORTC|= 0X04;delay(5)#define LCD_OUT DDRA = 0XFF;delay(5)#define LCD_IN DDRA = 0X00;delay(5)#define LCD_Data PORTA 通用延时函数 void delay(uint us) /delay time while(us-);void d

31、elay_nms(uint ms) uint i,j; for(i=0;ims;i+) for(j=0;j700;j+); 忙检测函数 void chk_busy (void) LCD_Data=0xff; LCD_RS_CLR; LCD_RW_SET; LCD_E_SET; LCD_IN; while(PINA&0X80); LCD_OUT; LCD_E_CLR; 字节数据写入函数 void wr_lcd (uchar dat_comm,uchar content) chk_busy (); LCD_OUT; if(dat_comm) LCD_RS_SET; /data LCD_RW_CLR

32、; /write else LCD_RS_CLR; /command LCD_RW_CLR; /write LCD_Data=content; /output data or comm LCD_E_SET; LCD_E_CLR; 清DDRAM-函数 void clrram (void) wr_lcd (comm,0x30); wr_lcd (comm,0x01);液晶屏初始化函数 void init_lcd (void) wr_lcd (comm,0x30); /*30-根本指令动作*/ wr_lcd (comm,0x01); /*清屏,地址指针指向00H*/ wr_lcd (comm,0x0

33、6); /*光标的移动方向*/ wr_lcd (comm,0x0c); /*开显示,关游标*/ 全屏字符显示函数 void chn_disp (uchar const *chn) uchar i,j; uchar add=0,2,1,3; wr_lcd (comm,0x30); wr_lcd (comm,0x80); for (j=0;j4;j+) for (i=0;i16;i+) wr_lcd (dat,chnaddj*16+i); 显示图形函数 void img_disp (uchar const *img) uchar i,j; for(j=0;j32;j+) for(i=0;i8;i+

34、) wr_lcd (comm,0x34); wr_lcd (comm,y+j); wr_lcd (comm,x1+i); wr_lcd (comm,0x30); wr_lcd (dat,imgj*16+i*2); wr_lcd (dat,imgj*16+i*2+1); for(j=32;j64;j+) for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j-32); wr_lcd (comm,x2+i); wr_lcd (comm,0x30); wr_lcd (dat,imgj*16+i*2); wr_lcd (dat,imgj*16+i*2+1

35、); wr_lcd (comm,0x36); 点阵显示函数 void lat_disp (uchar data1,uchar data2) uchar i,j,k,x; x=x1; for(k=0;k2;k+) for(j=0;j16;j+) for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j*2); wr_lcd (comm,x+i); wr_lcd (comm,0x30); wr_lcd (dat,data1); wr_lcd (dat,data1); for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j*2+1); wr_lcd (comm,x+i); wr_lcd (comm,0x30); wr_lcd (dat,data2); wr_lcd (dat,data2); x=x2; wr_lcd (comm,0x36); 端口初始化函数 void port_init(void) PORTA = 0x00; DDRA = 0xFF; PORTC = 0x00; DDRC = 0x07; END FILE

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!