Opiszę dzisiaj kilka podstawowych informacji, które są potrzebne, aby obsłużyć układ INA219 na ESP8266.
Na początek należy dodać, że moduł INA219, może mierzyć i Ampery i Volty jednocześnie, a jak powszechnie wiadomo V*A=W , a więc i waty, aby to zrobić należy jednak mieć na uwadze, aby byłą wspólna masa, gdyż bez tego układ ten może pokazywać bardzo odbiegłe od realnych wskazań miernika wyników.
Prezentuję schemat:
Dla każdych nowicjuszy, może on wydawać się skomplikowany, ale spokojnie wytłumaczę wszystko po kolei.
Po lewej stronie użyłem WEMOS D1 MINI, być może można byłoby tutaj użyć mniejszy ESP8266-02, jednak miałem zaprogramowany ESPEasy na WEMOS pod ręką, więc go użyłem. Następnie za pomocą magistrali I2C podłączyłem go do scalaka (INA219). Następnie chciałem robić pomiar całkowicie innego układu, więc + od zasilacza tamtego układu podłączyłem do VIN+ w INA219, a do VIN- podłączyłem + do układu, przez co prąd przechodził tak:
Zasilacz -> VIN+ (INA219) -> VIN- (INA219) -> układ któremu robiłem pomiar
Masę (GND) z zasilacza i układu, który mierzyłem, podłączyłem bezpośrednio.
Teraz pewnie przykuł uwagę rezystor 10kΩ do GND w VIN+. Co on tam robi? Mianowicie układ któremu robię pomiar ma inny zasilacz, a więc także inną masę, dlatego albo masę musiałbym zrobić wspólną, albo – jak w tym przypadku – rezystor pull-down, który służył do tego, aby poprawnie mierzyć Volty 🙂 .
To tyle jeżeli chodzi o schemat 🙂 (chyba wszystko jasne, jak nie to proszę o komentarze 🙂 )
Dodatkowo możemy mieć 4x INA219 w jednym ESP8266, aby robić 4 pomiary jednocześnie, zgodnie z charakterystyką I2C na 2 przewodach, to INA posiada taką możliwość:
Należy zlutować te 2 wyprowadzenia podpisane jako A0 lub A1 i w tym momencie INA dostaje inny adres i może robić osobny pomiar (np. innego układu).
Kiedy nie polutujemy nic INA ma adres 0x40
Kiedy polutujemy tylko A0 INA ma adres 0x41
Kiedy polutujemy tylko A1 INA ma adres 0x44
Kiedy polutujemy A1 i A0 INA ma adres 0x45