《定时插座设计与制作》由会员分享,可在线阅读,更多相关《定时插座设计与制作(15页珍藏版)》请在金锄头文库上搜索。
1、低成本多路程控定时插座设计与制作班级:电科 0802 学号:200822340210 姓名:吕晨冉一、 前言早上起来再也不用让单调的闹钟叫醒啦,让音响放一首动听的歌曲把磕睡虫赶跑吧;天冷的时候电热水器乖乖的帮您准备好了热水洗脸 ;面包机里昨晚放进去的材料,早上也变成了香喷喷的面包了,没热水冲牛奶?呵呵,那懂事的饮水机总是在需要喝的时候提前煮好了哦。上班用的电动自行车的早已充满了电并定时断了,电源不至于过充哦!中午回到家里,一股冷空气扑面而来,原来是家里的空调偷偷的转了起来;电饭锅里飘出了淡淡的米饭香气,呵呵,吃完别忘了再洗点米准备好下午的晚饭哦;哎呀,早上充电给手机电池忘了拔出来啦,幸好咱们的
2、智能插座可没忘记呢;午睡再也不用担心门铃骚扰啦,让那些乱按门铃的人傻笑去吧!晚上下班,不再担心黑灯瞎火咯, “超级管家” 已经帮你开好了夜灯;吃完饭又可以洗个热水澡啦;另外每天给鱼缸里可爱的小金鱼定时的打点氧气也是它必不可少的工作哦!现在我们已经可以用已学的单片机有关知识进行设计实现以上功能了。二、 课程设计要求 1、利用单片机设计一定时开关,在 24 小时内的时间里能预先设定定时范围,每天周而复始地控制用电器具的自动开启和关闭。2、要求最少能独立控制两路 220V/10A 的交流负载。3、产品的成本应尽量低,不能超过 35 元。4、产品的功能应尽量多,最少应具有时间显示和校正、定时显示和设置
3、等功能。5、产品的质量应可靠、安全。具体性能指标如下:供电电源:220V 50Hz使用环境温度:-10 至 40 度功率消耗:10A定时范围:1 分钟至 23 小时 59 分任意设定最小设定单位:1 分钟最小设定间隙:1 分钟定时精度:1 分钟可定时次数:不少于 1 次工作方式:连续工作制三、 课程设计内容根据要求自行设计方案并编写程序完成以下任务:1、设计并制作低成本高可靠性的电源供电电路,电压:5V ,电流:200mA.2、设计并制作单片机控制电路,要求能够显示时间、通过按键修改时间和设置定时。3、设计并制作输出控制电路,要求能控制两路以上的 220V/10A 的插座。4、编写产品使用说明
4、书。四、 课程设计步骤(一)为实现要求所需功能,选取元件,设计电路并用仿真软件进行仿真,观察是否能达到定时功能。1、根据设计要求画出流程图:重要部分的文字说明:(1) 、电源部分利用电路将 220V 转变为 5V 输入单片机中进行正常工作。(2) 、显示:利用 LED 显示(3) 、4 个按键功能说明按键 K1 作用:单片机的启动与关闭按键 K1 作用:切换正常时间与定时时间显示按键 K3 作用:正常时间与校准的切换按键 K4 作用:校准正常时间与设定定时时间(4) 、2 个插座:利用单片机 I/O 控制其开关。2、在仿真软件上进行仿真。(1)打开软件,在元件选取栏中输入所需元件名称,选出各元
5、件。(2)在画图区域进行电路的连接(二)绘制电路原理图及 PCB 设计方法,需要注意的问题1、绘制电路原理图(1)绘制原理图的基本步骤a)首先将所有元件都从库中取出来,如库中没有的要自己制作比如数码管元件图要创建自己的元件库制作,放置在图纸上,并调整好位置,以便布线。b)使用连线工具将元件连接起来。c)设置元件属性。d)使用 Tool/Annotate 菜单对元件进行编号。e)使用电气检查(ERC) 。f)使用 Edit/Export to Spread 菜单建立元件列表。h)使用 Design/Create Netlist 菜单建立网络表,为画电路板图做准备。i)在将这些练习画成电路板图时,
6、特别注意元件封装的正确性以及管脚和封装焊盘之间的对应关系。(2)绘制电路图应该注意的问题a)核对数码管的引脚号与单片机等引脚的对应关系b)核对单片机的引脚与 LED 的对应关系c)可能出现的错误:地线符号使用不当,其网络名称为 Vcc。器件引脚号没有重新编辑。d)绘制完电路原理图后,要求:1)进行 DRC(电器规则检查) ,排除原理图设计中的错误。2)Create Netlist(创建网络表)。3)列出材料报告表。(电源部分) (单片机部分)(开关部分)2、PCB 设计方法(1)制作数码管极有关元件封装图,将 DIP-8、DIP-24、DIP-40 封装图中的含拍尺寸改为合适大小。(2)使用向
7、导,定义一个合适大小的单面 PCB 板,根据所设计的原理图,设计该电路的 PCB 图。(3)将原理图的网络表调入设计的单面板中,进行布局,启动自动拉伸元件,然后进行人工布局,布局一定要合理使线走的最短,最省。(4)先进性布线规则设定(铜膜线线宽设为 15mil,地线和电源线宽设为30mil 线间距设为 15mil)然后进行布线,尽量使过线减少,走跨线的少,不能出现高亮线。(PCB 板连线图)3、PCB 设计时碰到的问题(1)PCB 尺寸与规定的不一致。元器件排布合理,疏密分布较为均匀(2)数码管的封装不能做少了,两列焊盘兼具不是 300mil,应该是600mil(3)注意焊盘号的顺序为逆时针
8、118,焊盘号一定不能放错(4)数码管的位置高位放置方向应正确(5)插口放在 PCB 的边缘,且要注意方向(6)跳线不宜过长,不要转弯(7)IC 两焊盘间尽量少走线(8)铜模线宽度合理(9)姓名用汉语拼音,使用水平镜像(10)PCB 设计后的检查和打印:DRC 应无错误,无违规,无高亮(绿色)显示,否则,应根据原理图中的网络表,在 PCB 管理器下逐一核对,找出错误。注意 PCB 图的打印设置方法(下图为转印用的PCB 图)(3D 图 正面)4、PCB 图的打印、转印与敷铜板的腐蚀加工方法与问题(1)按尺寸剪切敷铜板,并用细砂纸打磨光,清洁(2)将打印的 PCB 底层图用热转印机转印到敷铜板上
9、(3)修板:用快干漆将少量没有印好的线条修补好(4)腐蚀:将印好了电路板图的敷铜板放入三氯化铁溶液中腐蚀。溶液浓度高、温度高则腐蚀速度快,但浓度和温度要合适。腐蚀时间要掌握好。(5)清洗、晾干(6)钻孔:选择直径合适的钻头:集成电路引脚及一般电阻、电容用0.8mm 直径的钻头,如有元件引脚较粗,可以根据测量值,换相应大些直径的钻头。钻孔过程中,钻头尽量插入夹具深一些,并且夹具要拧。 (3D 图 反面)(7)除去铜膜上的油墨:用有机溶剂(酒精、香蕉水、丙酮等)擦除覆盖在铜膜线上的油墨,没有上述溶剂时,也可以用砂纸擦除。(8)打磨并检查电路板 除去油墨后,用较细的砂纸将铜膜线打磨光亮。打磨越好,越
10、好焊接。不过不可打磨过度,以免铜膜厚度损耗过多。打磨后,用面巾纸清洁干净。检查电路板:用万用表检查 PCB 上线条间有无短路、断路。有短路要割断,有断路要搭上焊锡,将其连接好。(9)上助焊剂将松香溶于无水酒精中制作成助焊剂待用。注意助焊剂的浓度要合适。过浓,干燥后不光亮,过稀,助焊性能较差。用毛刷将酒精松香焊剂均匀地涂在清洁后的 PCB 板,涂刷时,将 PCB板垂直放置,以免焊剂堵塞钻孔。涂刷一遍即可,涂刷次数过多容易起皱纹,不光亮。将涂刷酒精松香焊剂的 PCB 放置在阳光下凉干或自然凉干。 (打印的 PCB 底层图)五、装配与调试1.装配(1).焊接:先焊接所有跳线:先确定好跳线长度,两端剥
11、去绝缘层。拧好,上锡,再焊接。也可以用剪下来的元件引脚做跳线。再焊接集成电路插座和其它元件。 注意:所给的数码管插槽和电路板所需要的有所不同,所以要进行改进。(2).检查、排错:根据网络表(或电路原理图)用万用表检查铜膜线有无短路、断路,发现错误,及时排除。比如,2 个发光二级管的正负极是否接对,电容的正负极是否接正确等等。(3).确定无错误后,可以插上集成电路器件。(4).注意芯片引脚脚的位置,不能接错,否则将损坏。2.调试(1).掌握正确的调试方法,一是要多实践,二是要弄清楚该电路各部分的原理。(2).通电前,用万用表的欧姆档(1K 档)检查电路中有无短路,若短路,应排除故障后在通电;(3
12、)装载以下程序:#includeunsigned char led=0,0,0,0;unsigned int counter;unsigned char n,w=0,flag=0,flag1=0,flag2=0,start=0; unsigned char K1_on=1,K2_on=1;unsigned char h_data=0,m_data=0,s_data=0;unsigned char hdata1_on=0,mdata1_on=3, hdata2_on=0,mdata2_on=7; unsigned char hdata1_off=0,mdata1_off=5,hdata2_off
13、=0,mdata2_off=9; void display(void); void delay(unsigned int j) unsigned int i;for(i=0;i23)H1=H1%10;return H1;unsigned char H0_set(unsigned char H0) if(H0%10=3&H0/10=2) H0=H0/10*10;else H0=H0%10+1+H0/10*10;return H0;unsigned char M1_set(unsigned char M1) M1=(M1/10+1)*10+M1%10;if(M1=60)M1=M1%10;retur
14、n M1;unsigned char M0_set(unsigned char M0) if(M0%10=9) M0=M0/10*10;else M0=M0%10+1+M0/10*10;return M0; void display(void)char code num=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;char code tv=0xfe,0xfd,0xfb,0xf7;unsigned char k,i;switch(flag) case 0: load_LED(h_data, m_data);break; case
15、1: load_LED(h_data, m_data);break; case 2: load_LED(hdata1_on, mdata1_on);break;case 3: load_LED(hdata1_off, mdata1_off);break;case 4: load_LED(hdata2_on, mdata2_on);break;case 5: load_LED(hdata2_off, mdata2_off);break; case 6: load_LED(hdata1_on, mdata1_on);break; case 7: load_LED(hdata1_off, mdata1_off);break;case 8: load_LED(hdata2_on, mdata2_on);break;case 9: load_LED(hdata2_off, mdata2_off);break;default:P1=0xFF;load_LED(h_data, m_data);break; n+; if(flag) if(n180)n=0; if(k=w)if(n50) flag1=0; flag+; if(flag=10) flag=0; /*对 flag 清零*/switch(flag) /*调整模式选择,原