Stránka 3 z 4

Re: Referenční napětí

Napsal: 12 bře 2019, 08:51
od jankop
Narazil jsem na tohle:
If you're using an external reference voltage (applied to the AREF pin), you must set the analog reference to EXTERNAL before calling analogRead(). Otherwise, you will short together the active reference voltage (internally generated) and the AREF pin, possibly damaging the microcontroller on your Arduino board.
Z toho bych dedukoval, že po startu Arduino nechá referenci na EXTERNAL, a teprve při použití ji přepne na AVcc nebo funkcí analogReference(); určený stav. To se dá dokonce změřit voltmetrem na ARef

Re: Referenční napětí

Napsal: 12 bře 2019, 10:35
od pavel1tu
OK

Tak ATmega si generuje nebo použije ref.napětí jen v době měření ?

tak budu napájet švába pro Aref z výstupu ATmega
pokud toho švába nevyčudí zpětné napětí z ATmega,
tak po nastavení ext.ref.U zapnu ten výstup na "1"
a teprve poté se bude generovat napětí do Aref

zatím nemám součástky abych to testnul :-)

pak dám vědět

Re: Referenční napětí

Napsal: 12 bře 2019, 12:47
od ohruska
Proč nechceš použít ADS1115. Je velmi přesný a má přepínatelné vstupní rozsahy...

Re: Referenční napětí

Napsal: 12 bře 2019, 13:52
od pavel1tu
ohruska píše:
12 bře 2019, 12:47
Proč nechceš použít ADS1115. Je velmi přesný a má přepínatelné vstupní rozsahy...
hmmm, kouknu na něj ... ale další místo, spotřeba + peníze

jako modul stojí 1,5USD, jako šváb je po 10ks za 20USD :-D

Re: Referenční napětí

Napsal: 12 bře 2019, 16:37
od ArduXPP
Já jsem viděl samotný čip po 10 kusech za 10USD :) Nebo i jako modul za 1.43USD.

Re: Referenční napětí

Napsal: 12 bře 2019, 18:26
od jankop
Ještě se vrátím k použití externí reference. Teď jsem si s tím hrál a měřil multimetrem. Je to vcelku jednoduché.
Po resetu procesoru je AREF zapojen jako vstup pro externí referenční napětí VRef.
Jak už jsem zmiňoval, to může být v rozsahu 1 volt až napájecí napětí Vcc.
Vstupní měřené napětí by pochopitelně nemělo být vyšší než referenční napětí.
Pokud neuděláme opatření, tak při prvním použití funkce analogRead() v programu se reference přepne na napětí AVcc tj. na napájecí napětí, a pin AREF se přepne na výstup a objeví se na něm napětí AVcc.
Pokud před prvním použitím funkce analogRead() v programu dáme funkci analogReference(EXTERNAL), pak zůstane pin AREF trvale jako vstup a nehrozí kolize/zkrat/poškození s externí referencí
Pokud potřebuji použít externí referenci, tak stačí udělat v podstatě pouze toto:

Kód: Vybrat vše

void setup() {
  analogReference(EXTERNAL);
//  ...
}
void loop() {
//  ...
  int neco = analogRead(A0);
//  ...
}
Pokud by se někomu hodil rozsah měření cca 1V, pak lze snadno funkcí analogReference(INTERNAL) zapnout vnitřní referenci 1,1V. Prvním zavoláním analogRead(); se na pinu Aref objeví vnitřní napětí 1,1V a je možné ho v klidu multimetrem změřit. Pak stačí tuto konstantu použít v programu pro dosažení vyšší přesnosti.

Re: Referenční napětí

Napsal: 12 bře 2019, 19:07
od pavel1tu
Heuréka,

děkuji, teď jsem si to podle tvého návodu vyzkoušel na UNU - včera jsem nic nenaměřil - zapoměl jsem na to AnalogRead().

Musím si dát přestávku - připletl jsem se do rvačky - jeden "nepřízpůsobivý" poté co byl přistižen při krádeži se dost hustě pustil do slečny z ostrahy, tak jsem ji šel podpořit.
Jsem z toho trošku vykolejenej, že chlap kolem 150kg se takto pustil do slečny skoro třetinové váhy. Trochu tekla krev.

Du na panáka

Re: Referenční napětí

Napsal: 12 bře 2019, 19:54
od jankop
Tak doufám, že ta krev byla toho chlapa :)

Re: Referenční napětí

Napsal: 12 bře 2019, 20:07
od pavel1tu
Bohužel té slečny.
Na takový chlapy nesahám, ještě by mne zažaloval právník z nějaký neziskovky, placený z mých daní, za rasový útok.

Re: Referenční napětí

Napsal: 02 srp 2019, 21:10
od pavel1tu
Tak jsem pokročil,

používám ext. ref U - přesný zdroj napětí,
teď chci snížit na minimum spotřebu odporového děliče - jaký minimální proud stačí aby tekl děličem, resp. kolik proudu si vezme analogový vstup ATmega328 ?