R080604     黎煥欣   Li Huan Hsin      '08-06-02  Ver 1.0

因為 NTU array 上有很多 "應該" 要監控的點. 目前這些點都沒有內建在系統中, 經過幾次的整理, 發現目前最需要的是一個有足夠精度, channel 數目要夠多, 電源供應的方式要簡單, 與主控 PC 可以很容易連結的 DAQ 系統. 於是利用了一些 "相對高級(價)" 的元件來湊出一個 16ch 12bits 10us conv. time 的 DAQ 系統. 下面是建立的過程

 

一, Mux IC 與 Amp

我們這次的規格是 16ch, full scale 2V, 差分輸入 (diff, in) <- 可以避開長程量測時的零點電位不準. 輸入阻抗約在 10M 左右.

下圖就是要用的 MUX (DG407) 及 Amp (INA114), 現在市場上只有賣 SOP 包裝的, 只好用轉接板來做

DG407 在規格書上就講明它是用來做 DAQ 系統的 MUX, 而 INA114 則是提供很好的差分儀表放大器, 有 10^12 ohm 的輸入阻抗. 又有高的 CMRR.對電源的不好不敏感.

 

它們組合出來的線路圖如下. 由 MCU 來的 1.0 -> 1.3 選擇何者 (CH01 -> CH16) 要送到下面的 INA114 放大 5 倍 (G = 1+50K/RG=12.5K = 5)

 

下圖是輸入端子, 每一個 CH 都表示兩個差分輸入

 

 

至於上圖中的 R5 及 R4, 5M 的電阻是要加的, 否則在量側一個較隔離訊源, 一定會量到強大的 60Hz, 下面就是一個範例 (5M ohm ) 未加時的情形. 量到的都是 60 Hz 還被截掉的信號.

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

二, AD1674

它是一個由 AD574 傳承下來的高性能 12bits AD, 可以在 10us 內轉換完畢, 有內建的 S/H , 也有內建的參考電壓及時鐘信號. 內部的參考電阻 R-2R 網路電阻都有用雷射修整過, 基本上都不用我們煩惱, 直接拿來用就可以了.....

 

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

三, 電源系統

這一次的主要測試目標, 就是用單一電源 (+12V~+15V) 是否可以提供整個系統的操作. 類比部份的電源大都要 +-12 ~ +-15V, 而數位電路要 +5V. +12V 直接由外部電源供電, +5V 則由 +12V +7805 得到. -12V 就要負電壓產生 IC,  ICL7662 擔綱.

在這個 CASE 中, 這個負電壓要提共給兩個 DEMUX, 一個 AMP, 幸好兩者都是設計給電池供電的設備用的, 耗電很少. 比較多的是 AD, 但測試的結果只有約 0.1V 的壓降, ripple 大了一些. 因為各個 IC 對電源的抗雜訊都不錯 (CMRR 好). 這樣用看起來是沒有問題的.

這是由 12V Switch power supply 送來的電源波型. 約有 0.1V 的高頻 ripple.

 

-12V 有負載的輸出, 可以看很出 ICL7662 內部交換的 ripple

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

四, AD1674 的安裝

在給了電源後, 先看看 AD1674 的工作狀態. 第一件事就是檢查它的 VREF 輸出是否操作, 我們量到了 10.10 V, 應該是 10.00 V, 應該是三用電表錯..... 不過就是動起來了.

 

而 VREF 的 ripple 就比外面的電源小了兩倍. 表示內部的 clean 機制還是有用的.

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

五, INA114 的操作

 

 

在這次的 case 中, 它的 Gain = 5, 經由 mux IC 讀取信號. full scale = 0-2V

下圖是輸入端的信號, 2Vpp

 

輸出端的信號, 正確地放大了 5 倍. ---> INA114 work well

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

六, 與 MCU 的界面與操作

下圖是 DAQ 系統與 8951 板的 I/O 接頭定義. 這是我自己定義 8951 I/O 用途接腳, 每個 pin 對應的 Net Label 都可以在 mux 和 A/D 那兒找到.

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

七, USB 與 PC 的連接

這裡也是用 FTDI 的晶片來做 serial <-> USB 的轉換, 跟其它 case 不同的是 USB IC 的電源平常由 PC 端供組. 這裡設計為了方便. 把  USB IC 的供電換回到內部. 即內部供電不起來, USB 線就算接上, 它那不會用 PC 的電. 一直要到自己的電源啟動, USB IC 才開始與 PC 之間聯絡與初始化. 當然 MCU 8951 內也已經寫好簡單的測試程式來操作.

 

這是用 vb8comm 通訊程式測試 DAQ 板的情形, 其中可以看到 baud 在 57600 高速, (MCU 用 22.118MHz 為基頻, 比一般的情形快兩倍.

上圖的情形, 兩個 X 表示 DAQ 按了 RESET 後產生的辨識信號.

Sx 就是選擇 channel, 可以到 0 ~ F, 若是正確的設定. 為回傳 "c", 若非, 則為 "e"

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

八, 外部程式就 DAQ 的控制 (通訊協定)

兩者使用 57600,n,8,1 傳送.

由 PC -> DAQ 的命今如下

PC  ->  S#[cr]   c[cr] <- DAQ          選擇特定的 channel

PC  -> r[cr]       ###[cr] <- DAQ    做一次 12bits 的 A/D 轉換, 並回傳 3 個字的 hex 本文格式結果.

PC -> R[cr]        ####[cr] <-DAQ  做 16 次轉換, 並把加總的 16 位元值以四個字的 hex 本文格式傳回.

PC -> ?????       e[cr] <-DAQ     未知的命令, 回傳 'e' 表示看不懂...

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

九, 初步測試結果:

用乾電池 (1.59V) 當電源. 看它的量值如何

看起來都還在可接收的範圍, 只有在 1~2 的 ADU 上跳

 

那當然也開始開發它的 PC 端程式, 目前它只有雏形. 以後可以再更發展下去.

 

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

十, 全觀


背面的接線






arrow
arrow
    全站熱搜
    創作者介紹
    創作者 huanhsin 的頭像
    huanhsin

    黎煥欣的工作部落格

    huanhsin 發表在 痞客邦 留言(0) 人氣()