Skocz do zawartości
Grabki

[Dla początkujących] PWM w praktyce - język C

Pomocna odpowiedź

"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ć?

Udostępnij ten post


Link to post
Share on other sites
"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.

Udostępnij ten post


Link to post
Share on other sites

Mógłbyś jeszcze napisać jaki tryb PWM ustawić do wybranej czynności np. PWM z Korekcją Fazy - Sterowanie silnikiem DC itd..

Udostępnij ten post


Link to post
Share on other sites
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.

Udostępnij ten post


Link to post
Share on other sites

"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?

Udostępnij ten post


Link to post
Share on other sites
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.

Udostępnij ten post


Link to post
Share on other sites

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).

Udostępnij ten post


Link to post
Share on other sites

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.

Udostępnij ten post


Link to post
Share on other sites

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.

Udostępnij ten post


Link to post
Share on other sites

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.

Udostępnij ten post


Link to post
Share on other sites

Fajna szybka ściąga jak uruchomić PWMy na Atmedze.

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...