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...
Teraz problem jak "wcisnąć" CLS. Gdy np. "dojadę" do 10, a następnie cofam ostatnia cyfra zostaje. Wystarczy dodać spacje :) [syntax=basic4gl]Lcd A ; " "[/syntax]
Gdzieś na elektrodzie ktoś już podawał fajny mały i szybki programik w BASCOM do obsługi enkodera, który przede wszystkim był naprawdę odporny na drgania i błędne zliczanie - wiem, bo sam go kiedyś sprawdzałem. Działał dokładniej niż gotowa bascom'owa instrukcja. Program był na tyle prosty, że i na C bez problemu byś go przepisał.
Zobacz coś takiego: $regfile = "m328pdef.dat" 'definicja mikrokontrolera $crystal = 16000000 'częstotliwość taktowania mikrokontrolera $baud = 9600 'szybkość transmisji szeregowej $hwstack = 40 'rozmiar stosu sprzętowego $swstack = 40 'rozmiar stosu programowego $framesize = 40 'rozmiar ramki stosu 'Inicjalizacja portów wejściowych i wyjściowych...
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 =...
... niestety nie znalazłem dobrej obsługi enkodera bez używania systemu przerwań (nie pozwala mi na to konstrukcja programu, gdyż innym przerwaniem obsługuję RS'a dla którego bardzo ważne są timingi) Bo dobra procedura enkodera musi być na przerwaniach. Spróbuj pogodzić jedne przerwania z drugimi, np. skracając czas obsługi przerwania do minimum, lub...
masz na myśli obsługę impulsatora komendą encoder w przerwaniu? Szukałem czegoś na ten temat ale odnośnie akurat tego problemu nic nie mogę znaleźć
Siemka! Mam tego typu problem do rozwiązania: Do kontrolera ATmega8 mam podpięty impulsator(encoder) z przełącznikiem w ośce: http://www.semiconductors.com.pl/web/pli... podpięty jest tak: encoder: ATmega8: A PORTD.6 B PORTD.5 E PORTD.4 C,D do masy porty kontrolera podciągnięte są do zasilania przez wewnętrzny pull-up. Oprócz tego każde z wyprowadzeń...
Ponawiam moje pytanko (kiedyś dawno temu zadane) czy ktoś bawił się obsługą impulsatora w bascomi lub bascomie AVR ? Chodzi mi o program który określi kierunek ruchu i prędkość ośki impulsatora. Potrzebne mi to jest do sterowania wzmacniaczem 5.1 własnej konstrukcji.
....Jeden 7400 ustalający czy dodajemy czy odejmujemy, oraz cztery 74193 pozwalają Ci zliczyć dwubajtową wartość. Jeśli do tego dodasz nastawniki BCD, to możesz jeszcze kożystać z sygnału resetującego licznik z enkodera - będzie wtedy liczył do lub od zadanej wartości. .... Idąc dalej w domniemaniach ...... ten cały zestaw o którym wspomniał ucy74...
Ł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...
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...
Fakt, ze jest milion różnych sposobów na zrobienie tego. Ok spróbuję tym sposobem co mi podsunąłeś. W sumie nawet lepiej tak. Dzięki. Dodano po 5 Ok, coś tam skleciłem, jest to niepełny program, bo nie ma w nim np. ustawień dla Mute i trybu, oraz nie pokazuje na LCD wartości, ale to później. Póki co mam dziwny problem z wyświetlaniem, ale o tym za chwile....
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Witam, też aktualnie bawię się impulsatorem na EVB4.3 M32 16MHz. Fajnie działa sterowanie w przerwaniu: http://www.elektroda.pl/rtvforum/topic14... Dołączyłem kondensatory 68 nF równolegle do styków. Na kwarcu 16 MHz nie ma żadnego problemu z liczeniem impulsów w obie strony. Musiałem tylko dokonać modyfikacji kodu ponieważ trafił mi się impulsator,...
Cóż, nie jest to znana mi metoda obsługi enkodera, ale chyba ciekawsza... Natomiast nie widzę tu operacji na przerwaniach.... To prawdopodobnie powoduje błędy, chyba, że się mylę. Ale enkodery to zawsze zagadka dla mnie były więc wiele nie pomogę.. Pozdrawiam.
Akurat takich mam dostatek, jednak nie bardzo rozumiem, jak wykożystac sprzętową obsługę w bascomie W helpie jest opisana funkcja ENCODER(), zatem może warto najpierw te parę zdań przeczytać? W obsłudze przerwania sprawdzasz stan wejść i porównujesz z poprzednim stanem Nie zapominajmy o drganiu styków. Jeszcze nie spotkałem enkodera mechanicznego,...
Nie chodzi mi o to, po prostu przypomniałem, że masz tam link do obsługi enkodera w Bascomie.
Z tym priorytetem to nie do końca jest tak jak myślisz. Dziala to tylko w przypadku jednoczesnego otrzymania sygnału przerwania, natomiast po wejsciu do przerwania od licznika obsługa przerwania z enkodera zostanie zawieszona do momentu ukończenia obsługi licznika. W twoim przypadku w niczym to nie przeszkodzi chyba ze faktycznie enkoder generuje "gęste"...
Witam, gdzie masz obsługę enkodera? Nie widzę żadnej zmiennej LONG zadeklarowanej w programie. Chyba że to nie ten program...
Moja propozycja: Ustaw przerwanie tylko z jednej linii, np. A. Procedura obsługi przerwania: zmienna = zmienna+1 jeżeli B=1 to zmienna = zmienna -2 koniec przerwania
Polecenie encoder jest na tyle powolne ze na pewno procesor nie bedzie reagował na szybkie impulsy...Lepiej napisać swoją obsługę. Opis obsługi enkodera w bascomie [url=http://www.elektroda.pl/rtvforum/to...
Program ma za zadanie sterować silnikiem krokowym z określoną czestotliwością i jednocześnie zliczać impulsy z enkodera. Do obsługi silnika wykorzystuję Timer0, który odmierza mi równe odcinki czasu pomiędzy kolejnymi krokami silnika. Natomiast do obsługi enkodera wykorzystuję Timer2, który po przepełnieniu zgłasza przerwanie i sprawdza stan na wejściach...
Witam ! Mam do skonstruowania układ liczący długość przewody. Do zliczania liczby obrotów koła pomiarowego używam enkodera Kubler Sendix 5000 o rozdzielczości 1000 impulsów na obrót. Enkoder ma wyjście typu Push-pull i będzie zasilany napięciem 19 V (wynika to z konieczności zasilania innego urządzenia takim napięciem). Problem dotyczy podłączenia enkodera...
Enkoder chodzi pięknie bez błędów , to nie w tym problem (obsługa w przerwaniu + kond. 100n do nożek enkod.). Problemem jest sterowanie 2 wyjść (przekaźniki lewo i prawo) z tego enkodera. Nie może następować nawet chwilowe załączenie drugiego przekaźnika w czasie kręcenia w danym kierunku.
(...) W środku znajdziecie też bardzo dobrą bibliotekę do enkodera; może się wam przydać w innych projektach. (...) Nie wiem czemu najczęściej obsługa enkodera to kilkadziesiąt linii kodu. Można to zrobić tak: SIGNAL( INT0_vect ) //Obsługa IRQ od wejścia INT 0 { if ( RdImpB ) IMPdata++; else IMPdata--; } Więcej na serwerze...
Witam. Może ktoś z szanownych forumowiczów spotkał się z programową obsługą enkodera (choć zwią to różnie) - to takie urządzonko przypominające z wyglądu potencjometr obrotowy ale jego oś kręci się w koło a w środku są styki. Jeśli kręci się w prawo to w pierwszej kolejności zwiera styk środkowy z prawym a potem środkowy z lewym i tak dalej. Przy obrocie...
Widze ,że nikt nieumie albo niechce pomóc... Nie jest tak źle , tylko najpierw spróbuj pomóc sobie sam , zaglądając do pomocy Bascoma w kwesti dyrektywy Alias , bo to co Ty uskuteczniasz w kodzie , to ... eh ... :( P3.3 Alias A 'błąd logiczny ;) Dim A As Bit Set A 'ustawia bit w przestrzeni adresowanej bitowo , a nie P3.3 Set P3.3 Co w powyższym...
Uwag miałbym więcej, ale może nie wszystko na raz bo nie ma czasu :D Nie wyświetlaj w kółko tego co ma się pokazywać bo w czasie kiedy będziesz wyświetlał mikrokontroler może coś przegapić. Ogólna zasada jest taka że komendy LCD używa się wtedy kiedy coś ma się zmienić na LCD Po co tyle tego Locate 1, 1 ? Można to zapisać tak: Call Odswiez_lcd a sub...
Witam jestem początkujący w programowaniu i potrzebuję pomocy w napisaniu programu do zliczania osób wchodzących oraz schodzących ze schodów. Docelowo program ten ma być wykorzystany do sterowania oświetleniem schodów. Ma to działać na zasadzie takiej że jak ktoś wchodzi od dołu to zostaje zwiększona wartość jakiegoś licznika a jak zejdzie ze schodów...
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...
Tak czytam i się zastanawiam... Nie wiem kto od kogo pierwszy odgapił czy Bascom z jakiegoś kodu C czy na odwrót bo sposób implementacji tego Slave jest łudząco podobny do jednej noty aplikacyjnej Bascom`a. Dodano jedynie procedurę Search Rom. Dziwi mnie to, że taka "tęga głowa" pisze o odłożeniu 20 rejestrów. Ciekawe czy Kolega próbował ukryć swoją...
Dzięki Dowiedziałem się właśnie, że każdy ciąg znaków string kończy się znakiem 0 i zawsze trzeba przewidzieć o jeden bajt więcej niż potrzeba. Na razie wszystko działa więc ruszam z dalszymi funkcjami. Pozdrawiam wszystkich udzielających się w temacie, gotowe urządzenie ze wszystkimi szczegółami opisuję u umieszczę na mojej stronie. Dodano po 15 W...
Witam Założenia programu są bardzo proste. Jest to cyfrowy licznik metrów taśmy mogący zliczać w przód i w tył. Sygnałami wejściowymi są sygnały A i B z optycznego enkodera inkrementalnego, które są przesunięte w fazie. Wynik ma być prezentowany na sześciocyfrowym wyświetlaczu LED (z multiplexem). Rozdzielczość enkodera wynosi 16 imp/obr. Znamy także...
Witam. Chcę napisać program do obsługi enkodera, problem polega na tym że podczas widzenia się diody nadawczej z odbiorczą program zlicza spora ilość impulsów a chcę aby do zmiennej dodawało tylko +1. Proszę o pomoc. Enkoder podłączony jest bezpośrednio do atmegi i działa, błąd jest w programie. Pozdrawiam http://obrazki.elektroda.pl/2316951800_1...
W samplach Bascoma masz przykład takiego Menu wykorzystującego Addr2 (address to->) Na bazie tego rozwiązania jest do znalezienia na Elektrodzie szkielet menu które łatwo rozbudować za każdym razem o dodatkowe funkcjonalności/podplansze. Nazywa się "Menu by Mundi" Jest też osobny projekt LCD menu designer by Netzman. To Windowsowy programik generujący...
Witam. Ten kod mi się najbardziej podoba ;) ISR (INT1_vect) { _delay_ms(1); u08 tmp = PIND; if(bit_is_set(tmp,3)) { if(bit_is_set(tmp,4)) tact = LEFT; esle tact = RIGHT; } else { if(bit_is_set(tmp,4)) tact = RIGHT; else tact = LEFT; } } Niestety dopiero zaczynam...
silniki od wkrętarek, jak najbardziej ale oczywiście te z przekładnią planetarną przy zasilaniu takiej wkrętareczki napięciem 3V mają kopa i spory moment obr. a co do enkoderów to myslę że można by pomyśleć nad tarczą z przesłonkami od myszki i resztą elektroniki tzn.. tylko nadajnik IR i odbiornik IR o ile się nie mylę to jest to zintegrowany odbiornik...
https://obrazki.elektroda.pl/9867937200_... Witam, Jako że lubię się bawić silniczkami, enkoderami i łączyć to z drugim moim ulubionym elementem - filmowaniem, chciałem pokazać tu mój najnowszy kran kamerowy, który ma mi pomóc w zdobywaniu fajnych ujęć wideo :) Głównym powodem prezentacji jest tak naprawdę sterownik, którego w życiu...
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...
Jak dobrze napiszesz program to nic Ci sie nie zapcha:) Poza tym widze ze chcesz uzyc ARMa wiec tym bardziej nie mial bym obaw. SPrawdzenie stanow dwoch pinow i zwiekszenie badz zmnieszenie jakiegos licznika to kwestia kilkunastu maks kilkudziesieciu taktow zegara, wiec nie obawiaj sie o to. Co wlasciwie chcesz robic poza odczytem z enkodera? Ja na...
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ę...
http://obrazki.elektroda.pl/7114210100_1... Witam wszystkich serdecznie ! Z racji tego, że zbliżają się święta postanowiłem podzielić się z wami projektem elektronicznego drzewka szczęścia. Urządzenie powstało prawie rok temu i było prezentem urodzinowym dla mojej dziewczyny którą serdecznie pozdrawiam !!! :D Założenia do projektu:...
Witam . Napisalem program do obslugi enkodera oraz zalaczania cewek w silniku. Cos nie dziala prawidlowo . Przy niskich obrotach program pracuje prawidlowo pozniej nie dziala dobrze. Czy program jest napisany prawidlowo . Prosze o pomoc. Ponizej zamieszczam program : [syntax=basic4gl] $crystal = 8000000 Config Portb = Output Config Portd = Output Config...
Symulator bascoma podaje czas obsługi przerwania w granicach 20 mikrosek. Przy 1000 obr / min. następne wywołanie przerwania przychodzi przed zakończeniem obsługi poprzedniego . Czy jest możliwa zmiana enkodera (np 500 imp / obrót )
Przykład z BASCOMa Do If Enk_A <> Temp_enk Then If Enk_A <> Enk_B Then Incr Poz Else Decr Poz End If Temp_enk = Enk_A End If Loop gdzie Poz to zmienna przechowywujaca liczbe impulsow, a Enk_A i Enk_B to sygnalyz enkodera
Dlaczego mnie to interesuje? Mimo długiego poszukiwania i dyskusji z kolegami nie uzyskałem "gotowego" rozwiązania na obsługę tego urządzenia. Uzyskane rozwązania miały pewne wady, które przedstawię. Zamówiłem układ AVT-5042 Pewne rozwiązanie. I teraz moje rozwiązanie. Na początek wykres. http://obrazki.elektroda.pl/6548172500_1...
Witam, Czy ten SIMEX to enkoder absolutny czy inkrementalny? Jeśli inkrementalny to wystarczy mikrokontroler z wejściem licznikowym + wyświetlacz LCD + parę innych układów (zasilanie, dopasowanie sygnałów) < 100 zł i moduł gotowy. Wystarczy ci jakiś mały AVR i program w BASCOM (ma zaimplementowane procedury do obsługi LCD i enkoderów :D ) Jeśli to...
Witam Chce zapytać o pewną rzecz a mianowicie o to jak pisać program w którym jest obsługa kilku urządzeń lub czynności naraz ....jesli program jest zamknięty w pętli to nie ma problemu .. powstaje czynność za czynnością ..ale ja chcę by program w tym samym czasie obsługiwał kilka urządzeń np: akcelerometr , enkoder i silnik..jeśli szanowni koledzy...
Potter: Jezeli budowales RC to mysle, ze ze strona mechaniczna poradzisz sobie bez problemow. Jak o elektronice wiesz duzo to tez dasz sobie rade. W sumie do silnikow bys potrzebowal jakis h-bridge (lub gotowy regulator modelarski) a do ramienia najlepiej byloby chyba skorzystac z serw modelarskich (lekkie i dosyc tanie, troche wczesniej byl tu temat...
Mam rozumieć, że układ zliczał prawidłowo, jeśli nie wykorzystywałeś INT0. Jeśli tak, to ja mam taką teorię: enkoder podaję impulsy o częstotliwości 250kHz (impuls co 4us), w czasie 100ms, takich impulsów może przyjść 25000. Z racji że opóźnienie jest programowe, każde wywołanie przerwania INT0, powoduje "wyskok" z procedury waitms (załóżmy że to jest...
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ę,...
obsługa enkodera enkodera bascom bascom enkodera
tyrystor sterowany napięciem paliwa freelander programowanie pilotów alarmu skoda
schemat jednokreskowy hilti udaru
Moment zaczepowy w silnikach BLDC - wartości i wpływ Piszczenie pralki Samsung WW80AA126AX - przyczyny i rozwiązania