Impulsator (Enkoder obrotowy) jest elementem przeważnie stosowanym w układach mikroprocesorowych. Pełni podobną funkcję jak potencjometr w układach analogowych. Zazwyczaj impulsator posiada 3 wyprowadzenia (dwa wyjścia i wyprowadzenie wspólne). Po podłączeniu napięcia zasilania do wyprowadzenia wspólnego podczas kręcenia enkoderem na dwóch jego wyjściach otrzymujemy przebiegi prostokątne przesunięte w fazie o pół okresu. Od kierunku obrotu zależy który z przebiegów ma jeko pierwszy zbocze narastające. Częstotliwość przebiegów zależy od szybkości kręcenia impulsatora a także od konkretnego egzemplarza (ilosć impulsów na obrót). Zawarte poniżej procedury służą do obsługi takiego właśnie enkodera Język Bascom 8051Procedura poniżej współpracuje z impulsatorem podłączonym wyprowadzeniem wspólnym do masy układu: Impulsator: In1 = P3.0 In2 = P3.1 Rezultat = 0 Select Case Tryb Case 0: If In1 = 1 And In2 = 1 Then Incr Tryb 'jezeli dwa rozwarte Case 1: If In1 = 1 And In2 = 0 Then Rezultat = 1 Incr Tryb End If If In1 = 0 And In2 = 1 Then Rezultat = -1 Incr Tryb End If Case 2: If In1 = 0 And In2 = 0 Then Incr Tryb Case 3: If In1 = 1 And In2 = 0 Then Rezultat = -1 Tryb = 0 End If If In1 = 0 And In2 = 1 Then Rezultat = 1 Tryb = 0 End If End Select Return Do poprawnego działania tej procedury wymagane są zmienne które należy zadeklarować na początku programu: '//////////// Impulsator //////////////////// Dim In1 As Bit , In2 As Bit Dim Tryb As Byte , Rezultat As Integer '///////////////////////////////////////////// Poniżej przedstawione jest przykładowe wywoływanie procedury obsługi impulsatora. Zmienna Wartosc_ustawiana jest zwiększana lub zmniejszana podczas kręcenia impulsatorem: Do Gosub Impulsator Wartosc_ustawiana = Wartosc_ustawiana + Rezultat Loop End
|
|||||||
Cześć. Moge prosić to w
Cześć.
Moge prosić to w Bascomie:)
Nie rozumiem o co chodzi,
Nie rozumiem o co chodzi, prezentowany kod działa poprawnie i jest napisany w bascomie (tak jak napisałem wyżej)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
hmm?
moze i poprawnie dziala ale przy malych obrotach impulsatora troszke szybszy obrot i niestety z poprawnym dzialaniem niema nic wspolnego ;( dawalem nawet kondensatory 100n przeciw zakluceniom ale dalej niepomoglo ;(
Re: Impulsator
Popatrz na rozwiązanie jakie zastosowałem w układzie http://mirley.firlej.org/cyfrowy_przedwzmacniacz . Miałem tani impulsator za 4 zł i zachowywał się całkowicie inaczej niż taki porządny za kilkanaście złotych. W tym projekcie zobaczysz procedurki dla takiego taniego impulsatora a jak znajdę trochę czasu to zamieszczę odpowiedni fragment kodu także dla niego.
Ps. Kod działa dla dobrego impulsatora który po obrocie o jeden impuls ma raz stany 11 a raz 00. Nie daję na stronę niesprawdzonych kodów źródłowych pisanych na sucho. To wszystko to wycinek z działającego programu.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Probuje twój kod i dalej nic
Probuje twój kod i dalej nic dodam ze robie to na atmega8 a impulsator to alps (japan) po oborocie o jeden impuls ma 11 a raz 00 tak jak pisales co robie zle ?
Re: Impulsator
Obsługa LCD nie może być bezpośrednio w Do Loop:
Wyświetlanie LCD zajmuje strasznie dużo czasu i gdy w każdej iteracji pętli głównej ma on to wykonać to poprostu za wolno wywołuje obsługę impulsatora a co za tym idzie gubi obroty itp. Daj jakiegoś ifa który będzie wyswietlał na LCD dopiero np po kliknięciu w przycisk. Lepiej jednak w tym przypadku całą obsługę LCD wywoływać co np 100ms za pomocą flagi ustawianej przez przerwanie
Możesz jeszcze zamiast LCD sprawdzić działanie podłączając do portu kilka diod led i wyświetlać wynik binarnie. Nie spowoduje to znaczących opóźnień.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
wydaje mi sie ze i tak
wydaje mi sie ze i tak wyswietlanie wyniku co 100ms niepomoglo by poniewarz w chwili wyswietlania i tak nastąpiły by opoznienia dla impulsatora ;( a skoro mam juz wykorzystac przerwanie na wyświetlanie LCD to chyba bedzie lepiej zastosowac to przerwanie do impulsatora ?
tzn kanał A do int a kanał B do jakiegos portu i sprawdzac stan np jesli 1 to obrotu w lewo jesli 0 to w prawo tylko czy w takim przypadku da sie wyeliminowac zakłucenia powstajace z drgania styków ? czy raczej dodac kondensatory 100n (port a i masa port b i masa) ? bo wiem ze wyjście INT jest bardzo czułe...
Re: Impulsator
Po pierwsze to "wydawać" to się może jak siedzisz przy piwie :) Trzeba poprostu sprawdzić jak działa lepiej. Tutaj przedstawiam tylko jedno z zapewne bardzo wielu rozwiązań. Poza tym to napisałem abyś wykorzystał przerwanie timera (a nie przerwanie zewnętrzne) i odpowiedni dzielnik na zmiennej aby wygenerować flagę obsługi wyswietlacza (wyświetlacz dalej będzie tam w Do Loop ale odpowiedni if pozwoli go włączyć tylko co jakiś czas). Już tak robiłem z impulsatorem i LCD i nie było problemów. Plik z moim starym programem testowym jest w załączniku.
Ps. Ten pomysł z twoimi wejściami A i B to wytłumacz dokładniej bo nie wiem o co Ci chodzi z kanałem A i B z których jeden podłączony jest do przerwania a drugi do innego portu.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
int
Masz racje trzeba to przy piwie przemyslec ;) bede probował na diodach tak jak wczesniej pisales a zamiast timera mozna by chyba wykorzystac jakas zmienna ktora po kazdym przejsci do porocedury byla by zwiekszana o 1
oczywiscie niebedzie to tak dokladne jak na timer.
impulsator:
incr A
....
return
do
gosub impulsator
if a > 200 then
a=0
gosub wyswietl_wynik
end if
...
loop
Jesli chodzi o przerwania to pomysl byl taki podlanczam jeden kanal impulsatora do int0
np kanal A i ustawiam aktywowanie przerwania na zbocze opadajace w trakcie przerwania sprawdzam stan drugiego wyjscia
przerwanie:
if B=1 then
incr wartosc
else
decr wartosc
end if
return
i jeszcze jeden mankament zeby w zmiennej Wartosc_ustawiana wartosc zmienila sie o jednen trzeba obrocic impulsator o 2 impulsy
Re: Impulsator
To rozwiązanie z licznikiem co napisałeś jest już troszkę lepsze od poprzedniego. Prześledź jeszcze mój kod przedwzmacniacza cyfrowego, tylko obsługę impulsatora daj tą co tutaj jest. Zobaczysz tam o co chodziło mi z przerwaniami, mimo że nie ma tam LCD
Jak znajdę czas to napiszę taki prosty program testowy z LCD i tu umieszczę. Narazie jednak są święta więc czas na jakiś odpoczynek :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
:) wiec chce uzywac
:) wiec chce uzywac impulsatora z programem centrafuse to skorka fronted zamiast explorera obslugujacy multomedia ,gps, etc.... w setupie CF jest mozliwosc przypisania kombinacji klawiszy danej funkcji ja chce uzyc z funkcja poglasniania i sciszania, a takze jak bedzie mozna basy i soprany kozystajac z impulsatora z SW poprzez klikniecie, w trakcie ustwaiania danej fukcji w programie wystarczy kliknac rejestruj i w tym momecie naciniecie klawisza na klawiaturze jest przypisywane do tej funkcji, zrobilem to na usb z klawiatury numeycznej nie przeszkadza potem w uzywaniu klawiatury tekstowej czy cyfr podczas dzwonienia, do poglasniania uzylem Num 8 do sciszania Num 2 do przewijania mp3 nastepna podpiolem do Num 6 a cofnij do Num 4 wszytko na mikroswiczach jesli da sie w ATTiny 2313 zrobic tak by sterowal jak ta klawiatura numeryczna podajac na wejscie PS/2 kody tych klawiaszy bylo by fajnie zaoszczedzil bym USB jesli nie to wystarcz jak ATTiny bedzie podawal impulsy na diody porzy kreceniu impulsatorem a ja je sobie odpowiednio podepne do plytki z orginalnej klawiatury nie wiem jaki ma chip bo to tylko plama z zywicy na plytce :) w razie co moge narysowac w przebiegach 0 , 1 jak mialoby to dzialac
to moze narysuje diagram jak
to moze narysuje diagram jak ma to funkcjonowac bedzie berdziej zrozumiale :) juz obczailem na allegor impulsatory za 2,8zl jedne ma 20 impulsow na obrot drogi ma 30 impulsow na obrot rozniia sie tez oska jedna jest karbowana 2 jest z nacieciem
Re: Impulsator ATTiny2313
Żeby zrobić coś co wysyła znaki po PS/2 to muszę co nie co o tym poczytać. Najlepszy byłby RS232 bo to już wiem. Ewentualnie przejściówka RS232 na USB. Nie wiem tylko czy twój program ma możliwość sterowania przez RS232.
Jeśli była by mozliwość sterowania klawiszami poprzez zwieranie transoptorem odpowiedniej linni to z pewnością było by to łatwiejsze do zrobienia.
Zapiszę sobie na stronie głównej projekt do realizacji ale nie mogę zapewnić żadnego sensownego terminu realizacji.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
:) moze bylby potrzebny jakis
:) moze bylby potrzebny jakis plugin co do rs232 to mam 4 posty COM wolne :) byloby latwo podlaczyc tylko jak przypisac to klawiaturze :) w smumie to ja mam klawiaturke tylko musze miec cos co zastpi palec ktory naciska klawiasz przy pomocy impulsatora bo sam ipulsator przy kreceniu naciska oba klawiasze tylko w rozych odstepach czasu a musi naciska raz w jeden raz 2 :) oczywiscie za pomoca transoptora
Re: Impulsator
To żeby pojawiały się impulsy na jednym wyprowadzeniu przy kręceniu w prawo a na drugim przy kręceniu w lewo poprzez transoptor nie jest problemem jeśli dasz rady podłączyć to pod odpowiedni klawisz w klawiaturze.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
ps2
witam z tego co pamietam BASCOM obsluguje klawiatore ps2 jest gotowa komenda. A jesli chodzi o ten impulsator to dziala ok ale trzeba obrucic o 2 impulsy zeby zmienic wartosc o 1
probowalem jeszcze na przerwaniach zrobic programik ale niewiem czego jak skonfiguruje w bascomie przerwanie na zbocze opadajace to niedziala tak jak powinno ! czyli dziala na zbocze opadajace i narastajace :/ i gdzies mi sie obilo o uszy ze ta komenda w bascomie niedziala zadobrze dla atmegi :/ albo ja cos robie nie tak ale podlanczam przycisk do masy druga nozka do INT0 wlanczam rezystor podciagajacy ustawiam przerwanie na falling i jak wcisne przycisk nastepuje przeskok do podprogramu tak jak powinno byc ! ale niestety jak puszcze to tez nastepuje przeskok do podprogramu :/
Re: Impulsator Ps2 itp
Tak wiem że jest gotowa komenda ale nie znaczy że bedzie mi działać, więc napisałem że musze potestować troszkę. A tak wogóle to ta komenda chyba odbiera znaki z klawiatury a nie wysyła do komputera. Ale mniejsza o to, będę się nad tym zastanawiał jak przyjdzie odpowiedni czas.
Odnośnie impulsatora to też tak miałem kiedyś ale drugi kod który umieściłem powinien załatwić sprawę bo u mnie działa w przedwzmacniaczu cyfrowym wszystko.
Odnośnie przerwań to jeśli masz podłączony przycisk do int i rezystorem podciągnięty do +vcc to drgania styków pewnie załatwiają Ci mnóstwo przerwań na opadającym zboczu. Dodaj kondensator równolegle do przycisku i zobacz efekt. Ja przerwania testowałem przy okazji układu wykrywania zera. Liczyło dokładnie 100 zer na okres w sieci :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
:) to by wystarczylo i
:) to by wystarczylo i wymyslilem ze skoro uzyc mam ATTiny2313 i zeby wykozystac wiecej wyjsc to te wyjscia parami rozszerzyc do 3 par +/- wybieranych sekwencyjnie kliknieciem impulsatora z warunkiem zeby po 5 sek samoczynie wracalo do pierwszej pary jesli sie nie kliknie albo nie obroci impulsatora, wtedy mialbym regolacje glosnosci a jak bede chcial regolowac basy albo soprany to sobie klikna raz albo 2 razy wtedy bylo by idealnie, z podlaczeniem transoptorow nie bedzie problemu bo teraz mam kabelki zakonczone mikrostykami i klikam na kazdy oddzielnie :), tylko miejscia z przodu malo i duzo klawiszy sie nie zmiesci a impulsator mi zastepuje 6 przyciskow w takim ukladzie jw. :) mysle ze to nie bylo by trudne do zrobienia a juz cudownie by bylo jakby mozna bylo jeszcze sterowac 3 kolorowa dioda zgodnie z sekwecja by sie zmienial kolor za kazdym nacisnieciem pokretla gdzie w spoczynku czyli glosnosc by mogla swiecic zielona, po jednym kliku basy czerwona i po nastepnym kliku niebieska soprany :)
Re: Impulsator
Takie rozwiązanie da się wykombinować, tylko trochę czasu potrzebuje bo aktualnie go nie mam. Zresztą nie będę się powtarzał bo już od dawna nie mam dużo czasu :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
OK :) az tak mi sie nie
OK :) az tak mi sie nie spieszy impulsatorek bede mial najwczesniej w polowie maja :) co myslisz o PCDIMMER i sterowniku DMX znalazlem na necie interface na ATmega8 przez usb steruje dimmerami na triakach poprzez ATTiny2313 Program wyglada na dobry http://www.pcdimmer.de :) mysle ze moze to dzialac shcematy i wsady sa do scagniecia sterowniki do wina i rozne pluginy :), bede zagladal czasem :) tez mam mase roboty i na wlasne sprawy mniej :) WIEC CIE ROZUMIE :) pozdrowionka
impuls
Witam interesuje mnie taki programik do obslugi impulsatora ale na procek -> attiny12 <- jest to wogule mozliwe ?? on niema sram-u a mam tylko atmege8 troche zaduza na taki prosty programik chodzi mi tylko zeby podawalo na pinach impulsy czyli jak krece w prawo to na jednym pinie podaje impulsy a jak krece w lewo to na drugim , attiny12 by sie do tego nadawal bo tylko 8 pinow akurat tyle ile trzeba ..
Re: impuls
Nie da się napisać takiego programu w bascomie, bo potrzebny jest RAM na zmienne. Może dałoby się w asemblerze ale nie znam tego języka.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
ale na attiny13 nie powinno
ale na attiny13 nie powinno byc problemu ???
Re: Impulsator
Nie tylko nie powinno być problemu ale wręcz nie ma problemu bo już taki układ zrobiłem tutaj
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
i własnie o to mi chodziło
i własnie o to mi chodziło :D
Ostatnio bawiłem się
Ostatnio bawiłem się impulsatorami takimi najtańszymi z allegro chyba po 2,4pln szt. i mam trochę inne rozwiązanie, trochę szybsza reakcja. Mój wycinek programu zlicza każdą zmianę stanu, każdy impuls, potrzebuje tylko dwóch zmiennych bitowych (opcjonalnie dodatkowej zmiennej do zliczania)...
Proste jak budowa cepa. Szukając innych rozwiązań obsługi impulsatora znalazłem tą stronę, więc zamieszczam tu swój programik dla innych szukających...
Jeszcze deklaracje (te są akurat pod 8051, ale to nie ma większego znaczenia dla głównego programu):
Pzdr.
Joy_pl
Zmiana na impulsator
Witam
Wcześniej pisałem w temacie o sterowniku do wytrawiarki PCB. I mam mały problem. O tuż chciał bym zamienić mikro styki z tego projektu: Trawiarka plytek na impulsator. Nie mogę sobie poradzić z ta częścią kodu.
Co muszę zrobić aby zadziałał impulsator?
Pozdrawiam
Re: Impulsator
Wstawić na końcu programu
zadeklarować potrzebne zmienne i w pętli głównej dac wywołanie do procedury impulasatora. Wszystko jest napisane wyżej. Nazwy pinów tylko musisz dać odpowiednie dla procesora.
Tak czy inaczej nawet jak to zrobisz to nie pójdzie to na tiny2313 który dałem w sterowniku trawiarki bo za mało miejsca na program
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam Tak właśnie zrobiłem
Witam
Tak właśnie zrobiłem jak piszesz, tylko nie wiem jak w pętli głównej dać wywołanie do procedury impulasatora.
Kod wygląda tak:
Miejsca na programik starczy bo używam atmega16. :)
Pozdrawiam
Re: Impulsator
Właśnie w tym miejscu trzeba by to było dac co dałeś. Z tym że zamiast:
trzeba wstawić obsługę akcji po przekręceniu. jak nic nie przekręcone to zmienna rezultat jest 0 jak kręcisz w prawo to zmienna przyjmie wartość +1 a jak w lewo to -1. Więc trzeba zrobić coś takiego:
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam Chodzi ci o coś
Witam
Chodzi ci o coś takiego?
Obecnie wyskakują błędy w tym.
Pozdrawiam
Re: Impulsator
Raczej tak
błędy wyskakują bo end select nie masz nigdzie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam Zrobiłem tak: Gosub
Witam
Zrobiłem tak:
Jakoś to działa. Ale jest mały problem bo jak delikatnie przekręcę, ale nie do końca jednego skoku to już mi zwiększa temperaturę lub zmniejsza, zależności w którą stronę kręcę. Wydaje mi się że to jest wina impulsatora bo ma małe luzy.
Natomiast gdy na kończy dam
Impulsator kompletnie przestaje działać.
Re: Rezultat
Jak teraz patrze to faktycznie nie trzeba dawać tego rezultat=0 bo na samym początku obsługi impulsatora wartośc ta jest resetowana. Zamień jeszcze procedurę na tą poniżej. Są różne impulsatory....
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam Jeżeli chodzi o reakcje
Witam
Jeżeli chodzi o reakcje co opisywałem wyżej to się poprawiło ale teraz są dwa małe problemy które nie zawsze występują.
1) Czasami kręcąc impulsatorem do góry to czasami potrafi najpierw zjechać o 0.3 stopnia w duł, a później normalnie w górę.
2) Jak się przekręci szybciej impulsator to procesor nie nadąża wyłapać wszystkie impulsy.
Re: Imulsator
Spróbuj dołożyć dwie pojemności po 100nF ad dwóch wejść impulsatora do masy
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam Próbuje napisać
Witam
Próbuje napisać program do sterowania silnika dc + enkoder sterowany dwoma sygnałami Step i dir przy czym mam problem z obsługą enkodera, posiadam enkoder o impulsacji 1000 imp/obr przy szybszym obrocie są pomieszane sygnały tzn. nie rozpoznaje kierunku kręcenia nie moge poradzić sobie z tym problemem jak bym mógł prosić o podpowiedz był bym wdzięczny
Pozdrawiam
Re: Impulsator
Procedura tutaj zawarta nie nadaje się do precyzyjnych ani szybkich zastosowań.... trzeba zastosować przerwanie zewnętrzne i operację xor do wykrywania kiedy został impulsator przekręcony i w którą stronę
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Impulsator
Witam. Czy impulsator do radia Audi Chorus za 40 zł nie posiada zjawiska drgania styków?. Pozdrawiam.
Odp. Impulsator
Jest uczciwiej wykonany. To pewnie Alps. W środku normalne styki, ale precyzyjniejsza mechanika. Cena mówi sama za siebie. Mam tylko nadzieję że kolega nie chce w ten sposób tego radia naprawić bo tam powodem dziwnego zachowania implsatora jest uszkodzona pamięć eeprom w procesorze.
BARTek
Moja strona
Enkoder do radia Audi Chorus
Witam. Mam pytanie w sprawie sprzedawanych na allegro enkoderach do radia Audi Chorus za 40zł. Link: http://allegro.pl/radio-audi-concert-chorus-1-impulsator-enkoder-i4106444628.html. Moje pytanie: czy taki enkoder warto kupić, bo nie chcę mieć zjawiska drgania styków?
Pozdrawiam.
Impulsator
Nie, to nie do radia, tylko do wzmacniacza własnej roboty na TDA7560+TDA7313+ATMega8. Chodzi mi tylko, by nie było drgania styków. Dzięki za odp. i pozdrawiam.
We wszystkich mechanicznych
We wszystkich mechanicznych impulsatorach (przyciskach czy włącznikach występuje drganie styków przy przełączaniu). Jeśli to takie ważne kup optyczny- jest kilka na all... ale i ceny wysokie.
impulsator
jak u mnie Twoja procedura obsługi impulsatora lepiej działa od "fabrycznej bascomowej"
gdzie jej użyłem w modyfikacji kitu avt3143
Pozdrawiam,
gaz