Attiny45 kalibracia adc prevodníku

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Dumitru
Stály člen
Stály člen
Príspevky: 370
Dátum registrácie: 06 Nov 2011, 22:19
Vek: 32

Attiny45 kalibracia adc prevodníku

Príspevok od používateľa Dumitru » 04 Feb 2023, 17:24

Ahojte potreboval by som pomoc niekde pravdepodobne robím chybu, pretože hodnoty po kalibracii vyzerajú ešte horšie než pred :D :D :D :D
image.png
Prílohy
ADCcall.xlsx
(13.15 KiB) 31 stiahnutí
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 539
Dátum registrácie: 21 Feb 2022, 12:06

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa balu » 04 Feb 2023, 18:01

V první řadě, jakou používáš referenci pro AD převodník ?

Já jsem AD převodník v AVR procesorech používal hodněkrát a nikdy jsem nemusel řešit kalibraci.
0

Dumitru
Stály člen
Stály člen
Príspevky: 370
Dátum registrácie: 06 Nov 2011, 22:19
Vek: 32

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa Dumitru » 04 Feb 2023, 18:24

Používam TL431 + LM317 meral som je tam 5,249V

image.png

ADC používam ako diferenciálny
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 539
Dátum registrácie: 21 Feb 2022, 12:06

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa balu » 04 Feb 2023, 19:17

Nevím, co tím měříš, ale pokud to jde, nastav měřenou veličinu na maximum, co lze a zjisti, co Ti dává AD převodník za hodnotu (musí být do 1022, jinak hrozí, že se dostaneš za rozsah AD převodníku). Podle toho pak nastav přepočet z hodnoty AD na velikost měřené veličiny. Případně můžeš na nějaké minimální hodnotě blízké 0 (případně přímo 0) zjistit počáteční offset a pak podle toho udělat přepočet z AD na veličinu.
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa misocko » 04 Feb 2023, 19:31

Okrem toho by som meral napätie priamo na pine , nie nejakych 30V cez delič.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa budvar10 » 05 Feb 2023, 09:28

Podľa toho grafu je viditeľné, že to sleduje zmeny a aj celkový tvar krivky, len maximálna hodnota je nastavená zle.
Tu referenciu nechápem. Načo tam je LM317? 5V referencia sa dá vytvoriť čisto s TL431.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa budvar10 » 05 Feb 2023, 09:33

balu napísal:
04 Feb 2023, 19:17
... (musí být do 1022, jinak hrozí, že se dostaneš za rozsah AD převodníku).
Tomu nerozumiem. Normálne sa dá použiť 0-1023. Síce som zatiaľ pracoval len s ATmega, ale nikde tam nevidím rozdiel. Samozrejme, napätie na vstupe ATtiny nesmie prekročit povolenú hodnotu.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa budvar10 » 05 Feb 2023, 09:37

misocko napísal:
04 Feb 2023, 19:31
Okrem toho by som meral napätie priamo na pine , nie nejakych 30V cez delič.
Nerozumiem. Na akom pine? Ak chce merať 30V, musí použiť delič taký, aby na vstupe ATtiny neprekročil max. povolenú hodnotu inak poškodí vstup. Autor nedal žiadnu schému, okrem referencie. Niečo mi uniklo?
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 539
Dátum registrácie: 21 Feb 2022, 12:06

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa balu » 05 Feb 2023, 10:14

budvar10 napísal:
05 Feb 2023, 09:33
balu napísal:
04 Feb 2023, 19:17
... (musí být do 1022, jinak hrozí, že se dostaneš za rozsah AD převodníku).
Tomu nerozumiem. Normálne sa dá použiť 0-1023. Síce som zatiaľ pracoval len s ATmega, ale nikde tam nevidím rozdiel. Samozrejme, napätie na vstupe ATtiny nesmie prekročit povolenú hodnotu.
Při 1023, což je maximální hodnota AD převodníku) nevíš, jestli je na vstupu hodnota odpovídající 1023 nebo víc. Proto je 1022 maximum, při kterém víš, že vstup ještě nepřekročil maximální rozsah.

Příklad : Máš nastavenou referenci 1,1V a chceš měřit vstupní napětí 0-10V s tím, že zdroj máš až 0-15V. Dáš dělič 10k-1k, takže 10V na zdroji odpovídá cca 0,91V na pinu. Pro 12V je to už 1,09V, pro 15V je to už 1,36V na pinu.
1,1V/1024 = 1,07421875mV/bit
1023 = 1,0989V na pinu, což odpovídá 12,08818359375V
1022 = 1,0978V na pinu, což odpovídá 12,0763671875V

10V => 0,91V na pinu => AD = 874
12V => 1,09V na pinu => AD = 1014
13V => 1,18V na pinu => AD = 1023
14V => 1,27V na pinu => AD = 1023
15V => 1,36V na pinu => AD = 1023

Když z AD převodníku dostaneš 1023 - jak víš, že tam je 12,08818359375V a ne třeba 15V ?

Navíc je vhodné nechat si kvůli bitové chybě ještě jeden bit jako rezervu (tedy měřit do 1021), ale to už není úplně nutné.

Už víš, proč 1022 ?
0

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa misocko » 05 Feb 2023, 11:01

budvar10 napísal:
05 Feb 2023, 09:37
misocko napísal:
04 Feb 2023, 19:31
Okrem toho by som meral napätie priamo na pine , nie nejakych 30V cez delič.
Nerozumiem. Na akom pine? Ak chce merať 30V, musí použiť delič taký, aby na vstupe ATtiny neprekročil max. povolenú hodnotu inak poškodí vstup. Autor nedal žiadnu schému, okrem referencie. Niečo mi uniklo?
Ano na pin musí isť max 5V. Ale on meria 30V. Neviem aku chybu mu tam vnáša delič. Meral by som preto priamo 0-5V na pine, a nie 0-30V pred deličom.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa peterple » 05 Feb 2023, 11:48

Ešte by som doplnil že nie je celkom pravda že na pine MCU nemôže byť napätie väčšie ako je 5V. Záleží od toho aký je ten zdroj tvrdý. Ak má zdroj výsoký odpor tak sa s tým vysporiada ochrana pinu clamping diodami.
Na obrázku je ukázané ako je možné pripojiť 230V priamo na pin MCU. Stačí pridať 2MΩ.
image.png
V konečnom dôsledku tam to napätie vyššie o moc nebude. konkrétne tak o 0,6V čo je úbytok na ochrannej diode.

V prípade merania ADC sa to dá využiť na také jednoduché automatické prepínanie rozsahov. Ak si dobre nastavíte tie odporové deliče tak si ich môžete pripojiť viacej a keď hodnota prekročí 1022 (ako píše balu) tak merať na ďalšom deliči ktorí delí viacej.

finta so sledovaním sieťového napätia je z originál dokumentácie k MCU
https://ww1.microchip.com/downloads/en/ ... AVR182.pdf
Len varujem že v takom prípade pracujete s nn s treba mať na to patričné paragrafy.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Dumitru
Stály člen
Stály člen
Príspevky: 370
Dátum registrácie: 06 Nov 2011, 22:19
Vek: 32

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa Dumitru » 05 Feb 2023, 11:58

Okrem toho by som meral napätie priamo na pine , nie nejakych 30V cez delič.
Meral som to aj na pinoch, sedí to s nameranou hodnotou Real[V]/6, samozrejme nejaká mala chyba tam je rádovo 0.01V/0.02, ale nie 0.5V, príklad pri nameranej hodnote 29.9 na pine je 4,98V
Podľa toho grafu je viditeľné, že to sleduje zmeny a aj celkový tvar krivky, len maximálna hodnota je nastavená zle.
Tu referenciu nechápem. Načo tam je LM317? 5V referencia sa dá vytvoriť čisto s TL431.
Napajam s toho ešte LCD1602
Nevím, co tím měříš, ale pokud to jde, nastav měřenou veličinu na maximum, co lze a zjisti, co Ti dává AD převodník za hodnotu (musí být do 1022, jinak hrozí, že se dostaneš za rozsah AD převodníku). Podle toho pak nastav přepočet z hodnoty AD na velikost měřené veličiny. Případně můžeš na nějaké minimální hodnotě blízké 0 (případně přímo 0) zjistit počáteční offset a pak podle toho udělat přepočet z AD na veličinu.

Maximalna hodnota ADC je 987 a meriam to tu :
image.png

Rušenie na meranom pine:
image.png
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa budvar10 » 05 Feb 2023, 12:15

@balu
Samozrejme, že rozsah musí byť trochu väčší, ako max. meraná hodnota.

@misocko
Takto to dáva zmysel.

@Dumitru "Napajam s toho ešte LCD1602"
Z referencie? Z tej by nemalo byť napájané nič, ide predsa o presnoť merania.
0

Dumitru
Stály člen
Stály člen
Príspevky: 370
Dátum registrácie: 06 Nov 2011, 22:19
Vek: 32

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa Dumitru » 05 Feb 2023, 15:24

Zistil som, že problém je pravdepodobne v diferenciálnom móde nastavil som ADC, ako SINGLE ENDED a namerané hodnoty sú oveľa lepšie vzladom k presnosti 30/1024 = 0,03V a rušeniu 0,004V*6 = 0,024V

image.png
image.png (7.98 KiB) 2273 zobrazení


:pain:

Teraz je otázka prečo
0

Používateľov profilový obrázok
Miko6005
Stály člen
Stály člen
Príspevky: 108
Dátum registrácie: 15 Dec 2018, 00:35

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa Miko6005 » 05 Feb 2023, 16:19

odporucam si prestudovat application notes TB3209, kludne zacni od strany osem.
https://ww1.microchip.com/downloads/en/ ... 003209.pdf
0
Nuclear battery for electric cars !!!

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 539
Dátum registrácie: 21 Feb 2022, 12:06

Re: Attiny45 kalibracia adc prevodníku

Príspevok od používateľa balu » 05 Feb 2023, 19:00

Otázkou je, jestli se AD převodník chová u nové řady AVR procesorů (od Microchipu) stejně jako u té původní (ještě z dílny Atmelu).
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok