Arduino的供電方式有幾種吶?電源電路又是怎樣的吶?
通常當有外接電源連接時,它用P溝道MOS管斷開USB電源,但有一點我不理解。如果沒有外接電源,啟動時MOS的狀態(tài)是什么?如果是導通的,USB電源給LMV358供電,比較3.3V與0V,把MOS的柵極拉低,電路正常工作(盡管初始時MOS的源極電壓是浮空的)。但是如果MOS是關斷的,LMV358就沒有電源,所以MOS的柵極電壓是未定的,所以MOS會怎么樣?這就像先有雞還是先有蛋一樣。
世界上最常用的開發(fā)板,Arduino Uno,支持多種供電方式,大致分為兩類:5V直接供電與更高電壓經(jīng)LDO(Low Dropout Regulator,低壓差線性穩(wěn)壓器)后供電。神奇的是,當兩種電源都連接時,開發(fā)板會自動選擇后者,而不會讓兩者沖突。
完整的原理圖可以在這里查看。由于整張圖比較大,我把電源部分抽出來自己畫了一遍。
V1和VBUS分別是外接電源和USB供電;S1和S2用于控制兩個電源的連接狀態(tài);D1是防反接保護二極管;U1和U2分別是5V和3.3V LDO;U3是LMV358低壓軌至軌運放,起到比較器的作用;R1和R2構成分壓電路,把外接輸入電壓減去二極管壓降的一半作為運放同相輸入;Q1是一個P溝道MOS管;VCC是輸出的5V電源。(以上名詞不懂的請自行百度。)
簡單分析一下:如果S1閉合,U1給VCC5V輸出,運放有供電,反相輸入為U2輸出的3.3V,正相電壓高于反相,運放輸出5V,Q1柵極與源極電壓相等,不導通,無論S2是否閉合,VBUS都不會輸出電流。
如果S1斷開,且電路已經(jīng)通過VBUS電源供應正常工作,那么類似分析可得運放輸出0V,Q1柵極電壓比源極電壓低5V,MOS管導通,VBUS通過Q1給VCC5V輸出,電路繼續(xù)正常工作。