RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>電子資料>arduino可編程OLED面板儀表

arduino可編程OLED面板儀表

2023-06-07 | zip | 0.04 MB | 次下載 | 2積分

資料介紹


pYYBAGR_2Z-AIwhcAACRwBDVhHo074.png

pYYBAGR_2aOAH3dYAABVqWMteOM456.png
poYBAGR_2aaAfT1tAABRBfEQfxM859.jpg

描述

迷你 OLED 面板儀表

介紹

這是一款 arduino編程 OLED 面板儀表,使用 INA226 電源監(jiān)控芯片來感應電壓和電流,然后顯示在 SSD1306 OLED 顯示屏上。通常亞馬遜/ebay 上便宜的其他小型面板儀表非常不準確,其中一些帶有可以改變電壓和電流的電位器,但這僅在很小的值范圍內準確,并且通常會弄亂電壓/電流讀數(shù)。為了避免這種挫敗感,我構建了自己的面板表,可以準確顯示電壓和電流,非常小,易于使用,可以測量瓦特,并可以更改任何測量單位。

教科書鏈接

工作準則

電流和電壓測量的背景

測量電壓非常簡單,您只需將要測量的電壓連接到 ADC模數(shù)轉換器),以便微控制器讀取并顯示值。ADC 幾乎可以在特定時間點對模擬電壓進行采樣,并將這些值存儲為位。位分辨率越高,即 ADC 對模擬電壓進行的采樣數(shù)量,精度就越高??梢酝ㄟ^多種不同的方式測量電流,但我將只關注本項目使用的一種使用電流分流器的方法。電流分流器只是一個與您正在測量的負載串聯(lián)的電阻器,根據(jù)歐姆定律,流過該電阻器的電流將在電阻器上產生等于 I 乘以 R 的壓降。通過分流器的電流將與流經負載的電流相同,因為它與負載串聯(lián)。如果分流器的值已知,則通過負載的電流將等于分流器兩端的電壓降/分流器的電阻。分流器可以連接在高側或低側,當電流分流器連接到負載的正側時,高側就是高側,而低側連接到負載的接地側。我為這個項目選擇了高端傳感。分流器可以連接在高側或低側,當電流分流器連接到負載的正側時,高側就是高側,而低側連接到負載的接地側。我為這個項目選擇了高端傳感。分流器可以連接在高側或低側,當電流分流器連接到負載的正側時,高側就是高側,而低側連接到負載的接地側。我為這個項目選擇了高端傳感。

pYYBAGR_2amARQvbAABCjWpB0C8005.png

關于組件

該項目使用 INA226 電源監(jiān)控 IC 來測量電壓和電流。它通過測量分流電阻器兩端的電壓來實現(xiàn)這一點,并計算流經負載的電流,因為電壓僅由 INA226 的 ADC 測量。這個項目的核心是 ATMEGA328p,因為它通過 I2C 從 INA226 讀取值,并再次通過 I2C 將這些值顯示到 OLED 顯示器。電流分流器是一個 5mΩ 電阻器,容差為 1%,額定功率為 2W,它會產生 INA226 測量的壓降。SSD1306 是一種典型的顯示器,隨處可用,常用于 arduino 項目,您只需為其加電,并通過 I2C 線為其提供信息

示意圖

ATMEGA328p 與 Arduino mini 幾乎相同,要對 Arduino mini 進行編程,您需要 FTDI 編程器才能將 USB 轉換為串行通信。為了對 ATMEGA328p 進行編程,F(xiàn)TDI 編程器需要使用引腳 DTR、RX、TX、CTS、POWER 和 GROUND 連接到 ATMEGA。您不僅需要對 ATMEGA 進行編程,而且由于芯片是空白的,因此需要進行引導加載,并且要引導加載芯片,您需要使用引腳 15、16、17 和 29 將 Arduino uno 連接到芯片。編程,和引導加載芯片將在下面的步驟中解釋。兩個 10k 電阻位于 ATMEGA 的引腳 28 和 27 上,因為它們是 I2C 引腳(SDA 和 SCL)。這兩個引腳需要一個上拉電阻才能在顯示器的位置正常工作,INA226 使用 I2C 通信,這就是為什么它們的引腳標有 SDA,和 SCL(串行數(shù)據(jù)和串行時鐘)。INA226 的 VBUS 是您測量電壓的點(相對于地),IN+ 連接到分流器的正極,IN- 連接到分流器的負載側,警報引腳用于提醒故障條件的用戶。

poYBAGR_2auAN7JbAAC2pXoCCQY310.pngpoYBAGR_2bKAULH2AABWvHI-E1g929.pngpoYBAGR_2bSAIC__AACXPZ79DRg232.png

引導加載和編程 PCB

引導加載

D11 → 15

D12 → 16

D13 → 17

+3.3v → +3.3v

接地 → 接地

然后打開 Arduino IDE,打開一個名為“ArduinoISP”的示例草圖,并上傳代碼。在此之后,轉到工具,然后選擇“Programmer”,然后選擇“Arduino as ISP”。最后,轉到工具并選擇“Burn Bootloader”,如果它被引導加載,板將在引導加載時快速閃爍 3 次,您將在命令窗口中收到一條消息,告訴您它已被引導加載。pYYBAGR_2biAADQrAACWR1PP3rc624.png

編程

引導加載后,電路板現(xiàn)在可以進行編程了。首先,拿到 FTDI 編程器,并連接到上圖所示的母頭,或者您可以按照母頭的引出線,通過跳線將 FTDI 板連接到它。確保將 FTDI 編程器設置為 3.3v。當一切都連接好后,只需在第 4 步中上傳代碼即可。poYBAGR_2bqABITqAABlymF2Bqc759.pngpoYBAGR_2b2ABiywAACSOTYBS2w475.png

校準

請記住,您可能需要修改“setResistorRange”函數(shù)的電阻值,因為電阻器并不完美。為了校準傳感器,您必須運行代碼,并打開串行監(jiān)視器,它首先讀取 0 或接近 0,然后您必須連接負載,并讓已知電流通過它。通過這個已知電流會給你一個串行監(jiān)視器上的讀數(shù)。將此數(shù)字除以 1000(因為它以 mV 為單位),然后除以已知電流(以安培為單位),這應該會給出實際電阻值。將實際電阻值插入“setResistorRange”函數(shù)以校準電路板。在第 4 步中,我將該值設置為 5mΩ,但如果您使用 1% 容差電阻器,這當然需要更改,因為如果您使用 0,則很可能不需要校準它。

使用它

電路板接線非常簡單,只需按照上圖操作即可,請記住,如果您使用兩個單獨的電源,則必須將地線連接在一起。該板在開始變熱之前只能處理大約 5A 的電流測量,但理論上它可以測量高達 16A 的電流,因為最大感應電壓只能為 80mV。然而,電阻器加熱會增加其電阻,并導致不準確。由于測量線的壓降,電壓讀數(shù)可能不準確,為避免這種情況,請確保使用粗線。該儀表只能測量最大 36v,不過,我相信可以重新設計電路板,添加一個分壓器來限制輸出電壓,并更改代碼以獲得更高的電壓測量值。

我使用的圖書館:鏈接

有關圖書館的更多信息:鏈接

pYYBAGR_2b-ARIMFAABV2UgJ1VM342.png

代碼

代碼

阿杜諾

?

? #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);
? ?
? ?
? ?
? }

?

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页