Analizator NA01 - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Technika Pomiarowa (/forum-54.html) +--- Dział: Przyrządy pomiarowe (/forum-58.html) +--- Wątek: Analizator NA01 (/thread-391.html) |
RE: Analizator NA01 - SP6FRE - 24-03-2014 10:29 Operacje na danych binarnych (byte, word) to w procedurach pomiarowych NA01 mniejszość, często charakter takich argumentów ginie w niezbędnych operacjach zmiennoprzecinkowych. Nie ma chyba potrzeby aby przechodzić na większą rozdzielczość pomiaru A/D z dwóch powodów. Po pierwsze AD8307 ma współczynnik detekcji 25mV/1dB a więc prawie jeden rząd więcej niż rozdzielczość przetwonika A/D a poza tym procedury zwiększenia rozdzielczości nie są banalne i wymagają zaawansowanego filtrowania oraz złożonych operacji matematycznych obciążających procesor, powiększających kod programu itp. Zamiast więc zwiększać rozdzielczość pomiaru można zastosować interpolację wyników pomiędzy punktami pomiarowymi. Nie wydaje się jednak aby w mierniku klasy NA01 potrzebne było tak wyrafinowane działanie. Nie analizowałem dokładnie wpływu błędów zaokrągleń na wynik pomiaru ale biorąc pod uwagę współczynnik 25mV/1dB można powiedzieć, że sięga on w najgorszym przypadku jedynki na poziomie ok. 70 (najmniejsze mierzone sygnały) czyli mniej niż 1.5%. O wiele ważniejsze, niż absolutna wartość tłumienia w dB jest często uzyskanie wiedzy o kształcie zależności w pasmie, poznanie miejsca rezonansów itp. W końcu, mierzone wartości muszą być zobrazowane na wyświetlaczu (128/64) o funkcjonalnej rozdzielczości pionowej 56 linii (8 najwyżej położonych linii używam do komunikacji, opisów) więc nawet jeśli wynik pomiaru będzie nieskończenie dokładny to i tak zostanie pokazany z dokładnością 1.8%. L.J. RE: Analizator NA01 - blejders - 24-03-2014 15:57 Masz rację na wyświetlaczu nie będzie dużej różnicy ale przesyłając dane do komputera wykres będzie dużo dokładniejszy. ADC atmegi nie należy do najlepszych jego niedokładność może wynosić nawet 3 LSB. Napięcie odniesienia nawet bez nadpróbkowania pozwoli małym kosztem zwiększyć dokładność pomiaru i uniknąć przynajmniej kilku operacji zmiennoprzecinkowych(typ float). Niedawno w pewnym projekcie eliminując trzy operacje na danych typu float mogłem zejść z atmegi32 na atmegę16 a to już spory zysk. Przy nadpróbkowaniu nie stosujemy skomplikowanej filtracji bo niewielki poziom szumów jest nam potrzebny do jej prawidłowego działania. Oversampling nie jest taki straszny. W załączniku umieszczam artykuł o podstawach próbkowania. RE: Analizator NA01 - SP6FRE - 24-03-2014 18:14 Faktycznie, oversampling w tej wersji nie jest specjalnie skomplikowanym algorytmem. Nie wprowadzę go jednak do bieżącego algorytmu pomiarowego NA01 ze względu na znaczące zwiększenie ilości operacji wymaganych na każdy dodatkowy bit dokładności. Zysk z takiej procedury spowolni pracę w czasie rzeczywistym miernika z jednej strony a wynik i tak nie będzie zauważony. Szykuję jednak wersję oprogramowania do współpracy z PC gdzie algorytm pomiarowy zapewniał będzie zewnętrzny program więc powstaną możliwości uzyskania dowolnego scenariusza i dokładności pomiarowej. Miernik reagował będzie na polecenia: ustawienia częstotliwości pomiarowej, opóźnienia o zadanym okresie czasu oraz na polecenie odczytu danych. Możliwe więc będzie wielokrotne odczytanie wartości dla ustalonej na czas próbkowania częstotliwości a więc droga do oversamplingu będzie otwarta ;-) L.J. RE: Analizator NA01 - blejders - 25-03-2014 15:12 Jeśli chcesz zrobić urządzenie do współpracy z komputerem to proponowałbym zastosowanie zewnętrznego przetwornika A/D oraz galwaniczne oddzielenie części analogowej od cyfrowej a zwłaszcza komputera od urządzenia pomiarowego. Komputery wytwarzają tak silne zakłócenia że 16 bitowa karta dźwiękowa używa tylko 12 najstarszych bitów. RE: Analizator NA01 - SQ4AVS - 25-03-2014 16:52 blejders stosowanie bardziej rozdzielczego przetwornika niż w atmedze jest pozbawione sensu (oversamplingu zresztą też, wspomniałem o nim w kontekście zakłóceń) spójrz na liniowość detektora RE: Analizator NA01 - blejders - 25-03-2014 18:16 Rafale, znaczne zwiększanie rozdzielczości przetwornika nie ma sensu ale 12 bitów zwłaszcza stosując napięcie 4,096v pozwoli na lepszą aproksymację wyników co zmniejszy wpływ nieliniowości przetwornika A/D atmegi. Producent podaje że całkowita niedokładność przetwornika może sięgać 3LSB dla wersji TQFP mikrokontrolera. RE: Analizator NA01 - SQ4AVS - 25-03-2014 19:41 Blejdersie a jaka jest liniowość przetwornika ad? Nie ma sensu mierzyć lepiej niż sam detektor daje bo nic to nie da. Jeśli chce się większej rozdzielczości w mV na dB wystarczy zmniejszyć odniesienie do około 3V a że liczby nie są w mV na dB równych co to przeszkadza i tak jak pisał Leszek nachylenie przetwornika też nie jest równe bo wynosi 25mv/db. RE: Analizator NA01 - SQ6ADE - 25-03-2014 20:59 W profesjonalnych zastosowaniach Atmegi gdzie nie jest wymagana mega rozdzielczość odczytu nikt nie stosuje tego kłopotliwego (w produkcji i kosztach) dławika. Np. urządzenia stosowane w pojazdach (LPG). Do takich banalnych pomiarów z odwzorowaniem na graficznym LCD wystarczy rozdzielczość 1 bajtu. Coś do poczytania: http://www.elektroda.pl/rtvforum/topic1062920.html RE: Analizator NA01 - blejders - 25-03-2014 22:55 Rafale jeśli tak przedstawiasz sytuację to zgadzam się z tobą ale moim założeniem było wyeliminowanie działań na ułamkach. Atmega nie posiada struktury sprzętowej odpowiedzialnej za działania zmiennoprzecinkowe więc każde działanie na ułamkach wymusza na kompilatorze wygenerowanie długiego i skomplikowanego kodu programu, widać bardzo dobrze gdy podejrzymy kod w asemblerze(lub będziemy symulować go w VMLAB). Jeśli nie chcemy bawić się w nadpróbkowanie możemy pozostać przy 10 bitach ale zastosować napięcie 4,096v co da nam równe 4mV na działkę. Na niedokładność przetworników A/D wpływją takie parametry: Offset error, gain error, integral non-linearitY, differential non-linearity, oraz absolute accuracy który jest sumą wszystkich poprzednich. W atmegach absolute accuracy może wynosić typowo od 1 do 3LSB czyli jeśli Aref wynosi 5V a rozdzielczość 10 bit to w najgorszym przypadku absolute accuracy wyniesie 3*4,88mV=14,6mV. RE: Analizator NA01 - SQ6ADE - 25-03-2014 23:05 blejders - tu prawie wszyscy kol. "kodują" w C lub w "basdownie" i REF "binarny" jaki proponujesz nie zrobi na kol. żadnego wrażenia Wygodni są bo liczy za nich kalkulator Może to i dobre ? |