课程设计宠物自动喂食机设计.docx
《课程设计宠物自动喂食机设计.docx》由会员分享,可在线阅读,更多相关《课程设计宠物自动喂食机设计.docx(38页珍藏版)》请在冰点文库上搜索。
课程设计宠物自动喂食机设计
课程设计宠物自动喂食机设计书
课程设计的目的:
1、掌握机电一体化系统的设计过程和方法,包括参数的选择、传动设计、零件计算、结构设计、计算机控制等培养系统分析及设计的能力。
2、综合应用过去所学的理论知识,提高联系实际和综合分析的能力,进一步巩固、加深和拓宽所学的知识。
3、训练和提高设计的基本技能,如计算,绘图,PLC运用设计资料、标准等。
设计要求:
1.设计内容包括:
总体设计,机械系统的设计与计算,计算机控制系统设计,编写设计计算说明书;
2.设计要求包括:
定时投放饲料,具有开机自检功能,可以设定开启关闭时间的长短,适应不同宠物食量的需要;
3.机械部分的设计:
零件图,装配示意图;
4.计算机控制的设计:
控制系统接口图一张;
5.控制装置采用直流减速电机驱动,MCS-51或单片机FX2N-PLC空制系统,软件环分,由键盘输入实现开环控制。
6.编写设计计算说明书1份。
(一)、主轴的设计
在宠物自动喂食机上采用直接由电机带动主轴旋转,控制料口的开启和关闭,由于电机选用的是具有自锁功能的直流减速电机,中间不采用减速装置,简化结构设计,使系统的结构尽量的紧凑。
所以直接用电机驱动主轴,省去中间的减速环节。
(二)、主轴材料的选择:
主轴的选用45钢,45钢的加工性能较为理想,材料的价格比较低廉,但是这是一种中碳钢,淬火性能并不好,45号钢可以淬硬至HRC42~46所以如果需要表面硬度,又希望发挥45钢优越的机械性能,常将45钢表面渗碳淬火,这样就能得到需要的表面硬度。
调质处理后零件具有良好的综合机械性能,广泛应用于各种重要的结构零件,特别是那些在交变负荷下工作的连杆、螺栓、齿轮及轴类等。
(三)、主轴加工方法的选择:
由于主轴是间歇回转类零件,不需要长时间的连续运转,所以加工的精度不需要很高,在普通的车床上既可以加工。
又因为主轴的外形相对简单,不需要经常的换刀,所以加工的时间教短<在加工主轴时,需要注意的是径向尺寸的控制,不过通过合理的安排加工工艺可以解决。
最后的端部的钻孔是需要控制空之间的距离,所以在单件试制的时候可以不用专用的夹具,在大量生产的时候需要安排专用的夹具,提高生产效率。
尤其需要注意的是孔中心的确定,因为是后续安装旋转件的,所以要控制中心的偏差。
(四)、主轴参数计算:
1.主轴尺寸的确定:
由设计题目中要求可知:
下料口的孔直径为5mm由《机械设
计手册》表6.2-3取主轴的直径为5mm;
1)估取主轴的长度和直径
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
(五)、轴上力的校合
66207.563.5
L丁「
1Fn1Fie
F」
iBllUnw
IWmnmrg
Fn3
\Fv—FrS
F直
F1
r
TiiilTunr
II)III)1I'M
IWlhinmTnr^-
1、精确校核轴的疲劳强度
1、判断危险截面
由于截面IV处受的载荷较大,直径较小,所以判断为危险截
面
2、截面IV右侧的
截面上的转切应力为「詁枷叱
bKm=rJ5.98=7.99MPa
22
由于轴选用40cr,调质处理,所以
B=735MPa,二」=386MPa,-=260MPa。
([2]P355表15-1)
a)综合系数的计算
由匚=2".045,D=1.6经直线插入,知道因轴肩而形成的理论应d55d
力集中为’=2.23,:
=1.81,
([2]P38附表3-2经直线插入)
轴的材料敏感系数为q;「二0.85,q二0.87,
([2]P37附图3-1)
故有效应力集中系数为
k;:
.Tq;„—1)=2.05
k广1q.G.-1)-1.70
查得尺寸系数为==0.72,扭转尺寸系数为;.二0.76,
([2]P37附图3-2)([2]P39附图3-3)
([2]P40附图3-4)
轴采用磨削加工,表面质量系数为..=-=0.92,
轴表面未经强化处理,即V",则综合系数值为
ki
K1=2.93
%咯
b)、碳钢系数的确定
碳钢的特性系数取为上=0.1,-=0.05
C)、安全系数的计算
轴的疲劳安全系数为
S=Ka:
5=24・66
故轴的选用安全
(六)、行程开关旋转件的设计
由示意图可知,两旋转件在旋转时有一个90度角的角度差,通过行程开关输出的信号的不同来分辨料口的开合处于什么样的
状态,然后通过单片机系统的处理,输出相应的信号,带动电机的旋转,来控制料口的开合。
料口的状态有完全关闭和完全打开两种状态,
(1)两行程开关都输出信号时,料口处于关闭状态,
(2)两行程开关有一个闭合输出信号时,料口处于完全打开状态
(七)、减速电动机的选择:
直流齿轮减速电动机由于其结构简单,性能可靠,故选择直流齿轮减速电动机。
ZGA25R-310式直流齿轮减速电动机产品数据:
ZGA25R-310使用电压:
DC6V转速:
20rpm外径:
25mm
总长:
51mm伸出轴长:
10mm扭力:
1-3KG
(八)、控制系统设计
1、系统方案设计构成
本系统包括机械部分和伺服电机控制两部分。
根据所给的要求,拟用开环控制结构设计方案,其开环系统结构原理如图1。
单片机光电耦合驱动执行机构
具体原理:
编写单片机指令,通过扫描键盘输入的数字记录
需要转动的角度,然后计算需要输出的脉冲,用软件的方法实现脉冲的输出,然后由光电耦合电路减小外部的干扰,由功率放大电路实现功率的放大,然后接减速电动机,通过联轴器把力矩传到主轴。
带动料口的开关。
2、单片机的选用
本设计选用ATS9S51芯片,片内无R0威者EPROM使用时必须配置外部的程序存储器EPROM本设计选用了2764扩展其空间,8031的引脚分3大功能:
(1)I/O口线
P0,P1,P2,P3共4个八位口
(2)控制口线
PSEN片外取指控制)、ALE(地址锁存控制)、EA(片外存储
器选择)、RESE(T复位控制)。
(3)电源和时钟。
ATS9S51最小应用系统。
ATS9S51内部不带ROM需要外接
EPRO作为外部程序存储器。
又因为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的下降沿锁存到地址锁存器中,此时外部程序存储器宣统信号线PSENH现低电平,选通相应的外部。
EPRO存储器;相应的指令字节出现在EPROMS数据线(00~07上,输入到P0口,CPU将指令字节读入指令寄存器。
(九)、程序编写
程序设计:
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:
MOVSP,#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"为分钟
SETB0AH;
闹钟1加减标致位"0"为小
时,"1"为分钟
SETB0BH;
闹钟2加减标致位"0"为小
时,"1"为分钟
MOV
R2,#2;
设定时次数
MOV
R3,#50
MOV
R4,#25
MOV
TMOD,#02H;
设定时器0工作方式为方式
MOV
TH0,#56;
设初始值
MOV
TL0,#56
SETB
TR0;
启动定时器和中断
SETB
ET0
SETB
EA
主程序
MMAIN:
JNBP2.0,MMAIN;
时钟主程序
MMAIN2:
LCALLXIAN;
显示
LCALL
CS;
按键秒清零
LCALL
DAT;
是否显示年月日
LCALL
DSQ;
定时器
LCALL
T1T2;
闹钟开关
CLR
P2.6;
按键有效
JNB
P2.0,MENU1
SJMP
MMAIN2
MENU1:
JNBP2.0,$;时钟调整
SETB
P1.0
显示30H
MOV
3CH,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:
JNBP2.0,$;
日期调整
SETB
P1.0
显示39H
MOV
3CH,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:
JNBP2.0,$;
闹钟1
SETB
P1.0
显示35H
MOV
3CH,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
SJMPMENU3
MENU4:
JNBP2.0,$;
闹钟2
SETB
P1.0
显示37H
MOV
3CH,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:
LJMPMMAIN
中断处理
GOTO:
PUSHA;保护现场
DJNZR3,GOTO1
MOVR3,#50
DJNZ
R4,GOTO1
MOV
R4,#25
CPL
00H;20H.0
用于秒闪烁
DJNZ
R2,GOTO1
MOV
R2,#02H;
配合定时器定时一秒
MOVA,32H;分钟+1,判断分钟...
CJNEA,#59H,M1+1
MOV32H,#00H
MOVA,31H;
CJNEA,#59H,M2
MOV31H,#00H
MOVA,30H;
CJNEA,#23H,M3
MOV30H,#00H
秒位是否为59秒,是:
秒清零,
;否:
跳转到秒
分钟位同上
小时位同上
LCALLADDD
SJMPGOTO1
M1:
ADDA,#01;秒+1
DAA
MOV32H,A
SJMPGOTO1
M2:
ADDA,#01;分钟+1
DAA
MOV31H,A
SJMPGOTO1
M3:
ADDA,#01;小时+1
DAA
MOV30H,A
SJMPGOTO1
GOTO1:
POPA;恢复现场
RETI
时钟显示专用子程序
XIAN:
MOVA,32H;将暂存的数转成字形
SWAPA
MOVB,#10H
DIVAB
LCALLZH
MOV
P0,A;LED
显示秒位
MOV
P2,#0FEH
LCALL
DELAY
MOV
A,B
LCALL
ZH
MOV
P0,A
MOV
P2,#0FDH
LCALL
DELAY
MOVA,31H;将暂存的数转成字形
SWAPA
MOV
B,#10H
DIV
AB
LCALL
ZH
MOV
P0,A;LED
显示分钟位
MOV
C,00H
MOV
P0.7,C;
秒闪烁
MOVP2,#0FBH
LCALL
DELAY
SETB
P0.7;
取消显示小数点
MOV
A,B
LCALL
ZH
MOV
P0,A
MOV
P2,#0F7H
LCALL
DELAY
MOVA,30H;将暂存的数转成字形
SWAPA
MOV
B,#10H
DIVAB
LCALL
ZH
MOV
P0,A;LED
显示小时位
CLR
P0.7;
显示小数点
MOV
P2,#0EFH
LCALL
DELAY
SETB
P0.7;
取消显示小数点
MOV
A,B
LCALL
ZH
MOVPPA
MOVp2tt0DFH
LCALLDELAY
RET
DELAYNOVR5tt0AH-Mt卑1ms(6MHZ)
L1NOVR6tt19H
LZDJNZRPL2
DJNZR5匚
RET
ZHNOVDPTRttTAB-也潼>洁
MOVCA@A+DPTR
MOVp2tt0FFH-羔製
RET
TABLB
0C0H0F9H0A4H0B0H09H02HOO2H0F8HOO0H00H-也潼0〜9DB0FFHOO7H0C8H0A1HOO6HOOEH-也潼=BH"=cln=FlF=—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:
MOVA,3EH;将暂存的数转成字形
SWAPA
MOVB,#10H
DIVAB
LCALLZH
MOVP0,A;LED显示5,6位
MOVP2,#0FEH
LCALLDELAY
MOVA,B
LCALLZH
MOVP0,A
MOVP2,#0FDH
LCALLDELAY
MOVA,3DH;
SWAPA
MOVB,#10H
DIVAB
LCALLZH
MOVP0,A;LED
MOVC,08H
MOVP0.7,C;
MOVP2,#0FBHLCALLDELAYSETBP0.7;
MOVA,B
LCALLZH
MOVP0,A
MOVP2,#0F7HLCALLDELAY
MOVA,3CH;
SWAPA
将暂存的数转成字形
显示3,4位
是否显示小数点2
取消显示小数点
将暂存的数转成字形
MOVB,#10H
DIV
B
LCALL
ZH
MOV
P0,A;LED
显示1,2位
MOV
C,07H
MOV
P0.7,C;
是否显示小数点1
MOV
P2,#0EFH
LCALL
DELAY
SETB
P0.7;
取消显示小数点
MOVA,B
LCALLZH
MOVP0,A
MOVP2,#0DFH
LCALLDELAY
RET
按键子程序开始
CS:
MOV
P0,#0FFH;
秒清零
MOV
P2,#10111111B
JBP2.1,CS1
MOV32H,#00H
CS1:
SETBP2.6
RET
ADDM1:
MOVP0,#0FFH;加一分钟
MOVP2,#10111111B
JNBP2.2,ADDM11
CLR03H;按键2是否有效
ADDM11:
JB03H,ADDM12
JBP2.2,ADDM12
LCALLMXIAN;这四个为去抖动
MOVP0,#0FFH
MOVP2,#10111111B
JBP2.2,ADDM12
SETB03H;按键2是否有效
SETB09H;时钟加减标致位
MOVA,31H;分钟+1
CJNEA,#59H,M21
MOV31H,#00H
SJMPADDM12
M21:
ADDA,#01
DAA
MOV31H,A
SJMPADDM12
ADDM12:
SETBP2.6
RET
ADDH1:
MOVP0,#0FFH
MOVP2,#10111111B
;加一小时
JNB
P2.3,ADDH11
CLR
04H;
按键3是否有效
ADDH11:
JB04H,ADDH12
JB
P2.3,ADDH12
LCALLMXIAN;
这四个为去抖动
MOV
P0,#0FFH
MOV
P2,#10111111B
JB
P2.3,ADDH12
SETB
04H;
按键3是否有效
CLR
09H;
时钟加减标致位
MOV
A,30H;
小时+1
CJNE
A,#23H,H31
MOV30H,#00H
SJMPADDH12
H31:
ADDA,#01
DAA
MOV30H,A
ADDH12:
SETBP2.6
RET
DECMH:
MOVP0,#0FFH;减一分钟/一小时
MOV
P2,#10111111B
JNB
P2.1,DECM11
CLR
05H;
按键1是否有效
DECM11:
JB05H,DECM12
JB
P2.1,DECM12
LCALLMXIAN;
这四个为去抖动
MOV
P0,#0FFH
MOV
P2