Tak myslalem, ze ten czujnik masz:) Zauwaz, ze wedlug DS blad tego czujnika wynosi 1%, czyli przy 100A masz +-1A. Sporo. Jesli mozesz zrobic test to poskladaj na plytce uniwersalnej prosty uklad - czujnik + jakas ATMega z zewnetrznym zrodlem referencyjnym. Poniewaz samplujesz jak piszesz max 20Hz, czyli masz 50ms/probke. ADC z ATMegi ma pelna rozdzielczosc...
Jak dobrze pamiętam to w Bascom jest błąd w definicji ADATE dla ATMEGA32. Jest on zdefiniowany jako ADFR (AD Free Running) mimo, że ten procesor nie ma takiej funkcji. Zamiast Adcsra.adate = 1 wpisz Adcsra.5 = 1 lub Adcsra.adfr = 1
w moim koderze jest procek mega16 i chodzi to na 3 portach: sterowanie kluczami(próbkowanie 456khz), generacja pilota (próbkowanie 228khz), generacja kompletnego sygnału rds (nie samego sinusa 57khz, próbkowanie 456khz) czy ten schemat , to był zalążek twojego kodera? http://obrazki.elektroda.net/69_12231471... jeśli tak to powiedz mi czy...
Chcialbym zrobic woltomierz na Atmega8. Znalazłem stronke http://www.elfly.pl/ na której opisany jest fajny woltomierz z rozdzielczoscia w calym zakresie 10mV. I problem jest w tym ze podany jest tylko plik hex. Nie potrzebuje tylu opcji jakie on posiada. na tej stronie jest opisane ze wykorzystuje oversampling. z tego co wyczytałem polega to na tym...
Z AVR 12-bitowe ADC mają np. XMEGA. AVR ATMega z Arduino mają max 10-bitowe ADC. Stosując oversampling zapewne uzyskasz potrzebną rozdzielczość pomiaru. Pamiętaj tylko, aby użyć zewnętrznego źródła referencyjnego, gdyż potrzebujesz nie tylko dużej rozdzielczości ale także dokładności pomiaru. Swoją drogą, do kontroli ładowania lipo produkowane są dedykowane...
Do 1% (bodajże 1,5%) można śmiało założyć, że ten błąd teoretycznie nie wpływa na błędy związane z transmisją. Dzieje się tak dlatego, że odbiornik używa nadpróbkowania (w STM z których korzystam jest oversampling 16x, w ATMEGA też powinien być coś koło tego) i stan linii jest sprawdzany w połowie trwania bitu. Jak masz błąd 0.8% to na 10-tym bicie...
ADC w ATMedze spokojnie sobie poradzi jeżeli chodzi o częstotliwość pomiarów. Inna sprawa że te 10 bitów z tego przetwornica będą trochę niedokładne. Dokładność uzyskasz około 8 bitów. To znaczy rozdzielczość będziesz miał 10 bitów ale ostatnie 1...3 bity będą zaszumione. Z przesłaniem sygnału ATMega też sobie poradzi. Osobiście zrobił bym oversampling...
Robię woltomierz używajac adc z atmega16, przy pomiarach mam błedy na poziomie 10mV do 50mV. Kondensatory 100nF wpięte między gnd a Aref i Acc. Przy używaniu Aref i Acc jako źródła odniesienia wyniki takie same. Czy jest sposob aby to poprawić ? Skalibrować ? Miernik : EZ DM-441 Miernik / Atmega 5.001 4.9951 4.094 4.101 3.42 3.41 2.80 2.79 1.91 1.88...
Samo zwiększenie rozdzielczości ADC niewiele rozwiązuje - jakkolwiek teoretycznie dla 16-bitowego ADC można zejść do mikrowoltów, to szumy cie zabiją. Zrobienie PCB i w ogóle zaprojektowanie układu pod pomiar takich napięć to sztuka sama w sobie. Dlatego, o ile to możliwe, lepiej zwiększyć wartość rezystora pomiarowego i mierzyć po prostu wyższe napięcia....
Sorry to czy możecie dać linki do tych materiałów na stronie atmela albo gdzieś, bo w głowie mi sie nie miesci jak z 10 bitowego ADC mozna zrobic 16 bitowy. a o czyms takim jak oversampling slyszales ? ;) Lekki off-topic O oversampling ociera się każdy, kto uśrednia wynik pomiaru przebieg+szum. Pięknie to wygląda, gdy z kilkubitowego przetwornika możemy...
Witam Czy ktoś mógłby mi wyjaśnić jak wogóle działa owersampling? Niestety nie mogę pojąć jego działania,ale oczywiście zapoznałem sie z tą notą: http://www.atmel.com/dyn/resources/prod_... Niestety nie znam angielskiego aż w takim stopniu żeby zrozumieć wszystko. Wiem tylko tyle że próbki muszą być mierzone z f minimum 2 razy większa...
A te zdwojone czujniki, w sensie możliwość stosowania NTC i/lub DS18B20 to taki wymóg? Czy może widzimisię Kolegi Konstruktora? Jeżeli chodzi o sam pomiar temperatury, to czujnik - czy to będzie cyfrowy, czy to analog, pakujesz do komory nagrzewnicy i tym się nie martwisz. DSy mierzą do +125°C więc te 50°C nie zaszkodzi im. Projektując płytkę dla czujnika...
Ja bym użył mniejszego precsalera (np. 4 lub nawet 2) i zrobił maksymalny oversampling (np. 256 pomiarów). Aby zachować stałą czasową proponowałbym zapodanie przerwania od timera. Np co 0.1sek i w sposób ciągły uśredniał 3 poprzednie pomiary. Moim zdaniem miernik działa bo ma dużą bezwładność (zapewne nawet większą niż 0.3sek) i po prostu nie widać...
Zdradź mi po co ci samplowanie 200ksps, 16-bit, jeśli masz przetwornik ciśnienia, który samplujesz 20Hz? Nawet robiąc jakiś oversampling to wbudowany w ATMegę ADC wystarczy. A po co ci do tego aż 20MHz to tylko ty wiesz :) Przecież nawet te uśrednienia to śmiesznie proste obliczenia, które procesor taktowany z ułamkiem tej częstotliwości pociągnie....
Witam, [syntax=cpp] /* * bmp180.c * * Created on: 28 kwi 2014 * Autor: Łukasz Łuczko * */ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "i2c_twi.h" #include "BMP180.h" int AC1, AC2, AC3, B1, B2, MB, MC, MD; unsigned int AC4, AC5, AC6; long ut, up, t, p, B5; void BMP180_init(...
Odnośnie ADC jest tak: "Okazuje się bowiem, że dla wszystkich procesorów serii Atmega rozdzielczość ta znacznie spadnie, a to z powodu, że pomiar dla tych procesorów uwzględnia, iż napięcie podane na POS może być niższe niż na wejściu NEG. " Chyba, że wykorzystam zewnętrzny ADC, ale to nie jest jeszcze pewne. Sprawa z mnożnikiem też jest ważna. Dla...
Tochę teorii, przykład w C i film obrazujący efekt. A to wszystko na Atmega w linku poniżej: https://www.e-tronix.eu/31,oversampling-...
ADC z ATMega jest taki sobie, bez cudowania trudno uzyskać rozdzielczość lepszą niż 2mV - musisz to teraz przeliczyć na ciśnienie i sprawdzić czy taki wynik cię satysfakcjonuje. Oczywiście masz zawsze w zanadrzu oversampling, lub wykorzystanie możliwości wzmocnienia sygnału (co zresztą prowadzi dodatkowe błędy). IMHO wykorzystanie BMP085 jest prostsze....
Atmel daje stos USB, podobnie warto przejrzeć LUFA, masz tam urządzenia różne, także USB to praktycznie gotowiec. Co do oversamplingu - owszem, można, ale po co? 12 bitów masz w XMEGA z marszu, masz tam też sprzętowy oversampling jeśli potrzebujesz, ale oczywiście coś za coś - w tym przypadku ceną jest pasmo.
Witam. Czy jest możliwość osiągnięcia większej dokładności pomiaru temperatury niż 0,1*C w zakresie 35-40 *C. Czy 10 bitowy przetwornik atmegi na to pozwoli? Najpierw sprecyzujmy, czy chodzi ci o dokładność, czy rozdzielczość pomiaru? Bo jeśli chodzi o dokładność, to jak planujesz skalibrować to urządzenie? Rozdzielczość łatwo zwiększyć robiąc oversampling.
(at)rax90 Moim zdaniem porada kol. (at)BlueDraco jest szkodliwa, bo tylko wprowadza chaos. Sądząc po twoich postach, bez obrazy, ale wnioskuję, że jesteś mocno początkujący zarówno w temacie programowania mikrokontrolerów, jak i elektroniki. Więc nie skacz z kwiatka na kwiatek, bo nigdy tego projektu nie zrealizujesz. ATMega ma wystarczająco dobry...
dla uzyskania rozdzielczości 1mA w zakresie do 10A potrzebujesz przetwornika minimum 14bit, a takiego w Arduino (Atmega) nie ma. Można ew. zastosować oversampling / uśrednianie aby uzyskać pseudo rozdzielczość, z dokładnością będzie trudno.
Problemem są twoje zmienne adcresult. Jak zwykle to bywa zapomniałaś dodać magicznego modyfikatora volatile - bez tego optymalizator pzyjmuje te zmienne za stałe i pod tym kątem optymalizuje pętlę w main. No i robi się kaszana. Poza tym diodami świecisz po 50ms, niezły cyborg z ciebie, skoro to ci wystarcza :) W pętli nie ma też sensu inicjować za każdym...
Raczej nie będzie, z drugiej strony polecam ci LTC1980, ma kontroler ładowania i osobną przetwornicę do zasilania reszty układu. Prosta i fajna. Co do zakłóceń - ponieważ sygnał się zmienia wolno to możesz zrobić kosmiczny oversampling i uśrednianie, co zredukuje szumy masakrycznie. Natomiast niesądzę aby wyjście z tego czujnika można było podłączyć...
Witam, też mam kilka pytań z gatunku: jaki mikrokontroler ? :) Jaki model ATMega będzie odpowiednio wydajny/pojemny do obsługi alfanumerycznego wyświetlacza LCD i zewnętrznego 16-bitowego przetwornika A/C (kilkadziesiąt odczytów/s (oversampling) , wynik obliczeń na LCD) i jaki przetwornik będzie najłatwiej "skomunikować" z uC ? Czy są wersje o obniżonym...
Tak, mój błąd, te 7 w komentarzu wydawało mi się, że to jeden :) Skakać będzie, bo to kwestia szumu, chociaż o cały stopnień nie powinno. Generalnie spróbuj zastosować noise canceller, mierzyć w power down, zrobić oversampling i uśrednianie iluśtam pomiarów. Powinieneś bez problemu uzyskać stabilne odczyty z rozdzielczością do 0,1 stopnia. Zakładając...
Może i są, pytanie czy dostępne. Wspomniane ATTiny, czy ATMega są w zupełności wystarczające. Dodatkowe bity można uzyskać przez oversampling. Można też dodać zewnętrzne źródło referencyjne, w celu polepszenia dokładności. W SOT23 nie zajmuje miejsca, a dobre można kupić za kilka złotych. Można zastosować też przetwornik na SPI lub I2C zamiast procesora...
Konkretnie chodzi o dodanie białego szumu: AVR121: Enhancing ADC resolution by oversampling Innymi słowy, zadbaj o maksymalne możliwe usunięcie zewnętrznych zakłóceń na zasialaniu, ale dodaj biały szum (patrz str 9).
O, ktoś dorzucił we/wy na 24V do Arduino i zamknął w obudowę z przyłączem na śrubki :) Sam kilka razy chciałem tak zrobić. Ile to kosztuje? Myślę że choćby z ciekawości się jutro odezwę. Dajecie jakieś biblioteki do PT100? Bo nie ukrywam że by mi zależało, a z tego co rozumiem mogę to sobie w gołym C programować? Jakieś zdjęcia LCD i klawiatury "wyrzuconej"...
Z jaką wartością Oversampling bedzie pracował DAC TDA7535 :?: Ja już wypróbowałem 256 384 i 512 i z żadną nie chce działać, możliwe że mam źle napisaną obsługę SPI. Pozatym Data_REQ działa :D
(at)BlueDraco , u mnie na telefonie "int" jest trzy razy krótszy od "uint8_t". Napisz jak możesz, ale tak w wersji dla osoby piszącej pierwszy program w życiu (może drugi), co to jest to "filtrowanie filtrem dolnoprzepustowym". Autor pisze program na chybił trafił, pyta dlaczego średnia z kilku liczb ujemnych daje liczbę ujemną i dlaczego pisanie poza...
Dziękuje za liczne odpowiedzi. Wystarczy po ustawieniu pozycji kursora LCD wysłać tylko zaktualizowane wartości wtedy gdy się wielkość zmienia. Już zabieram się do roboty, trafne spostrzeżenie. Zamiast wypisywać co cykl cały wyświetlacz (kilka ms) będę wypisywał zaktualizowane temperatury na już wcześniej wysłanym szablonie. A może kolega wytłumaczyć...
Ale w tym wypadku jest - temperatura zmienia się na tyle wolno, że spadek częstotliwości samplowania nie ma znaczenia. Poza tym potrzebujemy tylko 1-2 dodatkowe bity. To się robi bez problemu. Jeśli uważasz inaczej to napisz konkretnie co masz w TYM wypadku przeciw oversamplingowi, a nie wysyłaj bezsensowne posty.
Wspomniana przez CH.M. metoda (opisana przez Atmela) nadaje się wyłacznie do sygnałów wolnozmiennych, takich jak z czujnika ciśnienia czy mostków. Z precyzyjnym źródłem napięcia nie byłoby duzo kłopotów - maxim robi gotowce o dokładności kilku ppm niemniej precyzyjne źródło napięcia przy metodzie oversamplingu nie jest konieczne. Założenie tej metody...
Witam, będę wykonywał programator USBasp, wszystko do niego posiadam, ale pojawiła się (dla mnie) zagadka, jak to jest, że firmware (plik HEX) zajmuje 9,3 kB, a ATmega8 ma poj. 8kB pamięci (wiem, że głupia sprawa, ale mnie po prostu zainteresowała). rzeczywiście głupia sprawa i polecam ci zapoznać się z budową/formatem pliku HEX i skąd się biorą jego...
(at)Kris_nx, użyj generatory serii AD983x, szczególnie polecam AD9833 - jest 8 pinowy, daje na wyjściu prostokąt a dokładność ustawianej częstotliwośći przy fmax=500kHz to 0,002Hz. Inne jak np. AD9835 to typowe DDS dają sinus a więc dodatkowo jakiś komparator na wyjściu byłby potrzebny. Fmax możesz ustawiać w mikroprocesorze. Co do manipulatora to,...
Witam Nie chcę dyskutować nad nadpróbkowaniem, Atmel opisuje jak to zrobić, jak ktoś nie zna angielskiego to nawet są przekonujące rysunki, a Ty nie zaglądnąłeś nawet do zamieszczonego linku i twierdzisz że się nie da ..... Da się i metod jest wiele, miksowanie sygnału z szumem, miksowanie sygnału z generowanymi schodkami itd. , polecam zagooglować...
Bez problemu dzięki oversamplingowi można uzyskać 2-3 dodatkowe bity rozdzielczości Znam tę technikę choć mam złe doświadczenia z nią związane. Pracuje w poważnej firmie gdzie dokonywanie dokładnych pomiarów temperatury i kalibracja torów oraz ich wzorcowanie zgodne z PCA jest codziennością (nie chodzi tu o oczywiście o te dwa półprzewodnikowe czujniki...
Jak chcesz dokładny pomiar to przede wszystkim problemem będzie dobre zasilanie. Jeśli ma być zasilone z tych 6V AC to na pewno musisz zejść na 3,3V, bo 5V stabilnych z tego na pewno nie będzie łatwo uzyskać. Co do poprawy rozdzielczości metodą oversamplingu - nie będę tu robić wykładu z elementami rachunku prawdopodobieństwa, myślę, że takie wyjaśnienie...
W teorii jest to możliwe, ale zależy od tego jakie pasmo ma mierzone napięcie. Co prawda ADC jest 10-bitowy, więc da ci rozdzielczość 5Hz, ale możesz stosując oversampling zwiększyć rozdzielczość ADC do 12 bitów, co już cie zadowala. Tyle tylko, że max sample rate ADC spadnie co najmniej 4-krotnie, a pewnie nawet 8-krotnie, żeby otrzymać stabilniejsze...
Co prawda nie mam dzis czasu zeby to sprawdzic ale znalazlem bardzo ciekawy artykul odnosnie oversamplingu. Jesli kogos interesuje: [url=http://www.atmel.com/dyn/resources/...
Rozdzielczość na papierze, jeden pomiar daje Ci pomiar z błędem 1,5 bita. Podgrzanie układu i źródła napiecia referencyjnego daje Ci dodatkowy błąd. Poczytaj sobie o oversamplingu, Twój układ i tak przez większość czasu będzie się nudzić, więc nic nie stoi na przeszkodzie by sobie mierzył np 64razy i uśredniał wynik Pozdrawiam
Schemat, ktory zamiesciles jest poprawny. Dokladny link: http://www.image.micros.com.pl/_dane_tec... Odnosnie teorii kierowalem sie dokladnie rzecz biorac tym: http://www.atmel.com/Images/doc8003.pdf (strona 8) Odnosnie kodu, moge go oczywiscie wkleic ale zdecydowanie lepiej widac to w tym artykule. Czysty i przejrzysty,...
Zdecydowanie bardziej odporne na zakłócenia i mniej wrażliwe na błędy projektowe będzie ADS1234 + Atmega. Oczywiście tylko i wyłącznie w przypadku, gdy układ umiesciliśmy w całości bezpośrednio przy czujniku oraz zapewnimy dobrej jakości zasilanie tensometrów i (przede wszystkim) referencję dla przetwornika. Jeśli układ będzie wisiał na długich przewodach,...
AVE... Rozwiązanie pokazane wyżej możesz zastosować przy wyższych napięciach zasilania, pod warunkiem, iż użyjesz wzmacniacza na wyższe napięcie zasilania. Napięcie wyjściowe wzmacniacza różnicowego wynosi: Vo = \frac{R3}{R2}((Vin+) - (Vin-)) R1 = R2; R3 = R4 Możliwe iż dla ochrony ADC będziesz musiał dodać szeregowo z wyjściem wzmacniacza rezystor...
Nie poradzisz sobie, ADC w ATMedze to nie cud techniki, pływanie ostatniego bitu jest norma, ba, jest wręcz wykorzystywane jako generator liczb losowych :) Jak chcesz stabilnie i możesz sobie na to pozwolić to zrób oversampling i odrzucaj najmlodsze bity. Pewną poprawę może przynieść podłączenie potencjometru nie pod AVCC, tylko Vref procesora - oczywiście...
No i trzeba sie liczyc z tym, ze ADC ATMegi (wlasnie, jaka to jest, czy nie czasem 8?) nie jest za super i te 10 bitow to bardziej teoria. Troche moze pomoc wylaczanie czesci cyfrowej na czas przetwarzania ADC i usypianie procesora. Jak samplujesz? Nie wlaczasz/wylaczasz czasem ciagle przetwornika? Robilem na LM35 i na ATMega8 bez zadnych cudow, acz...
No u mnie większa bida bo ja wyciągam ze 12...14 bitów oversamplingiem (przy sygnale do 3V co daje krok ADC z 0,5…0,1mV). Na ATMEGA164 to spokojnie działało. Tyle że mocy obliczeniowej brakowało. Na LPC2101 też spokojnie działało. Tyle że FLASHa brakowało. No to postanowiłem wstawić STM32F103. Ale tutaj mogę mieć nadmiar dobrobytu który pójdzie...
Nie moge. Nie mam zgody. Tajne przez poufne, przychodzi mi na myśl "radź sobie sam". Potrzebuje tylko wiedziec czy przez tyn filtr i adc bedzie to dzialac. Enkoder ma 12 bit. Będzie, ale 12 bit to nie uzyskasz: - AVR ma przetwornik 10-bit - Jak realnie na AVR uzyskasz 8 to max (możesz kombinować z oversamplingiem) - Elementy RC ograniczają dokładność,...
emulator ruszył błędnie obliczyłem sume crc8 crc = crc8(mytemp(1),8) a miałem mytemp 8 na 8 master nie odbierał danych bo suma kontrolna sie nie zgadzała wrzucam kod prosze paniętać że autorem jest Vladimir I. Yershov Program jest jeszcze do poprawek to tylko prowizorka jest 1:08 w nocy i chciałem sie podzielić radoscią $regfile = "M8DEF.DAT" $crystal...
Dziękuję za pomoc - zastosuje zewnętrzne napięcie odniesienia oraz wzmacniacz operacyjny. Mam pytanie o liczby float. Jeżeli zależy mi na dokładności i nie ma znaczenia czy program zajmie 3% czy 30% pamięci to mogę użyć float czy raczej są inne sposoby obliczania liczb ułamkowych? Zewnętrzne nap. odniesienia to dobry pomysł, zewnętrzny WO to IMHO pomysł...
oversampling atmega atmega atmega rs232 komunikacja atmega atmega
medion bateria nawigacja ipconfig połączenie ograniczone karta pamięci uszkodzona
filtr dolnoprzepustowy subwoofera filtr subwoofera
Bezpieczniki lusterek w Peugeot 3008: lokalizacja i diagnostyka Kolejność kabli zapłonowych Skoda Octavia I 1.6