Skocz do zawartości
xhydromovie

Sterowanie silnikiem 12V DC za pomocą regulatora.

Pomocna odpowiedź

Mam silnik od wycieraczek samochodowych. Kupiłem regulator do sterowania prędkością tego silnika. Po podpięciu potencjometru wszystko działa jak należy. Silnik płynnie zwiększa i zmniejsza  swoją prędkość. Chcę sterować tym silnikiem za pomocą Arduino sygnałem PWM. Czy sterowanie w sposób ''skokowy" może uszkodzić silnilk? To znaczy silnik zasila taśmę podajnikową. Belka tensometryczna mierzy wagę na stanowisku. Jeśli waga będzie mniejsza od 13 kg silnik ma działać na 90%. Jeśli waga będzie większa niż 13 kg silnik ma działać na 30% jeśli waga wyniesie 15kg silnik ma działać na 0% czyli ma się zatrzymać. W kodzie arduino wygląda to tak:

if(!digitalRead(BTN_AUTOMAT) && praca == true) {
    analogWrite(MOTOR, 255);

    if(waga > ustawionaWaga - 2) {
      analogWrite(MOTOR, 50);
    }

    if(waga > ustawionaWaga) {
      analogWrite(MOTOR, 0);
      work = false;
    }
  }

Co o tym myślicie? Mogę zaimplementować jakąś funkcję która co kilka ms będzie zmniejszała lub zwiększała wypełnienie żeby łagodniej zmieniać sygnał.

Udostępnij ten post


Link to post
Share on other sites

Przede wszystkim wcale nie masz pewności, że możesz w prosty sposób zastąpić potencjometr napięciem. Potencjometr może być w regulatorze używany jak zmienna rezystancja (a nie jako zadajnik napięcia rozpięty miedzy zasilaniem a masą) podpięta między dwa w zasadzie dowolne węzły układu. W tej sytuacji będzie bardzo trudno symulować z zewnątrz taką rezystancję. Pierwszy z brzegu przykład to kultowy generator na 555. W układzie ze zmiennym wypełnieniem robisz jakieś cuda z diodami a potencjometr wisi gdzieś między pinami scalaka.

W instrukcji do regulatora powinno być wyraźnie napisane, że wejście może działać zarówno z potencjometrem (włączonym tak i tak) oraz z napięciem DC i w jakich granicach. Ostateczną odpowiedzią byłby schemat regulatora.

Tak, możesz zrobić wygładzanie skoków, to na pewno umili życie silnikowi i tranzystorom regulatora.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites
17 godzin temu, marek1707 napisał:

Przede wszystkim wcale nie masz pewności, że możesz w prosty sposób zastąpić potencjometr napięciem. Potencjometr może być w regulatorze używany jak zmienna rezystancja (a nie jako zadajnik napięcia rozpięty miedzy zasilaniem a masą) podpięta między dwa w zasadzie dowolne węzły układu. W tej sytuacji będzie bardzo trudno symulować z zewnątrz taką rezystancję. Pierwszy z brzegu przykład to kultowy generator na 555. W układzie ze zmiennym wypełnieniem robisz jakieś cuda z diodami a potencjometr wisi gdzieś między pinami scalaka.

W instrukcji do regulatora powinno być wyraźnie napisane, że wejście może działać zarówno z potencjometrem (włączonym tak i tak) oraz z napięciem DC i w jakich granicach. Ostateczną odpowiedzią byłby schemat regulatora.

Tak, możesz zrobić wygładzanie skoków, to na pewno umili życie silnikowi i tranzystorom regulatora.

Dziękuje za odpowiedź. Sterownik  w instrukcji ma napisane że obsługuje sygnał PWM. Postaram się zaimplementować wygładzanie.

Udostępnij ten post


Link to post
Share on other sites

Taki sterownik sam jest modulatorem PWM więc powstaje pytanie: czy to PWM które dostarczysz to ma być a) tylko jakiś sposób wprowadzenia wielkości wysterowania - i wtedy wystarczy np. 10Hz, czy b) będzie to bezpośrednio przenoszone na wyjście - i wtedy musisz wygenerować dokładnie to co widzi silnik. A jeśli to przypadek 'a', to w jakiej postaci ten PWM ma być: czy taki jak np. dla serwa (50Hz i wypełnienie od 2.5 do 7.5%) czy pełny zakres 0..100% czy jeszcze jakoś inaczej i jaka wtedy częstotliwość. Może zwyczajnie zapodaj link do tego sterownika lub wrzuć tu instrukcję, bo jakoś tak za język trzeba ciągnąć a jak coś źle zrozumiesz to narobisz się na plaster zamiast od razu dobrze.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
15 minut temu, marek1707 napisał:

Taki sterownik sam jest modulatorem PWM więc powstaje pytanie: czy to PWM które dostarczysz to ma być a) tylko jakiś sposób wprowadzenia wielkości wysterowania - i wtedy wystarczy np. 10Hz, czy b) będzie to bezpośrednio przenoszone na wyjście - i wtedy musisz wygenerować dokładnie to co widzi silnik. A jeśli to przypadek 'a', to w jakiej postaci ten PWM ma być: czy taki jak np. dla serwa (50Hz i wypełnienie od 2.5 do 7.5%) czy pełny zakres 0..100% czy jeszcze jakoś inaczej i jaka wtedy częstotliwość. Może zwyczajnie zapodaj link do tego sterownika lub wrzuć tu instrukcję, bo jakoś tak za język trzeba ciągnąć a jak coś źle zrozumiesz to narobisz się na plaster zamiast od razu dobrze.

Fakt, mogłem dodać od razu. 

Tutaj link do aukcji: https://allegro.pl/oferta/12v-20a-regulator-obrotow-silnika-dc-pwm-cichy-pro-7245486896?snapshot=MjAyMC0wMS0yMFQwOToxMjoyOC40MzJaO2J1eWVyO2E0ODU2NWQ5NDUxODRiYWJkMzliYmVhN2I1Njk1NmU2ZGI4Yzc3NGE0N2Y2MGQ5MmY3YmM5ZDY1YmM4NDMyZmY%3D

 

Tutaj link do instrukcji: https://ibb.co/NrF5qh9
https://ibb.co/nPrrQ9T

 

Edytowano przez xhydromovie

Udostępnij ten post


Link to post
Share on other sites

OK. Wygląda na to, że ten moduł zrobiony jest na jakimś procku, robi sobie własne zasilanie +5V a potencjometr rzeczywiście pracuje jak potencjometr - dzieli potencjały czyli jest rozpięty między 0 a +5V i dostarcza do układu napięcie w tych granicach - dokładnie tak jakbyś zrobił to na własnym Arduino. Metoda PWM o której pisze producent jest zatem słabym pomysłem, bo będzie to wtedy polegało na "oszukiwaniu" tego sterownika, że ktoś kręci potencjometrem ze 200 razy na sekundę z jednej skrajnej wartości w drugą skrajność, a silnik będzie bezpośrednio sterowany tym sygnałem. Znacznie lepszym wykorzystaniem tego układu będzie zatem zapodanie napięcia analogowego powstałego przez odfiltrowanie Twojego własnego PWM "zrobionego" np. funkcją analogWrite(). Zatem, do roboty, wiesz już wszystko 🙂 Kupiłeś wersję N czy P?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
6 minut temu, marek1707 napisał:

OK. Wygląda na to, że ten moduł zrobiony jest na jakimś procku, robi sobie własne zasilanie +5V a potencjometr rzeczywiście pracuje jak potencjometr - dzieli potencjały czyli jest rozpięty między 0 a +5V i dostarcza do układu napięcie w tych granicach - dokładnie tak jakbyś zrobił to na własnym Arduino. Metoda PWM o której pisze producent jest zatem słabym pomysłem, bo będzie to wtedy polegało na "oszukiwaniu" tego sterownika, że ktoś kręci potencjometrem ze 200 razy na sekundę z jednej skrajnej wartości w drugą skrajność, a silnik będzie bezpośrednio sterowany tym sygnałem. Znacznie lepszym wykorzystaniem tego układu będzie zatem zapodanie napięcia analogowego powstałego przez odfiltrowanie Twojego własnego PWM "zrobionego" np. funkcją analogWrite(). Zatem, do roboty, wiesz już wszystko 🙂 Kupiłeś wersję N czy P?

Ok, dzięki wielkie za pomoc 😉 kupiłem wersję N

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...