軟體實現的施密特觸發器

2021-06-14 14:59:40 字數 931 閱讀 3792

在一些智慧型充電器中,微控制器要一直監測電池的電壓,一旦超過某一數值,就由恆流充電切換到恆壓充電。撇開充電器製作相關的各種知識和概念不說我們集中注意力來考察:當電壓接近那個設定的臨界值時發生的一些事情。 

當電壓接近臨界值的時候,系統還處於恆流充電狀態,於是電壓開始朝突破臨界值的方向上公升……在某一時刻,電壓突破了臨界值,程式檢測到了這一數值變化,立即將充電狀態由恒流切換為恆壓。然而,由於恆流狀態時載入在電池上的電壓要遠遠高於恆壓時所保持的電壓,所以幾乎在同一瞬間,微控制器監測到的電池電壓又跳回了臨界值以下——於是,系統又頭腦簡單地將工作模式切換回了恆流狀態……如此反覆,在電池電壓處於該臨界值附近的時候,這樣的事情會頻繁地發生許多次,直到徹底切換為恆壓狀態。

以上是從微觀角度所假想發生的事情,實際情形也許要更為複雜一些。不過從巨集觀角度來看,可能發生的現象是:表明充電器充電模式的指示燈頻繁地交替閃爍——這不是我們需要的效果。

有什麼方法能避免這種令人頭痛的事情發生呢?說來很簡單,將切換工作模式的臨界電壓值由乙個變為上下兩個門限。從恆流切換到恆壓狀態需要乙個較高的門限,這個「較高」是相對原先的單個門限值來說的;從恆壓再跳回恒流狀態,需要實際電壓低於乙個相對原先單門限更低的值——高低門限之間的差值至少要大於「當充電器在兩種充電模式間切換時造成的前後電壓差值的典型大小」。 這裡應用的改變充電器充電狀態的觸發特性,叫做施密特特性。採用軟體方式實現這種雙門限的觸發方式,就稱為「軟體施密特觸發器」。 

編寫「軟體施密特觸發器」的要點是:明確「兩態」、「兩限」。「兩態」是指當前狀態處於兩種狀態中的哪一種。數值當前正從小變大或是從大變小,這都是隨機和區域性的,並不能以此作為決定當前狀態的依據。唯一有資格決定當前狀態的就是上一次的狀態。根據記錄的當前狀態決定下一步的監測物件,這是最可靠的方法。簡單打個比方來說,假設我們處於恆壓狀態,那麼現在我們需要監測的就是下門限;一旦電壓低於了下門限,我們的當前狀態就變成了恆流狀態。於是,我們只要執著於上門限就可以了。而這裡說的「兩限」就是上下兩個門限。 

軟體實現的施密特觸發器

在一些智慧型充電器中,微控制器要一直監測電池的電壓,一旦超過某一數值,就由恆流充電切換到恆壓充電。撇開充電器製作相關的各種知識和概念不說我們集中注意力來考察 當電壓接近那個設定的臨界值時發生的一些事情。當電壓接近臨界值的時候,系統還處於恆流充電狀態,於是電壓開始朝突破臨界值的方向上公升 在某一時刻,...

施密特觸發器

最近由於貼片機專案裡面的相機觸發電路輸出的脈衝波形雜訊很大,脈衝的上公升沿和下降沿變化緩慢,因此使用了施密特觸發器對運動控制卡發出來的觸發脈衝整形,所以也順便把施密特觸發器的原理 使用方法和應用場合也寫下,以便以後使用。施密特觸發器也有兩個穩定狀態,但與一般觸發器不同的是,施密特觸發器採用電位觸發方...

電量檢測思想之軟體施密特觸發器

問題 很多搞電子的朋友在做專案的時候基本上都會遇到用mcu的adc採集電壓來監視電量使用情況。作為一種粗略的電量檢測方法在很多電子裝置上用得很廣泛,尤其是需要顯示類似電池圖示的方法來顯示電量。我們都知道通過檢測電壓的方法來監視電量只能大概知道使用的乙個範圍,而且電壓一般隨時會有小幅波動。這裡舉個例子...