1、摘 要本次设计宠物自动喂食机基本功能和设计思路,依照给定规定动作顺序,综合运用所学基本理论、基本知识和有关机械设计专业知识,完毕宠物自动喂食机理论方案创新设计,并绘制必要零部件图,其中涉及装置原理方案构思和拟定;原理方案实现、传动方案设计,重要构造设计简图;设计计算与阐明。 宠物自动喂食机设计规定:定期投放饲料,具备开机自检功能,可以设定启动关闭时间长短,适应不同宠物食量需要,使用电动机驱动,其电源应为安全电源。宠物自动喂食机设计重要技术核心问题为:饲料定期投放,料口开合角度拟定,定期长短设计,时间设定模块组合。核心字:单片机 设计计算 定期 机构摘 要I1主轴设计11.1主轴材料选取:11.
2、2主轴加工办法选取:12主轴参数计算:22.1主轴尺寸拟定:22.1.1估取主轴长度和直径:22.1.2依照轴向定位规定拟定轴各段长度22.2轴上力校合32.3精准校核轴疲劳强度32.3.1判断危险截面32.3.2截面IV右侧33行程开关旋转件设计54减速电动机选取:55控制系统设计65.1系统方案设计构成65.2单片机选用65.2.1 I/O口线65.2.2 控制口线75.2.3 电源和时钟76程序编写86.1连线图:86.2程序设计:87设计心得28参照文献291主轴设计在宠物自动喂食机上采用直接由电机带动主轴旋转,控制料口启动和关闭,由于电机选用是具备自锁功能直流减速电机,中间不采用减速
3、装置,简化构造设计,使系统构造尽量紧凑。因此直接用电机驱动主轴,省去中间减速环节。1.1主轴材料选取:主轴选用45钢,45钢加工性能较为抱负,材料价格比较低廉,但是这是一种中碳钢,淬火性能并不好, 45号钢可以淬硬至HRC4246。因此如果需要表面硬度,又但愿发挥45钢优越机械性能,常将45钢表面渗碳淬火,这样就能得到需要表面硬度。调质解决后零件具备良好综合机械性能,广泛应用于各种重要构造零件,特别是那些在交变负荷下工作连杆、螺栓、齿轮及轴类等。1.2主轴加工办法选取:由于主轴是间歇回转类零件,不需要长时间持续运转,因此加工精度不需要很高,在普通车床上既可以加工。又由于主轴外形相对简朴,不需要
4、经常换刀,因此加工时间教短。在加工主轴时,需要注意是径向尺寸控制,但是通过合理安排加工工艺可以解决。最后端部钻孔是需要控制空之间距离,因此在单件试制时候可以不用专用夹具,在大量生产时候需要安排专用夹具,提高生产效率。特别需要注意是孔中心拟定,由于是后续安装旋转件,因此要控制中心偏差。2主轴参数计算:2.1主轴尺寸拟定:由设计题目中规定可知:下料口孔直径为5mm.由机械设计手册表6.2-3取主轴直径为5mm;2.1.1估取主轴长度和直径: 图2-1轴长度和直径1) 1-2段轴用于安装联轴器,故取直径为5mm。2) 2-3段安装活动挡片,直径5mm。3) 3-4段分隔段,直径为5mm。4) 4-5
5、段为过度段,直径为16mm。5) 5-6段安装旋转件,直径为40mm。2.1.2依照轴向定位规定拟定轴各段长度1) 1-2段为安装联轴器为30mm2) 2-3段为安装活动挡片长度为60mm。3) 3-4段为为分隔长度为10mm4) 4-5段用于安装旋转件长度为6mm。5) 5-6段安装旋转件长度为102.2轴上力校合 66 207.5 63.5 图2-2 轴上力校合2.3精准校核轴疲劳强度2.3.1判断危险截面 由于截面IV处受载荷较大,直径较小,因此判断为危险截面2.3.2截面IV右侧 截面上转切应力为由于轴选用40cr,调质解决,因此,。(2P355表15-1)综合系数计算由,经直线插入,
6、懂得因轴肩而形成理论应力集中为,(2P38附表3-2经直线插入)轴材料敏感系数为,(2P37附图3-1)故有效应力集中系数为查得尺寸系数为,扭转尺寸系数为,(2P37附图3-2)(2P39附图3-3)轴采用磨削加工,表面质量系数为,(2P40附图3-4)轴表面未经强化解决,即,则综合系数值为a) 碳钢系数拟定碳钢特性系数取为,b) 安全系数计算轴疲劳安全系数为故轴选用安全。3行程开关旋转件设计 图3-1 行程开关旋转件由示意图可知,两旋转件在旋转时有一种90度角角度差,通过行程开关输出信号不同来辨别料口开合处在什么样状态,然后通过单片机系统解决,输出相应信号,带动电机旋转,来控制料口开合。料口
7、状态有完全关闭和完全打开两种状态,(1)两行程开关都输出信号时,料口处在关闭状态,(2)两行程开关有一种闭合输出信号时,料口处在完全打开状态。4减速电动机选取:直流齿轮减速电动机由于其构造简朴,性能可靠,故选取直流齿轮减速电动机。ZGA25R-310式直流齿轮减速电动机产品数据:ZGA25R-310使用电压:DC-6V转速: 20rpm外径:25mm总长:51mm伸出轴长:10mm扭力:1-3KG5控制系统设计5.1系统方案设计构成本系统涉及机械某些和伺服电机控制两某些。依照所给规定,拟用开环控制构造设计方案,其开环系统构造原理如下: 图5-1 开环系统构造原理图详细原理:编写单片机指令,通过
8、扫描键盘输入数字记录需要转动角度,然后计算需要输出脉冲,用软件办法实现脉冲输出,然后由光电耦合电路减小外部干扰,由功率放大电路实现功率放大,然后接减速电动机,通过联轴器把力矩传到主轴。带动料口开关。5.2单片机选用本设计选用ATS9S51芯片,片内无ROM或者EPROM,使用时必要配备外部程序存储器EPROM。本设计选用了2764扩展其空间,8031引脚分3大功能:5.2.1 I/O口线P0,P1,P2,P3共4个八位口。5.2.2 控制口线PSEN(片外取指控制)、ALE(地址锁存控制)、EA(片外存储器选取)、RESET(复位控制)。5.2.3 电源和时钟ATS9S51最小应用系统。ATS
9、9S51内部不带ROM,需要外接EPROM作为外部程序存储器。又由于8031在外接程序存储器或数据存储器时地址低8位信息和数据信息分时送出,故还需要采用一片74LS373来锁存低8为地址信息。这样,一片2764EPROM和一片74LS373构成了一种最小计算机应用系统。如图MCS-51程序存储器空间与数据存储器空间是互相独立。顾客可最多扩展到64kb程序存储器几64kb数据存储器,编址为0000HFFFFH。片内8kb单元地址规定地址线13根(A0A12)。它由P0和P2.0P2.4 构成。地址锁存器锁存信号为ALE。程序存储器取地址消耗为PSEN。由于程序存储器芯片只有一片,因此其片选端(3
10、1)直接接地。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浮现低电平,选通相应外部。
11、EPROM存储器;相应指令字节出当前EPROM数据线(O0O7)上,输入到P0口,CPU将指令字节读入指令寄存器。6程序编写6.1连线图: 图6-1 连线图6.2程序设计:单片机: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
12、;存储小时,设初值 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
13、;秒闪烁暂存 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
14、;设定期次数 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
15、,$ ;时钟调节 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 ;
16、将暂存数转成字形 显示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 MO
17、V 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
18、 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
19、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 3
20、0H,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 ;秒闪烁
21、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
22、 ;延时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 ;字形09 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 ;每月天数,平年 TA
23、B3: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
24、;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
25、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 P
26、2.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 ;这四个为去抖
27、动 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.
28、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
29、30H,A DECM12:SETB P2.6 RET 十进制减法子程序 DECA:CJNE A,#10H,DECA1 ;运算范畴为150 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,#1
30、0111111B JNB P2.2,T1M11 CLR 03H ;按键2与否有效 T1M11:JB 03H,T1M12 JB P2.2,T1M12 LCALL MXIAN ;这四个为去抖动 MOV P0,#0FFH MOV P2,#10111111B JB P2.2,T1M12 SETB 03H ;按键2与否有效 SETB 0AH ;时钟加减标致位 MOV A,36H ;分钟 +1 CJNE A,#59H,T1M13 MOV 36H,#00H SJMP T1M12 T1M13:ADD A,#01 DA A MOV 36H,A T1M12:SETB P2.6 RET - T1H1:MOV P0,#0FFH ;闹钟1加一小时 MOV P2,#10111111B