本帖最後由 pizg 於 2012-9-30 13:59 編輯  
 
依照樓主提供的電路來看, Relay power 應該接Arduino提供的5v即可, 千萬別接到12V. 
依據Relay的Datasheet, 它在5v的供電時, 線圈電阻是70ohms, 啟動電流是72mA, 計算式如下: 
5V / 70ohms = 72mA 
假設 2N2222的Beta值是100, 那麼其基極電流只要 
72mA / 100 = 0.72mA就可以讓2N2222 ON,  
接著再計算其限流電阻: 
(5 - 0.7) / 0.72 = 6K 
但因為要讓2N2222穩定地ON, 其基極電流最好是1.3倍的啟動電流, 再計算如下: 
(5 - 0.7) / (0.72 * 1.3) = 4.6K 
由以上得知限流電阻選用4.7K最為恰當, 
您提供電路上的限流電阻是1~2K很顯然小了點, 據我推測它是適用於供電為3V時. 
如果你是接1~2K的電阻, 基本上是不至於會燒燬2N2222, 這一點你可以查閱2N2222的Datasheet, 
但過大的電流表示是浪費電能. 
另外值得一提的是, Relay在保持ON的狀態下其電流是比啟動電流要低很多, 
如果能注意到這一點, 在電路設計上應更能做到省能效果. 
 
本人非電子科班出身, 去年9月開始接觸Arduino, 
有感於自身電子知識不足, 卻也花了一年的時間自習電子電路, 
以上如有誤謬, 敬請各位前輩不另指正. |