# STAR DAQ 教學手冊 > 此教學重點著重在目前用的手作機箱上,未來有更好的cDAQ又要重寫一篇嘻嘻 ## 硬體 ### 機箱架構  --- ### 元件介紹 #### NI 9215 [NI 9215](https://www.ni.com/docs/zh-TW/bundle/ni-9215-getting-started/page/overview.html?srsltid=AfmBOoqoTQP3sE3A5PrFeOns8UXv_wnq4sGUQ6PV7S28Z5amTsinPVFT) 是一個4 channel的ADC,能將壓力計或是Loadcell的電壓輸出擷取下來,並透過後面的USB cable將訊號傳至電腦做儲存或是分析顯示。 * PIN OUT  可以看出其每個channel都有(+,-)兩極,對應接到壓力計的正端輸出與負端接地,其運作原理是將+端電壓減去-端電壓來求電壓差,而目前機箱上為全部共地,因此理論上AI0-、AI1-、AI2-、AI3-皆為相同的電位(都是地) #### NI myDAQ NI myDAQ是一個多功能的儀器,目前在機箱我當作數位訊號輸出,負責控制各式閥門(主閥、加壓閥、洩壓閥、冷卻閥、MTV、自動程序訊號) #### Relay(繼電器) 由於電磁氣動閥的電壓需要24V,但是我們的數位輸出訊號最高只有5V,因此需要繼電器來做開關的角色,機箱上的繼電器上有貼標籤,為VSG,對應到每個繼電器的三個接腳,V為24V電壓輸入、S為閥門電源正極、G為ground(接上閥門電源負極與24V電供負極)。 1. 當無訊號輸入時(myDAQ沒有給數位訊號時),S、G會short,閥門維持預設 2. 當有訊號輸入時(myDAQ給特定腳位數位訊號時),V、G會short,閥門作動 #### STM32 裡面用來作MTV的PWM輸出,控制MTV上面的伺服馬達轉動特定角度,詳細的程式與原理請參照其他篇(**我還沒寫**),而上面我設定了2個GPIO用來下特定的指令,讓我用數位訊號就能控制STM32上的PWM輸出,分別為開/關閥與自動程式啟動的指令。 --- ### 機箱使用 NI 9215、myDAQ的USB都接至電腦,5V、24V電源供應器插110V市電 #### 大建議 1. 插電前務必檢查機箱內的接線是否有鬆脫或是拉扯掉落 2. SM接頭都先不要接感測器(壓力計等)與閥門,等確認機箱上電後無異狀再接上 3. 上電後務必去觀察機箱有無異常發燙或是有燒焦味,有這些情況直接下電檢查 4. 上電順序為:NI儀器、5V電供、24V電供 5. 下電順序為:24V電供、5V電供、NI儀器 6. 沒問題後蓋上蓋子後務必放上綠色乖乖,信仰值加倍 --- ## 軟體 ### 環境設定 #### NI LabVIEW 2021 community edition [下載連結](https://www.ni.com/zh-tw/support/downloads/software-products/download.labview.html#411209) 下載好安裝包後,依照其上面的敘述安裝即可 #### NI-DAQmx [下載連結](https://www.ni.com/zh-tw/support/downloads/drivers/download.ni-daq-mx.html#409845) 此為驅動NI DAQ產品的驅動程式,能在LabVIEW中使用DAQ相關模塊,下載下來後依照指示安裝即可 --- ### 基本檢測-NI MAX 安裝好以上的軟體後,應該會找到NI MAX這個軟體(放大鏡搜尋一下),打開後會出現以下畫面,上面會顯示電腦的基本資訊等等,但都不是重點哈。  當有NI產品接上電腦,點擊左方欄位的Devices and Interface,會顯示在底下,可以從其icon上面是綠色圈或是紅色叉來初步看出有無連接成功  (未連接成功的樣子) 如果連接成功後,點擊它,上面會出現Self-Test選項,點擊後沒問題會跳出success,這樣就完成基本檢測  --- ### 不專業LabVIEW基礎教學 點開LabVIEW  點擊File/New VI  此時會跳出兩個視窗,分別為Front panel與Block diagram,按下crtl T,讓它並排顯示  * Front panel: 是使用者的操控面板,上面可以放上各種控制或是想顯示的資訊,像是按鈕、示波器、滑軌、滾輪等等 * Block diagram: 是LabVIEW圖形化程式撰寫的地方,在Front panel放上的各種功能也會顯示在這裡,依照自己的需求將程式用LabVIEW中的各種模塊組合起來 如何選需要的模塊呢?點擊滑鼠右鍵會出現能夠使用的模塊,能依照需求拖拉到panel上  (Front panel)  (Block diagram) #### 舉個例子-閥門控制程式(例子不只可以舉,還可以吃🌰) 非常簡單,就是幾個按鈕搭配一個DAQ assitstant  1. DAQ assistant 附加在DAQmx的模塊,在Block diagram點右鍵,選擇Measurement I/O / NI DAQmx / DAQ Assist  拉至Block diagram上,會跳出設定畫面,此時注意電腦要連接著要用的DAQ,程式才能夠自動建立功能模塊(**設定畫面有到421再補**) 2. 按鈕 對就是按鈕,輸出為布林值0或是1 3. Build array(土黃色方塊那個) 其左邊能接上多個訊號,右邊會統一匯集成一條資料矩陣匯出,再接入DAQ assist中,控制DAQ各個數位訊號的開與關 4. While loop 沒錯,LabVIEW中的程式如果要重複不斷執行,需要用while loop包起來,就是Block diagram上面灰色的那一圈,通常上面會有一個紅色的點點,叫做loop condition,通常搭配的是stop button,控制while loop的停止條件,回到程式,因為閥門控制是不間段的控制,因此需要把所有的控制都包起來,所有程式才會重複執行,直到stop 5. 拉線+佈置Front panel 把所有資料流依照需要的功能拉線,並且將Front panel依照舒服的視覺與方便控制的布局排列好,就完成了 > 小觀念:資料流? > LabVIEW其實是一種寫資料流的語言,每個模塊都有輸出或輸入的接點,可以發揮想像力做出想要的功能,而每個資料流都有代表顏色,像是閥門控制都是開與關,為布林值的數據,因此為綠色的線 >  > 而模塊的使用也要依據使用的資料流來做變化,像是數位有數位的模塊、動態資料流有動態資料流的模塊,這在等一下的類比電壓擷取會說到 #### 再舉個例子-電壓擷取程式(基本例子有電子和夸克⚛️)   1. DAQ assistant 附加在DAQmx的模塊,在Block diagram點右鍵,選擇Measurement I/O / NI DAQmx / DAQ Assist  拉至Block diagram上,會跳出設定畫面,此時注意電腦要連接著要用的DAQ,程式才能夠自動建立功能模塊(**設定畫面有到421再補**) 2. 動態資料流區塊 由於DAQ assist輸出的為4維的動態資料流(幾維依照設定幾個channel來看),如果要分開處理,像是我們使用的壓力計與Loadcell輸出範圍都是0-10V,但是轉換公式不一樣,壓力計電壓乘以10是轉換成bar,但是Loadcell需要乘以30轉換成kgf,我利用split signal,切開4個訊號分別作處理,再用merge signals將訊號合併回去,並輸出到示波器與write to measurement file中  3. 浮點數區塊  這邊利用了一個轉換器,將動態資料流轉換成浮點數矩陣,更新率依照DAQ assist中的設定。而後面接上index array,切割出浮點數矩陣資料流的訊號(層數依照channel數改變),切割後的輸出做各自的運算後,輸出到Front panel的顯示方塊上 4. While loop 對每件事都要不斷重複做,全包起來就對了 5. Write to measurement file設定 對Block diagram右鍵後,位於Express/Output/Write Meas File  拉到適合的位置後左鍵點兩下開啟,會到設定畫面  最左上角先設定要儲存的位置,**一定要改成自己電腦的位置不然一定會出錯,再來要注意的是儲存檔案形式最好選.lvm最穩,之前設定.xlsx都會有問題**,其他的需求就自己決定 6. 拉線+佈置Front panel(同上個例子) ### 使用方式 做好程式後,要執行的話,點擊Front panel左上角的箭頭,程式就會開始,如果要停止程式,按stop或是箭頭右邊2個位置的紅色按鈕都能停止  ## 附錄 [第一次mono test所使用的程式](https://drive.google.com/drive/folders/1JtZsksTuZzydYeNdVxk3rxKNL78-iKFX?usp=drive_link)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up