Ang pangunahing mga parameter ng board ay ipinahiwatig sa board mismo.
Ang pangunahing elemento sa board ay ang INA219 chip. Ang INA219 chip, sa kabila ng maliit na sukat nito at maliit na bilang ng mga pin, ay may mahusay na kakayahan. Sinusukat ng microcircuit ang boltahe sa shunt (sa mga terminal Vin + at Vin_) - isang risistor na may mababang pagtutol at sa Vin-pin na kamag-anak sa GND pin, sa pagliko. Ang mga resulta ng pagkalkula ay nakasulat sa mga rehistro, pagkatapos ay maipadala ito sa microcontroller sa pamamagitan ng komunikasyon na bus ng I2C. Ang isang shunt na may isang pagtutol ng 0.1 ohms ay naka-install sa board. Sinusukat ng boltahe sa chip ang analog-to-digital converter ng ADC. Ang ADC ay maaaring gumana sa 9, 10, 11, 12 mode ng tibit. Ang mode ng pagpapatakbo ng chip ay na-configure sa pamamagitan ng pagbabago ng rehistro ng pagsasaayos. Ang tagagawa ay may isang libreng programa, INA219 EVM, para sa pag-configure ng INA219 chip. File ng Program - sboc271.zip
Datasheet file sa INA291 chip -
Tingnan ang online na file:
Ang microcircuit ay may kakayahang ayusin ang kawastuhan ng mga sukat nito, sa madaling salita, posible na ma-calibrate ang mga resulta ng pagsukat.
Upang mapatunayan ang pagpapatakbo ng lupon sa chip ng INA219, tipunin ang sumusunod na circuit.
Ang kapangyarihan sa board na may INA219 chip ay dapat ibigay mula sa board Arduino o iba pang mapagkukunan ng kuryente.
Upang gumana sa board sa INA219 chip sa Arduino IDE programming system, kailangan namin ng isang library. Ang mga paghahanap sa Internet ay nagbunga ng isang positibong resulta. Natagpuan ko ang maraming mga aklatan, ngunit nagtrabaho ito para sa akin na dalawa lamang.
Ang unang aklatan mula sa Adafruit ay natagpuan - Adafruit_INA219-master.zip
Nagtatrabaho ito, ngunit hindi ako makakonekta sa board gamit ang INA219 chip kapag pinalitan ko ang I2C bus address. Bilang default, ang isang board na may isang chip ng INA219 ay may isang address ng bus na I2C 0x40. Hindi rin pinapayagan ka nitong i-configure ang operating mode ng INA219 chip.
Ang pangalawang silid-aklatan ay wala sa mga pagkukulang ng una. Ang pangalawang gumaganang aklatan ay Arduino-INA219-master.zip
Paano naka-install ang mga aklatan sa Arduino IDE programming system? Maaari mong makuha ang sagot sa tanong na ito mula sa aking mga artikulo o mula sa impormasyong nai-post sa Internet.
Nais kong gamitin ang board gamit ang INA219 chip para sa mga eksperimento. Ito ay magiging mas maginhawa para sa akin na magtrabaho kasama ito kung ako ang nagbebenta ng konektor at pin ng BLS papunta sa board.
Pinagsama ko ang circuit, na nakakonekta ang Data (SDA) at Clok (SCL) pin sa board ng Arduino UNO. Ikonekta ang Data output (SDA) sa konektor A4, ikonekta ang output Clok (SCL) sa konektor A5 ng board ng Arduino UNO. Pagkatapos ay buksan ang programang Arduino IDE. Naka-install na ako ng mga aklatan. Binubuksan namin ang isang halimbawa ng unang aklatan.
Binago ko ang linya 9 sa code sa halip na 115200, naitakda ang 9600. Kung hindi man, lilitaw ang mga eskritik sa serial port monitor sa halip na mga numero at titik. I-configure ko rin ang com port ng computer sa bilis na 9600. Sinubukan ito sa akin sa pagsasagawa.
Nag-compile kami ng halimbawa ng getcurrent. Nag-load kami ng data sa controller ng Arduino UNO board. Buksan ang serial monitor monitor sa Arduino UNO program at tingnan ang resulta ng pagsukat na nakuha mula sa chip ng INA219.
Ang resulta ng pagsukat ng INA219 chip ay tumpak.
Susunod, nagpasya akong baguhin ang address ng bus ng I2C. At bago iyon, natukoy ko ang I2C bus address ng INA219 board sa tulong ng isang sketch, tulad ng ginawa ko sa artikulong "Ang istasyon ng panahon ng tahanan sa GY-BMP280-3.3 at Ds18b20»
Upang mabago ang address ng bus ng I2C ng lupon mula sa chip ng INA219, naibenta ko ang lumulukso at tinukoy ang isang bagong address ng bus ng I2C.
Pagkatapos ay nai-download ko ang halimbawa mula sa pangalawang silid-aklatan.
Upang ang compile code (na-convert sa isang form na angkop para sa pagsusulat sa microcontroller ng Arduino UNO board) upang magtrabaho kasama ang board sa chip ng INA219 na may address na 0x44, kailangan mong baguhin ang linya ng ina.begin () sa halimbawa; sa string ina.begin (68);
Bakit 68? At dahil ang 68 = 0 x 44, 68 ay isang numero sa sistema ng numero ng desimal, ang 0 x 44 ay isang numero sa sistema ng octal number.
Upang isalin ang mga numero, maaari mong gamitin ang karaniwang calculator.
Matapos baguhin ang linya ng compilation ng halimbawa, pag-flash ng code sa Arduino UNO sa serial port monitor, nakita ko ang sumusunod.
Good luck sa lahat sa iyong mga pagsusumikap at gawa!
Gastos: ~ 80