Skocz do zawartości

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.

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?

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

Mam pytanie. Jak trzeba podłączyć silniczki do Attiny 2313 i Atmegi 8? Jest to bardzo pilne pytanie. Prosiłbym o szybką odpowidź.

Zależy - albo mostek H (poczytasz o tym na forum) albo z wykorzystaniem tranzystora sterującego. Sprecyzuj, czy chcesz sterować kierunkiem, jaki to silnik, oraz poszukaj samemu informacji.

A jeszcze mam jeszcze pytanie jak zrobić na układzie L293D połaczonym do Atmegi 8 aby kręcił się do tyłu (korzystam z Bascoma)?

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.

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 🙂

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...