![]() |
發布時間: 2022-1-3 08:57
正文摘要:單片機是電池供電然后通過LDO降壓到3.3V給到 我不明白,為什么我轉動3.3,3.2的旋鈕引腳,同時接上P3.5的霍爾開關就會讓3.4這個引腳出現8us的突然拉低 這非常奇怪,主要我把P35的霍爾開關去掉就沒有關系了。 ... |
hhh402 發表于 2022-1-4 12:16 感謝,經過一天的調試我發現了問題所在。 旋鈕的電阻20K太大了,因為我看別人都是兩個10K串聯 我直接用了一個20k 導致出現各種各樣的問題,我現在改成10K就好了 但是令我不解的是為什么改成20K會出現這樣的問題 大佬能否替我解答一下,因為我想做低功耗,如果電阻調成10K,旋鈕這的功耗就大了一倍 |
一夜暴富 發表于 2022-1-4 09:38 因為靜電的原因,IO口設置為高阻并懸空時檢測到任何電壓都是正常的,懸空的IO口是不可以設置成高阻點。 |
npn 發表于 2022-1-3 19:34 謝謝,我先把這個問題解決掉再看看其它問題 |
名字不是重點 發表于 2022-1-3 16:34 好的,謝謝。我先把這個問題解決掉 |
grb7906 發表于 2022-1-3 16:57 就是我懷疑和外圍電路沒關系~ 直接就裸著一個單片機,監控單片機引腳P34的高低電平 然后我發現我不停轉動旋鈕(P33,P32)時 單片機引腳P34也會出現高低電平突然變化一下的情況 |
一夜暴富 發表于 2022-1-3 15:21 記住這個原則:單片機IO口電壓不能大于VCC+0.3V。 你應該優先解決這個。供電不能保證正常,啥奇怪問題都可能出現。 你的低壓檢測是開漏輸出,又沒有上拉電阻,所以只有配置成準雙向口才能檢測到,配置成其它方式不行。 stc8復位后所有io自動配置為純輸入,你又沒有上拉電阻,所以此時為低電平。我估計是由于某種原因(例如看門狗、供電低)造成mcu復位造成的。又繞回優先解決上面提到的原則了。 你5V是不是由bat升壓提供的,如是,由于IO口電壓大于VCC+0.3V,使霍爾器件消耗了巨大電流,造成bat波動。又繞回優先解決上面提到的原則了。 |
名字不是重點 發表于 2022-1-3 16:34 如果IO口還配置了特殊功能(比如外部中斷、硬件SPI等)。 還有可能燒壞內部寄存器導致失靈,出現問題都找不到北。 |
一夜暴富 發表于 2022-1-3 14:13 樓上已經有人說明了,IO輸入電壓不能超過這個單片機的最大輸入,不管是不是這個原因,都得先把這個問題解決了再說其它的 至于低電壓檢測,我已經說了,沒有必要用LDO,沒有必要外加低電壓檢測,也沒有必要用一個IO來進行ADC 數據手冊中有說明的,怎樣利用15通道的ADC來計算VCC,鋰電池供電最常用的低電壓就是用這個方法的 |
一夜暴富 發表于 2022-1-3 15:21 不明白,既然是低壓檢測口,為什么又有輸出,輸入口改為高阻輸入試試,外部上拉... |
一夜暴富 發表于 2022-1-3 13:44 不安全,極端條件下會燒IO/毀MCU |
grb7906 發表于 2022-1-3 15:12 感謝,我剛才看了下單片機手冊,在霍爾的輸出口加一個二極管就可以讓他輸出單片機的工作電壓了 低壓檢測的話,我直接用單片機的準雙向口似乎也能檢測到。 還有一個小問題是哪怕我不接低壓檢測芯片,只是單純監控單片機這個引腳的高地電平,在我未對該引腳在代碼上進行高低電平的定義時,他的輸出有時會從1變成0這樣子(大概8us左右) |
一夜暴富 發表于 2022-1-3 13:48 很好理解啊,首先,低壓檢測你說已經是開漏,單圖上沒見你有上拉,當然如果是單片機內部上拉也行,其次,HALL,你接的是5v電源,MCU供電是5v么?不是,你就要把hall輸出的信號,電阻分壓到MCU規格限制內... |
Y_G_G 發表于 2022-1-3 13:50 ![]() 沒有霍爾開關(輸入至P35)時,無論怎么轉動旋鈕(P32,P33),檢測低電壓的芯片的輸出(P34)都不會出現誤輸出低電壓的情況 但是接上霍爾開關后,轉動旋鈕低電壓芯片輸出就會出現異常 |
鋰電池供電,可以直接使用電池給單片機供電,低電壓檢測可以通過內部參考電壓來進行計算 STC8H1K28內置一個已經校正過內部參考電壓,完全可以使它來進行ADC參考和電池低電壓顯示,不需要LDO的 其它的,雖然你寫了那么多,都不知道你描述的是什么......................... |
wulin 發表于 2022-1-3 11:28 謝謝回復 但我有些不明白的是如果我沒接ME2808,等于是只有單片機IO口單獨存在,沒有接任何外設,此時我轉動旋鈕,也是會出現P34這個單片機IO短暫的低電平出現 這是為什么呢。 似乎和外設已經沒有關系了 |
grb7906 發表于 2022-1-3 10:44 感謝回復,但是并沒有很理解。能再詳細說一下嘛 低壓檢測好像本身VOUT端就是開漏輸出了。 霍爾做下分壓再接入單片機是指在霍爾的輸出接LDO嗎還是 |
npn 發表于 2022-1-3 11:38 因為我的低壓檢測是3.3V,stc里的似乎不是這個電壓值……? 謝謝大佬,我再研究看看 |
名字不是重點 發表于 2022-1-3 10:42 會有什么不好的影響嗎,如果只是單純的電壓變化倒是可以接受 |
datouyuan 發表于 2022-1-3 10:20 感謝回復,那如果傳感器有5V的話,該怎么控制輸入的電壓呢。 這個該怎么取舍呢 |
你這個低電壓檢測電路是檢測什么的 ? STC自帶低壓檢測寄存器、中斷。 |
樓主表述的不清晰。圖也不完整,很難理解是什么狀態。ME2808的VOUT端是開漏型,其高電平電壓是由外接電路確定的。至于VOUT出現短暫低電平無外乎是VOUT外接電路出現短暫低電平或VIN端短暫失壓所致。 |
應該就是單片機,低壓偵測.hall電平不一致導致,低壓偵測建議用OC輸出的,上拉用單片機VCC霍爾做下分壓了再接入單片機,這樣應該是沒問題了... |
IO口的電壓5V反灌到CPU的電源端了,所以你的電路出現高于3.3V是合乎邏輯的。。 電壓檢測就是輸入高于標稱電壓時,輸出為高,反之則為低,也是正常的。 |
記住這個原則:單片機IO口電壓不能大于VCC+0.3V。 當霍爾開關輸出5V時,違反了上述原則。低電壓檢測的輸出端是開樓輸出,輸出4.2V不奇怪。 其它異常估計也是違反上述原則造成的。 |
一夜暴富 發表于 2022-1-4 14:36 你之前描述的奇怪現象和這沒關系。 R17和C8、R18和C1,構成了2個阻容延時,用于對旋鈕信號消抖。時間常數越大,消抖效果越好,但高速旋轉時會丟步。時間常數越小,高速旋轉檢測更好,但消抖效果差。需要根據實際需求精心選擇。 如你電阻10K電容0.1u是最佳效果,那么電阻20K電容0.047u、電阻30K電容0.033u的時間常數是一樣的,也是最佳效果。 |