資料介紹
	


描述
迷你 OLED 面板儀表
介紹
這是一款 arduino 可編程 OLED 面板儀表,使用 INA226 電源監(jiān)控芯片來感應(yīng)電壓和電流,然后顯示在 SSD1306 OLED 顯示屏上。通常亞馬遜/ebay 上便宜的其他小型面板儀表非常不準(zhǔn)確,其中一些帶有可以改變電壓和電流的電位器,但這僅在很小的值范圍內(nèi)準(zhǔn)確,并且通常會(huì)弄亂電壓/電流讀數(shù)。為了避免這種挫敗感,我構(gòu)建了自己的面板表,可以準(zhǔn)確顯示電壓和電流,非常小,易于使用,可以測(cè)量瓦特,并可以更改任何測(cè)量單位。
教科書鏈接
工作準(zhǔn)則
電流和電壓測(cè)量的背景
測(cè)量電壓非常簡單,您只需將要測(cè)量的電壓連接到 ADC(模數(shù)轉(zhuǎn)換器),以便微控制器讀取并顯示值。ADC 幾乎可以在特定時(shí)間點(diǎn)對(duì)模擬電壓進(jìn)行采樣,并將這些值存儲(chǔ)為位。位分辨率越高,即 ADC 對(duì)模擬電壓進(jìn)行的采樣數(shù)量,精度就越高。可以通過多種不同的方式測(cè)量電流,但我將只關(guān)注本項(xiàng)目使用的一種使用電流分流器的方法。電流分流器只是一個(gè)與您正在測(cè)量的負(fù)載串聯(lián)的電阻器,根據(jù)歐姆定律,流過該電阻器的電流將在電阻器上產(chǎn)生等于 I 乘以 R 的壓降。通過分流器的電流將與流經(jīng)負(fù)載的電流相同,因?yàn)樗c負(fù)載串聯(lián)。如果分流器的值已知,則通過負(fù)載的電流將等于分流器兩端的電壓降/分流器的電阻。分流器可以連接在高側(cè)或低側(cè),當(dāng)電流分流器連接到負(fù)載的正側(cè)時(shí),高側(cè)就是高側(cè),而低側(cè)連接到負(fù)載的接地側(cè)。我為這個(gè)項(xiàng)目選擇了高端傳感。分流器可以連接在高側(cè)或低側(cè),當(dāng)電流分流器連接到負(fù)載的正側(cè)時(shí),高側(cè)就是高側(cè),而低側(cè)連接到負(fù)載的接地側(cè)。我為這個(gè)項(xiàng)目選擇了高端傳感。分流器可以連接在高側(cè)或低側(cè),當(dāng)電流分流器連接到負(fù)載的正側(cè)時(shí),高側(cè)就是高側(cè),而低側(cè)連接到負(fù)載的接地側(cè)。我為這個(gè)項(xiàng)目選擇了高端傳感。
	
關(guān)于組件
該項(xiàng)目使用 INA226 電源監(jiān)控 IC 來測(cè)量電壓和電流。它通過測(cè)量分流電阻器兩端的電壓來實(shí)現(xiàn)這一點(diǎn),并計(jì)算流經(jīng)負(fù)載的電流,因?yàn)殡妷簝H由 INA226 的 ADC 測(cè)量。這個(gè)項(xiàng)目的核心是 ATMEGA328p,因?yàn)樗ㄟ^ I2C 從 INA226 讀取值,并再次通過 I2C 將這些值顯示到 OLED 顯示器。電流分流器是一個(gè) 5mΩ 電阻器,容差為 1%,額定功率為 2W,它會(huì)產(chǎn)生 INA226 測(cè)量的壓降。SSD1306 是一種典型的顯示器,隨處可用,常用于 arduino 項(xiàng)目,您只需為其加電,并通過 I2C 線為其提供信息。
示意圖
ATMEGA328p 與 Arduino mini 幾乎相同,要對(duì) Arduino mini 進(jìn)行編程,您需要 FTDI 編程器才能將 USB 轉(zhuǎn)換為串行通信。為了對(duì) ATMEGA328p 進(jìn)行編程,F(xiàn)TDI 編程器需要使用引腳 DTR、RX、TX、CTS、POWER 和 GROUND 連接到 ATMEGA。您不僅需要對(duì) ATMEGA 進(jìn)行編程,而且由于芯片是空白的,因此需要進(jìn)行引導(dǎo)加載,并且要引導(dǎo)加載芯片,您需要使用引腳 15、16、17 和 29 將 Arduino uno 連接到芯片。編程,和引導(dǎo)加載芯片將在下面的步驟中解釋。兩個(gè) 10k 電阻位于 ATMEGA 的引腳 28 和 27 上,因?yàn)樗鼈兪?I2C 引腳(SDA 和 SCL)。這兩個(gè)引腳需要一個(gè)上拉電阻才能在顯示器的位置正常工作,INA226 使用 I2C 通信,這就是為什么它們的引腳標(biāo)有 SDA,和 SCL(串行數(shù)據(jù)和串行時(shí)鐘)。INA226 的 VBUS 是您測(cè)量電壓的點(diǎn)(相對(duì)于地),IN+ 連接到分流器的正極,IN- 連接到分流器的負(fù)載側(cè),警報(bào)引腳用于提醒故障條件的用戶。
	


引導(dǎo)加載和編程 PCB
引導(dǎo)加載
D11 → 15
D12 → 16
D13 → 17
+3.3v → +3.3v
接地 → 接地
	然后打開 Arduino IDE,打開一個(gè)名為“ArduinoISP”的示例草圖,并上傳代碼。在此之后,轉(zhuǎn)到工具,然后選擇“Programmer”,然后選擇“Arduino as ISP”。最后,轉(zhuǎn)到工具并選擇“Burn Bootloader”,如果它被引導(dǎo)加載,板將在引導(dǎo)加載時(shí)快速閃爍 3 次,您將在命令窗口中收到一條消息,告訴您它已被引導(dǎo)加載。
編程
	引導(dǎo)加載后,電路板現(xiàn)在可以進(jìn)行編程了。首先,拿到 FTDI 編程器,并連接到上圖所示的母頭,或者您可以按照母頭的引出線,通過跳線將 FTDI 板連接到它。確保將 FTDI 編程器設(shè)置為 3.3v。當(dāng)一切都連接好后,只需在第 4 步中上傳代碼即可。

校準(zhǔn)
請(qǐng)記住,您可能需要修改“setResistorRange”函數(shù)的電阻值,因?yàn)殡娮杵鞑⒉煌昝?。為了校?zhǔn)傳感器,您必須運(yùn)行代碼,并打開串行監(jiān)視器,它首先讀取 0 或接近 0,然后您必須連接負(fù)載,并讓已知電流通過它。通過這個(gè)已知電流會(huì)給你一個(gè)串行監(jiān)視器上的讀數(shù)。將此數(shù)字除以 1000(因?yàn)樗?mV 為單位),然后除以已知電流(以安培為單位),這應(yīng)該會(huì)給出實(shí)際電阻值。將實(shí)際電阻值插入“setResistorRange”函數(shù)以校準(zhǔn)電路板。在第 4 步中,我將該值設(shè)置為 5mΩ,但如果您使用 1% 容差電阻器,這當(dāng)然需要更改,因?yàn)槿绻褂?0,則很可能不需要校準(zhǔn)它。
使用它
電路板接線非常簡單,只需按照上圖操作即可,請(qǐng)記住,如果您使用兩個(gè)單獨(dú)的電源,則必須將地線連接在一起。該板在開始變熱之前只能處理大約 5A 的電流測(cè)量,但理論上它可以測(cè)量高達(dá) 16A 的電流,因?yàn)樽畲蟾袘?yīng)電壓只能為 80mV。然而,電阻器加熱會(huì)增加其電阻,并導(dǎo)致不準(zhǔn)確。由于測(cè)量線的壓降,電壓讀數(shù)可能不準(zhǔn)確,為避免這種情況,請(qǐng)確保使用粗線。該儀表只能測(cè)量最大 36v,不過,我相信可以重新設(shè)計(jì)電路板,添加一個(gè)分壓器來限制輸出電壓,并更改代碼以獲得更高的電壓測(cè)量值。
我使用的圖書館:鏈接
有關(guān)圖書館的更多信息:鏈接
	
代碼
代碼
阿杜諾
?
| ? | #include | 
| ? | #include | 
| ? | #include | 
| ? | #include | 
| ? | #include | 
| ? | #include | 
| ? | ? | 
| ? | ? | 
| ? | #define SCREEN_WIDTH 128 | 
| ? | #define SCREEN_HEIGHT 64 | 
| ? | #define OLED_RESET 4 | 
| ? | #define I2C_ADDRESS 0x40 | 
| ? | Adafruit_SSD1306 display(OLED_RESET); | 
| ? | //INA226 INA(0x40); | 
| ? | float shuntVoltage_mV = 0.000; | 
| ? | float busVoltage_V = 0.000; | 
| ? | float current_A = 0.000; | 
| ? | float loadVoltage_V = 0.000; | 
| ? | float x; | 
| ? | float z; | 
| ? | float y; | 
| ? | ? | 
| ? | ? | 
| ? | INA226_WE ina226 = INA226_WE(0x40); | 
| ? | ? | 
| ? | ? | 
| ? | void setup() { | 
| ? | Wire.begin(); | 
| ? | display.begin(SSD1306_SWITCHCAPVCC, 0x3C); | 
| ? | Serial.begin(9600); | 
| ? | ina226.init(); | 
| ? | ina226.setResistorRange(0.00515,10.0); | 
| ? | ina226.waitUntilConversionCompleted(); | 
| ? | ina226.setConversionTime(CONV_TIME_140); | 
| ? | ina226.setAverage(AVERAGE_256); | 
| ? | pinMode(2,OUTPUT); | 
| ? | } | 
| ? | ? | 
| ? | void loop() { | 
| ? | ? | 
| ? | ? | 
| ? | ? | 
| ? | // ina226.setCorrectionFactor(1); | 
| ? | //ina226.readAndClearFlags(); | 
| ? | shuntVoltage_mV = ina226.getShuntVoltage_mV(); | 
| ? | busVoltage_V = (ina226.getBusVoltage_V()); | 
| ? | current_A = ina226.getCurrent_mA()/1000; | 
| ? | if (current_A <=0) { | 
| ? | x = 0.000; | 
| ? | } | 
| ? | else{ | 
| ? | x = current_A; | 
| ? | } | 
| ? | if (busVoltage_V >= 10){ | 
| ? | z = 18; | 
| ? | } | 
| ? | else { | 
| ? | z = 30; | 
| ? | } | 
| ? | if ( current_A >= 10){ | 
| ? | y = 18; | 
| ? | } | 
| ? | else { | 
| ? | y = 30; | 
| ? | } | 
| ? | display.clearDisplay(); | 
| ? | display.setTextColor(WHITE); | 
| ? | display.setTextSize(2); | 
| ? | display.setCursor(z,0); | 
| ? | display.print(busVoltage_V,3); | 
| ? | display.setCursor(110,0); | 
| ? | display.print("V"); | 
| ? | display.setTextColor(WHITE); | 
| ? | display.setTextSize(2); | 
| ? | display.setCursor(y,18); | 
| ? | display.print(x,3); | 
| ? | display.setCursor(110,18); | 
| ? | display.print("A"); | 
| ? | display.display(); | 
| ? | Serial.println(shuntVoltage_mV,5); | 
| ? | ? | 
| ? | ? | 
| ? | ? | 
| ? | } | 
?
?
- 可編程信號(hào)隔離變送器
 - 帶OLED顯示屏的可編程袖珍電源
 - Arduino模擬面板儀表時(shí)鐘
 - PLC Arduino NANO可編程梯形圖
 - 可編程控制器AC500用戶手冊(cè) 1次下載
 - 可編程邏輯器件PLD課件下載 31次下載
 - 基于可編程邏輯的SDRAM控制方法設(shè)計(jì) 8次下載
 - 系統(tǒng)可編程閃存中的RISC微控制器LGT8XM 0次下載
 - ADXL355低噪聲可編程文件下載 0次下載
 - 可編程控制器原理及應(yīng)用 22次下載
 - AD625:可編程增益儀表放大器數(shù)據(jù)表
 - AD8231:零漂數(shù)字可編程儀表放大器數(shù)據(jù)表
 - 三菱可編程邏輯控制器密碼破解軟件下載 6次下載
 - 現(xiàn)場(chǎng)可編程門陣列簡介 77次下載
 - 可編程邏輯陣列fpga和cpld說明 25次下載
 
- 可編程晶振的優(yōu)點(diǎn)和缺點(diǎn) 460次閱讀
 - 什么是現(xiàn)場(chǎng)可編程邏輯陣列?它有哪些特點(diǎn)和應(yīng)用? 1054次閱讀
 - 可編程片上系統(tǒng)是什么意思 606次閱讀
 - 現(xiàn)場(chǎng)可編程門陣列的原理和應(yīng)用 788次閱讀
 - 現(xiàn)場(chǎng)可編程門陣列是什么 2521次閱讀
 - 可編程邏輯器件測(cè)試方法 1575次閱讀
 - 如何制作一個(gè)簡單的2步Arduino可編程定時(shí)器電路 2462次閱讀
 - 如何制作一個(gè)簡單的2步Arduino可編程定時(shí)器電路 4658次閱讀
 - 可編程電源的原理 可編程電源的優(yōu)缺點(diǎn) 2458次閱讀
 - 可編程控制器的特點(diǎn)有哪些 8790次閱讀
 - dfrobot可編程游戲手柄 介紹 2392次閱讀
 - 利用儀表放大器獲得可編程增益的方法是什么? 6020次閱讀
 - 可編程電源應(yīng)用與選型詳解 1.3w次閱讀
 - 可編程控制器基本知識(shí)_可編程控制器原理及應(yīng)用 5.9w次閱讀
 - 可編程電源簡介 2186次閱讀
 
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
 - 1.06 MB | 532次下載 | 免費(fèi)
 - 2RK3399完整板原理圖(支持平板,盒子VR)
 - 3.28 MB | 339次下載 | 免費(fèi)
 - 3TC358743XBG評(píng)估板參考手冊(cè)
 - 1.36 MB | 330次下載 | 免費(fèi)
 - 4DFM軟件使用教程
 - 0.84 MB | 295次下載 | 免費(fèi)
 - 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
 - 6.40 MB | 227次下載 | 免費(fèi)
 - 6迪文DGUS開發(fā)指南
 - 31.67 MB | 194次下載 | 免費(fèi)
 - 7元宇宙底層硬件系列報(bào)告
 - 13.42 MB | 182次下載 | 免費(fèi)
 - 8FP5207XR-G1中文應(yīng)用手冊(cè)
 - 1.09 MB | 178次下載 | 免費(fèi)
 
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234315次下載 | 免費(fèi)
 - 2555集成電路應(yīng)用800例(新編版)
 - 0.00 MB | 33566次下載 | 免費(fèi)
 - 3接口電路圖大全
 - 未知 | 30323次下載 | 免費(fèi)
 - 4開關(guān)電源設(shè)計(jì)實(shí)例指南
 - 未知 | 21549次下載 | 免費(fèi)
 - 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
 - 0.00 MB | 15349次下載 | 免費(fèi)
 - 6數(shù)字電路基礎(chǔ)pdf(下載)
 - 未知 | 13750次下載 | 免費(fèi)
 - 7電子制作實(shí)例集錦 下載
 - 未知 | 8113次下載 | 免費(fèi)
 - 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
 - 0.00 MB | 6656次下載 | 免費(fèi)
 
總榜
- 1matlab軟件下載入口
 - 未知 | 935054次下載 | 免費(fèi)
 - 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
 - 78.1 MB | 537798次下載 | 免費(fèi)
 - 3MATLAB 7.1 下載 (含軟件介紹)
 - 未知 | 420027次下載 | 免費(fèi)
 - 4OrCAD10.5下載OrCAD10.5中文版軟件
 - 0.00 MB | 234315次下載 | 免費(fèi)
 - 5Altium DXP2002下載入口
 - 未知 | 233046次下載 | 免費(fèi)
 - 6電路仿真軟件multisim 10.0免費(fèi)下載
 - 340992 | 191187次下載 | 免費(fèi)
 - 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
 - 158M | 183279次下載 | 免費(fèi)
 - 8proe5.0野火版下載(中文版免費(fèi)下載)
 - 未知 | 138040次下載 | 免費(fèi)
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評(píng)論