Popularny post Grabki Napisano Lipiec 4, 2012 Popularny post Udostępnij Napisano Lipiec 4, 2012 Chciałbym w tym artykule wytłumaczyć inicjalizację i wykorzystanie sprzętowego PWM-u w robotach, np. do sterowania prędkością silników. Pamiętam, gdy jako początkujący miałem z tym ogromny problem. Niby znałem zasadę działania PWM, ale nie miałem pojęcia jak to „połączyć” z resztą programu, z odczytem czujników, a dalej z odpowiednim sterowaniem silnikami. Podstawowym problemem była odpowiednia konfiguracja (inicjalizacja). UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.Przeczytaj całość »Poniżej znajdują się komentarze powiązane z tym wpisem. doc8159.pdf 6 Cytuj Link do komentarza Share on other sites More sharing options...
marek1707 Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 "po ustawieniu pinów jako wyjścia, nie możemy ich podciągać do VCC, bo PWM nie będzie działał" Mógłbyś to wyjaśnić? Cytuj Link do komentarza Share on other sites More sharing options...
Grabki Lipiec 5, 2012 Autor tematu Udostępnij Lipiec 5, 2012 "po ustawieniu pinów jako wyjścia, nie możemy ich podciągać do VCC, bo PWM nie będzie działał" Mógłbyś to wyjaśnić? Nie sprecyzowałem - chodziło mi o piny będące wyjściem PWM. Już poprawiam. Cytuj Link do komentarza Share on other sites More sharing options...
ps19 Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 Mógłbyś jeszcze napisać jaki tryb PWM ustawić do wybranej czynności np. PWM z Korekcją Fazy - Sterowanie silnikiem DC itd.. Cytuj 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
Grabki Lipiec 5, 2012 Autor tematu Udostępnij Lipiec 5, 2012 Mógłbyś jeszcze napisać jaki tryb PWM ustawić do wybranej czynności np. PWM z Korekcją Fazy - Sterowanie silnikiem DC itd.. Moim celem w tym artykule było przedstawić najprostszy sposób uruchomienia PWM bez zbędnych szczegółów, aby można było jak najłatwiej sterować silnikami, bądź wykorzystać to do innych celów. Cytuj Link do komentarza Share on other sites More sharing options...
marek1707 Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 "po ustawieniu pinów będących wyjściem PWM jako wyjścia, nie możemy ich podciągać do VCC, bo PWM nie będzie działał" Nadal Cię nie rozumiem. Spróbuj się nad tym zdaniem pochylić i nie zbywać odpowiedzi jednym zdaniem. W jakim sensie podciągać? Co przez to rozumiesz? Cytuj Link do komentarza Share on other sites More sharing options...
OldSkull Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 aby można było jak najłatwiej sterować silnikami, bądź wykorzystać to do innych celów. Ale warto pomyśleć jeszcze nad możliwie dobrym i prostym sposobem. Osobiście bardzo polecam krozystanie z negacji wyjść i przesuwania w fazie poprzez wpisywanie wartości początkowej 🙂 Można starać się zminimalizować zakłócenia na linii zasilania generowanie podczas załączania tranzystorów PWMem. Cytuj Link do komentarza Share on other sites More sharing options...
danioto Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 Moim zdaniem ciężko to nazwać artykułem. Wszystko można byłoby zwinąć do czterech linijek kodu, nazwać "Porada, jak ustawić tryb PWM w ATMega" i na tym zakończyć, a nie nazywać tego artykułem. 1) Nie podoba mi się brak wstępu teoretycznego. To znaczy ten odnośnik. 2) Opisałeś tylko jeden tryb PWM, a sama ATMega ma ich kilka. 3) Linijki Twojego kodu można znaleźć w dokumentacji uC. 4) Dużo błędów merytorycznych (np. PID to nie algorytm tylko regulator). Cytuj Link do komentarza Share on other sites More sharing options...
Grzesieq94 Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 Przydatnym plikiem przy PWM jest http://www.societyofrobots.com/member_tutorials/files/ATMega8.pdf - ładnie rozpisane rejestry dot. PWM (tutaj dla Atmegi8) Cytuj Link do komentarza Share on other sites More sharing options...
Grabki Lipiec 5, 2012 Autor tematu Udostępnij Lipiec 5, 2012 Nadal Cię nie rozumiem. Spróbuj się nad tym zdaniem pochylić i nie zbywać odpowiedzi jednym zdaniem. W jakim sensie podciągać? Co przez to rozumiesz? Podciąganie wewnętrznym rezystorem do napięcia zasilania. 1) Nie podoba mi się brak wstępu teoretycznego. To znaczy ten odnośnik. Stwierdziłem, że skoro jest to już pisan na forum w dwóch miejscach, to bezsensu jest o tym pisać po raz trzeci. 3) Linijki Twojego kodu można znaleźć w dokumentacji uC. Tyle że moim celem było napisanie tego dla osób, które jeszcze nie potrafią odnajdywać potrzebnych informacji w dokumentacji. Cytuj Link do komentarza Share on other sites More sharing options...
BlackJack Lipiec 5, 2012 Udostępnij Lipiec 5, 2012 Szczerze nie mam przekonania do tego artykułu, takie wszystko i nic w jednym. przy czym więcej jest tego NIC. Dla mnie wrzucenie dwóch fragmentów kodu nie czyni z tego artykułu, brak tutaj wytłumaczenia wykresu z noty ATMegi 8, wzmianki o innych trybach PWM. ja odnoszę wrażenie że pisane takie bardzo na szybko. gdyby była szkolna ocena, od 1 do 6, to dałbym dwa. Słaby art, nie podnoszący w żaden sposób jakości forum, a pewnie będący generatorem pytań od początkujących. Taka uwaga dla kolegów startujących w konkursie. Nie śpieszcie się, to nie sprint, ani akord. Ja uważam że lepiej mniej artykułów, a lepszych, niż masa szybciorów, które właściwie nic nie wnoszą do tematyki forum. Cytuj Link do komentarza Share on other sites More sharing options...
marek1707 Lipiec 6, 2012 Udostępnij Lipiec 6, 2012 Jakim rezystorem? Ustawiając kierunek portu na wyjście (odpowiednim bitem w rejestrze DDRx) nie możesz już włączyć rezystora podciągajacego - takiej opcji nie przewiduje producent, bo byłoby to dość głupie, nie sądzisz? Wyjściowy kierunek portu jest jedynym warunkiem, który musisz spełnić by móc sterować wyjściem ze sprzętowego generatora przebiegów (Waveform Generator) dołączonym do timera. O tym co się będzie z daną linią portu działo decydujesz właśnie za pomocą bitów COMxxx. Jeśli oba będą na zero, możesz spokojnie wystawiać zera i jedynki ręcznie (rejestr PORTx). Jeżeli inna kombinacja - sterowanie wyjścia przejmuje timer i wtedy to już od reszty jego ustawień zależy, co na linii portu zobaczysz. Wracając do ustawienia bitów COMxxx=00 z powrotem na wyjściu zobaczysz to, co jest wpisane do rejestru PORTx - to wydaje się dość proste i nie ma tu miejsca na żadne rezystory podciągające. Cytuj Link do komentarza Share on other sites More sharing options...
fero Styczeń 4, 2014 Udostępnij Styczeń 4, 2014 Świetnie wytłumaczony(w przystępnym angielskim) temat PWM, jego trybów i konfiguracji dla AVR jest tutaj: http://www.societyofrobots.com/member_tutorials/book/export/html/228 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Maj 26, 2015 Udostępnij Maj 26, 2015 Artykuł został trochę przeredagowany i przeniesiony na bloga 🙂 Wszystko, co musisz wiedzieć, aby uruchomić PWM Cytuj Link do komentarza Share on other sites More sharing options...
konradem Maj 28, 2015 Udostępnij Maj 28, 2015 Fajna szybka ściąga jak uruchomić PWMy na Atmedze. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!