资源描述
课程设计宠物自动喂食机设计
精品文档
机电系统综合课程设计
班 级:机制071(专升本)
姓 名:董 静
学 号:307011001
指导老师:陈 宁
浙江科技学院机械与汽车工程学院
收集于网络,如有侵权请联系管理员删除
任务书
一、课程设计的目的
本次设计是机电一体化和计算机控制课程结束之后进行的一个重要的综合性、实践性教学环节,课程设计的基本目的是:
1、掌握机电一体化系统的设计过程和方法,包括参数的选择、传动设计、零件计算、结构设计、计算机控制等培养系统分析及设计的能力。
2、综合应用过去所学的理论知识,提高联系实际和综合分析的能力,进一步巩固、加深和拓宽所学的知识。
3、训练和提高设计的基本技能,如计算,绘图,运用设计资料、标准和规范,编写技术文件(说明书)等。
二、设计任务及要求
设计题目: 宠物自动喂食机的设计
1.设计内容包括:总体设计,机械系统的设计与计算,计算机控制系统设计,编写设计计算说明书;
2.设计要求包括:定时投放饲料,具有开机自检功能,可以设定开启关闭时间的长短,适应不同宠物食量的需要;
3.机械部分的设计:零件图,装配示意图;
4.计算机控制的设计:控制系统接口图一张;
5.控制装置采用直流减速电机驱动,MCS-51或单片机FX2N-PLC控制系统,软件环分,由键盘输入实现开环控制。
6.编写设计计算说明书1份。
摘 要
本次设计宠物自动喂食机的基本功能和设计思路,根据给定的规定动作顺序,综合运用所学的基本理论、基本知识和相关的机械设计专业知识,完成宠物自动喂食机理论方案的创新设计,并绘制必要的零部件图,其中包括装置的原理方案构思和拟定;原理方案的实现、传动方案的设计,主要结构的设计简图;设计计算与说明。
宠物自动喂食机设计要求:定时投放饲料,具有开机自检功能,可以设定开启关闭时间的长短,适应不同宠物食量的需要,使用电动机驱动,其电源应为安全电源。
宠物自动喂食机设计的主要技术关键问题为:饲料的定时投放,料口的开合角度的确定,定时长短的设计,时间设定模块的组合。
关键字:单片机 设计计算 定时 机构
目 录
任务书 i
摘 要 ii
目 录 iii
1 主轴的设计 1
2主轴材料的选择 1
3 主轴加工方法的选择 1
4 主轴参数计算: 1
5 减速电动机的选择: 4
6 控制系统设计 5
7 程序编写 6
设计心得 28
参考文献 28
1 主轴的设计
在宠物自动喂食机上采用直接由电机带动主轴旋转,控制料口的开启和关闭,由于电机选用的是具有自锁功能的直流减速电机,中间不采用减速装置,简化结构设计,使系统的结构尽量的紧凑。所以直接用电机驱动主轴,省去中间的减速环节。
2主轴材料的选择
主轴的选用45钢,45钢的加工性能较为理想,材料的价格比较低廉,但是这是一种中碳钢,淬火性能并不好, 45号钢可以淬硬至HRC42~46。所以如果需要表面硬度,又希望发挥45钢优越的机械性能,常将45钢表面渗碳淬火,这样就能得到需要的表面硬度。调质处理后零件具有良好的综合机械性能,广泛应用于各种重要的结构零件,特别是那些在交变负荷下工作的连杆、螺栓、齿轮及轴类等。
3 主轴加工方法的选择
由于主轴是间歇回转类零件,不需要长时间的连续运转,所以加工的精度不需要很高,在普通的车床上既可以加工。又因为主轴的外形相对简单,不需要经常的换刀,所以加工的时间教短。在加工主轴时,需要注意的是径向尺寸的控制,不过通过合理的安排加工工艺可以解决。最后的端部的钻孔是需要控制空之间的距离,所以在单件试制的时候可以不用专用的夹具,在大量生产的时候需要安排专用的夹具,提高生产效率。尤其需要注意的是孔中心的确定,因为是后续安装旋转件的,所以要控制中心的偏差。
4 主轴参数计算:
1.主轴尺寸的确定:
由设计题目中要求可知:下料口的孔直径为5mm.由《机械设计手册》表6.2-3取主轴的直径为5mm;
估取主轴的长度和直径:
i. 1-2段轴用于安装联轴器,故取直径为5mm。
ii. 2-3段安装活动挡片,外径5mm。
iii. 3-4段分隔段,直径为5mm。
iv. 4-5段为过度段,直径为16mm。
v. 5-6段安装旋转件,直径为40mm。
2) 根据轴向定位的要求确定轴的各段长度
1. 1-2段为安装联轴器为30mm
2. 2-3段为安装活动挡片长度为60mm。
3. 3-4段为为分隔长度为10mm
4. 4-5段用于安装旋转件长度为6mm。
5. 5-6段安装旋转件长度为10
2. 轴上力的校合
66 207.5 63.5
3. 精确校核轴的疲劳强度
1) 判断危险截面
由于截面IV处受的载荷较大,直径较小,所以判断为危险截面
2) 截面IV右侧的
截面上的转切应力为
由于轴选用40cr,调质处理,所以
,,。
([2]P355表15-1)
a) 综合系数的计算
由,经直线插入,知道因轴肩而形成的理论应力集中为,,
([2]P38附表3-2经直线插入)
轴的材料敏感系数为,,
([2]P37附图3-1)
故有效应力集中系数为
查得尺寸系数为,扭转尺寸系数为,
([2]P37附图3-2)([2]P39附图3-3)
轴采用磨削加工,表面质量系数为,
([2]P40附图3-4)
轴表面未经强化处理,即,则综合系数值为
b) 碳钢系数的确定
碳钢的特性系数取为,
c) 安全系数的计算
轴的疲劳安全系数为
故轴的选用安全。
4. 行程开关旋转件的设计
由示意图可知,两旋转件在旋转时有一个90度角的角度差,通过行程开关输出的信号的不同来分辨料口的开合处于什么样的状态,然后通过单片机系统的处理,输出相应的信号,带动电机的旋转,来控制料口的开合。料口的状态有完全关闭和完全打开两种状态,(1)两行程开关都输出信号时,料口处于关闭状态,(2)两行程开关有一个闭合输出信号时,料口处于完全打开状态。
5 减速电动机的选择:
直流齿轮减速电动机由于其结构简单,性能可靠,故选择直流齿轮减速电动机。
ZGA25R-310式直流齿轮减速电动机产品数据:
ZGA25R-310
使用电压:DC6V
转速: 20rpm
外径:25mm
总长:51mm
伸出轴长:10mm
扭力:1-3KG
6 控制系统设计
(一)系统方案设计构成
本系统包括机械部分和伺服电机控制两部分。根据所给的要求,拟用开环控制结构设计方案,其开环系统结构原理如图1。
单片机 光电 耦合 驱动 执行 机构
具体原理:编写单片机指令,通过扫描键盘输入的数字记录需要转动的角度,然后计算需要输出的脉冲,用软件的方法实现脉冲的输出,然后由光电耦合电路减小外部的干扰,由功率放大电路实现功率的放大,然后接减速电动机,通过联轴器把力矩传到主轴。带动料口的开关。
(二)、单片机的选用
本设计选用ATS9S51芯片,片内无ROM或者EPROM,使用时必须配置外部的程序存储器EPROM。本设计选用了2764扩展其空间,8031的引脚分3大功能:
(1)I/O口线
P0,P1,P2,P3共4个八位口。
(2)控制口线
PSEN(片外取指控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET(复位控制)。
(3)电源和时钟。
ATS9S51最小应用系统。ATS9S51内部不带ROM,需要外接EPROM作为外部程序存储器。又因为8031在外接程序存储器或数据存储器时地址的低8位信息和数据信息分时送出,故还需要采用一片74LS373来锁存低8为地址信息。这样,一片2764EPROM和一片74LS373组成了一个最小的计算机应用系统。如图
MCS-51的程序存储器空间与数据存储器空间是相互独立的。用户可最多扩展到64kb的程序存储器几64kb的数据存储器,编址为0000H~FFFFH。片内8kb单元地址要求地址线13根(A0~A12)。
它由P0和P2.0~P2.4 组成。地址锁存器的锁存信号为ALE。程序存储器的取地址消耗为PSEN。由于程序存储器芯片只有一片,所以其片选端(31)直接接地。
8031芯片本身的连接31必须接地来表明选择外部存储器外,还必须有复位和时钟电路。在此系统中有P1、P3口作为用户I/O口使用;74LS373为地址锁存器,他是一片三态输出8D触发器,当OE=1时三态门导通,输出线上为8为锁存器的状态。当OE=1时输出为高住抗转台。G为锁存信号输入线,G=1时锁存器输出等于D端输入,G输入短跳变将输入信息锁存到8为锁存器中。
当8031在访问外部程序存储器时,P2口输入高8为地址:P6口分时传送底8为地址和指令字节。在ALE为高电平时,P0口输出的地址有效,并由ALE的下降沿锁存到地址锁存器中,此时外部程序存储器宣统信号线PSEN出现低电平,选通相应的外部。EPROM存储器;相应的指令字节出现在EPROM的数据线(O0~O7)上,输入到P0口,CPU将指令字节读入指令寄存器。
7 程序编写
连线图:
程序设计:
AT89S51,F=6MHz
影响第0组的R1,R2,R3,R4,R5,R6,R7
20H,21H,30H,31H,32H,35H,36H,37H,38H,39H,3AH,3BH,3CH,3DH,3EH;;
ORG 00H ;程序从这里开始
SJMP MAIN ;主程序
ORG 0BH ;定时器0中断入口
LJMP GOTO
ORG 40H
;初始化
MAIN:MOV SP,#5FH ;设堆栈
MOV 30H,#12H ;存放小时,设初值
MOV 31H,#00H ;存放分钟,设初值
MOV 32H,#00H ;存放秒,设初值
MOV 35H,#06H ;第一个闹钟的小时位,设初值
MOV 36H,#30H ;第一个闹钟的分钟位,设初值
MOV 37H,#09H ;第二个闹钟的小时位,设初值
MOV 38H,#00H ;第二个闹钟的分钟位,设初值
MOV 39H,#06H ;存放年
MOV 3AH,#11H ;存放月
MOV 3BH,#05H ;存放日
MOV 3CH,#00H ;显示缓存,第1,2位
MOV 3DH,#00H ;显示缓存,第3,4位
MOV 3EH,#00H ;显示缓存,第5,6位
CLR 00H ;秒闪烁暂存 20H.0
SETB 01H ;闹钟1输出位 20H.1
SETB 02H ;闹钟2输出位 20H.2
CLR 03H ;按键2是否有效标致位 20H.3
CLR 04H ;按键3是否有效标致位 20H.4
CLR 05H ;按键2是否有效标致位 20H.5
CLR 06H ;闹钟开关标致 20H.6 "0"为开"1"为关
SETB 07H ;显示缓存,小数点1
SETB 08H ;显示缓存,小数点2
SETB 09H ;时钟加减标致位 "0"为小时,"1"为分钟
SETB 0AH ;闹钟1加减标致位"0"为小时,"1"为分钟
SETB 0BH ;闹钟2加减标致位"0"为小时,"1"为分钟
MOV R2,#2 ;设定时次数
MOV R3,#50
MOV R4,#25
MOV TMOD,#02H ;设定时器0工作方式为方式2
MOV TH0,#56 ;设初始值
MOV TL0,#56
SETB TR0 ;启动定时器和中断
SETB ET0
SETB EA
主程序
MMAIN:JNB P2.0,MMAIN ;时钟主程序
MMAIN2:LCALL XIAN ;显示
LCALL CS ;按键秒清零
LCALL DAT ;是否显示年月日
LCALL DSQ ;定时器
LCALL T1T2 ;闹钟开关
CLR P2.6 ;按键有效
JNB P2.0,MENU1
SJMP MMAIN2
MENU1:JNB P2.0,$ ;时钟调整
SETB P1.0
MOV 3CH,30H ;将暂存的数转成字形 显示30H
MOV 3DH,31H ;将暂存的数转成字形 显示31H
MOV 3EH,#0ABH ;将暂存的数转成字形 显示" t"
CLR 07H ;显示小数点1
SETB 08H ;不显示小数点2
LCALL MXIAN ;显示菜单1
LCALL ADDM1 ;按键加一分钟
LCALL ADDH1 ;按键加一小时
LCALL DECMH ;减一分钟/一小时
CLR P2.6
JNB P2.0,MENU2
SJMP MENU1
MENU2:JNB P2.0,$ ;日期调整
SETB P1.0
MOV 3CH,39H ;将暂存的数转成字形 显示39H
MOV 3DH,3AH ;将暂存的数转成字形 显示3AH
MOV 3EH,3BH ;将暂存的数转成字形 显示3BH
CLR 07H ;显示小数点1
CLR 08H ;显示小数点2
LCALL MXIAN ;显示菜单2
LCALL DATEN ;年份+1
LCALL DATEM ;月份+1
LCALL DATED ;+1日
CLR P2.6
JNB P2.0,MENU3
SJMP MENU2
MENU3:JNB P2.0,$ ;闹钟1
SETB P1.0
MOV 3CH,35H ;将暂存的数转成字形 显示35H
MOV 3DH,36H ;将暂存的数转成字形 显示36H
MOV 3EH,#0A1H ;将暂存的数转成字形 显示" 1"
CLR 07H ;显示小数点1
SETB 08H ;不显示小数点2
LCALL MXIAN ;显示菜单3
LCALL T1M1 ;闹钟1分钟+1
LCALL T1H1 ;闹钟1小时+1
LCALL DECT1 ;闹钟1减1小时/1分钟
CLR P2.6
JNB P2.0,MENU4
SJMP MENU3
MENU4:JNB P2.0,$ ;闹钟2
SETB P1.0
MOV 3CH,37H ;将暂存的数转成字形 显示37H
MOV 3DH,38H ;将暂存的数转成字形 显示38H
MOV 3EH,#0A2H ;将暂存的数转成字形 显示" 2"
CLR 07H ;显示小数点1
SETB 08H ;不显示小数点2
LCALL MXIAN ;显示菜单4
LCALL T2M1 ;闹钟2分钟+1
LCALL T2H1 ;闹钟2小时+1
LCALL DECT2 ;闹钟减2小时/1分钟
CLR P2.6
JNB P2.0,MENU5
SJMP MENU4
MENU5:LJMP MMAIN
中断处理
GOTO:PUSH A ;保护现场
DJNZ R3,GOTO1
MOV R3,#50
DJNZ R4,GOTO1
MOV R4,#25
CPL 00H ;20H.0 用于秒闪烁
DJNZ R2,GOTO1
MOV R2,#02H ;配合定时器定时一秒
MOV A,32H ;秒位是否为59秒,是:秒清零,分钟+1,判断分钟...
CJNE A,#59H,M1 ;否:跳转到秒+1
MOV 32H,#00H
MOV A,31H ;分钟位同上
CJNE A,#59H,M2
MOV 31H,#00H
MOV A,30H ; 小时位同上
CJNE A,#23H,M3
MOV 30H,#00H
LCALL ADDD
SJMP GOTO1
M1:ADD A,#01 ;秒+1
DA A
MOV 32H,A
SJMP GOTO1
M2:ADD A,#01 ;分钟+1
DA A
MOV 31H,A
SJMP GOTO1
M3:ADD A,#01 ; 小时+1
DA A
MOV 30H,A
SJMP GOTO1
GOTO1:POP A ;恢复现场
RETI
时钟显示专用子程序
XIAN:MOV A,32H ;将暂存的数转成字形
SWAP A
MOV B,#10H
DIV AB
LCALL ZH
MOV P0,A ;LED显示秒位
MOV P2,#0FEH
LCALL DELAY
MOV A,B
LCALL ZH
MOV P0,A
MOV P2,#0FDH
LCALL DELAY
MOV A,31H ;将暂存的数转成字形
SWAP A
MOV B,#10H
DIV AB
LCALL ZH
MOV P0,A ;LED显示分钟位
MOV C,00H
MOV P0.7,C ;秒闪烁
MOV P2,#0FBH
LCALL DELAY
SETB P0.7 ; 取消显示小数点
MOV A,B
LCALL ZH
MOV P0,A
MOV P2,#0F7H
LCALL DELAY
MOV A,30H ;将暂存的数转成字形
SWAP A
MOV B,#10H
DIV AB
LCALL ZH
MOV P0,A ;LED显示小时位
CLR P0.7 ;显示小数点
MOV P2,#0EFH
LCALL DELAY
SETB P0.7 ;取消显示小数点
MOV A,B
LCALL ZH
MOV P0,A
MOV P2,#0DFH
LCALL DELAY
RET
DELAY:MOV R5,#0AH ;延时1mS(6MHz)
L1:MOV R6,#19H
L2:DJNZ R6,L2
DJNZ R5,L1
RET
ZH:MOV DPTR,#TAB ;字形转换
MOVC A,@A+DPTR
MOV P2,#0FFH ;消影
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;字形0~9
DB 0FFH,87H,0C8H,0A1H,86H,8EH ;字形 A=" ",B="t",C="n",F="F",-hsz
TAB2:DB 30H,31H,28H,31H,30H,31H,30H,31H,31H,30H,31H,30H,31H ;每个月的天数,平年
TAB3:DB 30H,31H,29H,31H,30H,31H,30H,31H,31H,30H,31H,30H,31H ;每个月的天数,闰年
显示子程序结束
菜单显示子程序
MXIAN:MOV A,3EH ;将暂存的数转成字形
SWAP A
MOV B,#10H
DIV AB
LCALL ZH
MOV P0,A ;LED显示5,6位
MOV P2,#0FEH
LCALL DELAY
MOV A,B
LCALL ZH
MOV P0,A
MOV P2,#0FDH
LCALL DELAY
MOV A,3DH ;将暂存的数转成字形
SWAP A
MOV B,#10H
DIV AB
LCALL ZH
MOV P0,A ;LED显示3,4位
MOV C,08H
MOV P0.7,C ;是否显示小数点2
MOV P2,#0FBH
LCALL DELAY
SETB P0.7 ; 取消显示小数点
MOV A,B
LCALL ZH
MOV P0,A
MOV P2,#0F7H
LCALL DELAY
MOV A,3CH ;将暂存的数转成字形
SWAP A
MOV B,#10H
DIV AB
LCALL ZH
MOV P0,A ;LED显示1,2位
MOV C,07H
MOV P0.7,C ;是否显示小数点1
MOV P2,#0EFH
LCALL DELAY
SETB P0.7 ; 取消显示小数点
MOV A,B
LCALL ZH
MOV P0,A
MOV P2,#0DFH
LCALL DELAY
RET
按键子程序开始
CS:MOV P0,#0FFH ;秒清零
MOV P2,#10111111B
JB P2.1,CS1
MOV 32H,#00H
CS1:SETB P2.6
RET
;-------------------------------------------------------------------
ADDM1:MOV P0,#0FFH ;加一分钟
MOV P2,#10111111B
JNB P2.2,ADDM11
CLR 03H ;按键2是否有效
ADDM11:JB 03H,ADDM12
JB P2.2,ADDM12
LCALL MXIAN ;这四个为去抖动
MOV P0,#0FFH
MOV P2,#10111111B
JB P2.2,ADDM12
SETB 03H ;按键2是否有效
SETB 09H ;时钟加减标致位
MOV A,31H ;分钟 +1
CJNE A,#59H,M21
MOV 31H,#00H
SJMP ADDM12
M21:ADD A,#01
DA A
MOV 31H,A
SJMP ADDM12
ADDM12:SETB P2.6
RET
;-------------------------------------------------------------------
ADDH1:MOV P0,#0FFH ;加一小时
MOV P2,#10111111B
JNB P2.3,ADDH11
CLR 04H ;按键3是否有效
ADDH11:JB 04H,ADDH12
JB P2.3,ADDH12
LCALL MXIAN ;这四个为去抖动
MOV P0,#0FFH
MOV P2,#10111111B
JB P2.3,ADDH12
SETB 04H ;按键3是否有效
CLR 09H ;时钟加减标致位
MOV A,30H ; 小时 +1
CJNE A,#23H,H31
MOV 30H,#00H
SJMP ADDH12
H31:ADD A,#01
DA A
MOV 30H,A
ADDH12:SETB P2.6
RET
;-------------------------------------------------------------------
DECMH:MOV P0,#0FFH ;减一分钟/一小时
MOV P2,#10111111B
JNB P2.1,DECM11
CLR 05H ;按键1是否有效
DECM11:JB 05H,DECM12
JB P2.1,DECM12
LCALL MXIAN ;这四个为去抖动
MOV P0,#0FFH
MOV P2,#10111111B
JB P2.1,DECM12
SETB 05H ;按键1是否有效
JNB 09H,DECMH3
MOV A,31H ;分钟 -1
CJNE A,#00H,DECMH4
MOV 31H,#59H
SJMP DECM12
DECMH4:LCALL DECA
MOV 31H,A
SJMP DECM12
DECMH3:MOV A,30H ;小时 -1
CJNE A,#00H,DECMH5
MOV 30H,#23H
SJMP DECM12
DECMH5:LCALL DECA
MOV 30H,A
DECM12:SETB P2.6
RET
十进制减法子程序
DECA:CJNE A,#10H,DECA1 ;运算范围为1~50
MOV A,#09H
RET
DECA1:CJNE A,#20H,DECA2
MOV A,#19H
RET
DECA2:CJNE A,#30H,DECA3
MOV A,#29H
RET
DECA3:CJNE A,#40H,DECA4
MOV A,#39H
RET
DECA4:CJNE A,#50H,DECA5
MOV A,#49H
RET
DECA5:DEC A
RET
闹钟按键子程序
T1M1:MOV P0,#0FFH ;闹钟1加一分钟
MOV P2,#10111111B
JNB P2.2,T1M11
CLR 03H ;按键2是否有效
T1M11:JB 03H,T1M12
JB P2.2,T1M12
LCALL MXIAN
展开阅读全文