kacperek754 Napisano Wrzesień 24, 2019 Udostępnij Napisano Wrzesień 24, 2019 Witam Udało mi się napisać program, który reguluje obroty silnika w zależności od podanego sygnału analogowego. Mam tam podany warunek za pomocą funkcji if, który daje napięcie na silnik gdy wartość sygnału analogowego będzie większa od 0V. Gdy jest podane 0V na sterowniku to arduino nie wyłącza silnika tylko obraca się z minimalnymi obrotami. Po uruchomieniu komunikacji z komputerem arduino otrzymuje sygnał 63 gdy podane jest 0 (są to wartości nie przeliczone). Sprawdziłem miernikiem i na wejście analogowe podawane jest 0V, ale arduino wykrywa jakieś zakłócenia. Z czego to może wynikać ? Następny problem to taki, gdy testowo ustawiłem wartość minimalną zamiast 0 na 65 to zadziałało silnik się nie obraca, lecz jest ustawiony w momencie trzymającym czyli podawane jest napięcie na jedną z cewek. Mi zależy na tym, aby gdy funkcja nie jest spełniona silnik zostaje odłączony od zasilania. Jak to zaimplementować w arduino Dziękuję za pomoc i pozdrawiam Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 24, 2019 Udostępnij Wrzesień 24, 2019 @kacperek754 ciężko o rozwiązanie problemu, jeśli nie znamy programu, schematu opisywanego urządzenia oraz innych podstawowych informacji (np. o sposobie zasilania). Zachęcam do publikacji szczegółów, które pozwolą nam domyśleć się co tak właściwie masz przed sobą 🙂 Link do komentarza Share on other sites More sharing options...
kacperek754 Wrzesień 24, 2019 Autor tematu Udostępnij Wrzesień 24, 2019 Układ zasilany jest napięciem stałym. Arduino oraz kontroler Pokeys55 który podaje sygnał analogowy zasilone są z komputera natomiast sterownik L298N i silnik krokowy zasilane są z zasilacza regulowanego ustawionego na 12V i 1.5V. Program do arduino przesyłam w załączniku sterowanie_pr_dko_ci__silnika.rar Link do komentarza Share on other sites More sharing options...
FlyingDutch Wrzesień 27, 2019 Udostępnij Wrzesień 27, 2019 Dnia 24.09.2019 o 21:12, kacperek754 napisał: Układ zasilany jest napięciem stałym. Arduino oraz kontroler Pokeys55 który podaje sygnał analogowy zasilone są z komputera natomiast sterownik L298N i silnik krokowy zasilane są z zasilacza regulowanego ustawionego na 12V i 1.5V. Program do arduino przesyłam w załączniku sterowanie_pr_dko_ci__silnika.rar 426 B · 1 download Cześć, chciałem spojrzeć w kod, ale archiwum rar jest puste .. A mógłbyś spakować zip'em ? Pozdrawiam Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Treker (Damian Szymański) Wrzesień 27, 2019 Udostępnij Wrzesień 27, 2019 @kacperek754 lub umieścić zwyczajnie kod na forum (wewnątrz wiadomości)? Jest do tego specjalna opcja w edytorze 😉 Link do komentarza Share on other sites More sharing options...
kacperek754 Wrzesień 27, 2019 Autor tematu Udostępnij Wrzesień 27, 2019 #include <Stepper.h> const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); int stepCount = 0; void setup() { } void loop() { int sensorReading = analogRead(A0); int motorSpeed = map(sensorReading, 25, 1023, 0, 450); if (motorSpeed >25) { myStepper.setSpeed(motorSpeed); myStepper.step(stepsPerRevolution / 100); } } W takim razie wstawiam kod Link do komentarza Share on other sites More sharing options...
Gość Wrzesień 29, 2019 Udostępnij Wrzesień 29, 2019 Zakłócenia mogą się pojawiać z różnych przyczyn. Może to być zewnętrzny szum elektromagnetyczny o znacznej mocy jak i wynik pracy mikrokontrolera. Można sobie z tym radzić na kilka sposobów, jak np. przez używanie ADC SLEEP MODE podczas pobierania próbek, ekranowanie toru analogowego itp. Najprostszym rozwiązaniem Twojego problemu będzie chyba pull down na pinie adc przez rezystor conajmniej ~10k lub więcej w zależności od wartości napięcia zakłóceń (najlepiej zmierzyć lub pokombinować z wartościami rezystorów do 100k). Należy pamiętać przy tym, że wartość napięcia wejściowego może się nieznacznie zmniejszyć podczas stosowania podciągu do masy i trzeba to skompensować programowo. Można też zastosować prosty filtr RC w torze analogowym obliczony dla maksymalnej częstotliwości sygnału sterującego albo nawet filtrację aktywną z użyciem wzmacniaczy operacyjnych ale to już będzie pewnie przerostem formy nad treścią w tym konkretnym przypadku. Pozdrawiam. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »