Program w tej formie jaką zamieściłeś zaraz po zainicjowaniu zmiennych i sprzętu wchodzi w warunek "If Timer1" nawet bez wywołania przerwaniem. Później zdejmie coś ze stosu, albo przeleci się po pustym flash`u i zacznie od początku. Żeby w ogóle to zaczęło coś robić to powinieneś po Start Timer dodać, jakąś pustą nawet, pętlę "Do : Loop" Wtedy w pętli...
Witam... i temat zamykam :-) Zastosowałem jednak obsługę enkodera na przerwaniu Int1. Jedno z wyprowadzeń podpiąłem pod Int1, przerwania ustawiłem na wyzwalane opadającym zboczem a w samym przerwaniu sprawdzam co jest na drugiej "nodze" enkodera i zmniejszam lub zwiększam wybraną daną a którą wiem po indeksie zmienianym w petli głównej do loop. W przerwaniu...
Witam Pisalem kiedys program do sterowania robotem (manipulatorem ) w bascomie. Zliczal on miedzy innymi impulsy z 3 enkoderow. i wszystko ladnie chodzilo: Fragment kody ktory zlicza impulsy z 3 enkoderow: //enkoder 1 Enk1_a Alias Pinb.0 Enk1_b Alias Pinb.1 //enkoder 2 Enk2_a Alias Pinb.2 Enk2_b Alias Pinb.3 //enkoder 3 Enk3_a Alias Pinb.4 Enk3_b Alias...
witam! To niestety nic nie daje, bo właśnie o to chodzi aby podczas wykonywania przerwania od timer2(enkoder), gdy Timer0 się przepełni, procesor powinien zawiesić przerwanie (enkoder) i przejść do obsługi przerwaia od Timer0(czekaj).
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Witam, w moim projekcie wykorzystuje enkoder, ale żeby przejść do następnego podprogramu, potrzebuję przycisku. W tym problem, ze używam instrukcji encoder() Próbowałem obsługiwać przyciski w pętli w której znajduje się ta instrukcja, ale w tym problem że stopuje ona całą pętlę, aż do przekręcenia enkodera. Dobra, przeszedłem na timer0, ale timer0 też...
Witam! Po napisaniu takiego programu: dim a as string * 30 do a = input() id a<>"" then print a end if loop end wysyła mi kontroler wszystko co otrzyma ale gdy cała zmienna się zapełni to więcej nic niewyła i transmisja zatrzymuje się. Jak więc czyści się zmienne typu string?
Witam. Tak jak pisałem powyżej w temacie. Problem jest z encoderem, tego typu, iż w jedną stronę ( dodatnią, gdy dodaje głośności ) działa "znośnie" dobrze, lecz w drugą, gdy kręcę ( szybko ) normalnie, dodaje 2 kroki, i odejmuje jeden, a kiedy powoli kręcę, to odejmuje cały czas, czyli działa normalnie. Jest to strasznie denerwujące. Właśnie wymieniłem...
Witam,mam następujący problem.Potrzebuje obsłużyć 2 enkodery instrukcja encoder program narazie wygląda tak : $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portb.5 , Rs = Portb.4 Config Lcd = 16 * 4 Config Pind.0 = Input...
Witam, Zacząłem pisać program na atmege8 w bascomie, do sterowania preampem tda8425 przez enkoder, wyświetlając to wszystko na LCD póki co 8x2. Program jest w fazie powstawania, ale mam kilka pytań co sądzicie o moich rozwiązaniach i czy tak w ogóle może być? Enkoder obsługuję przez INT0 i INT1, zbocze opadające. Jeśli wejdzie w procedurę przerwania...
Teraz to już nie wiem co Ty chcesz stworzyć , gotowy projekt na LM7001 http://sq1ftb.prothost.pl/articles.php?a... z którego chyba korzystasz , rozumiem że chcesz w inny sposób wprowadzać zmiany częstotliwości ale nie możesz do tego używać portu C na którym masz LCD , Port D.2 , D3 to enkoder wykorzystujący przerwanie . Masz gotowy projekt wystarczy...
Napewno masz rację bo na 51 tak miałem niestety prawie 5 lat temu. Teraz już szkoda się bawić w 51 dlatego padło na AVR - zestaw uruchomieniowy na ATmegę128 ma znajomy dlatego padło na 128 (swój mam dopiero nabyć). Będę pisał w BASCOM-ie bo już w nim pisałem. Samo napisanie raczej nie będzie problemem bo pisałem już w kilku językach ale prosiłbym Cię...
W obu programach masz błąd. W pierwszym: Akurat kod tu nie ma wiele wspólnego zrobiłem to na dwa sposoby i za każdym razem inne wyniki Widać że jednak ma. Chyba to rozgryzłem Proszę mnie poprawić jak się mylę No teraz by było. Przerwanie Int nie dzieli przez 256 więc masz przerwanie co impuls. Tylko po co później to: [syntax=basic4gl]Lj = Li / 250[/syntax]...
Pogubiłem się całkowicie :D Kolego rakuś - czytać, czytać, czytać .... , czyli stosować się do własnych rad :D . Nigdzie nie jest napisane, że timer generuje przerwanie co 15 cykli zegara - napisane jest, że samo wejście i wyjście do/z obsługi przerwania zajmuje ok. 15 cylki zegara. Nigdzie też nie jest napisane, że mam dysleksję :D, chociaż nie twierdzę,...
Witam, analizator zobaczył tylko ja specjalnie to zwęziłem żeby było widać zarys całego przebiegu,. Teraz tez już wiem, że pomysł stosowania przerzutnika D jest raczej bezcelowy. Bo i tak w programie trzeba sprawdzać stan na pinie kierunku. Oczywiście najlepszym rozwiązaniem jest zastosowanie bramek z histerezą. Jest jednak jeszcze druga kwestia, a...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '***************************************... '-------------------- konfiguracje ----------------------------------------... $regfile...
Kursor jest zawsze na 1,1 i tylko piszesz LCD... Ale... W programie kiedy kręcisz enkoderem i coś ma sie zmienić to na końcu piszesz Call Odswiez_lcd a sub sam okresla co bedzie wyswietlał Użyłem zmennej refresh, jeśli 1 to ma wyświetlić, a to "home" mam ustawić tak jakby przed warunkami case, tak? Zrobiłem właśnie tak i teraz jest świetnie! Nic nie...
na wejścia podłączony jest enkoder(pierwszy zrobiłem z myszki komputerowej) w zależności na którym wejsciu pojawi się pierwszy impuls to przerwanie jest obsługiwane jako pierwsze . może cos z tego skorzystasz. obsługa przerwań jest na dole Dodawanie: i Odejmowanie:. Ale Panowie litości w krytyce to jest mój pierwszy program w Bascomie. Tak się złożyło...
Mi to encoder wogóle nie chodził przy zastosowaniu polecenia z bascoma (encoder)... Rozwiązałem ten problem używająć przerwania: Getecounter: 'Wywołane przez przerwanie zboczem opadającym Waitms 4 If Pind.2 = 0 Then If Pinb.4 = 0 Then Decr Ecounter Else Incr Ecounter End If Return
Zmiana bramki z 74hc20 na 74hc21 powinna załatwić sprawę. Oczywiście pod warunkiem że wszystkie wejścia enkodera są po włączeniu w stanie wysokim.
Wystarczy ustawić sprzętowe przerwanie int0 np narastającym zboczem kanału A - w momencie przerwania sprawdzić stan kanału B enkodera i stosownie do jego stanu zmniejszyć lub zwiększyć stan licznika o 1.
Nie wiem jak napisać przerwanie aby w kółko się nie wykonywało jak jest stan niski. Po prostu konfiguruje się przerwanie inne niż LOW LEVEL. Domyślnie jest low lewel dlatego mam podejrzenie że bascom coś namieszał i nie zmienił. Spróbuj też dodać jakiś mały kondensator, może jakieś szpilko się pojawiają i zlicza Ci dodatkowe impulsy.
No są dwa zwykłe przerwania INTx. A przy odrobinie szczęścia można jeszcze wykorzystać przerwanie od komparatora, przerwanie ICP i przerwania do Timerów. Ale od razu mówię że najlepiej by było to napisać w assemblerze (samą obsługę przerwań). Nawet jeżeli wykorzystasz tylko przerwania INTx. Na szczęście będzie to proste.
Witam po wakacyjnej przerwie Cena zasilacza nie była zbyt wygórowana, zwłaszcza że trafo było zdobyczne spora część podzespołów została zamówiaona jako free sample. Lekko kalkulując faktyczny koszt zamknął się w granicach 300 PLN. Najdroższe były płytki, ale byłem ograniczony rozmiarami obudowy. Można pokusić sie o druk jednostronny i będzie taniej....
Witam szanownych forumowiczów. Zwracam się do Was z problemem przy moim urządzeniu do mierzenia ilości gazu powstającego w procesie chemicznym. Otóż potrzebuję odmierzać stałe odcinki czasu np. jednosekundowe do określania przepływu, ale timer 16bitowy mam niestety zajęty a pozostałe 8bitowe zgłaszały by mi przerwanie zbyt często a procesor otrzymuje...
to polecenie encoder z bascoma nadaje się wyłącznie do enkodera takiego jak w radiach samochodowych itp. przy powolnym kręceniu, przy takim szybkim enkoderze nie reaguje prawie wcale, a w kazdym razie liczy głupoty... :) ,więc mozna go sobie podarować. sprawdziłem odmierzanie czasu 100ms na timerze i jest zdecydowana poprawa ,ale i tak od 1000obr/min...
Witam ! Dzięki wielkie za porady, po pierwsze przeniosłem cały program do pętli głównej i timera0 już nie używam, Właczyłem tryb CTC i nim pięknie generuję częstotliwość. Ale niestety w toku dalszych prac pojawił się następny problem. otórz w układzie potrzebuję wykorzystać jeszcze przerwanie od INT0 http://obrazki.elektroda.net/59_12685081...
Łap. Naciskając przycisk enkodera wybierasz czy ustawiasz sekundy czy minuty. Mikrokontroler przykładowy żeby tylko kompilator błedy sprawdził. Podstaw swój i swoje wyprowadzenia. [syntax=basic4gl]$regfile = "m328pdef.dat" ' config for encoder_switch Config Portd.4 = Input : Przycisk Alias Pind.4 : Portd.4 = 1 ' config for encoder Config Portd.2 = Input...
Proszę. Gotowe bo jak widzę kilka If`ów do tej samej zmiennej zamiast Select Case i tym podobne kwiatki... [syntax=vbnet]$regfile = "m32def.dat" $crystal = 11059200 $hwstack = 64 $swstack = 16 $framesize = 64 Const Timeout_time = 8 'x500ms Config Submode = New ' config LCD 2X16 Config Lcdpin = Pin , Rs = Porta.2 , E = Porta.3 , Db4 = Porta.4 , Db5 =...
Witam Posiadam silnik z dołączonym enkoderem i tarczą (z drukarki), steruję prędkością obrotową za pomocą PWM, natomiast przerwanie INT wykorzystuje do zliczania obrotów silnika. Problem polega na tym że zliczanie obrotów silnika bez uruchomionego PWM działa poprawnie, gdy go włączę szaleje (nawet gdy obracam tarczkę palcem). Sygnały od enkodera są...
Witam Piszę sterownik grzałki lutownicy. Sam sterownik wstępnie działa dobrze. Natomiast po wykryciu obrotu enkodera w prawo lub w lewo zwiększam lub zmniejszam wartość zmiennej NASTAWA i wysyłam po UART do komputera oraz wyświetlam na LCD od nokii 3310. Co jakiś czas w wyświetlanym tekście zarówno na komputerze, jak i na wyświetlaczu pojawiają się...
Witam. Po przeszukaniu forum nie znalazłem rozwiązania tego problemu. Napisałem swego czasu procedurkę obsługi enkodera, wszystko było dobrze ale przy ipulsatorze 50imp/obr. i prędkości obrotowej ok.500 obr./min niestety wysypuje się. Mam przeczucie że jej wykonanie trwa zbyt długo.Nie jest może to procedurka najprostsza z możliwych ale jest b.skuteczna...
https://obrazki.elektroda.pl/8025280500_... Witam! Przedstawiam wam w pełni automatyczną domową windę osobową! Jest to mój największy, najbardziej skomplikowany, i najdroższy projekt którym chwaliłem się jakiś czas temu w dziale „DiY w budowie”. (https://www.elektroda.pl/rtvforum/viewt... Na początku...
Witam. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym poziomie ale troszkę oscylują wokół wartości zadanej....
przerwać przerwać bascom bascom przerwać przerwać przerwać bascom
restartuje ładowanie ładowanie r134a agregat lutowanie izolowanych przewodów
signum xenon schemat peugeot boxer
Jak odłączyć pętlę na centrali Shea K? Kiedy zapala się zielona lampka podczas ładowania?