標題: 【Arduino】168種傳感器系列實驗(154)---ML8511紫外線傳感器 [打印本頁]
作者: eagler8 時間: 2020-4-14 13:27
標題: 【Arduino】168種傳感器系列實驗(154)---ML8511紫外線傳感器
37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動手試試做實驗,不管成功與否,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗一百五十四:ML8511紫外線傳感器模塊 模擬量輸出UV Sensor Breakou
0000.jpg (129.42 KB, 下載次數: 66)
下載附件
2020-4-14 13:26 上傳
0000-.jpg (93.1 KB, 下載次數: 75)
下載附件
2020-4-14 13:26 上傳
作者: eagler8 時間: 2020-4-14 14:21
本帖最后由 eagler8 于 2020-4-14 17:21 編輯
0-.jpg (45.5 KB, 下載次數: 57)
下載附件
2020-4-14 14:21 上傳
ML8511
是紫外線傳感器,適用于獲取室內或室外的紫外線強度。 配有內部放大器,可根據紫外線強度將光電流轉換為電壓。這項獨特的功能為與ADC等外部電路提供了便捷的接口。 在掉電模式下,典型待機電流為0.1μA,因此可以延長電池壽命。
ML8511芯片,是日本商號沖電氣工業株式會社(Oki Electric Industry Co., Ltd.)生產的,敏感波長:UV-A(320-400nm),UV-B(280-320nm) 。
作者: eagler8 時間: 2020-4-14 14:24
ML8511特征
•對UV-A和UV-B敏感的光電二極管
•嵌入式運算放大器
•模擬電壓輸出
•低電源電流(典型值300uA)和低待機電流(典型值0.1uA)
•小型薄型表面貼裝封裝(4.0mm x 3.7mm x 0.73mm,12引腳陶瓷QFN)
ML8511應用領域
•智能手機,手表,氣象站,自行車導航,配件,游戲
00.jpg (60.8 KB, 下載次數: 88)
下載附件
2020-4-14 14:24 上傳
作者: eagler8 時間: 2020-4-14 14:28
0-0.jpg (53.89 KB, 下載次數: 75)
下載附件
2020-4-14 14:27 上傳
0-0-.jpg (77.33 KB, 下載次數: 70)
下載附件
2020-4-14 14:27 上傳
作者: eagler8 時間: 2020-4-14 14:30
000.jpg (36.35 KB, 下載次數: 51)
下載附件
2020-4-14 14:30 上傳
ML8511主要參數
RoHS: 是
產品: Light to Voltage Converters
峰值波長: 365 nm
最大工作溫度: + 70 C
最小工作溫度: - 20 C
安裝風格: SMD/SMT
封裝 / 箱體: QFN-12
工作電源電壓: 3.3 V
工作電源電流: 300 uA
封裝: Reel
封裝: Cut Tape
工廠包裝數量: 1000
電源電壓-最大: 3.6 V
電源電壓-最小: 2.7 V
零件號別名: ML8511AFCZ05BL
作者: eagler8 時間: 2020-4-14 14:48
0-5.jpg (115.07 KB, 下載次數: 65)
下載附件
2020-4-14 14:48 上傳
作者: eagler8 時間: 2020-4-14 14:50
0-6.jpg (47.94 KB, 下載次數: 70)
下載附件
2020-4-14 14:48 上傳
作者: eagler8 時間: 2020-4-14 14:51
0-7.jpg (67.01 KB, 下載次數: 69)
下載附件
2020-4-14 14:50 上傳
作者: eagler8 時間: 2020-4-14 14:52
0-8.jpg (64.55 KB, 下載次數: 68)
下載附件
2020-4-14 14:51 上傳
作者: eagler8 時間: 2020-4-14 14:53
0-9.jpg (74.19 KB, 下載次數: 71)
下載附件
2020-4-14 14:52 上傳
作者: eagler8 時間: 2020-4-14 15:12
05.jpg (69.59 KB, 下載次數: 75)
下載附件
2020-4-14 15:12 上傳
GY-8511紫外線傳感器模塊GY-ML8511 模擬量輸出UV Sensor Breakou
說明:ML8511突破是一個易于使用的紫外線傳感器。MP8511紫外線(紫外線)傳感器的工作原理是輸出一個與檢測到的紫外線數量相關的模擬信號。這種突破可以非常方便地創建設備,警告用戶曬傷或檢測紫外線指數,因為它與天氣條件有關。
此傳感器可最有效地檢測280-390牛米的光線。這被歸為UVB(燃燒射線)光譜和大部分UVA(曬黑射線)光譜的一部分。它輸出的模擬電壓與測量的紫外線強度(mW/cm~2)成線性關系。如果你的微控制器可以做一個模擬到數字的信號轉換,那么你可以檢測紫外線的水平!
沖電氣(OKI)推出內建運算放大器的紫外線(UV)傳感器IC——ML8511。該產品運用絕緣上覆硅(SOI)-CMOS,為該公司首款模擬電壓輸出、無濾光器的UV傳感器。ML8511可與UV光量成正比輸出模擬電壓。由于可以輸出電壓,因此可以直接連接內建MCU的A/D數字/模擬轉換器,無需光電轉換電路。而且使用小型、薄型表面封裝方式,適合于便攜式設備用途。
作者: eagler8 時間: 2020-4-14 15:16
04.jpg (63.93 KB, 下載次數: 80)
下載附件
2020-4-14 15:16 上傳
該模塊采用了通用的ML8511 UV傳感器原件,可以用來檢測室內或室外的紫外線密度。通過將光電流轉化成電壓的原理來檢測UV強度,同時非常適合被被外部電路所采用。該模塊還具備省電模式可達0.1uA,適合在智能可穿戴和手機等設備上使用。
應用
紫外線等級監視器
環境監測儀、氣象站
DIY紫外線互動裝置
技術規格
工作電壓:3.3V - 5V
通信接口:Gravity Analog(PH2.0-3P,模擬電壓輸出1V ~ 2.8VDC)
敏感波長:UV-A(320-400nm),UV-B(280-320nm)
工作溫度:-20~70°C
模塊尺寸:30 x 22mm
作者: zero0 時間: 2020-5-12 21:18
支持!!!!!!!!!!!!!
作者: eagler8 時間: 2020-5-19 20:32
謝謝鼓勵
作者: eagler8 時間: 2020-12-25 17:32
10-1.gif (43.82 KB, 下載次數: 49)
下載附件
2020-12-25 17:31 上傳
紫外線(Ultraviolet,UV)
是電磁波譜中波長為400nm~10nm輻射的總稱,不能引起人們的視覺。它是頻率比藍紫光高的不可見光。英語中,前綴ultra-意為意為“高于,超越”。
1801年,德國物理學家里特發現:在日光光譜的紫端外側一段能夠使含有溴化銀的照相底片感光,從而發現了紫外線的存在。紫外線是由原子的外層電子受到激發后產生的。自然界的主要紫外線光源是太陽,太陽光透過大氣層時波長短于 290nm 的紫外線為大氣層中的臭氧吸收掉。
紫外線是陽光中波長為400nm~10nm(納米)的光線。英語為ultraviolet(縮寫為UV),前綴ultra-意為“高于,超越”。太陽光譜上,紫外線的頻率高于可見光線?梢苑譃閁VA(紫外線A,波長400nm~320nm,低頻長波)、UVB(波長320nm~280nm,中頻中波)、UVC(波長280nm~100nm,高頻短波)、EUV(100nm~10nm,超高頻)4種。
其中,UVA的致癌性最強,曬紅及曬傷作用是UVB的1000倍。UVC則一般會被臭氧層阻隔。IR是紅外線(infrared),可造成曬紅、微血管擴張、皮膚炎,并促進紫外線的致癌性。紫外線照射會讓皮膚產生大量自由基,導致細胞膜的過氧化反應,使黑色素細胞產生更多的黑色素,并往上分布到表皮角質層,造成黑色斑點。紫外線可以說是造成皮膚皺紋、老化、松弛及黑斑的最大元兇。
紫外線照射人體時,能促進人體合成維生素D,以防止患佝僂病,經常讓小孩曬曬太陽就是這個道理。紫外線還具有殺菌作用,醫院里的病房就利用紫外線消毒。但過強的紫外線會傷害人體,應注意防護。
10-2.jpg (28.21 KB, 下載次數: 62)
下載附件
2020-12-25 17:32 上傳
作者: eagler8 時間: 2020-12-25 17:56
10-4.gif (151.73 KB, 下載次數: 67)
下載附件
2020-12-25 17:56 上傳
紫外線指數
是指當太陽在天空中的位置最高時(一般是在中午前后,即從上午十時至下午三時的時間段里),到達地球表面的太陽光線中的紫外線輻射對人體皮膚的可能損傷程度。紫外線指數變化范圍用0-15的數字來表示,通常,夜間的紫外線指數為0,熱帶、高原地區、晴天時的紫外線指數為15。當紫外線指數愈高時,表示紫外線輻射對人體皮膚的紅斑損傷程度愈加劇,同樣地,紫外線指數愈高,在愈短的時間里對皮膚的傷害也愈大。
紫外線指數由兩部分組成,一部分是測量得到的不同波長的太陽紫外線強度,另一部分是醫學試驗得到的不同類型皮膚經紫外線照射后出現紅斑反映所需要的紫外線劑量,把這兩部分用數學方法組合處理后再按規定的標準轉換成數字就形成了向公眾發布的紫外線指數。因此紫外線指數可以理解為,到達地面的太陽紫外線強度以及人類裸露皮膚的影響程度,紫外線指數的數字越大,對皮膚造成的損害越大。醫學試驗證明,以皮膚變紅為標準,紫外線對皮膚的傷害,不僅和紫外線強度有關,還和皮膚類型以及日曬時間有關,所以在紫外線指數的實際應用中,我們不僅需要知道不同紫外線指數的具體含義,還需要知道更多的防曬知識。
紫外線指數等級(Grade of UV Index)
分為一級~五級,分級方法見附表
一級:0,1,2 最弱<5100~180不需要采取防護措施;若長期在戶外,建議涂擦SPF在8-12之間的防曬護膚品。
二級:3,4 弱 5~1060~100可以適當采取一些防護措施,涂擦SPF在12-15之間、PA+的防曬護膚品。
三級:5,6 中等 10~1530~60外出時戴好遮陽帽、太陽鏡和太陽傘等;涂擦SPF高于15、PA+的防曬護膚品。
四級:7,8,9 強 15~3020~40避免在10點至14點暴露于日光下.外出時戴好遮陽帽、太陽鏡和太陽傘等,涂擦SPF20左右、PA++的防曬護膚品。
五級:10和大于10 很強 >=30小于20盡可能不在室外活動,必須外出時,要采取各種有效的防護措施。
10-5 (1).jpg (97.14 KB, 下載次數: 59)
下載附件
2020-12-25 17:56 上傳
作者: eagler8 時間: 2020-12-25 19:22
10-6.jpg (135.16 KB, 下載次數: 60)
下載附件
2020-12-25 19:22 上傳
作者: eagler8 時間: 2020-12-25 19:24
11.jpg (89.49 KB, 下載次數: 48)
下載附件
2020-12-25 19:24 上傳
作者: eagler8 時間: 2020-12-25 19:27
GY-8511紫外線傳感器模塊電原理圖
08.jpg (45.91 KB, 下載次數: 64)
下載附件
2020-12-25 19:27 上傳
作者: eagler8 時間: 2020-12-25 19:31
12.jpg (86.4 KB, 下載次數: 53)
下載附件
2020-12-25 19:31 上傳
13.jpg (25.09 KB, 下載次數: 59)
下載附件
2020-12-25 19:31 上傳
作者: eagler8 時間: 2020-12-25 20:06
- /*
- 【Arduino】168種傳感器模塊系列實驗(資料代碼+圖形編程+仿真編程)
- 實驗一百五十四:ML8511紫外線傳感器模塊 模擬量輸出UV Sensor Breakou
- 接線
- ML8511 arduino uno
- VCC----------------------VCC
- OUT----------------------A0
- GND----------------------GND
- 實驗之一:串口顯示ML8511紫外線傳感器數值
- */
- int ReadUVintensityPin = A0; //Output from the sensor
- void setup()
- {
- pinMode(ReadUVintensityPin, INPUT);
- Serial.begin(9600); //open serial port, set the baud rate to 9600 bps
- Serial.println("Starting up...");
- }
- void loop()
- {
- int uvLevel = averageAnalogRead(ReadUVintensityPin);
- float outputVoltage = 5.0 * uvLevel/1024;
- float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
- Serial.print("UVAnalogOutput: ");
- Serial.print(uvLevel);
- Serial.print(" OutputVoltage: ");
- Serial.print(outputVoltage);
- Serial.print(" UV Intensity: ");
- Serial.print(uvIntensity);
- Serial.print(" mW/cm^2");
- Serial.println();
- delay(100);
- }
- //Takes an average of readings on a given pin
- //Returns the average
- int averageAnalogRead(int pinToRead)
- {
- byte numberOfReadings = 8;
- unsigned int runningValue = 0;
- for(int x = 0 ; x < numberOfReadings ; x++)
- runningValue += analogRead(pinToRead);
- runningValue /= numberOfReadings;
- return(runningValue);
- }
- //The Arduino Map function but for floats
- float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
- {
- return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
- }
復制代碼
作者: eagler8 時間: 2020-12-25 20:09
GY-8511紫外線傳感器模塊測試室內紫外線情況,串口顯示
15.jpg (80.76 KB, 下載次數: 54)
下載附件
2020-12-25 20:06 上傳
作者: eagler8 時間: 2020-12-25 20:16
GY-8511紫外線傳感器模塊實際測試實驗場景圖
16.jpg (128.73 KB, 下載次數: 63)
下載附件
2020-12-25 20:16 上傳
作者: eagler8 時間: 2020-12-25 20:21
GY-8511紫外線傳感器模塊接線示意圖
14.jpg (53.05 KB, 下載次數: 49)
下載附件
2020-12-25 20:21 上傳
作者: eagler8 時間: 2020-12-26 10:51
上午測量的室內紫外線情況(前面是昨晚測量的)
17.jpg (113.25 KB, 下載次數: 62)
下載附件
2020-12-26 10:51 上傳
作者: eagler8 時間: 2020-12-26 11:17
- /*
- 【Arduino】168種傳感器模塊系列實驗(資料代碼+圖形編程+仿真編程)
- 實驗一百五十四:ML8511紫外線傳感器模塊 模擬量輸出UV Sensor Breakou
- 實驗接線
- ML8511 / Arduino
- 3.3V = 3.3V
- OUT = A0
- GND = GND
- EN = 3.3V
- Arduino 3.3V = Arduino A1
- 實驗之二:串口顯示ML8511紫外線傳感器數值(帶3.3V基準校準)
- */
- //Hardware pin definitions
- int UVOUT = A0; //Output from the sensor
- int REF_3V3 = A1; //3.3V power on the Arduino board
- void setup()
- {
- Serial.begin(9600);
- pinMode(UVOUT, INPUT);
- pinMode(REF_3V3, INPUT);
- Serial.println("MP8511 example");
- }
- void loop()
- {
- int uvLevel = averageAnalogRead(UVOUT);
- int refLevel = averageAnalogRead(REF_3V3);
- //Use the 3.3V power pin as a reference to get a very accurate output value from sensor
- float outputVoltage = 3.3 / refLevel * uvLevel;
- float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
- Serial.print("MP8511 output: ");
- Serial.print(uvLevel);
- Serial.print(" MP8511 voltage: ");
- Serial.print(outputVoltage);
- Serial.print(" UV Intensity (mW/cm^2): ");
- Serial.print(uvIntensity);
- Serial.println();
- delay(100);
- }
- //Takes an average of readings on a given pin
- //Returns the average
- int averageAnalogRead(int pinToRead)
- {
- byte numberOfReadings = 8;
- unsigned int runningValue = 0;
- for (int x = 0 ; x < numberOfReadings ; x++)
- runningValue += analogRead(pinToRead);
- runningValue /= numberOfReadings;
- return (runningValue);
- }
- //The Arduino Map function but for floats
- //From: http://forum.arduino.cc/index.php?topic=3922.0
- float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
- {
- return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
- }
復制代碼
作者: eagler8 時間: 2020-12-26 11:26
18.jpg (122.89 KB, 下載次數: 55)
下載附件
2020-12-26 11:26 上傳
作者: eagler8 時間: 2020-12-26 11:34
ML8511分支板連接到Arduino的接線
ML8511 / Arduino的
3.3V = 3.3V
輸出= A0
地=地
EN = 3.3V
Arduino 3.3V = Arduino A1
最后兩個連接有些不同。將分線上的EN引腳連接到3.3V以啟用設備。還要將Arduino的3.3V引腳連接到Arduino模擬引腳1。
這里使用了一個巧妙的技巧。模數轉換完全依靠VCC。我們假設這是5.0V,但如果該板由USB供電,則可能高達5.25V或低至4.75V。由于這個未知的窗口,這使得Arduino上的ADC相當不準確。為了解決這個問題,我們使用了非常準確的板載3.3V參考電壓(準確度在1%以內)。因此,通過在3.3V引腳上進行模數轉換(將其連接到A1),然后將該讀數與傳感器的讀數進行比較,無論VIN是多少,我們都可以推斷出真實的讀數(如只要高于3.4V)。
例如,我們知道Arduino上的ADC在讀取VCC時將輸出1023。如果從連接到3.3V的連接中讀取669,那么Arduino的電壓是多少?這是一個簡單的比例!
VCC / 1023 = 3.3V / 669
求解VCC,我們得到5.05V。如果您有數字萬用表,可以在Arduino上驗證5V引腳。
既然我們確切地知道什么是VCC,我們就可以對UV電壓做一個更精確的ADC:
UV_Voltage / uvLevel = 3.3 / refLevel
uvLevel這就是我們從OUT圖釘中讀取的內容。refLevel這就是我們在3.3V引腳上讀取的內容。解決UV_Voltage,我們可以獲得準確的讀數。
19.jpg (119.1 KB, 下載次數: 70)
下載附件
2020-12-26 11:34 上傳
作者: yan1135877112 時間: 2021-4-19 19:19
親,焊接ML8511芯片的溫度應該控制在什么范圍,該正向焊還是反向焊接呢
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |