problem w programie Arduino - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: problem w programie Arduino (/watek-problem-w-programie-arduino) Strony:
1
2
|
RE: problem w programie Arduino - sewek10 - 16-11-2019 Wiem, dodałem to w pętli głównej i jest to samo Zauwazyłem jeszcze jedna rzecz. Oto układ do pomiaru predkosci Na wyjsciu OUT jest dioda ktora mruga wraz z wykryciem otworu przez czujnik szczelinowy. Sam układ do pomiaru predkosci i układ scalony działaja poprawnie, bo jak recznie ruszam tarcza to mruga prawidłowa ilosc razy, wiec wina musi lezec po stronie zliczania. Dodałem narazie kondensator elekt. 100 mikro i 220 nano bo innych nie mam, ale bez zmian. Zasilenie czujnika z osobnego zasilacza 5V powoduje ze lcd pokazuje juz totalne głupoty - predkosc nawet 6000 rpm RE: problem w programie Arduino - semi - 17-11-2019 (16-11-2019, 23:33)sewek10 napisał(a): Zasilenie czujnika z osobnego zasilacza 5V powoduje ze lcd pokazuje juz totalne głupoty - predkosc nawet 6000 rpmBo pewnie mas nie połączyłeś. (16-11-2019, 23:33)sewek10 napisał(a): Oto układ do pomiaru predkosciCzego tam nie ma? Komparator zupełnie niepotrzebny! Pulsein nie ma prawa działać dobrze. Ani we wstawce ASM: Kod: #include <avr/io.h> Kod: unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout) Zrób pomiar czasu timerem, korzystając z przechwytywania (ICP). RE: problem w programie Arduino - Agregacik - 17-11-2019 sewek10 zasil z osobnego zasilacza układ sterowania wentylatorem. Przyczyną mogą być zakłócenia właśnie z niego bo momentami pobiera względnie duży prąd i ma wpływ na impulsy z czujnika. Sam czujnik zostaw na zasilaniu z arduino. Pisałeś, że jak dasz 100% i "regulujesz" obroty obciążeniem (paluszkiem) to jest dobrze. Jak chcesz regulować PWMem to już są problemy. Dodam jeszcze, że tu przydał by się oscyloskop (ukłony do semi) aby sprawdzić czy impulsy są prawidłowe też przy większej prędkości obrotowej jak i dało by się wykryć czy nie ma zakłóceń. RE: problem w programie Arduino - sewek10 - 17-11-2019 (16-11-2019, 23:33)sewek10 napisał(a): Oto układ do pomiaru predkosciCzego tam nie ma? Komparator zupełnie niepotrzebny! Czyli taki układ wystarczy ? Miales racje, nie połączyłem mas, moj bład, lecz jednak dalej pokazuje zle :/ RE: problem w programie Arduino - sewek10 - 17-11-2019 (17-11-2019, 08:40)Agregacik napisał(a): sewek10 zasil z osobnego zasilacza układ sterowania wentylatorem. Przyczyną mogą być zakłócenia właśnie z niego bo momentami pobiera względnie duży prąd i ma wpływ na impulsy z czujnika. Sam czujnik zostaw na zasilaniu z arduino. Wentylator mam podłaczony pod osobny zasilacz, pin PWM do arudino i masa wspolna z arduino. Jutro postaram się sprawdzić oscyloskopem. Nawet gdy wentylator jest wyłaczony ( a aruduino z PWM właczone i podaje sygnał na pwm wentylatora) i poruszam tarcza palcem, to przy wypełnieniu 100% zlicza dobrze a jak zmniejsam wypełnienie to np 1 mrugniecie diodą zlicza jako 4. Gdy włacze wentylator i odłacze PWM ( wentylator wtedy pracuje na 100%) to przy wypełnieniu 100% pokazuje predkosc 2330 dla polowy wypełnienia 2500-2600 , a przy 0% znowu 2330 Co ciekawe, jak zasile czujnik z osobnego zasilacza to sytuacja jest jak na poczatku, a jak zasile potencjometry z osobnego zasilacza to pokazuje po 5000 obrotow RE: problem w programie Arduino - Jarewa0606 - 17-11-2019 nie powinno to być na stykówce, toż to prosi się o takie własnie błędy. RE: problem w programie Arduino - Agregacik - 17-11-2019 No rzeczywiście coś tam musi być namieszane jak w cygańskim tobołku. Zacząć trzeba od początku. Wyłączyć PWM. Zliczać impulsy napędzając tarczę obcym napędem, może wkrętarką. Powolutku zwiększając obroty obserwując co liczy układ i wyświetla się na wyświetlaczu. RE: problem w programie Arduino - semi - 17-11-2019 (17-11-2019, 12:32)sewek10 napisał(a): Nawet gdy wentylator jest wyłaczony ( a aruduino z PWM właczone i podaje sygnał na pwm wentylatora) i poruszam tarcza palcem, to przy wypełnieniu 100% zlicza dobrze a jak zmniejsam wypełnienie to np 1 mrugniecie diodą zlicza jako 4.Pokaż jak generujesz PWM. Pewnie konflikt przerwania z czyms, bo jak pisałem, pulsein to badziew, zabawka, demo. PWM 100% oznacza, ze sygnał wyjściowy ma stały poziom. Pewnie PWM jest programowy i jak pisałem, pulsein głupiej. Cały ten kod wygląda na demo. Napisz jak trzeba: - Zliczanie czasu trwania sygnału timerem. A może lepiej mierzyć częstotliwość? - PWM sprzętowy Generalna zasada pisania programów: max sprzęt, min program. niestety, w Srajduino jest odwrotnie, max program, min sprzęt choć jest! Sprzęt jest ale nie nieużywany! Z tego wynika wiele problemów! Funkcje "gryzą się" bo po pierwsze "primo" AVR jest wolny. Po drugie "primo" nie ma wielopoziomowego systemu przerwań. Po trzecie "primo", AVR jest dodatkowo spowalniany przez nadużywanie typów zmiennoprzecinkowych, int zamiast int8_t/uint8_t. Po czwarte "primo" C++ na uC z śladową ilością RAM używane nieumiejętnie też robi swoje. RE: problem w programie Arduino - elvis - 17-11-2019 Chyba się tutaj komuś fora pomyliły... Bo tak nieładnie pisać o Arduino na forum poświęconym tej platformie to chyba tylko świadczy o autorze tych wypocin. A tak z ciekawości - gdzie pojawia się pulsein w programie autora wątku? Jakoś mi to umknęło. Sam program przetestowałem, chociaż w nieco innych warunkach, bo bez wentylatora i LCD - podając sygnał z zewnątrz działa całkiem ładnie, wyniki wysyłane przez Serial są w całkiem poprawne i używanie float-ów nie ma najmniejszego wpływu. Jako ciekawostkę polecam ten sam test zrobić: zamiast sygnału opto można podłączyć generator funkcyjny, albo drugie arduino generujace PWM o znanej częstotliwości. Wyniki wysyłałem po Serial-u, więc też można sprawdzić, czy użycie LCD nie psuje czegoś. W każdym razie sam program wydaje się działać prawidłowo, testowałem w zakresie 2Hz to 2kHz i wyniki były całkiem poprawne. RE: problem w programie Arduino - sewek10 - 17-11-2019 Moze poprostu zrezygnuje z potencjometrow i pwm z arduino i zakupie taki generator PWM za 30 zł |