Witam.
Pożyczyłem sobie kod źródłowy od kolegi "michal2666"(któremu bardzo dziękuje za udostępnianie swoich projektów, dużo się z nich nauczyłem).
Wygląda on tak:
Skasowałem
gdyż u mnie to nigdy nie chodziło, program chodzi poprawnie przy kwarcu 1000000.
$regfile zmieniłem z attiny2313 na m8def.
I skasowałem to:
, ponieważ miałem problem z wyświetlaczem.
Silniczek jest podłączony do wyjścia przez jeden tranzystor z wzmacniacza ULN2803.
Nie dodałem żadnych rezystorów ani nic innego.
Mój problem polega na tym, że przy pwm1a = 200 silnik ma siłe.
Natomiast przy pwm1a = 20 silnik staje po lekkim dotknięciu wału i brzęczy.
Czego to może być wina????
Pożyczyłem sobie kod źródłowy od kolegi "michal2666"(któremu bardzo dziękuje za udostępnianie swoich projektów, dużo się z nich nauczyłem).
Wygląda on tak:
$crystal = 4000000 'Deklaracja częstotliwości kwarcu
$regfile "attiny2313.dat" 'deklaracja modelu procesora
Declare Sub Zwieksz 'Deklaracja procedury zwiększającej stan rejestru porównania
Declare Sub Zmniejsz 'Deklaracja procedury zmniejszającej stan rejestru porównania
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down 'Konfiguracja Timera
Config Portd = 127 'Pd.0 i Pd.1 jako wejścia
Portd = 127 'podciągnięte
Ddrb = &B11111111 'Odblokowanie globalnego wyjścia OC1
Cls : Lcd "Portal naukowy" : Lowerline : Lcd "Generator PWM" 'wstępny opis
Wait 3 'czekaj 3 sekundy
Pwm1a = 20 'wstępnie w rejestrze Pwm1 liczba 20 - niewielka moc
Do 'pętla nieskończona
If Pind.0 = 0 Then Zmniejsz 'S1 zmniejsza zawartość rejestru Pwm1a (=OCR1)
If Pind.1 = 0 Then Zwieksz 'S2 zwiększa zawartość rejestru Pwm1a (=OCR1)
Cls 'czyść wyświetlacz
Lcd "rejestr PWM1a" 'wyświetl zawartość rejestru OCR1
Lowerline
lcd Pwm1a
'wyświetl zawartość licznika T/C1 (TCNT1)
Waitms 100 'czekaj 100 milisekundę
Loop : End
Sub Zwieksz 'procedury: zwiększająca i zmniejszająca stal rejestru porównania
Incr Pwm1a
End Sub
Sub Zmniejsz
Decr Pwm1a
End Sub
Skasowałem
$crystal = 4000000
gdyż u mnie to nigdy nie chodziło, program chodzi poprawnie przy kwarcu 1000000.
$regfile zmieniłem z attiny2313 na m8def.
I skasowałem to:
Config Portd = 127 'Pd.0 i Pd.1 jako wejścia
Portd = 127 'podciągnięte
, ponieważ miałem problem z wyświetlaczem.
Silniczek jest podłączony do wyjścia przez jeden tranzystor z wzmacniacza ULN2803.
Nie dodałem żadnych rezystorów ani nic innego.
Mój problem polega na tym, że przy pwm1a = 200 silnik ma siłe.
Natomiast przy pwm1a = 20 silnik staje po lekkim dotknięciu wału i brzęczy.
Czego to może być wina????
