示波筆-硬體篇

pondahai
Apr 24, 2019

--

示波筆的硬體架構只有三個部分:前置、取樣轉換與處理、顯示。再外加電源。

這裡先把示波筆的硬體功能條列一下:

1.為了將測量訊號轉換成微控器能處理的範圍,需要前置電路。
2.微控制器要能忠實取樣與轉換訊號,並能因應使用者的設定。
3.顯示器須能忠實顯示波形
4.能夠電池供電

小尺寸OLED顯示幕常見於Arduino周邊,是以I2C為介面,適合用在小型儀表專題中。stm32f103內建有I2C介面,可與OLED小螢幕直接連接。只要另外將電源接妥就可以連接OLED螢幕,當然這之中還要有OLED的驅動程式。在google上以stm32f103以及OLED為關鍵字就可以找到網路上分享的原始碼,這裡要注意原始碼的對象必須要完全與手邊的OLED規格相符,一般來說會以ssd1306控制器為主的顯示器。

常見的單色OLED小尺寸顯示器

stm32f103內建的兩組ADC可運作在一種特殊模式,即自動交錯式取樣。搭配DMA模式的設定可以讓ADC子系統自動運作模式下自動將記憶體緩衝區填滿,因此可確保ADC取樣的的穩定。

STM32F103內部的ADC交錯模式可設定自動取樣以及取樣數量

ADC的輸入僅能0~3.3V的範圍,因此如要像一般示波器一樣要能接受正負信號的輸入,需要有前置電路的處理,這裏將使用AD620儀表放大器搭配電阻網路來作為前置電路。這個電路的主要目的是將待測信號先用電阻網路進行分壓以及轉換成儀表放大器所需的差動信號,電阻網路的衰減倍率是十分之一,因此以stm32f103的ADC滿刻度電壓3V來說,外部輸入電壓可以高達30V,增加這個示波筆的可用性。但這裡還需要可涼另一個情況,由於stm32f103是單電源系統,因此必須將輸入的負電壓範圍也提升到正電壓的範圍,一般來說這種正負電壓轉換成單電壓的場合都會以單電壓中點電壓做為輸出的零點,於是在這個地方,原本ADC的滿刻度電壓範圍3V就會切成以1.5V為零點的正負1.5V的電壓範圍,於是從電阻網路反推回輸入範圍就會變成正負15V的電壓範圍。

一開始先把顯示器與實驗板接起來,快速地讓ADC的數值描繪成波形

AD623設計有參考電壓接腳Pin5 Ref,就是用來讓使用者設定中點電壓,以便讓差動輸入的正負極性能夠在輸出時自動轉換成單電壓的變化範圍。不過雖然整個系統已經設計為正電壓範圍的運作,但是在AD623內部為了要能夠處理負電壓輸入的情況,它的電源依然要供給正負範圍的電壓才能正常運作。

AD623作為類比前置電路的核心,下方的U5是用來產生中點電壓
前級1:10衰減電路

在人機介面的輸入方面只有規劃四個按鈕,雖然一般示波器有很多的按鈕與旋鈕,但是示波筆的設計情境是手持使用因此不適合放太多按鈕。

電源供應部分採用3.3V線性穩壓IC,可用三顆1.5V電池供應。

用萬孔板實驗硬體架構的過程

在建製電路的過程中,會先用萬孔板將週邊連接起來,以利後續軟體的設計。在硬體線路實驗確定之後會用KiCAD將它繪製起來,並且最後會將印刷電路板進行設計與發包使這個專題的完整度更高。整個硬體大多依賴微控制器內建的周邊因此最複雜的部分就只有上述的前置電路了,其他部分可再詳閱github,軟體篇再見。

https://github.com/pondahai/oscilloscopen/tree/master/hardware

--

--

pondahai
pondahai

Written by pondahai

有容乃大 海納百川 我是彭大海 以前是工程師 現在不是工程師 贊助鏈結: https://www.paypal.me/pondahai

No responses yet