W złym miejscu masz DO Przestaw przed pwm1a
Eeeee tam.... Jak to się nie da!? Przykład konfiguracji dla atmega8: Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Timer2 = Pwm , Async = on , Prescale = 1 , Pwm = On , Compare Pwm = Clear Up Pwm1a = 255 Pwm1b = 255 Ocr2 = 255 Pozdrawiam.
Do tego najlepiej użyć PWMa. Na medze ósmej musisz uruchomić timer1. [syntax=basic4gl] config timer1 = PWM , pwm = 10 , compare a pwm = clear up , compare b pwm = disconnect , prescale = 1 Dim opu as word do for opu = 0 to 1023 pwm1a = opu waitms 3 next opu for opu = 1023 to 0 step -1 pwm1a = opu waitms 3 next opu loop end [/syntax] To tak na szybko....
przepisałem ze zrozuminiem. Zauważyłem błąd i poprawiłem. Ale dalej jest to samo. Jak jest na 100% wypełnienie i nacisnę PLUS to spada do 0 wypełnienie. Użyj warunku ;) Pwm1a = 0 Do If Plus = 0 Then Waitms 15 If Obroty < 255 Then Incr Obroty Waitms 20 Pwm1a = Obroty End If If Minus = 0 Then Waitms 15 If Obroty > 0 Then Decr Obroty Waitms 20 Pwm1a...
Zobacz to: $regfile = "m8def.dat" $crystal = 16000000 Config Portb = Output Portb = &B00000000 Config Portd = Input Portd = &B11111111 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1 Przycisk Alias Pind.1 Dim D As Byte , Czekaj As Integer D = 0 Pwm1a = D Czekaj = 0 Do If Przycisk...
Mam pytanie czy jest możliwość sterowania PWM1a i PWM1b osobno tzn nadać dla PWM1a Prescale 64 a dla PWM1b Prescale 8 ? Mam taki kod [syntax=basic4gl]Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 64 Config Timer2 = Pwm , Async = Off , Pwm = On , Compare Pwm = Clear Up , Prescale = 1[/syntax][/code]
$regfile = "M8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 32 '---------------------------------------... Dim Adc_data As Integer Dim S As Single Dim L As Long Dim Text As String * 30 '---------------------------------------... Portb = &B00000000...
http://obrazki.elektroda.pl/7139682100_1... Witajcie Wlasciwie jest to moj pierwszy temat na forum wiec prosze z gory o wyrozumialosc. Przepraszam rowniez, za brak polskich fontow, ale pomimo prob wielu nie ogarniam wiekszosci ogonkow z racji lokalizacji :/ Przyszly swieta, czas urlopu i odpoczynku... Niestety wraz ze swietami przybyla...
Napisałem fragment programu sterowania mostkiem H na razie nie pokazuje błędów ale jeszcze chciałbym miec miekki start silnika DC, może delay wewnątrz pętli ? [syntax=arduino] //poczatek do produ //podział sygnału +/- 50 if(nThrottleIn>1550){ if (pwM1a>=255) pwM1a=255; pwM1a = map(nThrottleIn ,1550, 1995, 0,255); digitalWrite(in1a , HIGH); digitalWrite(in1b...
Proszę was o szybkie sprawdzenie czy ta konfiguracja pwm będzie działała poprawnie. $regfile = "m8def.dat" $crystal = 12000000 Baud = 19200 Config Portb = Output Portb = &B00000000 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up Pwm1a = 100 Pwm1b = 200 Ps.Z jaka częstotliwością działa pwm w atmega8?
Kolego chyba za bardzo kombinujesz. Wystarczy coś takiego: [syntax=basic4gl]If Pomiar_adc > 470 And Pwm1a > 0 Then Decr Pwm1a If Pomiar_adc < 470 And Pwm1a < 255 Then Incr Pwm1a [/syntax]
http://obrazki.elektroda.pl/5214176000_1... Witam. Przedstawione rozwiązanie powstało z myślą o zdalnym (radiowym) sterowaniu modelem samochodu. Umożliwia płynne regulacje: kierunku (lewo/prawo) oraz prędkości ruchu (przód/tył). Rozkaz typu "włącz/wyłącz" pozwala np. uruchamiać sygnał dźwiękowy (klakson) lub włączać światła. Spośród...
Witam, Mam pewien problem z Rc5 w bascomie, chodzi mi o to, że instrukcje odpowiedzialne za rc5 są wykonywane tylko kilka razy a później, kaplica coś się zapycha:) i pilot nie działa. Cała sytuacja ma charakter nieliniowy tzn. że raz wykryje 3 naciśnięcia przycisku na pilocie a raz np. 5. Po zresetowaniu procka znowu RC5 działa przez parę cykli uP....
Sprawdz ten kod: $regfile = "m8def.dat" $crystal = 4000000 Pwm1a = 0 Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1 Do Pwm1a = 956 Start Timer1 Waitms 500 Pwm1a = 851 Waitms 500 Pwm1a = 758 Waitms 500 Pwm1a = 716 Waitms 500 Pwm1a = 638 Waitms 500 Pwm1a = 568 Waitms 500 Pwm1a = 506 Waitms 500 Wait 4 Loop End Jakiego...
Ustawiaj żądaną wartość i jak się nie będzie zgadzała z aktualna to samo się doreguluje ;) [syntax=vbnet]Dim Zadane_pwm As Byte, Aktualne_pwm As Byte On Timer0 Co_jakis_czas Do 'w celach prezentacji Zadane_pwm = 255 Wait 5 ' (przerwania przerywają Wait więc nie ma strachu) Zadane_pwm = 0 Wait 5 Loop Co_jakis_czas: Select case Aktualne_pwm Case Is <...
Witam. Ja zrobiłem tak: [syntax=basic4gl]Declare Sub PWM_ Dim Zm_pwm As Byte Sub Pwm_ For Zm_pwm = 0 To 255 Step 1 Pwm1a = Zm_pwm Pwm1b = Zm_pwm Waitms 15 Next Zm_pwm Wait 4 For Zm_pwm = 255 To 0 Step -1 Pwm1a = Zm_pwm Pwm1b = Zm_pwm Waitms 15 Next Zm_pwm End Sub[/syntax]
Witam, mam pewnie dla większości osób banalny problem. Postanowiłem wykonać lampkę RGB. Wykorzystałem mikrokontroler ATMEGA8 a program piszę w BASCOM'ie. Jasnością diody "zajmuje się" sprzętowe PWM (PWM1A). Poszczególne kolory (RGB) są sterowane multipleksowo. Program wygląda mniej więcej tak: Do Set Czerwony PWM1A = Red Waitms 1 Reset Czerwony Set...
Koledzy nie mogę sobie porzdzić z kodem. Chcę aby po naciśnięciu przycisku wartość zwiększyła się o 1 Dim I As Byte Do If Pinb.2 = 0 Then I + 1 If Pinb.3 = 0 Then I - 1 Pwm1a = I
a dlaczego programowy PWM ?? '51 ma chyba sprzetowy?? dla avr to będzie tak Config Timer1 = Pwm , Prescale = 8 , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up For Pwm1a = 0 To 256 Waitms 10 Next Pwm1a For Pwm1b = 0 To 256 Waitms 10 Next Pwm1b Do Loop
[syntax=vb]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1 Dim I As Byte Do For I = 1 To 255 Pwm1a = I Waitms 50 Next I For I = 255 To 1 Step -1 Pwm1a = I Waitms 50 Next I Loop End[/syntax] Teraz powinno działać więcej błędów nie widzę
...czy wogóle jest to możliwe żeby na ATMEGA8 uzyskać na wyjściach OC1A,OC1B i OC2 trzy regulowane niezależne przebiegi ... Jak najbardziej. PWM1a i PWM1b są ustawiane komendami Bascom'a. OC2 wymaga ustawienia rejestru "ręcznie" i ma aż cztery różne tryby pracy zależnie od taktowania i "przeładunku".
Witam. Napisałem prosty programik. Działa on tak że po włączeniu układ generuje impulsy o częstotliwości regulowanej przez ADC2. Teraz nie mam pojęcia jak zrobić aby przycisk podpięty na PD.0 włączał i wyłączał mi ten generator na wyjściu atmegi. [syntax=Basic4GL]$regfile = "m8def.dat" $crystal = 8000000 Config Portd = &B00000000 Config Portb = &B11111111...
$regfile = "m8def.dat" $crystal = 8000000 Config Pind.3 = Input Config Pind.4 = Input Config Portb.1 = Output Set Portd.3 Set Portd.4 Plus Alias Pind.3 Minus Alias Pind.4 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1 Enable Interrupts Dim Obroty As Byte Pwm1a = 255 Obroty = Pwm1a Do...
Hmm po dodaniu zmiennej Pr i zrobeniu działania Pr = Pwm1a / 2.55 wyświetla mi na LCD gdy mam 255 85 % w czym robię błąd. $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Up Dim Pr As Integer Declare Sub Zwieksz 'Deklaracja procedury zwiększajšcej stan rejestru...
Nic nie zmienia pwm1a i b działają juz ok a tu dalej tak samo rosnie i spada nawet jesli wartosc adc(4)=0 dzieje sie tak samo czyli wystarczy ze dam więcej niz 0 a zmienia się w koło.
Postanowiłem wypróbować pwm i nie jest wcale takie trudne:) Napisałem program z rożnymi funkcjami, przełączam je przyciskiem ale nie raz muszę go przetrzymać aby się przełączyła i bywa tak że przełącza o kilka do przodu co koledzy polecacie aby wyeliminować te dwa problemy? Oto kod [syntax=basic4gl]'stroboskop by Pawel $crystal = 8000000 'Deklaracja...
[syntax=vbnet]'ja wykorzystałem pętle FOR NEXT 'oczywiście możesz dostosować do twoich ptrzeb 'po zwarciu pinu B4 o masy wykonuje się podprogram Pwm_ $regfile = "m8def.dat" $crystal = 8000000 Dim Zm_pwm As Byte Declare Sub Pwm_ Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up Enable Interrupts Ddrb...
Ja też podam przykład w BASCOMie: $regfile = "m8def.dat" $crystal = 1000000 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 64 Dim I As Byte Pwm1a = 0 'wpisanie wartości początkowej 0 Do For I = 0 To 255 Pwm1a = I Waitms 10 Next I For I = 255 To 0 Step -1 Pwm1a = I Waitms 10 Next I Loop End Jak zmieniać wartość PWM? Pwm1a...
Witam Chciałbym sterować 2 silnikami DC z dwóch potencjometrów. Na początku mam program który przyspiesza silnik za pomocą PWM [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output Portb = &B11111111 Config Portd = Input Portd = &B1111111 Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down Pwm1a = 30...
Tak właściwie to testowałem PWMa na takim programie: $regfile = "m8def.dat" $crystal = 1000000 Config Timer1 = Pwm , Pwm = 10 , Prescale = 1 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up Config Portc = Input Portc = 255 Pwm1a = 0 Pwm1b = 0 Do If Pinc.0 = 0 Then Pwm1a = Pwm1a + 1 If Pinc.1 = 0 Then Pwm1b = Pwm1b + 1 Waitms 2 Pwm1a =...
U mnie było tak: Call Temp_kociol**odczyt z kotła Call Temp_woda**odczyt z bojlera R_temp = T_piec - T_woda**obliczanie różnicy temperatur Locate 1 , 12 Lcd "LATO" Locate 2 , 12 Lcd "H" ; Hist ; "/" ; Hist_pompy If R_temp >= Hist Then**jeżeli różnicz więkasza od histerezy to Set Pompa**tu włącza pompę Pwm1a = 200**i rozjaśnia wyświetlacz End If Z...
Wielkie dzięki za wszystkie rady i uwagi. Dzisiaj napisałem od nowa kod. 'KONFIGURACJA czujników dla czarnej lini $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Input Config Adc = Single , Prescaler = Auto , Reference = Avcc 'konfiguracja adc Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down...
Udało mi się już uruchomić układ, i odpowiednio wysłać dane. Jedyny pozostały problem to częstotliwość dla GLCK generowana z procka 31kHz. Powinna być w granicach 1-8MHz :/ Bo aktualnie diody migają strasznie. Podłączenie (zamiast schematu) : Gclk Alias Pwm1a 'Portb.1 Clk Alias Portd.2 Le Alias Portd.5 Sdi Alias Portd.6 Nie wiem po co do tego podłączenia...
czy to jest ten program gdzie didoda zmienia co chwile kolor ? tu jest ten kod co chcialem uzyc $regfile = "m8def.dat" $crystal = 8000000 config pinb.4 = input config pinb.2 = input config pinb.1 = output config timer1 = pwm , pwm = 8, compare a pwm = clear down , compare b pwm = disconnect , prescale = 64 dim i as byte s1 alias pinb.4 s2...
Witam mam problem z programem sterownika pwm na atmega8 to jest ten program: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.4 = Input Config Pinb.2 = Input Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare A Pwm = Disconnect , Prescale = 64 Dim I As Byte S1 Alias Pinb.4 S2 Alias Pinb.2 Set Portb.4...
W którym miejscu w poniższym kodzie mozna by było wstawić zmienną która by ograniczała zejście PWM powyżej zera a zdrugiej strony do 50% Do 'początek nieskończonej pętli If S1 = 0 Then 'jeśli przyciśnięty S1, to Waitms 25 'opóźnienie dla eliminacji drgań 'styków If S1 = 0 Then 'sprawdzenie ponownie, czy 'przycisk S1 dalej naciśnięty, 'jeśli tak, to...
Napisałem sobie program lecz jak rozjaśniam to bardzo duzo razy trzeba klikać przycisk aby na maxa rozjaśnic lub ściemnić. Chciał bym aby tak rozjaśniało do maxa przy np 10 kliknięciach , takie 10 stopni rozjaśnie. Prosze o pomoc jak mam zmienić moj kod. Wsad: Config Pinb.1 = Output Config Rc5 = Pind.2 Dioda Alias Portd.6 Cursor Off Cls Config Timer1...
ATMega ma trzy wyjścia PWM, rozumiem że są to: OC1A, OC1B oraz OC2, proszę o pomoc w skonfigurowaniu timera czy to może tak wyglądać? config timer1=pwm, pwm=8, compare a pwm=clear down, compare b pwm = clear down, prescale=1 i jeszce jeżeli chodzi o pętle, czy przypisanie wartości realizuje się następujaco? przykladowo: pwm1a=200 pwm1b=100 ocr2=10 jeżeli...
Witam. Może i głupio, ale z ciekawości napisałem programik, którego jedynym zadaniem jest przepuszczanie podanego na wejście ADC dzwięku przez mikroprocesor atmega8 tak, że wychodzi na PWM1a. W sumie to nawet poniekąd mi się to udało, dzwięk przechodził, ale wyjściowa jakość nie była zadowalająca. Większość paramerów w programie dobrałem doświadczalnie......
Witam, $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Pind.1 = Output Config Timer2 = Timer , Prescale = 128 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 8 Cls Cursor Off Portd.0 = 1 Portd.1 = 0 Set Portd.4 On Timer2 Czas1s Dim Licz8ms As Byte Dim Wartoscpwm As...
schemat w załączniku [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Portd = Output Config Portb = Output Const Granica = 900 Silnik_lewy_a Alias Portd.3 Silnik_lewy_b Alias...
Witam robie aktualnie oświetlenie do szopki i napotkałem mały problem: $regfile = "m8def.dat" $crystal = 8000000 Config Pind.5 = Output Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1 Dim I As Byte Do For I = 1 To 255 Pwm1a = I Waitms 5 Next I For I = 255 To 1 Step -1 Pwm1a = I Waitms 5 Next I...
Witam. Po przeczytaniu kilku postów na forum napisałem program żeby sterować jasnością dwóch diód led. Jednak program nie działa , gdy podaję stan niski na wejścia nic się nie dzieje. Czy dobrze skonfigurowałem PWM? Oto kod w bascom: $regfile = "m8def.dat" $crystal = 1000000 Config Pind.0 = Input Config Pind.1 = Input Config Pind.2 = Input...
To może książkowy dla ATMEGA8 w BASCOMIE, nawet dla 2 LED, $REGFILE= "M8DEF.DAT" $crystal = 8000000 Config Pinb.1=Output Config Pinb.2=Output Config Timer1 = Pwm , Pwm =8 Compare A Pwm = Clear Up, Compare B Pwm = Clear Down, Prescale = 1 Dim I As Byte Do For I = 1 to 255 Pwm1a = I Pwm1b = I Waitms 4 Next I For I = 255 to 0 Step -1 Pwm1a = I Pwm1b =...
Uruchomiło :D Szkoda tylko, że nic z tego nie rozumiem. Co prawda jest na odwrót niż w ATmega8 (tam 0-dioda nie świeci, tutaj 0 - dioda świeci), pozmieniałem trochę kod i jest tak samo jak wcześniej na ATmega. Kod: $regfile = "attiny2313.dat" $crystal = 1000000 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect...
Poczytałem trochę o PWM lecz nie zrozumiałem za wiele oto przykładowy sygnały pwm są generowane na pb.1 i pb.2 i są to odpowiednio PWM1a i PWM1b. Ogólnie pwm'a konfigurujemy tak: Kod: Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down pwm 8 bitowy- czyli wartości od 0 od 255 następnie po wszystkich...
Pozwoliłem sobie napisać do osoby która ożywiła układ i w odp mam Podłączamy ADC atmegi bezpośrednio do prawego lub lewego kanału (sygnału audio oczywiście, nie głośnika). Najlepiej przez potencjometr, mamy wtedy regulację. Masy układów łączymy ze sobą. Po nowym roku oczywiście sprawdze :)) Dodano po 5 idąc dalej:) wysterowanie PWM1a i PWM1b czyli płynne...
Witam Potrzebuje wykonać następujace zadanie. Mam impulsy (ok 1kHz) które wprowadzam na wejście INT0 Chciałbym aby na te impulsy została nałożona modulacja dla przykładu np: 36kHz Wyjście takiego zmodulowanego sygnału to PB1, OC1A w Atmega8 Wykonałem prosty program testowy który zamieszczam poniżej Program działa ale niestety często po zakończeniu transmisji...
Witam, Z góry przepraszam za lamerskie pytanie, to moje początki, ale od trzech dni szukam w necie jakiegoś przykładu w Bascomie i nic. Mam atmega8-16PI, kwarc 8MHz Potrzebuję wykonać generator impulsów (prostokąt) o regulowanych częstotliwościach, 1-20Hz, oraz regulowanym czasie trwania impulsów 0,1-3ms. Nie wiem jak się do tego zabrać. Załużmy że...
Co jest powodem że po 73ms bezczynności na symulatorze portb.1 = 0 przechodzi w stan = 1??? [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 $baud = 9600 Config Serialin = Buffered , Size = 254 , Bytematch = All Config Timer1 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Enable Serial Enable Interrupts Config Portd...
witam. chcialbym skorzystac z pwma i zrobic przebieg sinusoidalny. napisalem nastepujacy program. sinusik jest bardzo ladny ale maxymalna jego czestotliwosc to ok 50Hz. Do For Kat = 0 To 360 Step 2 Rad = Deg2rad(kat) Wartosc = Sin(rad) ' -1 - 1 Wartosc = Wartosc + 1 ' 0 - 2 Wartosc = Wartosc * 128 '0 - 256 Pwm1a = wartosc ' Waitus 2 Next Loop wyglada...
Prościej jest użyć takiego obliczenia, zajmuje mało pamieci po kompilacji, ja używam w swoim programie takiego podprogramu (używam 10bitowego PWM) [syntax=basic4gl]Dim Moc As Word Dim M As Long Dim M1 As Byte '=======================================... Moc_sub: ' wyswietla moc w procentach jaka ' podaje regulator...
Mały przykład: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As Byte Dim G As Byte Dim B As Byte Dim...
Panowie a taki problem z programem podpowiedzcie co robię nie tak w poniższym programie który załącza i wyłącza port o ustalonej godzinie wykorzystując strukturę zegara RTC.Pierwsza część programu działa bez zarzutu , ale mam problem ze sterowanim silnika przez PWM.Oto treść programu: Kod: $regfile = "m8def.dat" $crystal = 8000000 . Config Lcd = 16...
chce zrobić na ATMEGA8 efekt przejścia między 3 kolorami diody led RGB. Mam jednak problem, gdyż szukałem na forum, ale nie znalazłem informacji jak zrobić przesunięcie 3 kanału pwm o 120stopni. na 1 i 2 kanale dwa kolory na przemian zapalaja się i gasną, ale nie udało mi sie zrobić, żeby między nimi zapalała się także 3 dioda podpięta pod 3 kanał pwm....
Witam,mam jeszcze jeden problem w bascomie ,nie chodzi teraz o silniki krokowe ale nie chciałem zakładać nowego tematu. Otóż chce wygenerować pwm na atmega8 przy użyciu timera2,jaka to będzie zmienna dla tego timera?Wyczytałem ze to pwm2a/b ale nie działa .Oto kod: ...... Config Timer2 = Pwm , Prescale = 1 , Compare Pwm = Clear Down Dim P1 As Byte Dim...
ATmega8 rzeczywiście to aż nadmiar możliwości to takiego zastosowania. Programowałeś kiedykolwiek takie układy? Najprostszy programator to kilka rezystorów podpinanych do portu LPT, ale utworzenie programatora typu STK200/300 to koszt kilku zł. Do napisania możesz użyć bascoma przykładowy program do takiego ściemnienia w bascomie $regfile = "m8def.dat"...
Tak więc złożyłem układ i pojawił się problem . Gdy włączam to nie zachodzi inicjacja LCD , są tylko kwadraciki (pierwsza linia ) , mogę regulować kontrast . Atmega chodzi bo zmieniając wartość początkową Pwm1a - to na wyjsciu te wartości się pojawiają . ARef podłączyłem przez 100nf do masy . Co może być przyczyną . Czytałem o jakimś fusbit M103 dotyczy...
Witam! bardzo serdecznie. Chciałem zrealizować w oparciu o mikrokontroler ATmega8 odtwarzacz dźwięku. Jest to tylko układ realizowany w celach edukacyjnych, więc chciałem dane zapisać najpierw w pamięci EEPROM (ATmega8 ma 512b). Ma być to jeden krótki dźwięk odtwarzany po włączeniu mikrokontrolera. Dźwięki chcę odtwarzać za pomocą głośnika przez PWM....
Note that ADC channels ADC4 and ADC5 are limited to 8-bit accuracy. Znaczysię kanał 4 i 5 mają rozdzielczość 8 bitową, więc potencjometr pomiędzy masę i Vcc, ślizgacz na ADC4 lub ADC5, napięcie odniesienia 5V, bezpośrednie podstawienie np. Pwm1a = Getad (4). Aaaaaa! Kolega realizuje PWM programowy? Nie lepiej sprzętowo! Poniżej program dla ATMEGA8...
gdzie jest błąd Nie znam BASCOM'a więc mogę się mylić... ale wydaje wydaje mi się, że tu: Zadziałało dzięki za pomoc 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...
Chyba to już było. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As Byte Dim G As Byte Dim B As Byte...
...jak ja mam to napisać?? Nie mam pojęcia o Timer'ach! Kubbaz napisał coś o tym ale słabo czaję... Pierwsze zdanie z postu kolegi matgaw , możesz włożyć między bajki , bo ma sie nijak do rzeczywistości , jeśli mówimy o ATMega8 i podobnych :D Poniżej dowód w postaci najprostszego zegarka na M32 , ale na M8 też powinien działać. $regfile = "m32def.dat"...
tak Dodano po 2 [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 $baud = 1200 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Up Pwm1a = 0 Config Int0 = Falling On Int0 Licz Enable Int0 Enable Interrupts Do Wait 1 Disable...
No to poddaje się chyba. Mój pierwszy pomysł poległ ponieważ były zakłócenia spowodowane czytaniem co chwila 512B , a tak to szło: Open "MOWA8K.WAV" For Binary As #1 Do Get #1 , Sample Pwm1a = Sample Waitus 50 Loop Until Eof(1) <> 0 Close #1 Następny pomysł poległ właśnie dzisiaj bo odczytuje z karty nie te dane co trzeba (wychodzą głupoty) (odtwarzanie...
Chciał bym żeby ktoś mi pomógł napisać program ma mniej więcej wyglądać to tak: Po włączeniu na ekraniku 40x2 (tylko taki mam akurat) Pojawi się napis Wybierz opcję: 1. Line follower 2. Minisumo 3.Rc5 naciskam przycisk 1 i na ekraniku pojawia się: Wybrałeś obcję: line follower (ładowanie takie po kolei po jednym kwadracie) . jak się załadują wszystkie...
Mam problem z zaprogramowaniem żyrandolu RGB na ATtiny2313. Postanowiłem wykorzystać 3 kanały PWM do ustalania koloru świecenia diod. Problem polega na tym, że nie odbiera kodu RC5 nadawanego z pilota. Atmega8 na płytce testowej radziła sobie z tym bardzo dobrze, natomiast tiny na właściwej płytce nie chce. Podaje program jaki w tej chwili mam. [syntax=basic4gl]$regfile...
Witam. Mam problem ze startem TIMER'a Program: [syntax=basic4gl]$regfile = "m8def.dat" 'najpierw określamy typ proca $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portd.0 , E = Portc.1 , Rs = Portc.0 Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down...
Witam, robię prosta ładowarkę Ni-Mh opartą na sygnale PWM generowanym przez atmegę i BUZ 11. BUZ jest podłączony bezp. do OC1A. koncepcja jest taka aby wzrost wypełnienia regulował napięcie na ładowanym ogniwie (pakiet 10x1,55V) tak aby utrzymywać prąd rzędu 1.5A (szybkie ładowanie). Aby pomiary wychodziły ok dorobiłem filtr do ADC0 (pomiar napięcia)...
Niestety wychodzi teraz trochę moje lenistwo, uznałem że jeśli zbyt wysoka dokładność nie jest potrzebna to nie ma co się bawić. :arrow: tmf 1. Powinienem go podłączyć tak jak w mojej płytce testowej http://www.elektroda.pl/rtvforum/topic22... . 2. Rzeczywiście z rozpędu podłączyłem AREF do VCC, na szczęście nie stwarza to w tym przypadku problemów...
Szkoda że tak łatwo się zniechęcasz. Ja mam taki problem z zegarkiem , że po podłączeniu kwarcu zegarkowego do XTAL w atmega8 zaczął chodzić dokładnie ...tylko 2 razy wolniej. Wie ktoś jak to naprawić ?? Już wiem co jest nie tak chyba. Timer1 jest 16-bitowy >liczy do 65536 potem następuje przepełnienie. A kwarc zegarkowy "liczy" do połowy tego(32.768Khz)....
Witam wszystkich serdecznie. Właśnie zacząłem zabawę z modelarstwem i chciałbym sobie zrobić prosty regulator do silników szczotkowych. Znalazłem w necie kilka schematów. Poskładałem sobie układ wg schematu http://obrazki.elektroda.pl/7049138000_1... Przerobiłem kod z noty katalogowej bascoma [code:1] $regfile = "ATtiny2313.dat" $hwstack...
Witam Mam problem z odczytem danych z 24C02. Program piszę w bascom, procesor to atmega8 taktowany wewnętrznie 1MHz. Zapisuję do eeproma zewnętrznego 3 zmienne Byte, są to liczby w zakresie 1-31; 1-12; 1-40. Wszystko ładnie się zapisuje do eeproma w menu. Po przejściu z pętli głównej do procedury nazwijmy ją "czytanie" za poierwszym razem pojawia się...
witam,ja też mam problem z ustaleniem czasu pracy wentylatora sterowanego termometrem i Pwm. chcę aby wentylator pracował jeszcze ok 30 sek po spełnieniu warunku Pw=0 bez opóźniania całego procesu, po użyciu polecenia Wait 30. teraz wentylator załącza się i wyłącza natychmiast po spełnieniu warunku K=28,lub K=30 Dodano po 1 a to listing'$sim ' Program...
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8 ma wyświetlać na wyświetlaczu co jest obecnie za funkcja , pobierać...
Witam!! Układ sterownika tampoprintu zbudowany na bazie mikrokontrolera AVR, schemat poniżej, zasilanie dostarczane przez dwie osobne przetwornice +5V dla logiki oraz +24V dla elektrozaworów i oświetlenia, na przewodach zasilających koraliki ferrytowe, pole masy na płytce, tranzystory sterujące cewkami zabezpieczone diodami, przy samych cewkach we wtyczkach...
Na pętli For to chyba nie będzie elegancko, ale się da. Jeśli dobrze zrozumiałem twój zamiar to proponuje coś takiego: Dim S1_pressed As Byte Dim S2_pressed As Byte Dim Pwm_memory Do Waitms 25 If S1 = 0 Then S1_pressed = 1 Incr Pwm1a If Pwm1a = 0 Then Pwm1a = 255 Else If S1_pressed = 1 Then Pwm_memory = Pwm1a S1_pressed = 0 End If End If If S2 = 0 Then...
powinno to wyglądać jakoś tak: home: do if pin..... =1 then goto przod elseif pin ...=1 goto tyl end if loop przod: Do Waitms 1 Incr Pwm1a End If end if loop tyl: set port.... 'przekaźnik zmiany biegunów silnika Do if pin..... = then reset port.... pwm1a=0 goto home: end if . . Waitms 1 Incr Pwm1a End If end if loop tyl: Do if pin........
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Pinb.5 = Input Config Pinb.4 = Input Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 64 Dim I As Byte Centr1 Alias Pinb.5 Centr Alias Pinb.4 Set Portb.4 Set Portb.5 Pwm1a = 0 Do If pwm1a = 0 then 'dodatkowy warunek...
Dioda płynnie się zapala,kiedy uzyka maksymalną jasność gaśnie i program sie powtarza.100% dobry program wersja dla wewnętrzengo rezonatora RC 1MHZ $regfile = "m8def.dat" $crystal = 1000000 Config Pinb.1 = Output Config Pinb.2 = Output Dim I As Byte Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale...
Po pierwsze to z adc dostajesz zmienną w zakresie 0-1023 , a w pwm zadeklarowałeś 8 bitów czyli zakres 0 - 255. Spróbuj tak: Dim U As Word Dim P As byte Start Adc Do U = Getadc(0) U = Getadc(0) P=U/4 Pwm1a = P Loop End Przy konfiguracji przetwornika użyj Reference = avcc. Ewentualnie pisz na GG, a wyniki opiszemy w temacie :D . Pozdr. Daniel
Po ciężkich zmaganiach z metodą losową dla kolorów postanowiłem porzucić ten pomysł i zastosować przewidywalny sposób który będzie się powtarzał co jakiś czas. Może i nie jest to rozwiązanie pierwsza klasa, ale działa. Nie stosowałem jednak korekcji gamma, bo przy rozdzielczości PWM 8 bitów i zastosowaniu płynnego rozjaśniania było widać przeskoki (mruganie)...
juz udalo sie procesor i zasilacz zyje mam jeszcze takie pytanie jak ustawic rozne czestotliwosci w bascomie dla pwm1a i pwm1b
a gdzie masz Prescale?? i napisz sobie w programie że PWM1a=A i przy ustawianiu portów jako wyjściowych usuń " ' " bo masz napisany i to Ci knoci wszystko Do For A = 0 To 255 PWM1a = A PWM1b = A waitms 4 Next A For I = 255 To 0 Step -1 Pwm1a =A Pwm1b =A Waitms 4 Next I Loop cześć kodu z książki Marcina Wiązania A z tego co zrozumiałem z twojej wypowiedzi...
hunterhouse samo zerowanie PWM przez pwm1b=0 nie wyłącza PWM i nie zwalnia portu. Jeśli sterowanie odbywa się stanem niskim portu, to silnik będzie mi się obracał non-stop z pełna prędkością. gdy wipszesz do pwm1a=0 to na wyjściu pojawi się sygnał pwm o wypełnieniu 0 czyli pojawi się stan niski. jeśli wpiszesz FF to na wyjściu pojawi się stan 1. można...
Jest to kawałek kodu w bascomie dla atmega8, może coś pomoże: **Podprogram konfiguracji** Sub Konfig Cls Pwm1a = 200 'to od podświetlenia lcd Lcd "USTAWIENIA" Locate 2 , 1 Lcd " PROGRAMU" Wait 2 Cls Lcd "Przycisk START" Do Getrc5(address , Command) Command = Command And &B01111111 If Adress <> 255 Then...
AtTiny2313 nie ma wbudowanego przetwornika AD, więc w prosty sposób się nie da. Można zawsze używając kilku elementów zrobić prosty przetwornik, ale patrząc na ceny innych uK, np. AtMega8, który ma dużo większe możliwości, nie ma to sensu. A wystarczyłoby uruchomić PWM w rozdzielczości 10 bitowej i bezpiśrednio przypisywać mu wartość odczytaną z przetwornika,...
Pwm1a i Pwm1b oraz Ocr1 i Ocr2 a raczej OCR1A to dokladnie to samo :]
Już działa, wybrałem tryb nr 5. Jedyny minus, przy pwm1a=0 są "szpilki". tccr1a=&B10000001 tccr1b=&B00001001
No to popróbuj jeszcze :-) Ja tylko tak, aby sprawdzić, napisałem coś takiego: '---------------------------------------... ' ' RC5.bas ' '---------------------------------------... '$sim 'jen pro simulaci $regfile = "Attiny2313.dat"...
To jest przykład dla Atmega8, nie wiem czy pomoże: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As...
Pierwszy raz korzystam z PWM i nie rozumiem składni configu... Ale trudno...dzięki za pomoc...dalej będę się męczył.. Tak jak pisałem. Mam: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Pwm1a = 0 Pwm1b = 0 gdzie Pwm1a oraz Pwm1b to są dwa pwm procka, a trzeci jak wpisać???
Podejrzewam że problem jest z odbiorem danych z pilota. BASCOM i GETRC5 nie za bardzo sobie z tym radzi. No i czy masz na pewno pilota RC5? Dodano po 1 Zobacz to: [syntax=basic4gl] $regfile "m8def.dat" 'konfiguracja mikroprocesora $crystal = 4000000 'konfiguracja kwarcu Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B1111101...
Część kodu odpowiedzialna za podświetlanie: Podswietlanie: Do If S3 = 0 Then Incr Pwm1a End If If S1 = 0 Then Decr Pwm1a End If P = Pwm1a / 2 If Pwm1a >= 200 Then Pwm1a = 200 P = 100 End If If Pwm1a <= 1 Then Pwm1a = 1 P = 1 End If Locate 1 , 2 Lcd "PODSWIETL.LCD" Locate 2 , 7 If P < 10 Then Lcd " " ; P Else 'podświetlanie...
Masz część programu którym steruję diody RGB u siebie w pokoju. Jest to mój programik testowy, dodatkowo wyjściami PWM można sterować pilotem Rc5. Korzystałem z niego przed napisaniem właściwego softu. W Bascomie jest błąd jeśli chodzi o trzeci kanał (wyjście OC2). Nie "sterujesz" nim przez pwm.., tylko ocr2=... Myśle że dojdziesz na podstawie przykładu....
Jeśli chcesz generować konkretną częstotliwość to wykorzystaj do tego tryb COMPARE timera: Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1 Częstotliwość wtedy zmieniasz wpisując odpowiednią wartość do rejestru Compare1a lub Pwm1a (ten sam rejestr - nie ma znaczenia który). W ten sposób nie obciążasz uK przerwaniami a przebieg...
Nie wiem co źle robię, ale nie zapisuje się ustawienie do pamięci. Przed główną pętlą zrobiłem w następujący sposób odczyt: [syntax=basic4gl] I2cstart I2cwbyte 169 I2cwbyte 2 I2cstart I2cwbyte 168 I2crbyte Pwm1a , Ack I2crbyte Pwm1a , Nack I2cstop[/syntax] A zapisywanie ustawień w menu zrobiłem tak: [syntax=basic4gl]If K1 = 0 Then : Waitms 5 : If K1...
chodzi ci o taki warunek ?? if portb.1 = 0 then 'jeżeli załączy się Pwm1a (buzer) incr zmienna 'to zwiększa się zmienna if zmienna = 10 then ' jeżeli zmienna = 10 stop Timer1 'to wyłącz Pwm1a (buzer) if v < 1 then ' jeżeli poziom wody spadnie poniżej 1 zmienna = 0 ' to zmienna się resetuje i odblokowywuje się możliwość ' ponownego...
Witam! Potrzebuję wykonać na Atmedze generator przebiegu prostokątnego w zakresie częstotliwości 0-10kHz do współpracy ze sterownikiem silnika krokowego. Nie jestem najlepszy w obsłudze timerów więc stąd prośba o pomoc. Chciałbym aby wybrana częstotliwość mogła być zadawana przy pomocy przycisków "góra", "dół" oraz potencjometra. Udało mi się stworzyć...
Witam mam za zadanie sterować jasnością 3 diod przez pilot RC5i na wyświetlaczu ma się wyświetlać stan. Na timerze 1 steruje pwm1a i pwm1b i jest w porządku zmienia się jasność. Problem ze sterowaniem 3 diodą (TIMER2), ona nie reaguje gdy wysyłam kod 6 lub 9, mrugnie jednorazowo tylko wtedy gdy wysyłam dowolną komendę do tmfs5360. Jasność tej 3 diody...
pwm1a attiny pwm1a alias atmega16 pwm1a
seicento przerywa amika piekarnik gasnie silnik mondeo
Magnetofon: Gwałtowne otwieranie kieszeni kasety Głośna praca wiertarki bezszczotkowej z Lidla - przyczyny i rozwiązania