1、设计小结.33参考文献.34 薄窗帘属于智能窗帘,能够根据光照的强度,调节窗帘的自动升降。一、薄窗帘传动示意图:二、工作原理:1、由于光照强度的不同,光敏电阻的阻值发生变化;2、光敏电阻输出不同的电压,通过A/D转换器将模拟信号转化成数字信号;3、将数字信号输入单片机(mega16),通过单片机内部程序,控制L298电机驱动板与74LS595显示驱动板;4、电动机驱动板,控制电动机正反转起停,从而实现根据光的强弱不同完成自动升降与数码管的显示;1三、执行机构选定:1、 连接装置方案一:键连接 由于键连接在细轴上不宜加工,费用高,所以不适合;方案二:过盈配合连接 由于过盈配合不宜拆装,所以不适合
2、;方案三:销连接 由于容易加工,费用低,拆装方便,所以适合:实物如图2、 传动装置摩擦传动由于摩擦阻力大,对加工表面粗糙度要求高,易磨损,所以不适合;滑动轴承 由于滑动轴承摩擦力较滚动轴承大,润滑维护较滚动轴承复杂,所以不适合;2滚动轴承 由于启动阻力小,润滑维护方便,在市场上容易买到,所以适合;四、电动机的选择 原始数据窗帘高度h(m)窗帘质量m(kg)滚筒直径D(mm)上升速度V(m/s) 1 35 0.031、确定电动机转速 卷筒工作转速 nw=60*1000V/D =60*1000*0.03/3.14*35=16.4 r/min2、电动机容量选择: 工作所需Pw =FV =mgV =1
3、*9.8*0.03 =0.294w m 窗帘重量 V 窗帘上升速度 电动机输出功率Pd3考虑滚动轴承的功率损耗,电动机的输出功率为 Pd=Pw/aa为从电动机到工作机主动轴之间的总效率,即 a=12 1为滚动轴承的传动效率0.98 Pd=FV/a =mgv/a =1*9.8*0.03/0.982 =0.31w根据计算得到的数据选电动机型号:37JB555 电动机数据:型号:电压:DC12V空载转速: 20r/min负载转速:16r/min输出扭矩:23kg.cm输出功率:4.8w重量:0.35kg外形尺寸:4五、轴的设计计算1、轴上的功率P,转速n和转矩TP1= Pd*1 =4.8*0.98
4、=4.7 wnw= n=16r/minT=9.55*103* P1/ nw =9.55*103*4.7*10-3/16 =2.8 Nm 2、卷筒受力分析F薄窗帘和卷筒的总重力约为15 N5根据简明机械零件设计手册初选0基本游隙组,标准精度等级的单列深沟球轴承6002,基本尺寸为d*D*B=15mm*25mm*10mm3、轴的结构设计:轴的材料选择聚甲醛1段和5段要安装轴承,根据轴承的基本数据d*D*B=15mm*25mm*10mm,则取d1=15mmd5=15mm,L1= L5=12 mm ;3段为薄窗帘位置,d3=35 mm,L3=958 mm62 1段与三段之间和3段与5段之间为轴肩,取该
5、段d=30 mm,L=10 mm ;3 确定轴上圆角和倒角尺寸取轴端倒角为2*45度,轴肩处的倒角可按R1.6R2适当选取4、求轴上的载荷(6002型的B=10 mm,所以两轴承之间支点的距离为988 mm)载荷垂直面 V支反力FNV1=7.5NFNV2=7.5N弯矩MV=3705Nmm总弯矩M= MV=3705N扭矩T =1660 N5、按弯扭合成应力校核轴的强度 根据图可知中间点截面为危险截面,轴的计算应力为 ca=M/W=3705/0.1*353=0.86MPa. 前已选定轴的材料为聚甲醛,由机械设计计算手册查的-1=69MPa,caLh=175200h故合格.七、轴承端盖与轴承支座。如
6、图所示:8八、螺栓及连接件的选择与校核1、螺栓将塑料的轴承支座固定顶板上,由于需要的螺栓比较细,粗选螺栓直径d=4mm,螺栓选用材料Q235,性能等级为3.6,B=300 MPa . 螺栓的预紧力F0=2100N,螺栓的相对刚度Cb/(Cb+Cn)=0.3,螺栓所受拉力F=30N。计算螺栓的总拉力F2=F0+ Cb*F/(Cb+Cn)=2100+0.3*30=2109N校核螺栓直径d=(4*1.3 F2/B)1/2 =(4*1.3*2109/3.14/300)1/2=3.4mm=4mm故合格92、塑料轴承支座较薄,容易产生塑性变形,故需要校核。轴承支座的强度取=140MPa.螺帽的D=6mm,
7、螺栓的d=4mm.校核连接件强度ca=F2/(*D2/4 +*d2/4)= 2109/(3.14*362/4 +3.14*42/4)=134.3MPa=140 MPa故合格。九、薄窗帘电路图十、电学原件引脚的功能及使用方法1、74LS595显示驱动板各个引脚的功能:10Q17 是并行数据输出口,即储寄存器的数据输出口Q7 串行输出口,其应该接SPI总线的MISO接口STcp 存储寄存器的时钟脉冲输入口SHcp 移位寄存器的时钟脉冲输入口OE低电平有效 输出使能端MR低电平有效 芯片复位端Ds 串行数据输入端2、ATmega16 的引脚功能及使用方法11引脚说明VCC 数字电路的电源GND 地端
8、口A(PA7.PA0) 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7.PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊功能端口C(PC7.PC0) 端口C 为8 位双向I/O
9、 口,具有可编程的内部上拉电阻。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能端口D(PD7.PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。门限时间见P36Table 15。持续
10、时间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D 的模拟基准输入引脚。122、 L298电机驱动板各个引脚的功能:L298有Mutiwatt15和PowerSO20两种封装 MW.15的1、15和PowerSO的2、19用法一样,SEN1、SEN2分别为两个H桥的电流反馈脚,不用时可以直接接地(MW.15)2、3=(PowerSO)4、5,1Y1、1Y2输出端,与
11、对淙攵耍?A1与1Y1)同逻辑4=6,VS驱动电压,最小值须比输入的低电平电压高2.5v 5、7=7、9,1A1、1A2输入端,TTL电平兼容 6、11=8、14,1EN、2EN使能端,低电平禁止输出 8=1、10、11、20,GND地9=12,Vss逻辑电源,4.5-7V 10、12=13、15,2A1、2A2 输入端,TTL电平兼容 13、14=16、17,2Y1、2Y2 输出端 3、18,NC,无连接13十一、程序流程图十二、ATmega16单片机程序#include macros.h#include 595.hunsigned char cs=0,num_1=0,num_2=0,num
12、_3=0,num_4=0;unsigned int AD_value=0,NUM_1=0,NUM_2=0,NUM_3=0;unsigned char AD4=0;char t=0;int T=0;int AD_compare=0;/*函数名称: port_init功 能: 端口初始化/*/void port_init(void) PORTA = 0x00;14 DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; /m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0x00; timer0
13、_init 定时器0初始化/TIMER0 initialize - prescale:64/ WGM: Normal/ desired value: 1KHz/ actual value: 1.003KHz (0.3%)void timer0_init(void) TCCR0 = 0x00; /stop TCNT0 = 0x45; /set count OCR0 = 0xbb; /set compare TCCR0 = 0x03; /start timer timer0_ovf_isr 定时器0溢出中断#pragma interrupt_handler timer0_ovf_isr:void
14、timer0_ovf_isr(void) /reload counter value t+; if(t=55) t=0; if(TAD_compare) PORTA=0X14;15 T-; if(T=AD_compare) PORTA=0X00; cs+; if(cs=1) /进行第一个数码管的显示 write595(tab_numnum_4) ; PORTB = CS0; if(cs=2) /进行第二个数码管的显示 write595(tab_numnum_3) ; PORTB = CS1; if(cs=3) /进行第三个数码管的显示 write595(tab_numnum_2) ; PORT
15、B = CS2; if(cs=4) /进行第四个数码管的显示 write595(tab_numnum_1) ; PORTB = CS3; cs = 0;/片选标志位清零 adc_init AD初始化/ADC initialize/ Conversion time: 138uSvoid adc_init(void) ADCSR = 0x00; /disable adc ADMUX = 0x40; /select adc input port ACSR = 0x80;16 ADCSR = 0xef; adc_isr#pragma interrupt_handler adc_isr:void adc
16、_isr(void) AD_value=ADCL; /先读取低八位 AD_value|=(int)ADCH 999) AD_value=999; num_1 = (AD_value/1000); /取出AD转换的千位 NUM_1 = num_1*1000; num_2 =(AD_value-NUM_1)/100); /取出AD转换的百位 NUM_2=num_2*100; num_3=(AD_value-NUM_1-NUM_2)/10); /取出AD转换的十位 NUM_3=num_3*10; num_4=(AD_value-NUM_1-NUM_2-NUM_3); /取出AD转换的个位 AD_co
17、mpare=NUM_2; AD_value=999-AD_value; init_devicesvoid init_devices(void) /stop errant interrupts until set up CLI(); /disable all interrupts port_init(); timer0_init(); adc_init();MCUCR = 0x00; GICR = 0x00; TIMSK = 0x01; /timer interrupt sources SEI(); /re-enable interrupts17void delay(void)int a =0,
18、b=0;for(a=0;a30000;a+)for(b=0;b90;b+); main()void main(void) init_devices();/设备初始化 DDRA = 0X04; /将PA口作为输入 DDRD = 0Xff; /将PD口作为输出,用作数码管的显示 DDRB = 0Xff; /将PB口作为输出,用作数码管的显示 T=0; while(1) #define uint unsigned int #define uchar unsigned char #define SET_DATA() PORTD |=(14);DDRD |= (1#define SET_SH_CP()
19、PORTD |=(16);#define SET_ST_CP() PORTD |=(15);#define CLR_DATA() PORTD &=(1#define CLR_SH_CP() PORTD define CLR_ST_CP() PORTD &18unsigned char tab_num12 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x80;/0,1,2,3,4,5,6,7,8,9,.,unsigned char CS4 = 0b00011010,0b00011001,0b00010011,0b00001011;/分别为选通四个不同的数码管void write595(unsigned char c) uchar num,i=0,j=0;for(j=0;j9;j+) num=c; for(i=0;i8;i+) CLR_SH_CP(); if(num&0x80) SET_DATA() else
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1