Tak sobie kombinuje woltomierz + amperomierz + dodatki na avr, do zasilacza laboratoryjnego, i po przetestowaniu partii (~20szt) atmega16 w dil40 rozrzut Uref wewnetrznego (ktory mialby miec 2.56v) jest na poziomie 2.2v do 2.7v! Moze i jest stabilne to napiecie, ale nijak nie jest "rowne". Co dziwne - w tqfp rozrzut uref jest duzo mniejszy (na poziomie 2.45 - 2.60v), ale nadal jest to mocno krzywe... Z takim uref blad pomiaru bylby zdecydowanie zbyt duzy. Do bledow pomiaru dochodza jeszcze bledy np rezystancji w dzielniku napiecia, stad pomiar robi sie conajmniej marny. Kalibracja po prostu jest wymagana, po stronie cyfrowej przy 10bit przetworniku nie ma ona sensu, potencjometru tez bym chcial uniknac... I tak sobie wymyslilem - moze Uref wytwarzac z PWM 16bit ? Stabilnosc zegara (chocby nawet z RC wewnetrznego, ale raczej kwarc) jest dosc duza, rozdzielczosc 16bit daje dosc duze pole manewru, przy duzej czestotliwosci filtr nie musialby byc jakis okrutny... Uref moglbym wystrugac w zakresie 0 - Ucc (prawie)... Po pierwsze slyszalem ze ADC w avr nie lubi malych Uref (<2v) - czy to potwierdzone, bo np do pomiaru pradu bardzo by mi pasowalo Uref 1.023v :) Po drugie - kalibracja - poleganie na zasilaniu +5v idealnym i przyjecie ze np 0x00ff da mi 2.5v - to chyba nie najlepsze rozwiazanie. Zasilanie moze sie zmienic, byc niestabilne, filtr pwm tez nie bedzie idealny... Wymyslilem cos takiego:
- procesor ustawia (bo ma taka mozliwosc, np przekaznikiem) pomiar z nozki na ktorej jest Uref z jakiegos dobrego scalonego Uref np 5v i tak kombinuje z PWM by zmierzone na ADC napiecie bylo odpowiednie, np dla zakresu pomiarowego 0.00 - 40.95v pomiar 5.00v dalby wynik z ADC 0x007D (125). Jesli tak by bylo (i pomiar 0v bylby 0x0000 bo z tym tez bywa roznie w avr, czasem 0 daje 0x0001 albo 0x0002), to mamy skalibrowane.
Moze za bardzo kombinuje? moze da sie to zrobic prosciej jakos, bez dobrego Uref wsadzanego do ukladu, moze jednokrotna taka kalibracja i zapisanie wartosci PWM do eepromu wystarczy?