Nefunkční ARef

Odpovědět
PetrB
Příspěvky: 141
Registrován: 20 čer 2018, 13:39

Nefunkční ARef

Příspěvek od PetrB » 25 kvě 2023, 01:59

Ahoj,
začal jsem si hrát s pinem AREF na Arduino uno. (Zkouším si udělat ohmmeter). Po několika večerech s pokusy jsem zjistil, že z na tom pinu nemám žádné napětí. Zkusil jsem použít příkaz analogReference(EXTERNAL), ale to nepomohlo. Je možné, že jsem ten pin nějak odpálil? Deska jinak funguje normálně, jenom to AREF je bez napětí.

Díky

Uživatelský avatar
gilhad
Příspěvky: 814
Registrován: 07 bře 2018, 11:22

Re: Nefunkční ARef

Příspěvek od gilhad » 25 kvě 2023, 02:51

https://support.arduino.cc/hc/en-us/art ... e-AREF-pin

Když tam dáš analogReference(EXTERNAL), tak se očekává, že taky na ten pin ZVENKU přivedeš přesné referenční napětí (co to pro tebe znamená je na tobě v povolených mezích - normálně 0-5V pro 5V Arduino) a analogRead() pak bude vracet 1023 pro tohle refernční napětí, 0 pro 0V a mezi tím to bude přímá úměra.

Vyhoda je v tom, že jednak tohle referenční napětí můžeš třeba vytvořit naprosto přesné a spolehlivé (když si dáš tu práci a sestrojíš dost dobrý zdroj pro něj) a druhak, že pokud měříš nějaké napětí menší, než 5V (nebo na kolika ti to běží), tak si vhodným nastavením referenčního napětí upravíš citlivost, aby ti dávala 1023 pro maximální možné měřené napětí a tím pádem víc stupňů/větší přesnost.

AREF pin je VSTUPNÍ pin pro analogReference(EXTERNAL) - takže na něm nic nenaměříš, naopak tam sám musíš správné napětí zajistit.

ondraN
Příspěvky: 935
Registrován: 08 srp 2019, 20:01

Re: Nefunkční ARef

Příspěvek od ondraN » 25 kvě 2023, 13:02

Tak to ůplně není. Když se podíváš na schema zapojení analogové části AD převodníku u ATmega328P (pokud je tedy arduino s tímto MCU), tak uvidíš, že v režimu interní reference nebo AVCC jako reference, je tento pin připojen přes tranzistor k interní ref. nebo AVCC. Takže když se pin omylem připojí na zem, tranzistor obvykle shoří. To má za následek nefunkční AD převodník.

P.S. Pokud převodník nadále funguje, pravděpodobně se zničilo něco mezi pinem a tranzistorem, což je ta lepší varianta :mrgreen:

PetrB
Příspěvky: 141
Registrován: 20 čer 2018, 13:39

Re: Nefunkční ARef

Příspěvek od PetrB » 25 kvě 2023, 13:45

To s tím external byl jenom pokus, nefungovalo mi to i před tím.
Zkusil jsem tam dát "DEFAULT" a naměřím -0,28V. Stejně jako při INTERNAL.
Takže to bude patrně mrtvolka.

ondraN
Příspěvky: 935
Registrován: 08 srp 2019, 20:01

Re: Nefunkční ARef

Příspěvek od ondraN » 25 kvě 2023, 13:56

A funguje teď ten AD převodník, nebo měří blbosti?

Uživatelský avatar
Caster
Příspěvky: 398
Registrován: 11 zář 2019, 09:02

Re: Nefunkční ARef

Příspěvek od Caster » 25 kvě 2023, 13:58

Zkusil bych nějaký vzorový příklad na ADC měření např. Analog to Digital Conversion.

PetrB
Příspěvky: 141
Registrován: 20 čer 2018, 13:39

Re: Nefunkční ARef

Příspěvek od PetrB » 26 kvě 2023, 00:49

Pokud si nechám analogReference na INTERNAL, tak to měří stále 1023, bez ohledu na nastavení odporu. Když dám External a připojím tam 5V z Arduina, tak to poslušně reaguje na otočení potenciometru.

ondraN
Příspěvky: 935
Registrován: 08 srp 2019, 20:01

Re: Nefunkční ARef

Příspěvek od ondraN » 26 kvě 2023, 07:44

Tak to je zničený ten tranzistor mezi multiplexem referencí a ARef vstupem. Pak je opravdu jediné řešení zapojit ARef na externí referenci nebo napájení.

Uživatelský avatar
Caster
Příspěvky: 398
Registrován: 11 zář 2019, 09:02

Re: Nefunkční ARef

Příspěvek od Caster » 26 kvě 2023, 08:14

PetrB píše:
26 kvě 2023, 00:49
Pokud si nechám analogReference na INTERNAL, tak to měří stále 1023, bez ohledu na nastavení odporu. Když dám External a připojím tam 5V z Arduina, tak to poslušně reaguje na otočení potenciometru.
Na začátku jsi mj. napsal. "Zkusil jsem použít příkaz analogReference(EXTERNAL), ale to nepomohlo." Tvůj popis nedává vůbec žádný smysl.

Dej jsem schéma, jak to máš zapojené a kód ;) . Něco máš asi chybně.

PetrB
Příspěvky: 141
Registrován: 20 čer 2018, 13:39

Re: Nefunkční ARef

Příspěvek od PetrB » 27 kvě 2023, 12:59

Jsem to napsal trochu blbě. Myšlenková zkratka byla moc velká.
Zkoušel jsem si různá zapojení a Aref fungovalo (ani jsem nevěděl, že mohu funkci použít analogReference). Pak jsem zkoušel ještě něco jiného, co mi už nefungovalo. Postupným měřením jsem zjistil, že na Aref je 0V. Tak jsem nalezl tu funkci analogReference a zkoušel její parametry až jsem došel k "EXTERNAL" a tam skončil.
Teď naposledy jsem použil to zapojení na test analogového portu, které mi tady někdo doporučil.
Je klidně možné, že v rámci mých pokusů jsem měl v jednu chvíli Aref zapojené natvrdo na nulu. :(

Díky za konzultaci

Odpovědět

Kdo je online

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