构建一个用于3D打印干燥箱的除湿器
这是一个用于3D打印干燥箱的除湿器,无需干燥剂即可保持灯丝干燥。
概述
构建此项目后,你就可以给你的3D打印机干燥箱配备一个功能齐全的除湿机,以保持您的灯丝干燥并随时以备使用了。除湿机使用Peltier设备工作,该设备将热量从设备的一侧传递到另一侧,从而产生冷热侧。设备的冷侧会产生冷凝水,从而去除干燥箱内空气中的水分。Peltier夹在两个散热器之间,风扇在其中吹过。风扇为Peltier的热侧提供冷却,同时还吹走冷散热器翅片上积聚的冷凝水。
除湿机由两个ParticlePhoton控制。一个Photon控制Peltier设备,而另一个读取干燥箱内的湿度和温度。两个Photon相互通信以确定Peltier是否应该打开或关闭以及功率级别是否应该设置为一或二(低或高)。当湿度水平达到大约30%时,高功率模式启动。在这一点上,只有通过低于冰点才能从空气中去除更多的水分。可以使用预定义的变量在代码顶部设置所需的目标湿度和其他参数。
构建
首先,将原来的筒形插头从电源上断开,并焊接在新的大电流筒形插头上。
使用导热膏和夹具支架组装两个散热器和Peltier模块。使用大型散热器随附的紧固件连接夹具支架。如图所示,确保将大型散热器的散热片定位在夹具的长方向上。否则散热器将无法正确装入外壳。
注意:散热器随附的弹簧将不用于此项目。
参考电路原理图来组装电子设备。如果需要,连接器可用于电路的低电流部分。
注意:在将这两个组件连接到电路的其余部分之前,将摇臂开关和大电流筒形插孔插入电子外壳盒。还要确保将12V电压传输到灯丝盒中的光子的电线足够长,以便通过出口空气管进入灯丝盒。
将Peltier组件放入其外壳内,并用四个M3x16螺钉固定。
注意:只拧紧螺丝,直到它们紧贴为止。
使用适合您选择的风扇的紧固件将90毫米风扇固定到顶部管道连接器上。
注意:调整风扇方向,使空气通过顶部管道连接器的小端吸入。
将顶部管道连接器和电子外壳连接到Peltier组件外壳,同时引导电线穿过外壳的切口。将四个M3x12螺钉用于顶部管道连接器,四个M3x6螺钉用于电子外壳(警告:一旦感觉到任何阻力,请停止拧紧电子外壳的螺钉,否则您会剥去螺纹。这很容易做到,因为螺钉与塑料的接合只有3毫米。)
注意:对于某些电线尺寸,可能需要扩大切口。
使用四个M3x10螺钉将侧管连接器连接到Peltier组件外壳。(警告:只有在第一次感觉到阻力后才稍微拧紧螺丝,否则你会剥掉螺纹。这里只有6毫米的啮合。)
使用2-1/2“PVC管或等效外径的管子将空气进出除湿机。可以使用M3螺钉和螺母将夹子拧紧到管子上。
将软管倒钩拧入靠近Pelter外壳组件底部的排水口。将聚氨酯软管连接到所需位置。注意:可能需要强力胶或适当的密封剂来防止软管倒钩螺纹周围的泄漏。如果软管倒钩不能成功地拧入印刷部件,则可以鼓励聚乙烯软管在没有倒钩的情况下装入孔中,并用强力胶或其他方法固定到位。
peltier控制代码:
/*Programdescription*///UserConfigurationconstfloatPower_Level_1=90;//LowpowerlevelinpercentsuppliedtothePeltiermodulethatwillnotcausethedehumidifiertoiceupconstfloatPower_Level_2=100;//SuppliesmaximumpowertothePeltiermodulebutmaycausethedehumidifiertoiceupconstfloatFan_Speed_1=40;//Fanspeedinpercentforpowerlevel1aboveconstfloatFan_Speed_2=60;//Fanspeedinpercentforpowerlevel2avoveconstcharPeltier_MOSFET_Pin=D0;//PinthatwillcontrolthePeltierMOSFET(MustbedigitalPWM)constcharFan_MOSFET_Pin=D2;//PinthatwillcontrolthefanMOSFET(MustbedigitalPWMifanythingotherthan100isusedforthefanspeeds)constintFan_PWM_Frequency=20;//FrequencyofthePWMsignalthatwillbesenttotheFanconstintPeltier_PWM_Frequency=500;//FrequencyofthePWMsignalthatwillbesenttothePeltiermodule
//ProgramVariablesboolrequest_Peltier_on=false;floatPeltier_power_level=(Power_Level_1/100)*255;intPeltier_current_state=0;floatPeltier_current_power_level=Peltier_power_level;floatfan_speed=(Fan_Speed_1/100)*255;unsignedlonglast_millis=0;intupdate_interval=;
//RecievedDataHandlersvoidon_off_request_handler(Stringevent,Stringdata){request_Peltier_on=data.toInt();Particle.publish("Gunner_P/MEGR_3171/Dehumidifier_Filament_Box/Peltier_state",String(request_Peltier_on),10);}
voidPeltier_power_handler(Stringevent,Stringdata){if(data.toInt()==1){Peltier_power_level=(Power_Level_1/100)*255;fan_speed=(Fan_Speed_1/100)*255;Particle.publish("Gunner_P/MEGR_3171/Dehumidifier_Filament_Box/Peltier_power",String(1),10);}if(data.toInt()==2){Peltier_power_level=(Power_Level_2/100)*255;fan_speed=(Fan_Speed_2/100)*255;Particle.publish("Gunner_P/MEGR_3171/Dehumidifier_Filament_Box/Peltier_power",String(2),10);}}
//DehumidifierManagervoiddehumidifier_manager(){if(request_Peltier_on&&Peltier_current_state==0){analogWrite(Peltier_MOSFET_Pin,Peltier_power_level,Peltier_PWM_Frequency);Peltier_current_power_level=Peltier_power_level;analogWrite(Fan_MOSFET_Pin,255,Fan_PWM_Frequency);delay(200);analogWrite(Fan_MOSFET_Pin,fan_speed,Fan_PWM_Frequency);Peltier_current_state=1;}if(!request_Peltier_on&&Peltier_current_state==1){analogWrite(Peltier_MOSFET_Pin,0);analogWrite(Fan_MOSFET_Pin,0);Peltier_current_state=0;}if(Peltier_current_state==1&&Peltier_current_power_level!=Peltier_power_level){analogWrite(Peltier_MOSFET_Pin,Peltier_power_level,Peltier_PWM_Frequency);Peltier_current_power_level=Peltier_power_level;analogWrite(Fan_MOSFET_Pin,255,Fan_PWM_Frequency);delay(200);analogWrite(Fan_MOSFET_Pin,fan_speed,Fan_PWM_Frequency);}}
//Setupvoidsetup(){pinMode(Peltier_MOSFET_Pin,OUTPUT);pinMode(Fan_MOSFET_Pin,OUTPUT);Particle.subscribe("Elijah_C_MEGR_3171_Dehumidifier_Filament_Box_Project",on_off_request_handler);Particle.subscribe("Elijah_C_MEGR_3171_Peltier_Power_Level_Dehumidifier_Box",Peltier_power_handler);Particle.publish("Gunner_P/MEGR_3171/Dehumidifier_Filament_Box/Peltier_state",String(request_Peltier_on),10);}
//Loopvoidloop(){if(millis()-last_millis>=update_interval);{dehumidifier_manager();last_millis=millis();}}
ThingSpeak记录干燥箱的实时湿度和温度以及除湿机的电源状态。可随时随地查看除湿机状态,确保系统正常运行。注意:上面显示的图表包含每30秒报告一次的数据,而不是代码中设置的5分钟默认值。
咨询热线
133-6050-4599