Jaki jest szybki i elegancki sposób generowania PWM bez mikrokontrolera do sterowania serwosilnikiem? Za pomocą potencjometru lub innych sposobów kontrolowania cyklu pracy z ustalonym okresem.
- przepraszam za bałagan, chcę kontrolować serwo hobby.
Jaki jest szybki i elegancki sposób generowania PWM bez mikrokontrolera do sterowania serwosilnikiem? Za pomocą potencjometru lub innych sposobów kontrolowania cyklu pracy z ustalonym okresem.
Odpowiedzi:
Polecam (GASP!) 555 Timer w trybie „astable” . W linku znajdziesz wszystko, czego potrzebujesz, ale skopiowałem je tutaj tylko dla Ciebie!
Tryb Astable daje zmienną częstotliwość PWM i pozwala również na regulację cyklu pracy (równania czasowy i czasowy w łączu).
Obwód:
Uwaga: Dodałbym elektrolityczny korek na Vcc (ołów dodatni) i GND (ołów ujemny), aby zmniejszyć wpływ zapadów na napięcie zasilające.
Częstotliwość PWM:
Trochę obrony dla mojej odpowiedzi w porównaniu do innych w tym poście. Większość innych odpowiedzi wymaga fali pośredniej do wygenerowania zmiennego sygnału PWM, takiego jak metoda wspólnej fali trójkątnej / komparatora. Nie widzę sensu w tworzeniu generatora fal trójkątnych (sam w sobie znaczący obwód) jako pośredniego kroku do rozwiązania twojego problemu.
555 to świetny układ analogowy i robi dokładnie to, czego potrzebujesz. Chciałbym, żeby ludzie tak bardzo ich nie nienawidzili.
Wyprofilowany sposób Ye Olde na PWM z analogowym cyklem roboczym polega na porównaniu analogowego sygnału sterującego z falą trójkątną. Tworzysz generator fal trójkątnych, który działa z pożądaną częstotliwością PWM. Jest on doprowadzany do ujemnego wejścia komparatora, a analogowy sygnał sterujący do dodatniego wejścia. Wynik jest albo całkowicie wysoki, albo całkowicie niski, ale cykl pracy jest liniowo proporcjonalny do sygnału sterującego. Na przykład wzmacniacze audio z wczesnej klasy D działały na tej zasadzie.
W wielu przypadkach PWM nie musiał być super liniowy, więc fala trójkąta nie musi mieć idealnie prostych krawędzi. Zezwolenie na ich niewielki wykładniczy może uprościć obwód.
Mark Rages zwrócił uwagę, że mówiąc „silnik serwo”, możesz odnosić się do małych silników hobby sterowanych pozycją, używanych w modelach samolotów i tym podobnych. Moja odpowiedź dotyczy sterowania silnikiem, zakładając, że masz napięcie analogowe proporcjonalne do tego, jak mocno chcesz napędzać silnik. Nie dotyczy to „serwomechanizmów hobby”. Nie są one kontrolowane przez PWM w powszechnym tego słowa znaczeniu, ale przez szerokość impulsów, które zwykle muszą wynosić od 1 do 2 ms powtarzanych co około 20 do 50 ms. Jeśli to pytanie naprawdę dotyczy serwomechanizmów hobbystycznych, należy to wyjaśnić.
Fala trójkątna. Komparator Próg kontrolny. To podstawowy sposób na zrobienie tego.
Najpierw wygeneruj falę prostokątną 50 Hz. Najprostszy sposób:
rezystor i kondensator 100 nF da ci okres 20 ms.
Mógłbym to zrobić z dwoma LM555, ale potrzebowałbym więcej komponentów zewnętrznych.
edytuj (o mikrokontrolerach)
Zgadzam się z Olinem (patrz komentarze), że wykluczenie mikrokontrolera jest krótkowzroczne (Olin powiedział „głupie”). Był czas, kiedy tworzenie mikrokontrolera było skomplikowane, ale dziś to już nie prawda. Możesz też mieć interfejs programowania za kilka euro. Rozwiązanie wyglądałoby wtedy tak łatwo, że żadne rozwiązanie nie będące kontrolerem nie może z nim konkurować: bierzesz ATTiny5 (Olin bierze PIC10F220) w SOT23-6. Podłącz kondensator odsprzęgający do połączeń zasilania, a potencjometr do wejścia ADC. Otóż to! 3 (trzy) elementy. Przekształcanie odczytu ADC na wyjście o szerokości impulsu jest tak łatwe, że jest wręcz absurdalne, nawet dla początkującego programisty.
Kiedy zaczniesz z nimi korzystać, przekonasz się, że mikrokontrolery często oferują prostsze i bardziej elastyczne rozwiązanie niż w przypadku innych układów scalonych lub dyskretnych komponentów.
notatka
z innych kwestii widzę, że zrobić zastosowania mikrokontrolerów. Dlaczego chcesz ich tutaj unikać?
Najprostszym sposobem wygenerowania sygnału PWM jest doprowadzenie fali piłokształtnej lub fali trójkątnej do jednego wejścia komparatora analogowego, a napięcie sterujące do drugiego. Jeśli nie można uzyskać fali czystego trójkąta, można ją w przybliżeniu przybliżać, przepuszczając falę kwadratową przez filtr RC, tak że moc wyjściowa filtra waha się między około 1 / 4VDD a 3 / 4VDD, a następnie skaluje napięcie sterujące do komparatora, aby napięcie sterujące, które powinno dać cykl pracy 0,01%, zostało przeliczone na najniższe napięcie filtrowanej fali kwadratowej, a napięcie sterujące, które powinno dać cykl pracy 99,99%, zostało przeliczone na najwyższe napięcie filtrowanego kwadratowa fala. To da szerokość impulsu, który nie jest całkiem liniowo proporcjonalny do amplitudy, ale jest wystarczająco blisko do wielu celów.
Polecam stosowanie układu sterowania zasilaniem niskiego napięcia (BiCMOS), takiego jak UCC3803 . Częstotliwość roboczą można łatwo ustawić za pomocą prostego R i C, a kontrolę cyklu pracy można łatwo wykonać za pomocą potencjometru. Będzie działał na szynie 5 V.
UCC3803 jest kompatybilny z pinami sterowników serii PWM UCx84x. Jeśli chcesz zrobić łatwą PWM, możesz użyć powyższego schematu, pomijając R1, 2N2222 i 5k ISENSE regulację puli (po prostu przymocuj pin 3 do ziemi). Prawdopodobnie można również pominąć dwa rezystory 4,7k szeregowo z pulą regulacji wzmacniacza błędów i przejść bezpośrednio do Vref i Gnd lub użyć wyraźnego dzielnika napięcia, jeśli regulacja nie jest konieczna. (Nie określono, czy należy łatwo zmienić cykl pracy).
Układ scalony jest w stanie pobić około 1A prądu. (Jeśli twój serwomotor ma wejście PWM, jest to kwestia sporna.)