總網頁瀏覽量

顯示具有 OPA 標籤的文章。 顯示所有文章
顯示具有 OPA 標籤的文章。 顯示所有文章

2022年2月17日 星期四

【 DFROBOT SKU:SEN0165 ORP氧化還原度感測器之sample code重點部分分析記錄】

延續上一篇的DFROBOT SKU:SEN0165 ORP氧化還原度感測器之訊號處理電路設計分析文章,這邊主要來延續介紹這款感測器套件之官方sample code重點部分分析記錄,某些較容易看出的部分就先暫時省略過。

註解: 這裡是隨意拿紙來寫的簡單計算過程,下標符號大小寫並不嚴謹,請見諒~

上篇文章主要介紹 的簡易電路分析計算過程 (使用克希荷夫電流定律)

註解: ORP是Oxidation-Reduction Potential的縮寫,表示溶液的氧化還原電位

該感測器套件的MCU端的軟韌體sample code於該DFROBOT SKU:SEN0165 ORP氧化還原度感測器感測器套件之官方說明網頁

(...省略部份)

#define VOLTAGE 5.00    //system voltage

(...省略部份)

orpValue = ((30*(double)VOLTAGE*1000)-(75*avergearray(orpArray, ArrayLenth)*VOLTAGE*1000/1024))/75-OFFSET;

//convert the analog value to orp according the circuit

注意上面的code的VOLTAGE我故意用兩個不同的顏色標記(紅色、藍色)是有原因的,看完下面內容就會知道。

其實可由下圖推導整理看出,上述code的orpValue就是如同其變數名稱,就是要還原出sensor端子輸出電壓訊號 (未經訊號處理電路模組處理的原始感測器輸出電壓訊號值) 的值,並且透過UART印出該值的字串形式以便觀看。

眼尖的看倌一定會發現其實主要是這款感測器套件的官方sample code寫得太長,其實不需要寫這麼長

sample code之中的1000就是K (1K);

sample code之中VOLTAGE/1024的部分,基本上就是ADC step voltage,而avergearray(orpArray, ArrayLenth)就是經過一些平均處理後的Vout

那為何上面的code的VOLTAGE故意用兩個不同的顏色標記?

要注意這個sample code可能比較是針對是Atmage328p(或其它ADC的類比輸入範圍電壓Vref預設為5V的) MCU based 的Arduino,所以sample code是把 提供給感測器輸出訊號處理電路模組的電壓 以及 你使用的ADC step voltage的Vref看成是一樣的。但實際上這兩者在實際應用上可能不同,例如你的嵌入式處理器晶片如果是用吃3.3V的,而卻又供5V給感測器輸出訊號處理電路模組,那麼情況就與sample code去define同一個VOLTAGE的狀況不同了。

舉例來說,從電路分析式子可以看出,假設你所使用的MCU/SoC內的ADC(或者外接的獨立的ADC IC)的Vref是3.3V,而若提供給感測器輸出訊號處理模組的電源則是5V的話,其實上面兩個VOLTAGE可能必須是不同的值

第一個(30*(double)VOLTAGE*1000)VOLTAGE是你提供給感測器訊號模組的電源電壓;

而後面的(75*avergearray(orpArray,ArrayLenth)*VOLTAGE*1000/1024)裡面的VOLTAGE/1024這個部分就是就是你所使用的MCU/SoC內的ADC(或者外接的獨立的ADC IC)的step voltage,所以其實這個(第二個)VOLTAGE就是ADC的類比輸入範圍電壓(Vref)。而1024就是精度10 bits的ADC的狀況 (如果你用的ADC的精度不同就要改)。

但如果 所使用的MCU/SoC內的ADC(或者外接獨立的ADC IC)的類比輸入範圍電壓Vref就 等同提供給感測器輸出訊號處理模組的電源的話 (就如同sample code預設的情況),那就如同sample code一樣去定義VOLTAGE是同一個值即可。

如果這兩篇文章你有看懂,就會發現,說穿了,上述sample code中的((30*(double)VOLTAGE*1000)-(75*avergearray(orpArray, ArrayLenth)*VOLTAGE*1000/1024))/75-OFFSET; 如果理解電路以及sample code的目的、原理和計算,其實sample code的這行code是可以簡化成另一種寫法,不一定要寫成這麼長,看倌們看懂了嗎?

(hint: 重點在上一篇文章的計算結果和這篇文章的計算結果,根本就是一樣的嘛,根本沒必要把這行code寫得如此落落長)。


此外,補充一下,這感測器套件的感測器輸出訊號處理電路模組中的LM2662M是一顆Switched Capacitor Voltage Converter IC(可參見TI的官方Datasheet ,部分如下圖)

 TI LM2662M Datasheet

-----

個人簡歷: https://sites.google.com/view/wenliangsun/


‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:


本學習區之Facebook粉絲頁如下:

--------------------------

孫文良 (阿良的嵌入式系統技術學習區)

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章




2022年1月26日 星期三

【DFROBOT SKU:SEN0165 ORP氧化還原度感測器之訊號處理簡易OPA應用電路分析&驗證案例。誰說 高職沒有理論基礎? 】

雖然個人在當年碩士班畢業後在產業界所負責的工作內容,大多並不是專門從事純硬體電路開發,但過去在技職教育體系的電路基礎專業知識和技術累積,還是經常能實際用上的。

尤其我們做嵌入式系統設計、IoT系統設計的人,從硬體電路、底層韌體、開機啟動程式、(針對有作業系統的嵌入式系統)作業系統核心space和user space的驅動程式和應用程式、感測器應用、訊號處理、無線通訊技術應用、PC端的應用程式、行動裝置端的應用程式等等,都必須有一定了解,才能比較完整設計和整合系統架構。

-------------------------

最近協助一位業界工程師理解一些感測器套件的整合應用,該套件包含一個感測器輸出訊號的處理電路,如下圖。

                       電路圖來源: ORP氧化還原度感測器套件之訊號處理電路的電路圖
https://image.dfrobot.com/image/data/SEN0165/OPR%20meter%20V1.0%20Schematic.pdf

在此,我用個人在15年前、就讀 高職電子科一年級 上學期的 一點點基本電學基礎(Kirchhoff's current law,克希荷夫電流定律) + 高職二年級的一點點 電子學 基礎 (OPA運算放大器的最基本觀念),

即可簡單分析計算一下 這款ORP氧化還原度感測器 和 pH感測器 套件 的 輸出訊號調整電路 的 第二級 (簡易的計算過程如下方照片所示)。

(誰說高職沒有理論基礎?  我這裡可能只是用到高職所學的所有電學理論的百分之一不到吧)

簡易電路分析計算過程 (使用克希荷夫電流定律)


並且,也使用對於初學者來說相當平易近人且強大的Tinkercad電路軟體模擬一下。


使用Tinkercad軟體進行電路模擬之結果畫面 (2V - 0V = 2 V)



使用Tinkercad軟體進行電路模擬之結果畫面 (2V - 0.5V = 1.5 V)


電學數學計算 + 模擬驗證  + 實際電路  

三個願望一次滿足,全部到位,這個簡單的小例子頗適合做為教材。

至於像是ORP感測器的應用原理 以及pH感測器的基本原理(範圍內接近線性特性與其描述式、校正原理和方式)、廠商提供的sample code是如何搭配等方面的內容較多,未來有機會再分享。

-------------------------

我始終覺得,我們台灣的教育總是學得太多,但實際吸收、在畢業後能實際運用的內容似乎太少。這代表我們的教育的performance太差了。

不要小看這種簡單的小例子,雖然簡單,但是我在成功大學看過許多領域(例如資訊領域,還是很多題目需要硬體整合背景)的 教授們 (電機博士、資工博士、工程科學博士、機械博士等),大多是完全不太會這些東西的 (可能他們在當年修完課就忘光了)。

當然,他們「指導」的研究生們遇到這些狀況大多是只是用這種現成的硬體電路模組套件,而較少分析其原理,加上通常這種模組的官方網頁也不會講解電路設計原理。但是,其實若要將這些感測套件應用得「好」、理解這些訊號確切是對應到什麼感測值,搭配廠商提供的sample code到底在做甚麼,是不一定要自己從頭做啦,但是必須還是要有這些基礎知識背景去做些分析,這就是個很好的例子。


個人簡歷: https://sites.google.com/view/wenliangsun/


‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:


本學習區之Facebook粉絲頁如下:

--------------------------

孫文良 (阿良的嵌入式系統技術學習區)

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章