Skocz do zawartości

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


Grabki

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

Nie sprecyzowałem - chodziło mi o piny będące wyjściem PWM. Już poprawiam.

Link do komentarza
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..

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

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.

Link do komentarza
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?

Link do komentarza
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.

Link do komentarza
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).

Link do komentarza
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.

Link do komentarza
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.

Link do komentarza
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.

Link do komentarza
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!

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

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.