Interrupt na sběrnici I2C

Arnost
Příspěvky: 22
Registrován: 05 říj 2017, 21:15
Reputation: 0

Interrupt na sběrnici I2C

Příspěvek od Arnost » 23 pro 2017, 23:17

Ahojte pánové,
potřeboval bych poradit ohledně zapojení na tuto desku https://www.aliexpress.com/item/Pro-Mic ... 0.0.YvUtlT. Deska umí celkem 4x interrupt ale při mojí smůle zrovna na pinech, které potřebuji pro komunikaci po sériové lince (0,1) a po I2C občasné změření stavu baterie (2,3). Nevíte jak by se dal tento problém vyřešit? Potřebuji 2x vstup interruptu.

Děkuji za pomoc.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Interrupt na sběrnici I2C

Příspěvek od petan » 24 pro 2017, 00:59

Buď použít jinou desku, nebo něco oželet.
Jak chceš po I2C měřit stav baterie? Nestačil by na to analogový pin? Pokud bys pak I2C k ničemu jinýmu nepoužíval, tak by si dva piny vyšetřil ;)

Arnost
Příspěvky: 22
Registrován: 05 říj 2017, 21:15
Reputation: 0

Re: Interrupt na sběrnici I2C

Příspěvek od Arnost » 24 pro 2017, 09:49

Na měření jsem chtěl použít https://www.aliexpress.com/item/Free-sh ... 0.0.LJLmkU U jednoho projektu jsem použil měření stavu baterie přes napěťoví dělič ale moc to nefungovalo. Mám baterii 12V. Nemáš náhodou nějaký návrh už hotový co by šel použit pro měření přes analog?

Arnost
Příspěvky: 22
Registrován: 05 říj 2017, 21:15
Reputation: 0

Re: Interrupt na sběrnici I2C

Příspěvek od Arnost » 24 pro 2017, 10:33

Ještě jsem brouzdal, a našel jsem tuto desku https://www.aliexpress.com/item/USB-Nan ... eLevelAB=5 Pokud jsem vše dobře pochopil tak tady jsou dva interrupty mimo I2C a sériovou komunikaci a to na pinech D02 a D03. Výkonově je stejná, teda pokud se nepletu.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Interrupt na sběrnici I2C

Příspěvek od petan » 24 pro 2017, 10:44

Na te desce jsou interupy na D2 a D3, I2C na pinech A4 A5.

Kazdopadne tu desku co jsi posilal muzes pouziz k mereni odberu (mereni proudu) a ne mereni napeti. Pokud na vstupy in pripojis baterku, tak odbouchnes v lepsim pripade jen ten odpor, v horsim i baterku, integrac na desce a mozna I2C sbernici...

Pokud chces merit napeti baterie, tak bych pouzil analogovy vstup a napetovy delic. Pohledej na internetu, tam je urcite navod jak to zapojit...treba zde http://www.instructables.com/id/Arduino ... Indicator/

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Interrupt na sběrnici I2C

Příspěvek od petan » 24 pro 2017, 10:49

Ted jsem na to jeste koukal a modul umoznuje merit i napeti. Takze by sel pouzit.
Ale stejne mrkni na ten analogovy vstup. Pokud nepotrebujes nejakou domrtě presnost, da se to pouzit.

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18
Reputation: 0

Re: Interrupt na sběrnici I2C

Příspěvek od zbysek » 24 pro 2017, 11:21

Možná by šlo zkombinovat využití analogového pinu a přerušení.

Jestli máte Arduino s čipem ATmega328P, tak podle datasheetu (http://www.atmel.com/Images/Atmel-42735 ... asheet.pdf) by měl mít možnost nastavení sledování analogového pinu a vyvolání přerušení při překročení nastavené prahové hodnoty. Díky tomu se vyhnete v programu čekání na výsledek analogového čtení. To už ale asi budete muset programovat na úrovni registrů (popřípadě zkusit najít vhodnout knihovnu, ale nevím, jestli existuje).

Arnost
Příspěvky: 22
Registrován: 05 říj 2017, 21:15
Reputation: 0

Re: Interrupt na sběrnici I2C

Příspěvek od Arnost » 24 pro 2017, 11:29

Aha, tak to já jsme měl víc amatérsky udělané, toto vypadá lepší. A co ta druhá deska, ta by šla taky použit? Tu bych mohl živit rovnou těmi 12V. Podle tohoto http://www.hwpro.cz/oc/index.php?route= ... uct_id=121
pin 01 - TX
pin 02 - RX
pin 27 (A04) - SDA
pin 28 (A05) - SCL
pin 1 (D03)- interrupt
pin 32 (D02) - interrupt

Ještě raději ujištění, kdybych chtěl použít ten modul INA219 můžu připojit baterii přímo na piny Vin+ a Vin- nebo tam musím použít nějakou zátěž?

Děkuji za typ, ale registry už jsou asi mimo moje schopnosti.

petan
Příspěvky: 358
Registrován: 23 črc 2017, 10:19
Reputation: 0
Kontaktovat uživatele:

Re: Interrupt na sběrnici I2C

Příspěvek od petan » 24 pro 2017, 12:06

Oni ty desky obsahují stabilizátor napětí. Všechny tyto desky běží na 5, nebo 3,3 V. Ale na napájecí pin je možné přivést větší napětí - stabilizátor napětí to pobere. Ale osobně doporučuji použít externí stabilizátor, třeba 7805, který z 12V baterie udělá napětí 5 V pro Arduino. Ono by taky mohlo lehce dojít k přetížení interního stabilizátoru.

Teď teprv kloudně koukám na ten modul s INA219. Je to klasické měření proudu (bočník) s tím, že umí zobrazit napětí na bočníku (ShuntVoltage), přepočítat ho na proud a měřit své napájecí napětí (BusVoltage), které může být max. 5 V. Takže napětí na 12V baterii by si stejně musel hnát přes odporový dělič a pak přepočítávat.

Jednodušší mi přijde použít odporový dělič. Jsou to jen dva odpory. Pak pomocí analog read načteš napětí na vstupu a přepočítáš podle použitých odporů. Proč ti dělič minule nefungoval?

Arnost
Příspěvky: 22
Registrován: 05 říj 2017, 21:15
Reputation: 0

Re: Interrupt na sběrnici I2C

Příspěvek od Arnost » 24 pro 2017, 12:22

Asi jo, ten dělič bude lepší. Měl jsem problém s nastavení poměru děliče. Vstupní napětí 12V, na pin můžu podle toho co vím přivést max 5V, takže jak to udělat aby to měřilo v maximálním rozsahu. Baterka ze začátku bude mít víc než 12V třeba 13V když bude nabitá plus nějaká rezerva atd. tak si furt zvyšuji spodní hranici měření. Štveme, že třeba nemůžu měřit v rozsahu 5V -14V, třeba.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 11 hostů