Mam taki problem napisałem mały programik w bascomie i nie wiem dlaczego nie mogę użyć pwm1b oraz jak poprawnie w bascomie skonfigurować ten 3-ci pwm z timera 0 oto mój programik http://obrazki.elektroda.pl/4067233800_1... http://obrazki.elektroda.pl/4067233800_1...
Hej! Masz rację - ztym kontrolerem (lub Bascomem) jest coś nie tak, ponieważ próbowałem zrobić na nim prosty sterownik z użyciem IR "Get RC5", i niestety bascom wywala error, że niemożliwe w tym chipie najpewniej błąd Timera (nie pamiętam 0 czy 1). Tak zechyba nie robisz błędu, tylko w Bascomie w stosunku do tego procka jest coś spaprane.
Problemem okazał się brak konfiguracji wyjść PWM1a i PWM1b
Rozumiem ze zmiana dotyczy: Config PinB.5 = Output mimo tego nie daje sie skompilować. Wyświetla: Error : 46 Line : 16 Assignment error [PWM1B: 0 127: 112] , in File : C:\PROGRAM FILES\MCS ELECTRONICS\BASCOM-AVR\SAMPLES\EDBEXPERI... a dotyczy: Pwm1b = 127
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.
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]
Programuję mikrokontroler Atmega 128 w Bascomie i mam problem z ustawieniem tego trybu dla timera3. Posiada on trzy wyjścia na których mogę ustawić PWM, jednak nie potrafię tego zrobić. Ustawiając PWM na timerze 1 wszystko działa. Bascom podświetla PWM1a oraz PWM1b na niebiesko natomiast z PWM1c nic się nie dzieje, tak samo dzieje się z timerem3. Bardzo...
A masz gotowca: Set Tccr1a.7 // Set OC1A on Compare Match (Set output to high level). Set Tccr1a.6 Set Tccr1a.5 //Set OC1B on Compare Match (Set output to high level). Set Tccr1a.4 Set Tccr1a.0 //WGM10 Fast PWM 8-bit Set Tccr1b.3 //WGM12 Pwm1a = 0 Pwm1b = 0 Set Tccr1b.cs00 //Prescale = 1
Dodam że w programie poprawiłem błędy składni a nie popatrzyłem na schemat i nie poprawiłem błedów logiki. Na schemacie podłączone masz tylko wyjście OC1A więc odwoływanie się w programie do PWM1B jest całkowicie bezcelowe. Do tego DC_on_off to alias pinu OC1A czyli Timera1 który został ustawiony w tryb generowania sygnału PWM. W takim trybie Timer...
Drugi kanał czyli pwm1b?
To możesz zrobić tak: [syntax=basic4gl] Odczytaj_sprzetowy_uart: Dane = "" Do 'Odbierz znak po znaku Kod = Inkey() Dane = Dane + Chr(kod) 'Zapisz w Dane If Dane = "Obroty1" Then Obroty = 1 If Dane = "Obroty2" Then Obroty = 2 If Dane = "Obroty3" Then Obroty = 3 Bufor = Ischarwaiting() 'Zakoncz jeśli brak znaku Loop Until Bufor = 0 Return [/syntax] i...
No to teraz tak: Do For R = 0 To 255 Pwm1a = R Waitms 4 Next R For B = 255 To 0 Step -1 Ocr2 = B Waitms 13 Next B For G = 0 To 255 Pwm1b = G Waitms 7 Next G For R = 255 To 0 Step -1 Pwm1a = R Waitms 4 Next R For B = 0 To 255 Ocr2 = B Waitms 7 Next B For G = 255 To 0 Step -1 Pwm1b = G Waitms 10 Next G Loop A z tymi kolorami to przecież żartowałem.
juz udalo sie procesor i zasilacz zyje mam jeszcze takie pytanie jak ustawic rozne czestotliwosci w bascomie dla pwm1a i pwm1b
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)...
Czyli mamy Pwm1a i Pwm1b (od Timera1) , i Ocr1 i Ocr2 (od Timera2)? Dobrze rozumiem?
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...
Dodałem flage, tylko problem w tym że po wywołaniu procedury "zmieniaj" pozostaje w pętli i tak jakby przerwanie nie dzialało: Sub Zmieniaj(_odd As Integer , _doo As Integer , _delayy As Integer) Pwm1b = _odd Do If Kasowacz = 1 Then Exit Sub Incr Pwm1b Waitms _delayy If Pwm1b = 255 Then Pwm1b = 0 Loop End Sub
Tylko proszę mi podpowiedzieć, czy dobrze rozumiem nazwy kanałów i ich timerów Timer0 - Pwm0 Timer1 - Pwm1a, Pwm1b Timer2 - Ocr2
Najprosciej mowiac PWM to wyjscie na pinach PB1 i PB2 Do tych wyjsc mozemy zapisywac wartosc PWM ktora bedzie sie zawierac miedzy 0 a 254 , Dzieki temu mozna regolowac predkosc silnika DC w prosty sposob, np za pomoca tranystora NPN bez wiekszej komplikacji ukladu moze to byc np TIP122 co do progamowania ten kawelk kodu pokazuje jak zaprgoramowac PWM...
Mega16 posiada 4 kanały PWM, w Bascom bez problemu obsługuje się OC1a i OC1b (pwm1a i pwm1b) schody zaczynają się przy OC0 i OC2. OC0 jest na Timer0 i wykorzystując rejestry idzie coś zrobić ale OC2 - jak to obsłużyć.
2313 posiada sprzętowy PWM, tyle tylko, że jest on jednokanałowy, tzn. nie ma rejestru pwm1b. Można to sprawdzić w nocie katalogowej.
Troche nie do końca sprecyzowałem swoje pytanie. Doczytałem się w nocie katalogowej o tych wyjściach PWM OC2 i OC0 tylko nie wiem jaką instrukcją w bascomie sie je uruchamia, ponieważ wyjścia OC1A to Pwm1a= zmienna, a OC1B to instrukcja Pwm1b= zmienna, ale nie wiem jak napisać te pozostałe.....
Włącz przerwania " Enable Interrupts " i możesz sprawdzić zamienić "OCR1B = 100" na " PWM1B =100 " Z ciekawości sprawdzę na attiny85 jak wrócę.
wejście jest sterowane minusem. Po napisaniu coś takiego, układ działa ale po za tym że nie czeka 1 s i nie przechodzi do Pwm1b = 100. Bardzo bym chciał by po trzymaniu przycisku PWM wysterował się na wartość 800 a po upływie 1 s wysterował się np. na 100. Ten stan pwm = 100 będzie trwał tak długo kiedy będzie wciśnięty przycisk Pind.7. Ale kiedy będzie...
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down, prescale 1 przy konfiguracji musisz dodać opje "prescale" w helpie tego nie napisali ale jak jej nie dodasz to ci pwm nie ruszy start timer1 i zadajesz wartosć wypełnienia np. Pwm1a = 100 Pwm1b = 200 i smiga
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]
Na 100% działa: Dim I As Byte I = 0 Do If PINB.1 = 0 Then If I < 255 Then Incr I Else If I > 0 Then Decr I endif Pwm1a = I Pwm1b = I Waitms 100 Loop Dodano po 2 $crystal = 8000000 Config Pinb.3 = Output Config Pinb.4 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1 Dodano po 3 I oczywiście...
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ę...
Nie potrzebnie są wpisane Pwm1b i Ocr2. Brakuje Do i Loop, ale w programie było. No i raczej waitms 4 tutaj nie pasuje:-)
witam po pierwsze pd4 (oc1b) i pd5 (oc1a) to 2 osobne PWM'y. strujesz nimi z bascoma poprzez PWM1A i PWM1B. teraz OC2 to też wyjście PWM a dlaczego bascom go nie rozumie to nie wiem. być może w nowszych wersjach został oto poprawione. można też skonfigurować go ręcznie wpisując wartości do rejestrów. polecam notę katalogową tam jest wszystko pisane....
Praktycznie to ujmując to tylko fragment kodu [syntax=basic4gl] If Pwm1b = 0 Then Portd.1 = 0 If Pwm1b = 50 Then Portd.1 = 1 If Pwm1b = 50 Then Portd.2 = 0 If Pwm1b = 100 Then Portd.2 = 1 If Pwm1b = 100 Then Portd.3 = 0 If Pwm1b = 150 Then Portd.3 = 1 If Pwm1b = 150 Then Portd.4 = 0 If Pwm1b = 200 Then Portd.4 = 1 If Pwm1b = 200 Then Portd.5 = 0 If...
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...
...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".
Prawdopodobnie to jest prawidłowa konfiguracja. Jak przyjdą atmegi8 to sprawdzę. $regfile = "m8def.dat" $crystal = 12000000 Baud = 19200 Config Pinb.1 = Output Config Pinb.2 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Pwm1a = 50 Pwm1b = 50
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...
Piszę ten post szybko przed szkołą, więc jeśli się wyrobię wstawię schemat, jeśli nie, to po szkole. Postanowiłem zrobić pierwszy eksperyment z mostkiem h. Zakupiłem więc 2 sztuki L293d. Spiąłem układ według schematu narysowanego w zeszycie, i napisałem program. Efekt - nic. Żadnej reakcji. Sprawdzam ręką, Atmega zimna, mostek wytwarza trochę ciepła....
Witam wszystkich ponownie! Czytałem o konfiguracjach timerów, coś tam liznąłem :) Mam problem bo timer1 chciałbym wykorzystać jako PWM, ale miałby on stopniowo rozjaśniać diodę utrzymywać ten stan (do tego momentu proste..) a potem ŚCIEMNIĆ. Problem jest w tym czy to da się na 1 pinie Timera1 (konkretniej mam podpięte pod Pwm1b). Helpy nic o tym nie...
Witam mam problem ze stworzeniem 4 kanałów pwm na attiny2313 w bascomie zrobiłem pwm1a i pwm1b na Timer 1 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64 ale niestety nie wiem jak sie zabrać za pwm0a i pwm0b ? gdy dodaje linijkę Config Timer0 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare...
Czy ktos ma jakis pomysl aby napisac program do sterowania dioda rgb poprzez pwm na attiny2313 tak a zeby byly 3 kanaly? bo swoja przygode z pwm wlasnie zaczynam i mam drobne problemy. jak z osobna sterowac kazdym kolorem. ' $sim Config Portb = Output Config Portd = Input Config Portb = Output Dim I As Integer Config Timer1 = Pwm , Pwm = 10 , Compare...
Dzinx Zaraz się zabieram za Twojego help'a ;) Już - stestowane : Dodano po 31 $regfile = "attiny2313.dat" $crystal = 8000000 Config Portb = Output 'Portb = 0 Config Portd = Input Portd = 0 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8 Start Timer1 Config Timer0 = Pwm , Prescale = 8 ,...
Witam kolegów Potrzebuję rozwiązać problem z Atmegą 328 i wyjściami PWM Chce zaprzęgnąć wszystkie 6 PWM-ów PWM1A i PWM1B działają bez problemu z Timer1 Ale wszelkie nastawy chociażby z Timer2 i OCR2a i 2b są błędne Czy ktoś posiada tylko ustawienia sprawdzone przetestowane w bascomie dziękuję Grzesiek
Jak sama nazwa wskazuje przy konfiguracji Timer1 masz compareA i compareB. Czyli masz dwa rejestry porowniania które zmieniaja odpowiednie nogi procesora czyli pwm dla tego tajmera są dwa A i B. Noga procka OC1a pierwszy PWM (kanał) i OC1B drugi. Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'regulacja...
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....
Czesc Tak naprawde to wystarczy, żebyś skonfigurował timer1 jako pwm: Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down W tym momencie masz 2 pwm sterujesz w ten sposób: pwm1a=wartość od 0 do 255 pwm1b=wartość od 0 do 255 Podpinasz np. leda do portu gdzie jest opisane OC1A i drugiego gdzie jest OC1B...
Aż se na płytce złożyłem ten układ i program sprawdziłem. No i faktycznie świeciło na stałe. Do poprawienia były bzdety. Wklejam jeszcze raz, przetestowany i na 100% wszystko działa jak chciałeś [syntax=basic4gl] $crystal = 8000000 'Deklaracja częstotliwości kwarcu $regfile = "attiny2313.dat" Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A...
jakis przyklad jak to zrobic nie tacąc tej regulacji jaka daje mi T1? Edit: Lol - po 3 piwach dostalem przeblysku... $regfile = Mega32.def $crystal = 20000000 '20MHz Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Dim T1 As Integer Dim Licznik As Integer Config Portd = Output T1 = 1 Do Pwm1a = 1...
Witam. Z PWM nie mam zbyt wielkiego doswiadczenia aczkolwiek wydaje mi sie ze PWM nie dziala na pinach ktore sobie sam ustawisz tylko na pinach OC1A i OC1B. Mam dla ciebie program do obslugi PWM ktory miga diodami LED. $regfile = "m16def.dat" $crystal = 8000000 Config Pind.4 = Output Config Pind.5 = Output Config Timer1 = Pwm , Pwm = 8 , Compare...
Witam. Mam problem z porgramemem w Bascomie, Do tej pory wszystko działało poprawnie aż do poewnego momentu zaczeły sie jakies anomalie. Mianowicie, program nie reaguje na zminanę na porcie A w podprogramie zamkanie_awaryjne, zamykanie i otwieranie, gdy wciskam przycski i wysyłam stam przez RS232 to odczytuje poprawnie ale w Do Loopp Until Kpz=1 nie...
Poczytaj tematy i uzyj szukaj. Attiny2313 nie posiada adc wiec potencjometrem nie dasz rady tego sterowac. Domyslam sie ze robisz do w bascomie. Tu masz kawalek kodu jak konfigurowac timery zebys mial 4 pwm. '******* procek ******* $regfile = "attiny2313.dat" $crystal = 8000000 $hwstack = 30 $swstack = 30 $framesize = 30 '****** dioda R/G...
Czyli programowy PWM z multipleksowaniem ? Mam mniej więcej tak jak poniżej. Wyciąłem zbędne zmienne i pierdoły: Ale chciał bym by ten program był razy 4. Czyli 4 wejścia i sterowanie 4-ma paskami RGB [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Portd.7 = Input Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output...
Witam Zapewne pytanie podyktowane jest moją niewiedza ale zadam je :( Chce sterować 2 kanałami PWM na końcówce.OC1A i OC1B w ATtiny 2313 Napisałem to w ten sposób (analogicznie jak wcześniej dla jednego kanału) $regfile = "2313def.dat" $crystal = 4000000 Config Portb = Output Config Portd = Input Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm...
oj przepraszam chodziło mi o 5 kanałow, i czy wartośc modulacji pwm mam wpisywać po Pwm1a=...?? Pwm1a = 128 Pwm1b = 128 Compare2 = 128 ///i czy tutaj ma być Compare czy pwm analogicznie dotego wyżej (np pwm2a i pwm2b) ?? Pwm3a = 128 Pwm3b = 128
Mam pytanie jak skonfigurować timer0 który jest 8 bitowy aby pracował jako generator PWM ? Mam coś takiego: $regfile = "attiny2313.dat" Config Portd = &B1111100 Portd = &B1111111 Config Pinb.3 = Output Config Pinb.4 = Output Config Pinb.2 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale...
np Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1 Config Timer0 = Pwm , Prescale = 1 , Pwm = On , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja Timera Config Timer2 = Pwm...
a spróbuj zmienić z "Clear Up" na "Clear Down". wtedy będziesz miał 0Mocy dla 0 wpisanego do rejestru PWM. a moze pomyliłeś coś na zewnątrz chipa ??
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...
Witam Mam taki oto problem do rozwiązania. Do Atmegi8 do wyjść OC1A, OC1B oraz PB3 podpięta jest trzywejściowa bramka "OR" (4075). Wyjścia OC1A oraz OC1B pracują jako PWM, natomiast wyjście PB3 przyjmuje stan wysoki lub niski w zależności od potrzeby jako kluczowanie bramki "OR". Sygnały z wyjść OC1A oraz OC1B są doprowadzone w układzie do oddzielnych...
Witam ma problem przepisałem z książki program "Programowanie AVR w języku Bascom" Marcin Wiązania Listing 8.5 REGULACJA JASNOŚCI ŚWIECENIA DIODY LED ZA POMOCĄ PWM . Przy kompilacja wywala mi jakiś błąd może ktoś to składał ? Prosił bym o pomoc bo muszę do szkoły coś zmajstrować a bez tego ani rusz był bym wdzięczny POZDRAWIAM ! http://obrazki.elektroda.net/14_12578811...
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...
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...
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...
Witam ponowne, Kupiłem LCD i mam z nim problem ciągle świeci. Nie wyświetla mi nic co mu puszcze z BASCOM'a. Już wyczytałem aby wyłączyć JTAG'a i też nic. Domyślam się że może być coś z kontrastem ale nie wiem na 100%. Może zrobiłem błąd podczas projektowania płytki z uC tam gdzie jest bramka która steruje kontrastem poprzez sygnał PWM... Nie wiem...
Witam Dla mnie ten kod nie jest nazbyt dobrze napisany, przyczyna leży w złym algorytmie. Nie wiem jak dla innych. Wg mnie kod powinien być napisany wg następującego schematu. 1. Sprawdzasz czy masz wciśnięty przycisk jeżeli tak to czekasz ok 50ms i sprawdzasz ponownie. Jeżeli po ponownym sprawdzeniu na porcie jest 1 to znaczy że było to jakieś zakłócenie...
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...
Chciałbym zrealizować sterowanie diodą led rgb. Atmega8535 ma w sumie 4 kanały PWM Na razie udało mi się wykorzystać tylko jeden kanał pwm z zegara t1. Ale sterowanie dioda rgb nie było dokładnie takie jak chciałem. Ogólnie chciałem zrobić tak aby móc wybrać kolor w standardzie rgb (czyli dla każdego segmentu wartość od 0 do 255). jednak uznałem, że...
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 =...
[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...
chcialem zrobic sterowanie dioda rgb za pomoca 3 wyjsc pwm i tu jest problem bo chyba w bascomie nie mozna ustawic timer2 jako pwm za pomoca: config timer2 = pwm, pwm=8, compare a pwm= clear up" dlatego sam starem sie ustawic reczenie rejestry wedlug: http://www.atmel.com/dyn/resources/prod_... , ale cos mi nie idzie i prosze...
Witam Odświerzam temat bo mam pytanie związane z nim. To co podał mi (at)WOBI działa świetnie. Czy jest możliwe rozbudowanie tego programu tak aby drugie wyjście OC1b działało podobnie jak OC1a tylko z inną częstotliwością W programie jest: Config Timer1 = Timer , Compare A = Toggle , Compare B = Disconnect , Prescale = 1 , Clear Timer = 1 pomyślałem...
na początek mam takie coś : $crystal = 8000000 $regfile = "m8def.dat" Dim Wartosc As Word Dim Wartosca As Word Config Timer1 = Pwm , Pwm = 10 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'Konfiguracja Timera Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc do Wartosc = Getadc(0) If Wartosc...
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...
Witam, właśnie mam problemy z właściwą rozdzielaniem funkcji i programy mi nie śmigają. Program nadajnika: Do If S5 = 0 And S4 = 0 Then Komenda = 1 Print Komenda ; Moc End If If S6 = 0 And S3 = 0 Then Komenda = 2 Print Komenda ; Moc End If ... Założenie jest zrobienie komunikacji między 2 mikrokontrolerami przy użyciu modułów BTM-222. Moduły skonfigurowane...
Witam serdecznie! Chciałbym poprosić o pomoc w znalezieniu rozwiązania takiego problemu: ATmega32 zawiera w sobie 3 timery . Aby się dobrać do timera 1 trzeba użyć np. składni pwm1a lub pwm1b, tymczasem piny pb.0 i pb.1 są w dokumentacji oznaczone jako kolejno timer0 i timer1, czy da się na nich zrobić PWM , jak się do nich dobrać? Z góry dziękuję :)
Witam Mam problem z ustawieniem PWM na attiny2313 + L293D dla silników. Czy ustawie pwm1a = 255 czy pwm1a = 100 to silnik i tak kręci się z maksymalną prędkością. Pin 1 z L293D podłączyłem pod 16 pin attiny2313, a pin 9 z L293D podłączyłem pod pin 15 w attiny2313. $regfile = "attiny2313.dat" $crystal = 1000000 Config Timer1 = Pwm , Pwm = 8...
Witam wszystkich. Zaczynam programowanie w bascomie i mam już na starcie małe problemy. Mam książkę "programowanie mikrokontrolerów AVR w języku bascom" czytam właśnie temat o generowaniu sygnału PWM i pisze program z ksziążki listing 8.5. Zbudowałem sobie zestaw uruchomieniowy z2avr (taki jak w książce) wgrałem ten program a PWM nie działa nie wiem...
Witam mam taki mały problem z tym kodem... Nie wiem za bardzo jak do tego podejść. Działanie: 1. Przytrzymaj kilka sekund Przycisk - Wtedy uruchamia się procedura rozjaśniania. 2. Gdy puścimy przycisk i znowu naciśniemy, bądź przytrzymamy procedura rozpoczyna się od nowa czyli przyciemnianie i rozjaśnianie ... A powinno być tak: 1. Aby po przytrzymaniu...
heh, akurat masz procka którego sam posiadam. ma on 2 wyjścia pwm i nimi właśnie steruję silnikami. PWM'em kwantuję sobie sygnały enable w układzie L293D + 4 wyjścia do sterowania lewo-prawo. Aby używać przerwań w procku wystarczy w bascomie: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1 potem...
masz tu kod przepsiany z ksiazki "programowanie mikrokontrolerow avr z jezyku bascom" dla procesora atmega8. Jedna dioda bedzie sie zapalac, druga gasnac. $regfile = "m8def.dat" $crystal = 8000000 config pinb.1= output Config Pinb.2 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up , Prescale =...
$regfile = ? 'procek $crystal = ? ' oscylator Config Pinb.1 = Output Config Pinb.2 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Dim I As Byte Dim J As Byte J = 255 Do For J = 0 To 6 For I = 0 To J Pwm1a = I Waitms 4 Next I For I = J To 0 Step -1 Pwm1a = I Waitms 4 Next I For I = 0 To J...
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...
Ja osobiście jak narazie pisze w Bascomie. W Bascomie wygląda to tak: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 ' Konfiguracja Timera1 dla Pwm1a i Pwm1b Config Timer2 = Pwm , Async = Off , Pwm = On , Compare Pwm = Clear Down , Prescale = 1 ' Konfiguracja Timera2 dla Ocr2 Config Pinb.3 = Output...
Witam Potrzebuje pomocy w napisaniu programu dla Atmega32 w Bascom Mam prosty układ w którym podanie masy z przycisku na pin PC0 (PINC.0) powoduje sofstart na PWM1A (PD5) od 0 255 i po softstarcie PWM1A pozostaje na wartosci 255 aż do puszczenia przycisku na PINC.0. Natomast podanie masy z przycisku na pin PC1 (PINC.0) podowduje taki sam efekt ale na...
$regfile = "m8def.dat" Dim Wartosc As Word ... .. ... Do Wartosc = Getadc(4) If Wartosc > Pwm2 Then Waitms 1 Incr Pwm2 Elseif Wartosc < Pwm2 Then Waitms 1 Decr Pwm2 End If .... niby nie ma błędów tak $crystal = 8000000 $regfile = "m8def.dat" Dim Wartosc As Word Dim Zadany As Word Config Timer1 = Pwm , Pwm = 10 , Prescale...
Witam, Wiem, że może to nie najlepszy pomysł, aby zakładać taki temat, ale chciałbym zrozumieć pewne rzeczy dotyczące bascoma i jego instrukcji, mam nadzieję, że ktoś będzie miał ochotę pomóc. Mianowicie : [syntax=Bascom]$regfile = "m8def.dat" $crystal = 1000000 'Konfiguracja przetwornika analog-cyfra (ADC) Config Adc = Single , Prescaler = Auto 'Konfiguracja...
Witam. Jestem początkujący jeżeli chodzi o mikrokontrolery. Chciałbym prosić kogoś bardziej doświadczonego o sprawdzenie poprawności mojego programu. Działanie: Sterowanie 3 silnikami BLDC i 1 serwo za pomocą PWM. uC otrzymuje przez UART literę oznaczającą funkcję, następnie ma ją zrealizować. Silniki podłączone będą przez regulatory modelarskie, a...
Ja też dotarłem do tego helpa :D . Nie chodzi mi o konfigurację poszczególnych timerów, tylko o korzystanie z nich w programie. Tak się składa, że po skonfigurowaniu timera 1 jako generatora PWM, aby z niego korzystać wystarczy w programie wpisać na przykład pwm1a=10. Ta komenda daje (w przypadku na przykład działania 8 - bitowego) współczynnik wypełnienia...
pozmieniałeś nieco moje fragmenty, i dlatego nie działa dobrze. oto gotowy kod według mojego pomysłu i w miarę prosto. Pętla główna pusta. Testowałem na atmega644p i działa jak należy. Przeanalizuj różnice między swoim a moim kodem i zobaczysz dlaczego nie działało $regfile = "m644pdef.dat" $crystal = 16000000 '$baud = 9600 Config Timer1 =...
Witam proszę o sprawdzenie oraz prze kompilowanie programu program nie jest mój tylko został przerobiony na moje potrzeby. Przy portach adc jest 5 pinów jednak wykorzystam tylko ADC4,ADC3,ADC2 Schemat: http://obrazki.elektroda.pl/2618172200_1... Program: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 16000000 'Konfiguracja przetwornika...
Witam. Nadmieniam, że czytałem już kilka wątków i stosowałem metody rozwiązania problemu, jednak nie pomogło mi to;/ Do rzeczy - buduję samochodzik zabawkę, sterowany pilotem w kodzie RC5. NIestety bezskutecznie. Odbiornik podczerwieni - tsop1736, zasilanie podpięte przez szeregowy rezystor 220omów i kondensator 100u. W pierwotnej wersji, wyjście odbiornika...
Witam, chciałem napisać prosty program w bascomie do sterowania oświetleniem w moim samochodzie. Chodzi o to aby po otwarciu lewych drzwi zaświeciła się od dołu biała listwa LED ma ona jednak robić to powoli dlatego korzystam ze sterowania PWM. Chodzi jednak o to że jak lewe drzwi to lewa listwa jak prawe to prawa. Napisałem program jak niżej: Do If...
Witam. Jak wczytać zamiast wartości I (For I = 0 To 255), elementy tablicy i nimi wysterować wypełnieniem? Tab1: Data 94 , 61 , 115 , 13 , 97 , 127 , 73 , 79 , 127 , 127 , 119 , Data 107 , 127 , 95 , 89 , 64 , 255 , 65 , 0 , 100 , 90 , 65 , 60 , Data 127 , 125 , 60 , 70 , 80 , 0 , 65 , 90 , 65 , 0 , 78 , 63 , 10 , Data 3 , 10 , 28 , 15 , 60 , 127 ,...
No to popróbuj jeszcze :-) Ja tylko tak, aby sprawdzić, napisałem coś takiego: '---------------------------------------... ' ' RC5.bas ' '---------------------------------------... '$sim 'jen pro simulaci $regfile = "Attiny2313.dat"...
Witam, Mam ATmege16 i chce zrobić zegar RTC. Mam podłączony wyświetlacz LD 16x2 i mam taka opcje steruje podświetleniem poprzez sygnał PWM1b Ogólnie mój kod wygląda tak: $regfile = "m16def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0...
No i jeszcze którą wersję Bascoma używamy. Przyznaję się bez bicia że wersji 1.11.9.3 nie sprawdzałem jeszcze dla Attiny2313 PWM i start timer... W wersji 1.11.9.1 to wszystko idzie w krzaki...
Witam, jestem totalnym amatorem więc proszę o wyrozumiałość :) Potrzebuję wysterować obrotami silnika oraz kierunkiem małego silniczka (5V, do 200mA). Wszystko jest podłączone wg, schematu w załączniku. Program w bascomie: $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Lcdpin = Pin , Db4 = Portd.2 , Db5...
Prośba o sprawdzenie kodu , dokładnie chodzi czemu nie działa PWM . Zmiana jest dokonywania przez Bluetooh , z aplikacji . Wysyła kody ASCII wysłanie kodu nic nie zmienia. Aplikacja działa poprawnie , wysyła kody cyfrowe od 0 do 9 i PWM 100% litera q . [syntax=vbnet]BLUE VEHICLE BY JARO ©2015 '---------------------------------------...
Witam, Mam już nadzieję że temat w odpowiednim miejscu :| Zamierzam zrobić robota, który będzie omijał przeszkody. Mój problem polega na jednym warunku. Oto program: $regfile = "m8def.dat" $crystal = 1000000 Config Adc = Single , Prescaler = Auto Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear...
Witam po przerwie! Wasze rady znacznie uprościły algorytm za co szczerze dziękuję. Liczę na Waszą pomoc i w tym problemie. Otóż idąc za ciosem chcę w określonym co najważniejsze RÓŻNYM przedziale czasu korzystać ze zmiany jasności LEDa w tym okresie czasu i robić zmierzch korzystając z PWM. Problem w tym, że nie chcę zakłócać pracy programu głównego...
Witam kolegów proszę o pomoc ,jak sterować wyjściami PWM dla kanałów od 3 do 6 ? wiadomo że pwm1a i pwm1b to pierwsze dwa kanały , a co z następnymi ?? Bogdan
Witam wszystkich fachowców, Z programowaniem uC w języku Bascom dopiero zaczynam wiec bardzo proszę o wyrozumiałość. Chodzi mi o wstawienie obsługi przycisku. Całość ma działać w następujący sposób -jeśli wciskam i cały czas trzymam przycisk, podając stan niski "0" na pind.1, to zaczyna działać pierwsza część programu. Natomiast w momencie kiedy puszczam...
pwm1b attiny2313 bascom projekt bascom bascom bascom enkodera
wymiana śmigła integra szyna ekspander indukcja rdzenia
Jak zaprogramować pilot do alarmu Enigma? Wpływ inwertorów na działanie rozruszników serca