上週給乙個工程寫遙控**的時候遇到乙個硬體問題,自己在**裡面改來改去,醉了,這裡做個記錄下次免得再犯。
問題現象是 我按住遙控器上面的某乙個按鍵,遙控器會一直發碼,程式中正常的處理是只識別一次,如果有長按功能再進入長按響應。但是當我按住其他無長按功能的按鍵後,微控制器也響應了按鍵,而且響應時間非常不規律。我判斷是程式中一直進入了新鍵碼處理的程式。但我程式的原邏輯是按住不鬆手的話會把乙個長按標誌位置一,程式無法進入到新鍵碼相應程式段,所以始終無法解決這個詭異的問題。
最後還是公司的其他前輩幫我把問題找到了,接上示波器之後沒有加電容諧振的波形如下圖
可以看到波形的雜訊非常大,導致可能在接收到某一兩位的時候接收**段將其識別為錯誤碼,然後重新從0開始接收遙控碼,而在此之前可能有一兩次的遙控碼接收完整了,所以將接受完畢的標誌位置了1,然後處理完一次遙控碼之後將標誌位清零並且進入鬆手檢測,如果這時候雜訊導致在接下來的幾毫秒內都無有效碼就會讓鬆手檢測的延時達到判定為鬆手的標準,而如果這時候又識別到有效碼了,則又會進入新鍵碼的處理段,這樣就導致我按住沒有長按功能的按鍵之後,會出現不規律的響應。
加了電容之後的波形如下:
加了102電容之後通過電容的諧振,把原有的雜訊基本上都過濾掉了,這時候程式的接收部分就能一直檢測到按住不鬆手的情況,基本每次都能接收完有效遙控碼,接收標誌位在被處理程式段清零之後,很快就又被置一,所以在鬆手檢測計時這段**中,計時還沒到鬆手的標準就又再次清零,就不會識別為鬆手,也就不會相應下一次的新鍵碼。
這裡給自己做個警醒,下次如果遇到很詭異的現象,一定要先看看波形正不正常,我是接過一次示波器看到未諧振的波形的,但是當時我不知道這種波形屬於不正常的波形所以就沒有發現問題的關鍵。在此記錄以免下次再犯。
寢室空調遙控解碼
以前寢室的空調遙控器由宿管阿姨掌管,私心想著,若能仿製個遙控器能有多好。此處解碼的空調型號為海爾kfr 35gw 06nca12,所用紅外協議為nec協議。nec協議是眾多紅外遙控協議的其中一種,除nec外,還有rc5等其它協議。在nec傳送端,高電平用38k載波表示,低電平就為低電平,圖一為發射端...
STM32 遙控 避障車製作記錄3 遙控
本次介紹遙控控制小車 遙控使用的是 2262 2272四路 安防配件 腳位及使用說明 遙控器接收端vt為輸出狀態指示引腳,遙控發射端任意按鍵有按動就可以輸出高電平。接線方式 前進a d2 pa10 後退b d0 pa11 左轉c d3 pa8 右轉d d1 pa9 注意接線共地 control.c ...
紅外遙控器解碼原理
紅外遙控器解碼原理 august 7th,2015 1 紅外遙控系統 通用紅外遙控系統由發射和接收兩大部分組成,應用編 解碼專用積體電路晶元來進行控制操作,如圖1所示。發射部分包括鍵盤矩陣 編碼調製 led紅外傳送器 接收部分包括光 電轉換放大器 解調 解碼電路。2 遙控發射器及其編碼 遙控發射器專...