Referenční napětí

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od SkullKeep » 11 bře 2019, 20:33

Proč? Jestli to udělá podle VCC 3,3V a AREF 2V tak bude mít velkou nepřesnost. Vím mám chybu v tom AVcc=Aref=Vcc±0,3V, takže při Vcc 3,3V může být maximálně Aref=AVcc= 3V-3,6V.
:twisted: :?: :arrow: :geek: P. Q. M.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od jankop » 11 bře 2019, 20:44

Nějak ti nerozumím.
Abychom si to ujasnili, pro Arduino můžeme říct, že vždy platí AVCC=VCC protože jsou tyhle piny spojený dohromady.
Aref=AVcc= 3V-3,6V - fakt nevím, co tím chceš říct.
Pokud použiju interní 1. 1V tak na měření nebude mít AVCC vliv.

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od SkullKeep » 11 bře 2019, 20:49

Právě toto nechápu datasheet píše ,že AVcc a Vcc není totožné pro ADC(Analog to Digital Converter). Proto nechápu proč AVcc musí být v ±0,3V+Vcc, když použiji Externí AVcc a Aref. A Ano pokud použiji vnitřní Aref 1,1V.
:twisted: :?: :arrow: :geek: P. Q. M.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od jankop » 11 bře 2019, 20:59

AVCC a VCC jsou dva vývody procesoru, které jsou běžně spojeny k sobě. V některých aplikacích může být k dosažení vyšší stability a nižšího šumu vhodné mít tyto napájecí vstupy odděleny. To ovšem není případ Arduina. A pak mezi nimi možná může být tebou deklarovaný rozdíl napětí. Děláš věci složitější než jsou. :)

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od SkullKeep » 11 bře 2019, 21:33

Tj právě jsem se díval na návrh pro desku na čip ATmega32U4 s USB vstupem. Mám tam Avcc=Vcc a Aref přes kondík 22pF na zem. Ale pro měření jak to chtěl pavel1tu by bylo asi lepší udělat to Avcc=Vcc=Aref=3,3V přes přes low-pass filtr pro eliminaci rušení. A teď jsem se konečně dopídil použití vntiřního AVcc=1,1V a musí se Aref PIN uzemnit přes 22pF. A ještě nastavit REFSn bity v REGISTRU ADMUX a ještě pár dalších věcí udělat. Takže pro mne momentálně nepoužitelné.
:twisted: :?: :arrow: :geek: P. Q. M.

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od SkullKeep » 11 bře 2019, 21:37

Jenom drobnost čip ATmega328 a ATmega32U4 mají každý jinou velikost vnitřního AVcc. A taky Atmega328 má napětový rozsah napájení 1.8 - 5.5V zatím co ATmega32U4 má 2.7 - 5.5V.
:twisted: :?: :arrow: :geek: P. Q. M.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od jankop » 11 bře 2019, 21:53

Je to tak jednoduché, když tam nedám blokovací kondenzátor , tak se nic neděje.
Přepíná se to prostě a jednoduše takto:

Kód: Vybrat vše

analogReference(INTERNAL);          	//1,1V pro ATmega168, ATmega328P
analogReference(INTERNAL1V1);     	// 1,1V pro MEGA
analogReference(INTERNAL2V56);   	// 2,56 pro MEGA
analogReference(DEFAULT);           	// zpátky na AVCC jako referenci
I
Jenom drobnost čip ATmega328 a ATmega32U4 mají každý jinou velikost vnitřního AVcc.
Žádné vnitřní AVCC neexistuje, je to pouze oddělené napájení analogové části procesoru.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od pavel1tu » 12 bře 2019, 06:47

Tak, občanky jste si už roztrhali :-D
zpět k mému problému.

Co chci měřit: napětí 0-1,65V
Ideální hodnota Uref : 1,7-2V

Takže:
Ucc - napájecí napětí - 3,3V
AVCC - propojím na Ucc
Aref - dám z referenčního švába 2,0000000V a nastavím ext. ref. napětí na 2,0000000V

mám to namyšlené správně ?

PS: když použiji interní Uref (1,1V), tak by to měřilo do 1,1V a napěťový dělič nechci.

děkuji
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
SkullKeep
Příspěvky: 290
Registrován: 23 srp 2017, 18:51
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od SkullKeep » 12 bře 2019, 07:34

Ještě ne ,ale i na to dojde. Jinak tvému problému. AVcc a Aref musí být stejné.
:twisted: :?: :arrow: :geek: P. Q. M.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Referenční napětí

Příspěvek od jankop » 12 bře 2019, 07:56

Všechno je dobře, až na jednu maličkost. Arduino core nastaví po restartu defaultně referenci na AVcc(=Vcc). A na pinu Aref se objeví napětí AVcc. Když budeš mít připojenou externí referenci, tak to může vyhořet. Defaultně po resetu je registr ADMUX - bit REFS v ATmega328p nastaven na externi referenci, ale Arduino core to změní. Asi by to chtělo najít, kde se to dá v jádře nastavit, aby po resetu zůstal původní defaultní stav tj. externí reference. Ty to sice snadno změníš:

Kód: Vybrat vše

analogReference(EXTERNAL);
ale od zapnutí napájení to může trvat stovky mikrosekund a něco může jít do kytek. Reference, procesor nebo obojí.
AVcc a Aref musí být stejné.
Ale no tak... řekněme že Aref je vstup a Vref je externí referenční napětí na něj přivedeno
Z datasheetu: Vref >= 1V && Vref <= AVcc a znovu zopakuji pro Arduino platí AVcc=Vcc

Odpovědět

Kdo je online

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