Po przepełnieniu licznika on się zeruje automatycznie? W większości trybów licznik zeruje się podczas przepełnienia. Wyjątkiem są niektóre tryby PWM, np. Phase Correct PWM Mode: The phase correct PWM mode is based on a dual-slope operation. The counter counts repeatedly from BOTTOM to MAX and then from MAX to BOTTOM.
Bascomowe komendy konfiguracyjne tylko z pozoru wyglądają na jakieś nieefektywne. Bascom taką konfigurację timera by zrobił dwoma wpisami do dwóch rejestrów i finał a nie rzeźbił tak jak pokazane wyżej czterema wpisami. Jak już ktoś chce ustawiać bity w rejestrach to mozna to zrobić za jednym zamachem poleceniem Bits() Jedynym pretekstem do grzebania...
Bo PWM0 ustawiłeś na Fast PWM 8 bit a PWM1 na PWM Phase Correct 10 bit.
On Timer1 - tak myślałem ... ale ... W swoim programie już wykorzystuję On timer ale 0 - jako licznik czasu. Czy przed załączeniem PWM mam używać enable time1 i po wyłączeniu disable timer1 Z tego co wyczytałem w necie to przy takiej konfiguracji pwm jak u mnie to standardowo jest ustawiany Phase Correct
Ustawiam preskaler na 8 i mam częstotliwość prawie 300 Hz a potrzebuje 2 razy tyle jak to zrobić, bo przecież nie mogę ustawić preskalera na 4? Czyli przynajmniej jedno można stwierdzic, że taktujesz processor 1,2 MHz; a nie jak twierdziłeś i zakładałeś wczwśniej; 9600 000(!)_ Twoja konfiguracja timera0: Phase Correct PWM i otrzymany wynik częstotliwości...
Pisałem o tym, ale moze potrzebujesz szczegółowszej instrukcji ;) Znajdź w kodzie "Stop Timer0" i wstaw tam tę jedna linię. Powinno pomóc. [syntax=vbnet]'Podprogram usypiania procesora Spij: Stop Timer0 'wyłącza PWM Tccr0a = 0 ' <<<<<< to dopisz Set Portb.1 'led off Set Portb.0 'led white off Reset Portb.2 'opornik obciążający wyłączony...
Przykład z Bascoma na ATmega8 do sterowania serwem modelarskim: $regfile = "m8def.dat" $crystal = 8000000 'on chip clock speed Osccal = &HC1 'uC 8MHz internall clock New calibration byte Tccr2 = &B01100110 'PWM2, clear down, phase correct, prescale 256 -> 16ms Acsr = &B10000000 'Analog Comparator disable Dim W As Byte 'Servo position ....
Dzięki... i rozumiem, że Counter0 liczy do 255, ... W trybie , który przedstawiłem - tak , ale w innych trybach, gdzie TOP może stanowić rejestr OCR0A , jest inaczej. a wypełnienie przebiegu wynosi Pwm0a/255? Dokładnie rzecz ujmując Pwm0a/256 Z jaką częstotliwością działa PWM (domyślnie chyba 500kHz)? Da się ją regulować? Mówiąc ogólnie - częstotliwość...
Skąd Ci wyszło 15kHz? mnie wychodzi z wyliczeń: 8000000Hz/1/111/2=36,036kHz - co jak najbardziej pasuje temu kompletowi. (mówię o pierwszym kodzie) A co do kodu drugiego - to jest bez sensu - Pwm tak nie działa - musiałbyś użyć trybu phase and frequency correct PWM. A jak masz ustawione fusebity? Poza tym może masz kiepską diodę? (ja też raz trafiłem...
Timer w Tiny25-Tiny85 jest trochę inny. Na przykład może być taktowany z szyny peryferii 64MHz. Może też generować "dead time" dla różnego rodzaju aplikacji które przełączają klucze czyli robi drobne przerwy przełączając, by nie było nigdy przypadku kiedy włączone są na raz dwa tranzystory (ten wyłączony musi mieć czas by się zamknąć). Bascoma ulubionym...
Początkową wartość Timera1 liczymy: Częstotliwość / preskaler i wynik odejmujemy od 65536 (bo timer1 liczy do tylu) czyli 16000000 / 1024 daje 15625 65536 - 15625 = 49911 I tą wartość ładujemy do timera1 A gdzie ty to wynalazles ze Timer1 "liczy do tylu" ? Jedynie w trybie 'Phase Correct PWM' oraz 'Phase and Frequency Correct PWM ' timer liczy w dwu...
Witam, ostatnio zakupiłem silniki bezszczotkowe oraz układy ESC do nich (ABC Power20A). Chcę sterować nimi za pomocą Atmegi (docelowy 16 na czas testów 8) z wykorzystaniem timerów i sprzętowego PWM. Znalazłem na kilku stronach przykładowy kod w Bascomie, jednakże silnik nie uruchamia się. Czy ktoś mógłby wytłumaczyć mi jak należy tym układem sterować?...
Hmm, obalę Twoje mity dot. przerwań: 1.(częściowo), 2., 3. w tym przypadku PWM jest sprzętowy. Oznacza to nie mniej nie więcej niż to, że timer odpowiedzialny za generowanie PWM nie wygeneruje ŻADNEGO dodatkowego przerwania. 4. Dlatego stosuje się tryb phase correct pwm, ale zapewniam Cię, że w przypadku sterowania jasnością żarówki to w którym momencie...
Witam Potrzebuję na jakimś prostym Attiny np 13,25,45 zrobić układ który będzie realizował założenia takie: - dwa przyciski podłączone pod różne porty - dwa oddzielne porty z wyjściem PWM W momencie przyciśnięcia i trzymania przycisku 1 na wyjściu 1 jakiś tam sygnał PWM (jeszcze do ustalenia w drodze prób i błędów) po naciśnięciu przycisku 2 na wyjściu...
Czy nikt nie potrafi rozwiązać tak prostego problemu? Może nikt nie chce ruszac tego bałaganu... Popatrz na twoją konfigurację pinów: Config Pind.1 = Input Config Pind.2 = Input Sa to wejścia z przydzielonymi aliasami S1 i S2 Dalej, sa one podciagane wewnętrznie: Set Portd.1 Set Portd.2 W petli Do..Loop Masz warunek: --------------------- If S1 = 1...
O K Widzę,że sam muszę sobie odpowiedzieć. Po żmudnych próbach z konfigurowaniem PWM w Bascomie doszedłem do wniosku, że żadna z wersji tego kompilatora nie jest w stanie prawidłowo skonfigurować PWM na procesorze ATMEGA. Trzeba to zrobić przez bezpośrednie oddziaływanie na rejestry. Np.: $regfile = "m16def.dat" 'Deklaracja rodzaju procesora Ddrd =...
To jak skonfigurować PWM na Timer0 lub Timer2?? Może takie coś? : $regfile = "m16def.dat" 'Deklaracja rodzaju procesora Ddrd = B00110000 'Porty pełniące funkcję Timera powinny być skonfigurowane jako wyścia Tccr1a = &HA3 'Phase correct PWM mode ,PWM = 10 bit Tccr1b = &H5 'Prescale 1024 Do Pwm1a = Pwm1a + 1 'Ten program powoduje cykliczną zmianę...
No to teraz już nie mam pojęcia jak to zrobić. Masz jakiś pomysł? Takie coś chciałem zrobić A najlepiej to chyba mierzyć prąd impulsowy gdzieś w środku impulsu PWMa. I odpowiednim wartościom prądu impulsowego przyporządkować odpowiednie wartości PWMa. To już nie wymaga filtru (nie może go w zasadzie nawet tam być) i charakterystyka regulacji będzie...
Witam Czy ktoś może mi powiedzieć gdzie jest błąd w kodzie zamieszczonym poniżej? W tym projekcie atmega ma sterować obrotami wentylatora (wolniej/szybciej) po naciśnięciu przycisku. Tu konfigurujesz Timer1 do pracy w trybie (1) 'Phase Correct PWM, 8-bit'. mniej/więcej jak na poniższej ilustracji: http://obrazki.elektroda.pl/3601105700_1...
Witam serdecznie kolegów. Jeśli nie znasz Bascoma nie wypowiadaj się - Bardzo prosze. Potrzebuje wykonać Generator impulsów z wypełnieniem. Regulowana częstotliwość jak i wypełnienie. W Bascomie niestety nie jest to takie proste. Sprzętowy jest PWM ale stała częstotliwość. To zaleyży który timer i w którym trybie zechcesz go użyc. Prawdą jest np. że...
A. Bo tam jest Phase Correct PWM. Masz 2-krotne spowolnienie. Wstaw: lds R16, {Timer1_licznik} inc R16 sts {Timer1_licznik}, R16 cpi R16, 2 'Zmieniłem 4 na 2. brlo R16_mniejsze_2 'Zmieniłem 4 na 2. ldi R16, 0 sts {Timer1_licznik}, R16 ldi R27, 1 lds R26, {Read_position} ld R16, X+ !Out OCR1AL, R16 sts {Read_position},...
Witam ...... Wykorzystując sprzętowy PWM zmiana wypełnienia to nie problem ale czy można uzyskać na sprzętowym PWM zmienne częstotliwość od 50 do 1000 Hz płynną lub skokową. Tak,....... Mozesz to zrobic wykorzystując timer z dwoma kanałami np. Timer1 Na jednym kanale kontrolujesz częstotliwośc, a na drugim wypełnienie. Załóżmy że taktujesz processor...
Witam. Jako że znalazłem w swoich zbiorach stary wyświetlacz po siemensie c60 motywowany jednym z tematów na tym forum postanowiłem połączyć owy wyświetlacz z atmega8. Układ na szybko połączyłem według tego schematu: http://obrazki.elektroda.pl/5840103300_1... Jako że nie miałem styczności z tego typu wyświetlaczami więc wsad do procka...
Witam. Mam program do obsługi wyświetlacza tft z dotykiem. Program nie mój, działa prawidłowo ale jest problem z szybkością wyświetlacza i chciałbym przejść na Xmega128A3. Problem w tym że Xmegi nigdy nie miałem "w rękach" i mam problemy z przeróbką programu. Chciałbym też wiedzieć na pewno że ten program będzie działał na Xmega zanim wpakuję się w...
Witam Przeglądałem tematy na forum ale nie znalazłem jednoznacznej odpowiedzi... Na wyświetlaczy mam tylko śnieg czyli pali się tylko podświetlenie gdy odłączę napięcie 1V8(1,75V) to pokazują się kolorowe pasy. Nie pomaga połączenie 1V8 i 2V9(2,95V) Korzystałem już z tylu kodów z forum ze nie wiem jaki wrzucić... Atmega to tak jak w temacie Mega16 taktowana...
Witam. Znalazłem coś innego i po modyfikacji działa jak powinno . Przypisany jeden klawisz pod PB.2 wysyłający LewyALT + Q. Jest też zmiana u gnieździe usb D- PD.3 na PD.4. [syntax=vbnet] 'Author : Rick Richard 'www : http://www.sloservers.com/swusb 'Created : Jul 29, 2009 'Version : 1.00 '***************************************...
Wiem, łączenia okropnie wyglądają, to w skutek ciągłych zmian, ale to tylko płyta testowa, jak uda mi się odpalić LS020 to docelowy układ dla tego wyświetlacza będzie zupełnie inny :) Tutaj zdjęcia: http://obrazki.elektroda.pl/8597184600_1... http://obrazki.elektroda.pl/1063512000_1... http://obrazki.elektroda.pl/3929357200_1...
Witam w Nowym Roku Chciałem zapytać, czy ma znaczenie, do którego pinu kontrolera jest podpięte wejście sterujące wyborem karty SD ? Korzystam z kodu podanego w helpie - zamieniłem tylko PortB.4 na PortD.6 i cały czas mam aktywną kartę SD, co oczywiście skutkuje zablokowanie kontrolera. Jako, że nie działa mi to razem z innymi funkcjami, więc próbuję...
W końcu na atmega 168 prawodłowo zadziałał mi ten kod. W komentarzu dołożyłem podłączenia. Musiałem zrezygnować w pierwszym podejściu z kwarcu, bo portu PB6 i PB7 są tu wykorzystane do sterowania wyświetlaczem. Kupowałem wyświetlacze jakoś bardzo tanio, więc pewnie chińskie. '**************** Driving graph. display NOKIA LPH7779 ver.1.1 ******************...
Witam :D Dobre wieści :D Czytając i analizując wszystkie Wasze sugestie i uwagi udało mi się zrobić działającą obsługę przetworników. Co prawda pozmieniałem trochę po swojemu ale działa. Najpierw kod później kilka słów wyjaśnienia. dondu później startujemy pojedynczą konwersje, czekamy aż się ona zakończy, wynik wczytujemy na odpowiednią pozycję w tablicy,...
Temat wałkowany ale jak ktoś ma kłopoty z sd to tu mój kod działający na atmege32 karta 256mb sformatować ją należy przed uruchomieniem układu 'Bascom kod [syntax=basic4gl]$regfile = "m32def.dat" $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu $framesize = 128 $include "Config_MMC.bas" $include "Config_AVR-DOS.bas" Dim Btemp1...
Witam. Mam problem z odczytem karty mmc, miałem już działający układ z dobrym kodem ale gdzieś się zawieruszył w gąszczu plików i musiałem się za to wziąść od nowa. Jednak niechce mi działać. Karty mam 2 (32mb mmc sanyo i siemens, obie w fat 16). Na jednej dostaje error init file system 229 a na drugiej error during drivie init 225 Co najciekawsze wczesniej...
No właśnie taki kod przychodzi do głowy jako pierwszy ale to nie działa, nic mi sie nie wyświetla. Może na początek jakiś prosty zegarek spróbuje zrobić więc pisze taki kod: [syntax=basic4gl] $hwstack = 100 $swstack = 100 $framesize = 100 $regfile = "m128def.Dat" $crystal = 8000000 $baud = 19200 '=== Config the hardware === Rs Alias Portb.7 'S65 Data/command...
phase correct phase bascom write correct
simtec flash compaq 6720s bateria wkrętarki baterie parkside
Błąd E24 w pompie ciepła Nulite 12.5 - jak naprawić? Moc radia Intek M-120 Plus po odblokowaniu