资源描述
摘 要
本次设计宠物自动喂食机基本功能和设计思路,依照给定规定动作顺序,综合运用所学基本理论、基本知识和有关机械设计专业知识,完毕宠物自动喂食机理论方案创新设计,并绘制必要零部件图,其中涉及装置原理方案构思和拟定;原理方案实现、传动方案设计,重要构造设计简图;设计计算与阐明。
宠物自动喂食机设计规定:定期投放饲料,具备开机自检功能,可以设定启动关闭时间长短,适应不同宠物食量需要,使用电动机驱动,其电源应为安全电源。
宠物自动喂食机设计重要技术核心问题为:饲料定期投放,料口开合角度拟定,定期长短设计,时间设定模块组合。
核心字:单片机 设计计算 定期 机构
摘 要 I
1主轴设计 1
1.1主轴材料选取: 1
1.2主轴加工办法选取: 1
2主轴参数计算: 2
2.1主轴尺寸拟定: 2
2.1.1估取主轴长度和直径: 2
2.1.2依照轴向定位规定拟定轴各段长度 2
2.2轴上力校合 3
2.3精准校核轴疲劳强度 3
2.3.1判断危险截面 3
2.3.2截面IV右侧 3
3行程开关旋转件设计 5
4减速电动机选取: 5
5控制系统设计 6
5.1系统方案设计构成 6
5.2单片机选用 6
5.2.1 I/O口线 6
5.2.2 控制口线 7
5.2.3 电源和时钟 7
6程序编写 8
6.1连线图: 8
6.2程序设计: 8
7设计心得 28
参照文献 29
1主轴设计
在宠物自动喂食机上采用直接由电机带动主轴旋转,控制料口启动和关闭,由于电机选用是具备自锁功能直流减速电机,中间不采用减速装置,简化构造设计,使系统构造尽量紧凑。因此直接用电机驱动主轴,省去中间减速环节。
1.1主轴材料选取:
主轴选用45钢,45钢加工性能较为抱负,材料价格比较低廉,但是这是一种中碳钢,淬火性能并不好, 45号钢可以淬硬至HRC42~46。因此如果需要表面硬度,又但愿发挥45钢优越机械性能,常将45钢表面渗碳淬火,这样就能得到需要表面硬度。调质解决后零件具备良好综合机械性能,广泛应用于各种重要构造零件,特别是那些在交变负荷下工作连杆、螺栓、齿轮及轴类等。
1.2主轴加工办法选取:
由于主轴是间歇回转类零件,不需要长时间持续运转,因此加工精度不需要很高,在普通车床上既可以加工。又由于主轴外形相对简朴,不需要经常换刀,因此加工时间教短。在加工主轴时,需要注意是径向尺寸控制,但是通过合理安排加工工艺可以解决。最后端部钻孔是需要控制空之间距离,因此在单件试制时候可以不用专用夹具,在大量生产时候需要安排专用夹具,提高生产效率。特别需要注意是孔中心拟定,由于是后续安装旋转件,因此要控制中心偏差。
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段为过度段,直径为16mm。
5) 5-6段安装旋转件,直径为40mm。
2.1.2依照轴向定位规定拟定轴各段长度
1) 1-2段为安装联轴器为30mm
2) 2-3段为安装活动挡片长度为60mm。
3) 3-4段为为分隔长度为10mm
4) 4-5段用于安装旋转件长度为6mm。
5) 5-6段安装旋转件长度为10
2.2轴上力校合
66 207.5 63.5
图2-2 轴上力校合
2.3精准校核轴疲劳强度
2.3.1判断危险截面
由于截面IV处受载荷较大,直径较小,因此判断为危险截面
2.3.2截面IV右侧
截面上转切应力为
由于轴选用40cr,调质解决,因此
,,。
([2]P355表15-1)
综合系数计算
由,经直线插入,懂得因轴肩而形成理论应力集中为,,
([2]P38附表3-2经直线插入)
轴材料敏感系数为,,
([2]P37附图3-1)
故有效应力集中系数为
查得尺寸系数为,扭转尺寸系数为,
([2]P37附图3-2)([2]P39附图3-3)
轴采用磨削加工,表面质量系数为,
([2]P40附图3-4)
轴表面未经强化解决,即,则综合系数值为
a) 碳钢系数拟定
碳钢特性系数取为,
b) 安全系数计算
轴疲劳安全系数为
故轴选用安全。
3行程开关旋转件设计
图3-1 行程开关旋转件
由示意图可知,两旋转件在旋转时有一种90度角角度差,通过行程开关输出信号不同来辨别料口开合处在什么样状态,然后通过单片机系统解决,输出相应信号,带动电机旋转,来控制料口开合。料口状态有完全关闭和完全打开两种状态,(1)两行程开关都输出信号时,料口处在关闭状态,(2)两行程开关有一种闭合输出信号时,料口处在完全打开状态。
4减速电动机选取:
直流齿轮减速电动机由于其构造简朴,性能可靠,故选取直流齿轮减速电动机。
ZGA25R-310式直流齿轮减速电动机产品数据:
ZGA25R-310使用电压:DC-6V
转速: 20rpm
外径:25mm
总长:51mm
伸出轴长:10mm
扭力:1-3KG
5控制系统设计
5.1系统方案设计构成
本系统涉及机械某些和伺服电机控制两某些。依照所给规定,拟用开环控制构造设计方案,其开环系统构造原理如下:
图5-1 开环系统构造原理图
详细原理:编写单片机指令,通过扫描键盘输入数字记录需要转动角度,然后计算需要输出脉冲,用软件办法实现脉冲输出,然后由光电耦合电路减小外部干扰,由功率放大电路实现功率放大,然后接减速电动机,通过联轴器把力矩传到主轴。带动料口开关。
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最小应用系统。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将指令字节读入指令寄存器。
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 ;存储小时,设初值
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 ;这四个为去抖动
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
展开阅读全文