Skocz do zawartości

PWM - nie rozumiem


michal9797

Pomocna odpowiedź

NIE! Rozdzielczość poprzez maksymalną liczbę, do której licznik naliczy wpływa na dokładność z jaką osiągniesz dana częstotliwość (czyli również okres), z jaką osiągniesz dany czas trwania impulsu (a tym samym dany współczynnik wypełnienia). Nie myl ze współczynnikiem wypełnienia.

Przykładowo jeżeli masz 8bit, możesz ustawić 0-255 współczynnik wypełnienia i 0-255 okres (dla 8b timerów w AVRach nie możesz tej wartości zmienić, dla 16b sprawdź w tabelce w dokumentacji. Dla 10b masz już zakres do 1023. Dlatego też jeśli chcesz np. ustawić wypełnienie 51,24, to dla 8b ustawisz 131 (0.13% błędu), a dla 10b ustawisz 524 (0.02% błędu). Przy sterowaniu silnikami nie ma to dużego znaczenia, ma większe znaczenie jeśli np. robisz DAC.

edit:

W pewnym sensie tak, ale czy zależność jest liniowa, czy inna zależy od tego co tym sterujesz. Np. przy sterowaniu tranzystorów sterujących silnikiem napięcie na silniku będzie prawie proporcjonalne do wypełnienia.

Link do komentarza
Share on other sites

To oto chodzi, że jest to procentowa zawartość czasu trwania impulsu w całym okresie tego przebiegu. Możemy dzięki temu obliczyć ile wolt (V) bezie pobierał impuls np. 1 impuls trwa 1 sekundę, a przerwa tyle samo(więc okres 2 sekundy), wyliczamy procent z tego(tu 50% wychodzi), i gdy używamy 5V do urządzenia np. diody led lub silniczka. Bierzemy z tych 5v te 50% i wychodzi nam, że jeden impuls pobiera 2,5V. Dzięki temu możemy zaoszczędzić energię (wolniej rozładowuje się bateria).

Rozdzielczość i współczynik wypełniania są wspólne i z nich wychodzi częstotliwość (Hz)

Dzięki za pomoc OldSkull.

Mam jeszcze pytanie jak się liczy częstotliwość i współczynik wypełniania w liczbach(jeżeli jest to możliwe[bo jest w bascomie kod Pwm1a = 100 100 to te przepełnienie)? (O wzór bym prosił lub przykład) I jeszcze o co chodzi dokładnie z tymi pinami w PWM? I jak się je podłacza w Attiny2313 i Atmega 8?

Link do komentarza
Share on other sites

Mam jedno pytanie. Jeżeli ja w pisze ten kod w bascomie, który napisałem na samej górze to co się stanie (jak będzie wyglądał impuls (proszę o zdjęcie graficzne), wiem, ze nie bedzie podzielony, ale nie wiem jak wpisze wypelnienie np. zeby miało 100 i czy się zmiejszy się obrót silnika)?

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

Na wejściu INPUT1 stan 1, INPUT2 stan 0. Jeśli chcesz zamienić kierunek obrotów silnika to INPUT1 stan 0, INPUT2 stan 1. Jeśli chcesz zahamować: 1 1 lub 0 0. Zerknij w tabele prawdy tego mostka.

Link do komentarza
Share on other sites

jak podłączone wg. tego schematu

IMG_4c26d460a14b84885.png

to jest sprawa prosta

$regfile = "m8def.dat"
$crystal = 8000000

Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down

Config Portd = Output

S1a Alias Portd.0 'pin 3 l293d
S1b Alias Portd.1 'pin 7 l293d
PWM1A = 200 'prędkość pwm'a dla silnika = 200 max. 255

do 'poczatek petli
wait 1   'czekaj sekunde
reset s1a ' resetuj pin.3 l293d
set s1b ' wlacz pin.7 l293d
wait 1  ' czekaj sekunde

loop 'zamkniecie petli
end ' koniec programu

jeśli uzywasz zew kwarc to bedą przerwy co sekundę a jak na wew to trochę dłużej 🙂

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.