Poniżej fragment: Odczyt = 0 For Krok = 1 To 100 W = Getadc(1) Odczyt = Odczyt + W Next Krok Wyn = Odczyt / 100 Zmienna wyn to uśredniony pomiar ze 100 odczytów. Pozdrawiam.
Do Autora wątku: Proszę. Nie taki diabeł straszny. Nie napisałeś jaki to procesor więc napisałem przykład dla Mega8. Funkcja odczytuje ADC(0-5) z włączony ADLAR czyli tylko osiem bitów. Wynik od 0 do 255. Zapewne działa nawet w symulatorze. To taki podstawowy. Można nie czekać a ustawić przerwanie, ale to pewnie jeszcze nie dla Ciebie :D Wpisz w Google...
Zeruj sume na początku każdego pomiaru.
(at)zumek Dzięki za kod, ale nie do końca wiem jak on działa. Szkoda :( W1 to tablica wskaźników na W, przesunięta o dwa miejsca? Mylisz się :( W1 , to jakby wskaźnik na W powiększony o 1 element tablicy W , czyli 2 bajty . Natomiast tablica wskaźników , to ... nie z tej bajki ;) A dokładnie rzecz ujmując , to Bascom definiuje tablicę W1 , w obszarze...
Uśrednianie można też zrobić sprzętowo, najprostsze to kondensator i opornik.
Sortowanie w Bascom funkcjonuje bezbłędnie. Pobieram 50 próbek i uśredniam wynik z 10 "środkowych" - działa perfekcyjnie
Chodzi mi o algorytm jaki zastosować do wyliczenia średniej tak aby była jak najmniej podatna na te niewielkie wahania w pomiarach? Odrzucasz N największych i N najmniejszych pomiarów (wyeliminowanie "ekstremów") - z pozostałych liczysz średnią. Im więcej pomiarów - tym bardziej stabilny wynik, ale nie zawsze się da zbierać dostatecznie dużo pomiarów...
Nie wiem po co wyłączasz i włączasz ten przetwornik, ale może jakaś oszczędność baterii czy coś.. W każdym bądź razie pierwszy odczyt po włączeniu przetwornika może być zafałszowany. Bascom i tak czyta dwa razy, ale uśrednia te dwa odczyty. Spróbuj wykonac dwa doświadczenia. W pierwszym pod "Nap = Getadc(4)" dopisz dokładnie taką samą druga linijkę....
Próbuje zrozumieć programowanie procków, ( opornie mi to idzie ) jakies tam proste programiki już mi wychodza, ALE mam kłopocik z uśrednieniem wyniku pomiaru z przetwornika A/C pcf_8591. DOKŁADNIE - mam sygnał w zakresie 2500 mV do około 2440mV który już jest niestabilny +/- 2mV , zależy mi aby to uśrednic i i osiągnąć dokładność chociaż 0.5mV . Zapomłem-...
Próbuje zrozumiec programowanie procków, (opornie mi to idzie) jakies tam proste programiki już (czytaj:dopiero)mi wychodzą,ALE mam klopocik z uśrednieniem wyniku pomiaru z przetwornika A/C pcf_8591. DOKŁADNIE- mam sygnał w zakresie 2500 mV do około 2440 mV który już jest niestabilny +/- 2mV,zależy mi aby to uśrednić i osiągnąć dokładność chociaż 0.5...
A co ty chcesz uśredniać w 1 pomiarze??
Wykorzystując PWM można sterować falownikiem przez wejście napięciowe... chyba większość falowników ma takie... Najczęściej jest to 0-10 dla sterowania tylko w jedną stronę lub -10V -:- +10V dla sterowania ze zmianą kierunku... Jest też oczywiście wejście prądowe ale to by niepotrzebnie skomplikowało sprawę... 0-10V wystarczy jeden tranzystor i układ...
A zmienia się szybko, jak ukłąd jest w stanie spoczynku? Czy jak machasz ręką nad czujnikiem? Jak to drugie zbieraj próbki np. z 60sekund i uśredniaj. Pozdro.
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
Właśnie czas pomiedzy impulsami da ci wiarogodny wynik. Chyba, że czas pomiaru będzie na tyle długi, że da ci zadowalającą dokladnosc. Np. na wolnych obrotach w samochodzie(ok 900 obr/min) masz 15 obr/sek (co ok 60ms) natomiast przy 10000obr/min masz impuls co 6ms. Przy podstawie pomiaru 50us (liczenie czasu pomiedzy impulsami) masz dobrą dokładność...
Dlatego kolego rpal stosuje się w takich przypadkach filtr uśredniający. Uśredniasz ostatnie n próbek i najlepiej wyświetlasz z częstotliwością n razy mniejszą.
Pomiar prądu jest dokonywany jako spadek napięcia na bardzo małej rezystancji. Jeżeli chcemy odfiltrować któtkotrwałe wachania napięcia na rezystorze to warto dołączyć równolegle do rezystora pomiarowego kondensatora o dużej pojemności tak aby jego czas rozładowania wynosił około 1/2 sekundy. Może to pozwolić na zyskanie kilku cennych bajtów kodu (...
Najlepiej uśredniane przeprowadzać w czasie jednego półokresu sieciowego tzn 20ms.Zmniejszy to wpływ zakłóceń sieci energetycznej.
Zgadzam się, napięcia mogą być o wiele większe, nie posiadam oscyloskopu, poprostu mierzyłem to prostym multimetrem, multimetr uśrednia wartości. Nie zmienia to faktu że atmega nie miała z silnikiem szans. ... i pewnie już nie żyje, przy tak wysokich impulsach. Polecam lekturę Dodano po 4 ... Są prostsze elementy, nieprzyporządkowujące danej pozycji...
A ja bym użył kondensatora elektr. i opornika by uspokoić ADC. Zrobiłem kilka mierników i rozwiązanie daje sobie radę z uśrednianiem wyniku. Działa nawet idealnie w takim niestabilnym środowisku jak samochód.
po pierwsze, program nie uśrednia wyników - usuń to w=getadc(0) po pętli for, a typ zmiennej w zmień na long to co Ci wyświetla to wartość pomiaru z adc * 0.0049 :D
...elektrolity. zrób ten układ i zobacz jak skacze pomiar bez nich! Jak mam zrobić bez schematu :?: Żeby pomiar nie skakał trzeba zrobić uśrednianie wyniku, a nie dokładać kondensatory. I to jeszcze o takich pojemnościach. Już na podstawie tego widać że cały układ jest.....daleki od poprawności.
Czyli Tobie chodzi o uśrednianie wyniku . Ja bym dał więcej próbek (np: 50). Są ciekawsze rozwiązania - filtr dolnoprzepustowy , ja robiłem z tego filmu (to jest pod arduino) przerobiłem i chodzi świetnie w bascom [youtube]https://www.youtube.com/watch?v... Tu jest obrabiany wynik z akcelerometru ale to bez znaczenia bo podasz wynik...
Nie dokonuj pomiaru ilości impulsów na 1 sek ! To błędne podejście . Niby logiczne ale błędne . Musisz zmierzyć czas pojedynczego pełnego obrotu i z tej wartości wyliczać prędkość . Oczywiście mogą być różne warianty np. mierzyć czas 5 obrotów itp. Inną kwestią jest uśrednianie i samo przeliczenie na droge/czas. Sygnał z czujnika oczywiście wpiąć w...
Dzięki za odzew i biblioteki :-) Naściągałem trochę softu z netu wiec coś się wybierze. Przeglądając procedury obsługi SHTxx, zauważyłem różnicę w komunikacji (SHTxx vs I2C) ale wolałem się upewnić. bolcio: Układ pracuje na MPXA6115A. Czujnik podłączony jest przez rezystor (zgodnie z datasheet) do przetwornika ADS1100, a ten po I2C do ATMega32. Wcześniej...
1 opornik, kondensator. Z zasilania podłączasz się do opornika 10Kohm, opornik do kondensatora elektrolita (dobrać wartość).Masz od razu załatwione uśrednianie wyniku. Dodano po 1 Możesz zastosować np 100Kohm, wtedy dajesz mniejszy kondensator.
Przeszukałem forum ale nie znalazłem ciekawego , moja sonda pracuje od 0-1V ( VW ) dlatego piszę ze 1V. Kolega ma taki wskaznik gotowy kupiony z "autogauge" i jak go podłaczyłem to diody zmieniały sie co 0,5sek i wydaje mi się ze dłuzszy pomiar i uśrednianie niema sensu bo bedzie nieprawidzie, wskaźnik skakał raz z jednego końca na drugi (instalacja...
Może spróbuj uśredniać wyniki z ADC np 50 pomiarów i średnia z 50 pomiarów jako wyjściowa wartość, lub 52 pomiary, największy i najmniejszy pomiar odrzucasz i średnia z reszty.
Raczej pochopny wniosek. Jesteś Kolega pewien, ze gdy mierzy napięcie to dla maksymalnej wartości wyliczonej przez program jako około 5V istotnie na wejściu było takie napięcie? Najlepiej na początek nie robić testów z uśrednianiem napięcia, tylko w pętli z opóźnieniem dla pojedynczego pomiaru ze sprawdzeniem wartości zmiennej Licz(0), mając jednocześnie...
Natomiast do rozładowania użyłem żarówki 12V 200W. Gdyby PWM ustawić na 1023 to wtedy prąd wyniósłby 200W : 12V = 16,6A. Moc tracona na Mosfecie wynosiła wtedy właśnie około 200W w szczycie. A to dlaczego? Reasumując moje "wypociny" :D ACS będzie wskazywał poprawnie jeżeli prąd przez niego przepuszczany nie będzie wyższy niż prąd maksymalny dla wersji...
Poradziłem już sobie z uśrednianiem wyniku, ale mam dalej problem z tym zaokrąglaniem. Nie ma jakiegoś prostego sposobu na zaokrąglenie liczby ułamkowej ? Te funkcje round i int nie działają poprawnie. Zaokrąglają, ale pozostaje przecinek i zero na końcu, którego chcę się pozbyć.
Ten Twój program to, niestety, brak zrozumienia dla sprawy. W pętli Do Loop Until zbierasz 64 odczyty i je uśredniasz, ale tego wyniku w ogóle nie używasz... Zamiast tego robisz jeszcze raz odczyt zamazując poprzedni wynik uśredniania. Gdzie tu sens? :D Spokojnie możnaby też zrezygnować z użycia zmiennoprzecinkowej Single i program byłby mniejszy -...
(at)emarcus Napięcia mierzone multimetrem, względem masy. Wartości te są niskie wg. mnie przez multipleksowanie właśnie. Nie wiem/nie mam jednak pomysłu jak to obejść. Wartości te nie są niskie. Wysyłasz sygnał "1" na port z częstotliwością ok. 62Hz o wypełnieniu 25%. Multimeter uśrednia pomiar i w efekcie otrzymujesz 5V/4. Wahania napięcia na róznych...
PCF8591 jest 8-bitowy, jeżeli nie musisz mieć dużej dokładności to można podłączyć LM53 do niego, ale pamiętaj, że LM ma współczynnik 10mV/st.C. Zeby zwiększyć dokładność musisz zmiejszyć zakres pomiarowy i zastosowac konwerter napięcia (np. LM324 ;-)) dla dopasowania poziomu. Minusowe liczby w BASCOMie najlepiej przeliczać na zmiennych typu INTEGER...
Nie zmienia, bo masz błąd w innym miejscu. Dokładnie to miałem na myśli-że błąd jest gdzieś indziej. Zastanów się, co oznacza nazwa trybu CTC (?) – w ang. jest to ‘Clear Timer on Compare’ (pol. - wyzeruj zawartość licznika/timera, gdy jego zawartość jest równa wyznaczonej z góry i ustalonej, bądź to wyliczonej jakiejś wartości w zmiennej...
http://obrazki.elektroda.pl/2929008000_1... Witam. Po raz pierwszy zdecydowałem się przedstawić na łamach forum swoją konstrukcję. Chciałbym zaprezentować swój pomysł na Termometr Samochodowy. Podczas upalnego lata zauważyłem że po zainstalowaniu instalacji gazowej moje auto ma bardzo duże wahania mocy silnika w zależności od temperatury...
Autor nawet nie napisał jakie mcu , nie podał kodu ... Mam wrażenie że nawet trygonometrii nie zastosował tylko leci na "surowych" danych z akcelerometru i te uśrednianie to zapewne pętla , sumowane wyniki podzielone przez ilość wyników ehhh . Z takim podejściem to nie nauczysz dzieciaka elektroniki a raczej kupowania "gotowców" . Masz podany cały tutorial...
no i uwaliłem procesor zwarciem ;/ przez przypadek dotknąłem radiatorem od zasilacza (jakieś 25v) coś na płytce.. to już drugi avr zepsuty. został mi ostatnia mega8 ale ma tak ustawione ze reset jest porem io da sie to w jakiś łatwy sposób zmienić? Napisałem taki program ale nie wiem czy to sie sprawdzi bo nie mam jak przetestować :cry::cry: 'configi...
Jako czujnik nasłonecznienia możesz użyć zwykłego fotorezystora + mikrokontroler. Zadanie kontrolera będzie szacowanie nasłonecznienia (względnego) i jakieś uśrednianie (pominięcie wpływu krótkotrwałych zmian). Czujnik, który podałeś na alledrogo (swoją drogą usuń link) wymaga małych przeróbek i niekoniecznie da się to zrobić szybko. Co do czujników...
Witam Przykład z działającego urządzenia odczyt dwóch adc i uśrednianie wyniku [syntax=basic4gl] Incr Usrednianie Odczytco = Getadc(7) + Odczytco 'odczyt adc co Odczytbl = Getadc(4) + Odczytbl 'odczyt adc bojler If Usrednianie > 5 Then 'usrednianie odczytów 'żeby nie skakał pomiar Co = Odczytco / 10 Bl = Odczytbl / 10 Odczytco = 0 'zerowanie zmiennych...
AREF filtruję 100n do GND. AVCC mam podciągnięte przez dławik 100u do +5V i odfiltrowany 100n do GND Spróbuję zamienić napięcie z tabeli na wartość ADC. Kosmicznej dokładności tutaj nie potrzeba. Ma to raczej służyć jako "orientacyjne" wskazanie ponieważ pływak w czasie jazdy cały czas będzie pracować. Dlatego tez potrzebować będę średniej z co najmniej...
Witam. Po dłuższej przerwie wracam do tematu stabilizatora. Zmagając się z regulatorem na wzmacniaczach operacyjnych postanowiłem jednak pójść w stronę regulatora na mikroprocesorze. W sieci znalazłem program PID-a w Bascomie na Atmege8, w którym wyłączyłem człon różniczkujący. Regulator działa średnio dobrze tzn. obroty wciąż oscylują wokół wartości...
Witam Troszkę przedobrzyłeś s tym licznikiem 16 bitowym, starczy połowa 8 bitowego, wróćmy do obliczeń, autor pisze o 4 impulsach na obrót, Ty o 2 i to wydaje mi się bliższe prawdy. Maksymalne obroty 7000, na sekundę daje nam to koło 117 obrotów, chcesz mierzyć 0,5 sekundy i i dwa impulsy na obrót czyli 117 impulsów przy maksymalnej prędkości obrotowej....
Ja też pracuje nad takim urządzeniem i myśle sobie, ze sam pomiar tempa to pikuś. ale jak wysterować wyświetlacz LED? Myślę na programem częstotliwościomierza który będzie mierzył częstotliwość przez pewien czas (np. 2 sekundy), uśredniał wynik pomiaru i mnożył do przez 60. Do tego celu mam zamiar urzyć uP ATTINY2313. Chcę zrobić wyświetlacz z segmentów...
Witam Traktując poważnie ten cały komputer pokładowy to chyba trzeba wysiąść z bascom'a, owszem tam można sobie testować pewne procedury ale poważny program,jakim pewnie docelowo ma być ten, w bascomie zajmie >>>8kb (a wybrany przez Was proc 90s8515 to właśnie 8kb). Wiem to z doświadczenia. Napisałem tylko 1 procedure do pomiaru prędkości chwilowej...
Cursor Off ' ' Po co tu pracowicie uśredniasz wyniki z 10 kolejnych pomiarów .... ' For Z = 1 To 10 P = P + Getadc(3) Next T '----pobieranie P = P / 10 ' Tu liczysz średnią ' ' ... by tu pobrać dane bez uśredniania ??????????????????????? ' P = Getadc(3) ' ^^^^^^^^^^^^^^^^^ V = P / 204.5 A = Frac(v) V = Int(v) A = A...
W jakim języku napisany jest kod? Czy dane wysyłane są jedna po drugiej i na końcu godzina, czy są łączone w ramkę i przesyłane wszystkie razem w jednym pakiecie? Bascom. Dane są odpowiednio przeliczane, by z tego co podaje ADC wyszło napięcie odczytywana jest godzina (raz na sekundę) i wszystko składane w jedną ramkę. Robisz 4 odczyty z ADC które...
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...
Witam Zrobisz sobie tablicę powiedzmy 10-cio elementową i w pętli będziesz przesuwał wyniki o jedną pozycję. Po 9 krokach na pierwszą pozycję wpisujesz wynik bieżącego pomiaru i uśredniasz wszystko. Dosłownie kilka !!! linijek kodu jeśli chodzi o przesuwanie w tablicy. Przy takiej tablicy (z autopsji) będziesz miał wątpliwości czy układ jeszcze działa....
Średnia można liczyć na jednej zmiennej. Wymaga to operacji zmiennoprzecinkowych. Trzeba więc stanąć przed wyborem, duże zapotrzebowanie na ram czy większe zużycie czasu CPU. Bascom ma ograniczenia co do liczby operacji zmiennoprzecinkowych w jednej linii Uwagi personalne usunąłem. O przesuwaniu przecinka słyszał? Odczyt z ADC mieści się w zakresie...
Abstrahując od baskoma, którego nie znam i poznać nie chcę, rozumiem że masz 2 przebiegi na różnych pinach. 1. ADC jest w megach bardzo wolne a będziesz musiał uśredniać wyniki (a najlepiej zrobic prograomwy filtr dolnoprzepustowy) aby zabezpieczyć się przed błedami samego adc. Do pomiaru róznicy faz - nie tylko musisz mierzyć czas ale również faze...
Ja Wam polecam zrobić klonowanie obrazu wtedy na obu złączach karty GFX będziecie mieli to samo. Wtedy bez problemu podepniecie Atmegę pod poszczególne żyły RGB (można to zrobić zupełnie bezpośrednio pod 3 kolejne ADC) i kolory brać niezależnie od softwaru. Ja nad takim czymś pracuje i z moich testów wynika że Atmega8 (8MHz) bez problemu sobie radzi...
Męczysz tego kota :D Wystarczyłoby troszkę pomysłowości i sprawdziłbyś wszystko jak ja na tym filmie w kilka minut zamiast pisać posty. Niektórym się wydaje że Timery albo ADC się konfiguruje raz na początku kodu i już Amen. Wiele peryferii i urządzeń możesz sobie konfigurować wielokrotnie. Przy ADC trzeba brać poprawkę że pierwszy odczyt po zmianie...
Dzisiaj przetestowałem wersję w C i porównałem wyniki DFT na liczbach stałoprzecinkowych, z wynikami na zmiennoprzecinkowych. Powiem, że rezultat jest co najmniej zadowalający, jeżeli chodzi o ich zbieżność :) Jeszcze pobawię się z okienkowaniem, bo zauważyłem, że po jego zastosowaniu to widmo jakoś przyjaźniej dla oka wygląda. Okienko wprawdzie rozmazuje...
Mundi1970 , bardzo dziękuję Ci za trafną odpowiedź. Tak kończy się korzystanie z poleceń, których działania się nie rozumie. Nadal męczy mnie jeden problem, mianowicie raz na kilka odczytów pojawia się dziwna wartość (np. utrzymując Vconst = 50km/h raz na kilka odświeżeń wyświetlacza pojawia się wartość 35km/h albo 70km/h - przykłady przypadkowe, nie...
Zadanie można rozwiązać na kilka sposobów: 1. Powielacz częstotliwości razy 100 zrealizowany na układzie pętli fazowej 4046, potem zliczasz przez 1/10 s częstotliwość wyjściową generatora VCO pętli i wyświetlasz ją z przecinkiem między cyfrą dziesiątek i jednostek. 2. Pomiar okresu sygnału przy pomocy mikroprocesora np. Atmega8, program piszesz w języku...
Wiedze na temat przerwań czerpałem z poradnika : http://std2.phys.uni.lodz.pl/mikroproces... Jest to dośc autorytatywne źródło, więc skąd masz te wątpliwości??? kolega raz pisze ze load timer0 250 jest nie poprawny a potem pisze że poprawny wiec od czego jest zależne jaki czas jest po jednym przepełnieniu czy to...
To jest działający kod dla INA226 napisany dla ATMega16. Pewnie mógłby być ładniejszy, ale wiadomo - zawsze da się coś poprawić :-) Z pewnością da się łatwo zaadaptować dla INA219 Nie porównywałem datasheetów, ale sprawdź adresy do komunikacji, być może będziesz coś musiał zmienić w sekcji "inicjalizacja". Zakładam, że dokładnie przestudiowałeś datasheet...
(...) wane są na narastających zboczach sygnału CLK gdy zmiany ich są na opadającym zboczu więc jest ok 100us na ustabilizowanie sygnału. https://obrazki.elektroda.pl/2868912000_... czy jest jakiś sposób na uzyskanie większej rozdzielczości pomiarów ADC niż deklarowane 12bitów tych ADC MCP3204? Zgodnie z zasadami IC, nie mogę komentować...
Wiecie co, koledzy? Chyba wiem, co autor miał na myśli. Kiedyś dorwałem taki specyficzny silniczek do skrętu kół w samochodziku DICKIE. Przez długi czas nazywałem toto serwem modelarskim. Jednakże było to coś innego; był w tym silnik przekładnie i płytka ze ślizgaczem. O coś takiego może chodzić autorowi; w różnych pozycjach w tym "serwie" były stykane...
Chciałbym ci pomóc, ale żeby to zrobić to trzeba by było sobie zbudować taki układ jak ty i nad nim posiedzieć, potestować, popróbować, poanalizować, dopasować wiele czynników i czasów - generalnie podłubać, żeby coś z tego zaczęło wychodzić. Generalnie pamiętam gdy pisałem program, że ja wykonywałem cyklicznie po kilka pomiarów, zapamiętywałem ich...
Dwie kwestie. Pierwsza: Jakiej mocy jest ten transformator ? Druga: LM723, na tym układzie można budować bardzo obszerne zasilacze. Sterowanie cyfrowe można zrealizować za pomocą układu CD4051 z odpowiednią drabinką rezystorową. Trafo mam 120W. Część analogowa rzeczonego zasilacza wydaje się w porządku. Część cyfrowa za to to porażka. Procesor stabilizuje...
Proszę sobie zajrzeć do noty katalogowej ATTiny26 i jego młodszych braci ATTiny261/461/861. Ciekawe po co robili taki zaawansowany Timer i PLL taktujący ten licznik? Autor tematu chce budować tą przetwornicę na atmega8, nie attiny26. Poza tym, co z tego że attiny26 ma troszeczkę bardziej zaawansowany timer od reszty... A deadtime jakoś nie zauważyłem......
Witam Mam problemy z fazami w domu. chciałbym mieć stały pomiar wyświetlany na LCD i w przypadku przekroczenia napięcia 240V zapalaną diodę led podpiętą do nóżek procka(docelowo będą to przekaźniki) i sygnał dźwiękowy na syrence. Wykonałem w bascomie miernik faz na atmega8, tryb zaokrąglania wyniku zaczerpnąłem z jednego kodu z forum. Płytka z układem...
Co do zasady to jest ona banalna. Próbkujesz z częstotliwością x razy większą i każde kolejne x próbek uśredniasz. Nic ponadto (od strony programu przynajmniej). W C wyglądało by to tak: #define N 8 /* rząd oversamplingu */ unsigned char licznik_probek = N; unsigned int akumulator = 0; unsigned int wartosc; while(1) { akumulator = akumulator...
Witam. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym poziomie ale troszkę oscylują wokół wartości zadanej....
ja już kila razy zastosowałem taki algorytm odrzucania błędów pomiarowych. liczysz 5 lub 7 (zależy na ile możesz sobie pozwolić czasowo) pomiarów. potem ustawiasz je rosnąco a następnie liczysz średnią tylko z 3 srodkowych wyników, reszte odrzucasz. to rozwiązanie daje sporą poprawa wyników. jak by tego było mało to mozesz pobierać np 11 pomiarów i...
W konfiguratorze LCD ten pin nie występuje w ogóle, więc w sumie nie wiem jak zadeklarowac, że go sie w ogóle używa.... Z częstotliwością nic nie grzebie, więc jest fabryczna, w kodzie mam polecenie " $crystal = 8000000 " . Tu jest ciekawy wątek o wysterowaniu wyświetlacza za pomocą R/W: https://www.elektroda.pl/rtvforum/topic1... Może coś nie...
http://obrazki.elektroda.pl/6948868900_1... Wzmacniacz samochodowy o mocy 400W. Oparty o przetwornicę push-pull na układzie KA7500 (TL494), o mocy do 500W pozwalającej na pracę czterech końcówek mocy TDA7294. Wzmacniacz na przednim panelu posiada trzy trzy-cyfrowe wyświetlacze LED, wyświetlające aktualne napięcie zasilania wzmacniacza,...
Niestety u mnie te przerwania są "zawalone". Nie było to do tej pory problemem, bo użycie uarta nie było przewidywane do "poważnych celów". Niestety na razie nadal jest źle... Popatrzę, czy jest możliwe przesunięcie "prac" z timera1 - bo to on pewnie jest źródłem nieszczęścia, jako że jest wywoływany 1000 razy na sek. A jest mocno obciążony; Oto jego...
Trochę dziwnie napisałeś ten program, pozwoliłem go sobie trochę przerobić. Sprawdź konfigurację portów żebyś nie uwalił sobie procka, i napisz czy poniższy program rozwiązał Twój problem. Kod: [syntax=basic4gl] 'Tester napiecia na AVR ' ' - zegar wewnetrzny 1 MHz ' - górny fuse bit D9 ' - dolny fuse bit E1 'procesor ATMEGA8 $regfile = "m8def.dat" $crystal...
Cześć. Ja myślę tak : Proponuje czujnik Halla i dokonywać pomiaru między zmianami stanu. Dla uśrednienia powiedzmy zliczać 5 zmian i dzielić przez 5. Najdokładniej (przynajmniej dla mnie by było) Bo jeśli weźmie się kontaktron i liczy powiedzmy przez 2 sek. (zakładając 1,2 obr. na sek.) to koło może wykonać 2,5 obrotu a policzy nam 2 czyli oszuka nas...
http://obrazki.elektroda.pl/3163371000_1... Witam Chciałbym przedstawić własną wersję sterownika akwariowego. Został wykonany w oparciu o podobne projekty także na elektroda.pl, jednak starałem się możliwie mało kopiować a jedynie podglądać gdy w jakimś momencie prace ustawały. Urządzenie wykonane prawie w całości przeze mnie (koncepcja,...
Nie twierdzę że oversampling nie daje takiej możliwości, daje ale pod pewnymi założeniami i z pewnymi ograniczeniami, których trzeba być świadomym. To nie jest tak, że mówisz sobie 10 bit to mało więc zrobię oversampling 256 razy i będzie fajnie. Prosty przykład, weźmy sygnał prostokątny 4.6V i 0V, nasza rozdzielczość to 1V. Nawet jak byś spróbował...
Łap. Mam co robić ale tak się chwile pobawiłem. Program nie jest przemyślany tylko tak z doskoku :D Mierzy długość impulsu jednego i drugiego i pokazuje na LCD Do tego sumując obydwie długości wróży tez częstotliwość :P Nie miałem na szybko nic z PWM żeby zadawać różne wartości to złapałem ten mój programowany generator 50/50 i dlatego wyniki takie...
Witam Piszę Programik w Bascomie, wyplułem na wyświetlacz między innymi temp. z Lm35 dokładność do 0.5 stopnia, lecz waha się do 1.5 stopnia (temp. skacze). Jak uśrednić to. Czytałem troszkę posty że trzeba próbkowanie zrobić, lecz nie wiem jak się zabrać... O to kod: [syntax=bascom] $regfile = "m8adef.dat" $crystal = 16000000 '*******************Konfiguracja...
Może ktoś podpowie mi jak uśrednić temp. zewnętrzną np. z godziny (temperatura może być ujemna ) . Trmperature mieży ds1821 ,program w bascomie na atmega32
Z dokumentacji co przeczytałem masz wyjście analogowe więc jedyne co to musisz pokusić się o mikrokontroler z przetwornikiem analogowo-cyfrowym o odpowiedniej rozdzielczości lub o zewnętrzny przetwornik wtedy nie potrzebujesz przetwornika w mikrokontrolerze. Jak wiadomo przetwornik ma jakąś rozdzielczość taka atmega8 na przykład ma przetwornik 10-bitowy...
Bez zwiększenia czasu pomiaru, raczej tego nie obejdziesz. Możesz sróbować jescze uśrednić wynik z dwóch ostatnich pomiarów, ale niewiele to pomoże. Pozdrawiam
Wczesniej petla byla do 10 Zdejmuje kilka pomiarow poniewaz zbiornik wagi moze sie kolysac po zaparkowaniu w ten sposob uzuskuje wartosc uśredniona
Witaj Co to znaczy: " wskazanie prądu na wyświetlaczu LCD cały czas się zmienia" Zmeinia sie o 1/1000 zakresu czy o 1/10. Z ilu pomiarów robisz uśrednienie i wogóle napisz coś więcej o Twoim przetworniku... Pozdrawiam
... przy pierwszym pomiarze rzeczywiście nie wyświetlisz, a później w chwili wyświetlania będą pokazywane wyniki z poprzedniego pomiaru. Druga sprawa: czemu chcesz mierzyć aż przez sekundę? Czy musisz mierzyć czas wszystkich 50 okresów? Może wystarczy zmierzyć tylko kilka i wynik uśrednić?
tak zdaje sobie z tego sprawę, pewnie lepszym rozwiązaniem byłoby uśrednienie tych dwóch pomiarów z części nadajnika, drugą sprawą jest to, że dopiero zaczynam programować, dla kogoś zaawansowanego pewnie byłoby to drobnostka dla mnie niestety jeszcze nie, dlatego prosze o pomoc Kolejne pytanie to w jakim programie skompilować kod i wgrac do procków,...
Czy mógłbyś udostępnić zródła bascomowe dotyczące uśredniania wyników pomiarów?? Proszę bardzo: For Petla = 1 To 9 'przesuniecie tablicy pomiarow o jeden wstecz i dodanie nowego pomiaru Adc_mpx(petla) = Adc_mpx(petla + 1) Next Petla Adc_mpx(10) = Getadc(7) Suma = 0 'obliczanie sredniej z 10 pomiarow For Petla = 1 To...
Witaj. Jeśli mówimy o wypełnieniu to nie ma od 0 do 255 to jest względne. Ja nie programuję w BASCOMIE tylko w C/C++ i u mnie wypełnienie określa się od 0-100%. PWM - pulse width modulation, czyli jak masz prostokąt to % określa ile w w ciągu jednego okresu prostokąta zajumje jedynka logiczna a ile zero lub w inwersji odwrotnie i jak to w czasie uśrednisz...
U mnie czas pomiaru będzie wynosił ok. 1,5s od momentu startu do zatrzymania fotela. Myślę, że nie będzie odpływania wyniku od rzeczywistej wartości. Próbki będę odczytywał przypuśćmy co 10ms. I tak dla 10ms będzie ok 0,036m/s, dla 20ms - 0,072m/s, dla 30ms - 0,108m/s itd. Każde drgania się odbiją na przyspieszeniu więc również prędkość będzie rosła...
Minutowy pomiar 4204 4259 4254 4250 4240 4231 4237 4231 4201 4198 Zastanawiam od czego to jest zależne skoro pomiar jest "dokładny" to takie błędy możne wnosić wentylator? bo nie wiem jak wyglądają inne projekty na takich wentylatorkach. Dodano po 1 W sumie nie ma co grzebać uśrednię jakoś te obroty z 10-20 pomiarów i powinno być ok. Zrobiłem by dodawało...
jaki prąd pobiera ten wentylator , może lepiej zastosować tranzystor Mosfet , moc strat jest w nim dużo mniejsza niż w bipolarnych Mi, w pierwszym skojarzeniu (nie robiłem takich układów) zamigało w głowie ostrzegawcze światełko: praca impulsowa i obciązenie indukcyjne (silnik). Mnie to uczyli uważać na takie przypadki. Czy (fachowcy wypowiedcię się)...
Witaj. Czego dokładnie potrzebujesz schematu kawałka programu, algortymu,... W przypadku elektroniki to będziesz potrzebował wzmacniacza operacyjnego z odpowiednim wzmocnieniem zależnym od twojej termopary. Nie wiem czy Twoja termopara jest liniową zależnością między temperaturą a napięciem. Jeśli jest nieliniowa to albo odczytasz i zaaplikujesz ch-kę...
Witam Tak Panowie ja się z Wami zgadzam (z racji tego iż w programowaniu jestem jak but) chociaż z tymi diodami i analogowym wskaźnikiem zupelnie nie. Jeżeli chodzi o program to od początku miałem takie wrażenie, że cos jest nie tak. Uważałem, że trzeba to napisać co najmniej w C, ale najlepiej w asemblerze - niestety programista mi nie powiedział w...
Witam Jestem na etapie budowy ładowarki do akumulatorów ,jako dodatkową funkcje postanowiłem dołożyć układ do rozładowania akumulatora przed rozpoczęciem ładowania docelowego. I teraz ... Schemał układu który zajmuje sie rozładowaniem znajduje sie poniżej ,i co prawda działa ,tzn gdy zmieniam wartość PWM zmienia się prąd płynący przez układ , ale mam...
I do tego ci potrzebne 20MHz? Na moje oko to wystarczy 1Mhz nawet w Bascomie podejrzewam. 20hz *120s to zaledwie 2400 wyników dwubajtowych. Czyli spokojnie zmiescic mozna w wewnetrznej pamieci RAM. Jak już koniecznie chcesz jeszcze więcej minut to zastosuj atmege1284p która ma 16kB RAM-u. Po co taki szybki ADC skoro pomiary co 20Hz a dodatkowo chcesz...
Oczywiście widziałem ten projekt, ale.... On jest sterowany przez komputer z odpowiednio napisanym programem który przetwarza obraz i wysyła gotowe dane. Można powiedzieć, że jest to bardziej kontroler LED sterowany przez RS232 a mi zależy na TV czyli układ musi być autonomiczny, więc dane może brać jedynie ze źródeł jakie oferuje TV (w moim wypadku...
Witam Sprawa generalnie dość prosta a tym bardziej że masz zakres od 0 do 100 stopni Celsjusza z rozdzielczością 1 st. W pierwszej kolejności należy zasilić czujnik napieciem np. 5V - tym samym co procesor, Podłączyć woltomierz na zakres 2V i mierzyć temperaturę. Sposób prezentacji wyniku w tym wypadku jest chyba znany i nie trzeba go opisywać. Następnie...
Witam serdecznie Mam podobny problem z tym przetwornikiem MCP3202, oto kod: $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 ' use baud rate $hwstack = 48 ' default use 32 for the hardware stack $swstack = 20 ' default use 10 for the SW stack $framesize = 80 Enable Interrupts Config Serialout = Buffered , Size = 254 Config Lcd = 16 *...
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o tyle błędu nie potrafię wyeliminować 3 dzień. Po krótce...program...
Witam, robię obrotomierz do silnika o obrotach do 6000obr/min. Pomiar wykonuje następująco: - po 1 przerwaniu startuje timer1 - w obsłudze przerwania timera1 (co 100us) zwiększam zmienna X - po 20 takich pomiarach usrednam wyniki i poddaje kalkulacji: Impuls: Disable Int1 If Measure = 0 Then X = 0 J = 1 Timer1 = 65136 Enable Timer1 Measure = 1 Else...
Witam. Mam problem z xmega 128A3-AU. Zbudowałem prosty woltomierz do 20V lecz przy zwarciu pinu ADC z masą nie ma 0V tylko napięcie waha się od 0 do 0.06V. Czy jest jakiś sposób na uśrednienie tego nie niszcząc płytki PCB? Program napisany w bascomie. [syntax=basic4gl]$regfile = "xm128a3def.dat" $crystal = 32000000 $hwstack = 128 $swstack = 128 $framesize...
ds18b20 uśrednianie uśrednianie matlab uśrednianie pomiarów
antena monitoring wentylator skraplacza astra wzmacniacz antenowy
Dociąganie głowicy Mitsubishi 4M42 Canter - momenty i sekwencja Opel Astra 1.0 - Radio wyłącza się, Android Auto nie działa