Słuchajcie , powiedzcie mi proszę zakładając że mam włączony Analog Comparator i używam go w trybie porównywania AIN0 i AIN1 to jakie napięcia ja tam na te piny wówczas mogę podawać , chodzi mi o wartość maksymalną/minimalną tych napięć.
Podejrzewam że 0-Vcc ale chciałbym się upewnić, bo niby to dlaczego nie mógłbym podawać np. na wejście AIN1 napięcia -2V albo na pin AIN0 napięcia +4.5V w przypadku np. gdy mikroprocek zasilam +3V.
Zakładając, że używasz ATmega8, to zakres dopuszczalnych napięć na dowolnym pinie wynosi -0.5V do Vcc+0.5V - to są Absolute Maximum Ratings z Electrical Characteristics z dokumentacji ATmega8.
Zakres to maksymalnie -0.5V ~Vcc+0.5V (patrz nota katalogowa, sekcja Electrical Characteristics) na dowolnym pinie procesora (poza RESET).
Podając napięcie spoza zakresu możesz uszkodzić procesor. Czyli dla zasilania 3.0V możesz podać teoretycznie -0.5V do 3.5V, z tym, ze zaleca się nie przekraczać napięć zasilania, tj. 0V i 3.0V Jeśli potrzebujesz porównać napięcia ujemne, w dodatku których różnica jest większa niż 5V zastosuj zewnętrzny układ analogowy.
Mam jeszcze jedno pytanie związane z napięciem referencyjnym dla komparatora.
Czy dokładność tego napięcia odniesienia (dla AtTiny24A jest to około 1.1V) można zwiększyć poprzez umieszczenie dodatkowo kondensatora pomiędzy nogą AREF a masą ?
Czy to napięcie odniesienia jest wytwarzane niezależnie dla przetwornika ADC oraz dla komparatora , czy też może to to samo napięcie wykorzystywane przez obydwa ?
I ostatnie : czy jest możliwość żebyśmy mieli włączony przetwornik ADC oraz komparator pracujący w trybie porównania napięcia referencyjnego oraz podawanego na AIN1 (sądzę że odp na to pytanie może mieć związek z moim poprzednim pytaniem) ?
Jak to jest że np.w AtMega8 napięcie referencyjne jest na osobnym pinie AREF natomiast już np.dla AtTiny24 AREF jest dzielone na nodze z ADC0... Domyślam się że ADC0 może być wejściem analogowym, jednakże na tej samej nodze mamy przecież AREF dlatego pytanie brzmi co zrobić w przypadku gdy z jednej strony chcę do niej podłączyć kondensator (zgodnie z wpisem na blogu Donda) a z drugiej potrzeba np.wykorzystać ADC0 do podłączenia analogowego napięcia które chciałbym później przetwornikiem przetworzyć... ?
Wiem że aby to zrozumieć muszę przyswoić jeszcze działanie i konfigurację ADC (jak narazie wszystkie inne z pominięciem tego i tematu napięcia odniesienia moduły procesora mam opanowane) ale proszę jedynie o pewne porady i skrótowe odpowiedzi na powyższe pytania - pomoże mi to dokładniej zrozumieć działanie i przypadki szczególne wykorzystania tychże modułów... W tym temacie jestem całkowicie świeży i jestem na etapie studiowania dokumentacji w tym zakresie, nie obraźcie się - być może za wcześnie z tymi pytaniami - ale chciałbym aby paru z Was się jednak wypowiedziało...
jednakże na tej samej nodze mamy przecież AREF dlatego pytanie brzmi co zrobić w przypadku gdy z jednej strony chcę do niej podłączyć kondensator (zgodnie z wpisem na blogu Dondu) ...
Przypadek dotyczył konkretnego mikrokontrolera - ATmega8, a tutaj pytasz o ATtiny24A.
Przyglądnij się różnicy w schematach ADC ATmega8 i ATtiny24A - od razu odpowiesz sobie na pytania o kondensator. Dodatkowo przyglądnij się tabelce "Voltage Reference Selections for ADC" w obu mikrokontrolerach i rozwieje to Twoje wątpliwości
Internal bandgap reference voltage (Vbg) w ATtiny24A to przedział 1V-1,2V typowo 1,1V więc rozrzut jest spory i jest to jedno wspólne napięcie referencyjne dla ADC i komparatora ale:
- do komparatora podłączane jest bezpośrednio internal bandgap Vbg),
- a do ADC jest poprzez wzmacniacz operacyjny (czego nie ma na schemacie ADC) ale jest opisane:
Quote:
ADC Voltage Reference ...
The internal 1.1V reference is generated from the internal bandgap reference (VBG) through an internal amplifier.
Popatrz także na schemat komparatora "Analog Comparator Block Diagram" w kontekście tego:
Quote:
If ACME is cleared or ADEN is set, AIN1 is applied to the negative input to the analog comparator.
i tabeli "Analog Comparator Multiplexed Input" oraz punktu "Analog Comparator Multiplexed Input".
No więc tak, mam jakieś tam wnioski, proszę o sprawdzenie poprawności:
1. Dla AtTiny24A nie daje się w żadnym przypadku kondensatora do AREF (pomijając oczywiście fakt że zazwyczaj ten kondensator tam będzie jeśli doprowadzimy tam napięcie z zewnątrz - tj.REFS[1:0]=01. Z uwagi na to że nie ma pinu AVCC zasilanie takiego przetwornika brane jest zawsze prosto z nogi VCC.
Dla tego procka wewnętrzne napięcie odniesienia dla komparatora (które przy odpowiedniej konfiguracji jest napięciem Vpositive) jest tym samym co powyżej opisywane i zwie się inaczej bandgap voltage. Tylko ciekawe po co na przetwornik idzie to przez wzmacniacz którego nawet na schemacie, tak jak pisał Dondu, nie ma ? Bo podejrzewam że jakiś istotny powód takiego faktu może być jeśli tą informację zawarto w dokumentacji...
Dla AtMega8 kondensator na nóżce AREF będzie tam prawie zawsze niezależnie od ustawienia źródła napięcia odniesienia. Wyjątkiem jest sytuacja jeśli jako napięcie odniesienia wybierzemy AVCC które już wstępnie przez jakiś zewnętrzny układ będzie na tyle ustabilizowane (układ już będzie wyposażony w kondensator filtrujący).
Dla tego procka wewnętrzne napięcie odniesienia dla komparatora (które przy odpowiedniej konfiguracji jest napięciem Vpositive) nie jest tym samym co powyżej opisywane.
2. Dla procka Tiny24A dla komparatora można se wybrać skąd ma brać positive i negative voltage. Positive mamy do wyboru: napięcie bandgap albo AIN0 , dla negative : napięcie z nogi AIN1 lub z dowolnego pinu ADCx (a zatem i z nogi AIN0, AIN1 lub np.AREF).
Dodatkowe pytanie na które nie potrafię sobie odpowiedzieć:
Co po angielsku w kontekście naszych dokumentacji znaczy "single-ended channels" ? Czy potrzeba tutaj jakiejś specjalnej interpretacji czy można założyć że to są po prostu piny, jeśli można - dlaczego po prostu nie napisali "ADC pins..." ?