(6 głosujących)
Działanie:Schemat ideowy układu znajduje się na rysunku poniżej: Sercem układu i jedyną jego aktywną częścią jest mikrokontroler U1 (ATTiny13). Kondensator C1 (100nF) filtruje zasilanie, a kondensatory C2 (100nF) i C3 (100nF). poprawiają pracę impulsatora, zmniejszając wrażliwość całego układu na fałszywe impulsy. Złącze Prog (Goldpin) jest złączem programującym ale po zaprogramowaniu procesora, wyprowadzenia MOSI i MISO tego złącza stanowia wyjście całego Enkodera. Złącze Sw(goldpin) stanowi wyprowadzenie przycisku impulsatora, jeśli jest on w niego wyposażony. Układ powinien być zasilany stabilizowanym napięciem 5V (plus podłączamy do +5V) za pomocą złącza Zas (goldpin) Budowa:Układ z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Lutowanie należy rozpocząć od procesora U1, w drugiej kolejności montujemy kondensatory, a na końcu impulsator i goldpiny. Goldpiny muszą być wlutowane od strony druku (patrz na zdjęcia) aby umożliwić łatwe dołączenie przewodów. W przeciwnym wypadku będzie problem z przykręceniem impulsatora do obudowy. W przypadku kłopotów z lutowaniem ich w takiej pozycji można przewody przylutować bezpośrednio do płytki. Przy montażu należy zwrócić uwagę z której strony montujemy elementy i zastosować odpowiedni schemat montażowy (szczególnie dotyczy to mikrokontrolera). Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj. Dla montażu SMD pomocny będzie także rysunek montażowy w odbiciu lustrzanym, dostępny tutaj Układ Enkodera jest tylko dodatkiem do juz istniejącego sprzętu a zatem należy go odpowiednio podłączyć do współpracy z innymi urządzeniami. Pomocą będzie rysunek niżej: Wykaz Elementów:1x Impulsator z przyciskiem Programowanie:Kod Źródłowy do enkodera został napisany w BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: '************* Konfiguracja uC ***************** '*********************************************** $regfile = "attiny13.dat" $crystal = 9600000 Config Portb = &B11100111 : Portb = &B11111111 $hwstack = 20 $swstack = 10 $framesize = 40 I1 Alias Pinb.3 I2 Alias Pinb.4 O1 Alias Portb.0 O2 Alias Portb.1 Config Timer0 = Timer , Prescale = 256 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts '********** Konfiguracja uC Koniec ************ '****************** Zmienne ******************* '*********************************************** Dim In1 As Bit , In2 As Bit Dim Tryb As Byte , Rezultat As Integer Dim Licz_sw As Byte Dim Impuls As Byte , Stan_wyjsc As Byte Dim F_6ms As Bit Dim Port As Byte '************* Zmienne Koniec **************** '************** Petla glowna ****************** '*********************************************** Do In1 = I1 In2 = I2 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 Tryb = 2 If In1 = 0 And In2 = 1 Then Tryb = 3 Case 2: If In1 = 0 And In2 = 1 Then Rezultat = 1 Tryb = 0 End If Case 3: If In1 = 1 And In2 = 0 Then Rezultat = -1 Tryb = 0 End If End Select Waitus 100 If Rezultat <> 0 Then If Rezultat = 1 Then Set O1 Reset O2 Else Set O2 Reset O1 End If End If If F_6ms = 1 Then F_6ms = 0 If O1 = 0 Or O2 = 0 Then Incr Impuls If Impuls = 15 Then Impuls = 0 O1 = 1 O2 = 1 End If Else Impuls = 0 End If End If Loop End '************ Petla glowna Koniec ************** '************ Przerwanie timer 0 *************** '*********************************************** Prztimer0: Timer0 = 5 Set F_6ms Return '******** Przerwanie timer 0 Koniec ************ Poniższy rysunek przedstawia ustawienia Fusebitów dla ATTiny13 (zrzut z programu Burn-O-Mat): Zdjęcia Projektu:
|
|||||||||||||||||||||||||||||||
Re; Enkoder
Klawiatura jest multipleksowana więc bezpośrednio nie podłączysz. Po drodze dał bym układ klucza analogowego, który zadziała tak jakbyś wcisnął przycisk, ukłąd opisany wyżej podasz na linię wejściową klucza a dwa jego wyjścia podłączysz równolegle do przycisku
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.
6 kanałowy potencjometr
hej a nie masz czasem 6 kanałowego potencjometru ??? takiego jak tu
http://flodins.info/pl/elektronika/12-cyfrowy-6-kanalowy-potencjometr
Enkoder
Pierwszy mój post no i mam problem! Nie mam pojęcia który program wybrać .W pierwszej chwili pasował do mojego projektu ten spłodzony przy browarku.Podawał impulsy 30ms. Dodać tylko klucze analogowe i pakuje to pod klawiaturę .Czy ktoś sprawdził czy ten program ruszył na Tiny 13?
Pozdrawiam
Szybkość
Witam, wrzuciłem w/w kodzik na atmege i fajnie śmiga ale przy enkoderze 2000imp/360^ guuuubi się ;p
Jest jakieś lekarstwo na to? Poza wymianą enkodera czy obrotem z prędkością ślimaka;p
Zależy mi na prędkości 3 obrotów na sek czyli 6tys imp/s(założenia z drobnym zapasem na razie nie rozpatruję żadnego błędu wskazania) chyba nie wymagam za wiele od atmegi czy bascom'a?
Zacznij próby od
Zacznij próby od minimalizacji tego:
Waitus 100
te 6k/s impulsów to nie jest wyzwanie
"Cierpliwym być musisz, by wiedzę zgłębiać tajemną, gdyż ciemna strona mocy niszczącą i silną jest.".
Na chwile obecną wygrzebałem
Na chwile obecną wygrzebałem inny enkoder 600imp jest lepiej ;p do tego Waitus 1 ale potrzebuje mieć pewny odczyt z pełnego obrotu/s czyli jeśli obracam 1x/s to odczyta mi te 600+/- 5imp a nie +/- 100. Reasumując jestem w czarnym lesie ;/ zastanawiam się czy jeśli zrezygnuję z wykrycia kierunku to czy zyskam na dokładności i szybkości?
Jest jeszcze jedna zależność
Jest jeszcze jedna zależność czasowa:
przyglądałeś się temu? Analizowałeś i próbowałeś zrozumieć co robi program i jaki wpływ mają na niego te dwie wartości związane z upływem czasu?
"Cierpliwym być musisz, by wiedzę zgłębiać tajemną, gdyż ciemna strona mocy niszczącą i silną jest.".
Tego fragmentu nie używam w
Tego fragmentu nie używam w programie
chce mieć wyświetlone na chwile obecną impulsy a potem przeliczyć je na stopnie jeśli tego nie będę miał solidnego nie ruszam nawet dalej ;/
Budujesz enkoder? pokaż Twój
Budujesz enkoder?
pokaż Twój program.
"Cierpliwym być musisz, by wiedzę zgłębiać tajemną, gdyż ciemna strona mocy niszczącą i silną jest.".
Nie ma co pokazać dużo śmieci
Nie ma co pokazać dużo śmieci nie pasujących do siebie muszę to choć częściowo ogarnąć.
Buduje sterownik który ma za zadanie zliczać obroty tzn podaję liczbę obrotów daje START silnik się załącza wykonuje zadany ruch i się wyłącza i tak wkoło
enkoder w przerwaniu :)
arkos@interia.pl
allegro arkos.k
yotube arkos2012gadzet
'test impulsatora v4 dziala
'test impulsatora v4 dziala doskonale !!!
$regfile = "m328pdef.dat" 'informuje kompilator o pliku dyrektyw mikrokontrolera
$crystal = 16000000 'informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler
Config Portb = &B11111011 : Portb = &B11111111
Config Portd = &B11110101 : Portd = &B11101111
Config Lcd = 16 * 4 'konfiguracja typu wyświetlacza LCD
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.4 , Rs = Portb.5 'konfiguracja linii
Cls
Cursor Off
Lcd "impulsator v4"
Lowerline
Lcd "int1"
Wait 1
Cls
Dim Enkoder As Integer
Enkoder = 0
Config Int1 = Falling ' CONFIG INTx = LOW LEVEL | RISING | FALLING [ | CHANGE ]
On Int1 Impulsator
Enable Interrupts
Enable Int1
Do
Home
Lcd Enkoder ; " " ; Pind.3 ; Pinb.2 ; " "
Loop
End
Impulsator:
If Pinb.2 = 0 Then
Incr Enkoder
End If
If Pinb.2 = 1 Then
Decr Enkoder
End If
Return
Witam, Mam pytanie odnośnie
Witam,
Mam pytanie odnośnie całego układu. Czy jego działanie polega na udawaniu zwykłego potencjometru?
Jeśli nie to co trzeba by było zmienić aby przykładowo wykorzystać taki układ z enkoderem optycznym zamiast potencjometru 10k?
Chciałbym użyć takiego ukłądu w przerobionej kierownicy PC, ale pytanie następne czy kręcąc takim enkoderem otrzymam płynną zmianę rezystancji na wyjściu, czy też nie?
Pozdrawiam :)
Odp. Potencjometr cyfrowy
Powyższy układ to napewno nie to czego szukasz. Ten przy kręceniu gałką podaje impulsy na jedną lub drugą nóżkę wyprowadzeń. Do tego aby zamienić to na "analogowy" opór musiałbyś dołożyć układ cyfrowego potencjometru i przerobić program..
Warto się chyba zainteresowac jak wynik z potencjometru jest wysyłany do komputera i może bezpośrednio go tam wysyłać zamiast emulowac potencjometr. Do tego pamiętaj że pewnie masz tam jakieś spreżyny które centrują kierownicę (jeśli tam był potencjometr to napewno się w kółko nie kręci). W takim wypadku program po włączeniu musiałby uwzglednić środkowe położenie kierownicy i ustawiać odrazu 5kOhm by mieć możliwośc manewru ;)
Tym się też możesz zainteresowac i z dwóch jeden zrobić :D ale tam mowa jest o "krokach" nastaw a to Cię może nie urządzać http://mirley.firlej.org/potencjometr_cyfrowy
Zamiast przycisków Twój enkoder ;)
BARTek
Moja strona
Oo jaka byskawiczna odpowiedz
Oo jaka byskawiczna odpowiedz :)
Ogólnie to od strony mechanicznej kierownica będzie kompletnie przerobiona i już wszystko mam przemyślane, zależy mi na tym dlatego bo kierownica ma siłowe sprzężenie zwrotne (force feedback) i jak by to ująć wyjmuje z niej całą elektronikę. Chciałem także przerobić mostek-H po prostu wstawić mocniejsze tranzystory lub przykręcić jakieś radiatory czy cuś, mocniejszy silnik i wiadomo jakis wydajniejszy zasilacz. Uważam ze ta metoda na przerobienie kierownicy nie jest zła a tym bardziej ze kierownice z FFB można dostać za jakieś 100zł (fakt brak sprzęgła) ale na to tez mam pomysł.
Chciałbym zrobić to na enkoderze ponieważ, na zwykłym potencjometrze pomysł z przekładnią nie wypali ponieważ, kąt obrotu kierownicy będzie 2 razy szybszy od potencjometru, czyli efekt uzyskany w grze nie będzie dokładny.
Oto przykład: https://www.youtube.com/watch?v=s085pd8aQhI
Ten Pan zbudował kierownice na jakimś interfejsie USB ale bez FFB co mnie nie urządza za bardzo, ale jest pokazane co się dzieje po zrobieniu przekładni na zwykłym potencjometrze, myślę ze to wina czułości.
Dlatego też potrzebuje urządzonka na którym będę mógł dopracować tą czułość, i żeby po prostu jakoś udawać potencjometr.
może to trochę przekombinowany sposób ale nie widzę innej opcji.
A co do sprzęgła to wpadłem na pomysł "znowu" wykombinować jakiś układ (myślałem nad NE555) który by generował jakis zakres częstotliwości w zależności od położenia potencjometru, czyli, pedał sprzęgła puszczony nie ma impulsów, pedał wciskam i częstotliwość rośnie (dobrze by było jak by jakoś szło sterować wypełnieniem), cały układ byłby podłączony do któregoś z klawiszy z kierownicy. Wiadomo sprzęgło nie musiało by być jakieś perfekcyjne byle szło jakoś ruszyć :D
Chodzi o to żeby uzyskać efekt coraz szybszego wciskania klawisza przykładowo od 100hz w górę aż do momentu całkowitego wciśnięcia.
Trochę się rozpisałem z tym może nawet w złym miejscu ale na elektrodzie nie chciałem wyjeżdżać z takimi wizjami...
Jeszcze raz dzieeeki wielkie za szybką odp :)))
Pozdrawiam
Odp. Kierownica
Załóż nowy wątek na forum bo to nie tyczy się tematu tego projektu.
Wejdź w "Odpowiedzi i zmiany" albo "Dodaj zawartość"
Lubie takie wynalazki. "Gadający samochód" wzorowany Kid`em zrobiłem na ISD1420 i 89C2051 jak o kartach Flash nikt jeszcze nie myślał...
Napisz co o bebechach wiesz albo fote wstaw tylko poczytaj regulamin (haha) Fota najlepiej 640x480
Bym zapomniał. Czasem nie widac zamieszczonego postu przez chwilę. Cierpliwie trzeba poczekać bo ponawiając na końcu będą wszystkie trzy albo gorzej :D
Miłego dnia
BARTek
Moja strona
Framesize, Hwstack i Swstack
Zabrałem się za głębsze zrozumienie tych wartości i ich dobór. W ATtiny13 mamy 64B SRAM, więc już sam zapis:
Na zmienne zadeklarowane potrzebujemy 8B + 1B(na te z Bit) = 9B . Nic chyba dziwnego że kompilator zgłasza błąd.
Kompiluje się dopiero przy takich ustawieniach:
Może jeszcze czegoś jeszcze nie rozumiem, albo w opisie jest błąd.
BARTek
Moja strona
Generator kodu enkodera sterowany przyciskami
Poszukuję emulatora/symulatora enkodera sterowanego przyciskami góra/dół. Chodzi o układ który zastępuje enkoder obrotowy. Przekopałem internet ale oprócz kitu AVT nie znalazłem nic co by odpowiadało moim potrzebom. Kiedyś miałem schemat i wsad na AT90S2343 ale gdzieś się zapodział. Może ktoś wesprzeć linkiem albo gotowcem? W programowaniu mikrokontrolerów jestem zielonkawy
.
Odp. Generator kodu
Napisz co to ma robić, po co to, albo numer tego kitu AVT.
Poniżej taki szkic który można rozbudować o rozpędzanie.
BARTek
Moja strona
Generator kodu enkodera
Kit ma nr ATV1781. Nie mam jakoś zaufania do schematów w internecie. Zwykle jest tam jakiś kruczek. Spróbuję to złożyć i sprawdzić czy będzie ok. Generator ma zastępować enkoder obrotowy (typowy) ze względu na sposób funkcjonowania dalszej części "projektu" (typowy DDS). Mówiąc wprost ma to być enkoder "elektroniczny" sterowany zamiast gałki przyciskami Up/Down. Częstotliwość przestrajania 10-20Hz. Na wyjściu kod taki jak w enkoderze obrotowym, zależny od kierunku. Do dyspozycji mam 12F629 i 16F84.
Kit nr AVT1781.
Kit nr AVT1781.
Jaki układ zastosować jako szybki przekaźnik scalony
Zamierzam tym enkoderem sterować głośnością komputera w samochodzie (carPC) poprzez podpięcie się pod klawisze FN oraz głośności zwykłej klawiatury. Potrzebuję wtedy na wyjściu po kręceniu układu w lewo mieć nie sygnał 5V lecz zwarcie 2 przycisków klawiatury (FN + Level DOWN), i tak samo w prawo lecz innej kombinacji (FN + Level UP). Wątpię by zastosowanie mechanicznych przekaźników miało tu sens na czas ich reakcji.
Czy mogę tu zastosować jakiś scalony układ zamiast przekaźników? Z not wyczytałem że chyba ukłąd 4066 by się nadał gdyż w swej strukturze jeśli dobrze zrozumiałem ma 4 przekaźniki scalone i to akurat mi pasuje gdyż tyle potrzebuję.
Proszę o poprawienie jeśli się mylę i o ewentualne podpowiedzi
Re: 4066
Układ 4066 ma 4 klucze analogowe i jak przyciski nie potrzebują przepływu dużego prądu to powinno się to nadac.... nie da sić na 100% zagwarantować bez testów ale wart wypróbować ten układ. Może być tylko problem z poziomami sygnału bo procek zasilany jest z 5V a 4066 będzie musiał być z 12 żeby działać w radiu.
Można też rozważyć jakies transoptory bo wtedy nie będzie ważne jakie zasilanie ma procek
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.
myślałem o transoptorach, ale
myślałem o transoptorach, ale nie wiem jakie by tu zastosować by przepuszczał sygnał sterowany ( w tej sytuacji piny symulowanego klawisza klawiatury matrycowej) w obie strony, gdyż z tego co się orientuję to większość transoptorów działa jak sterowana dioda i nie przepuszcza sygnału w obie strony. Proszę o sprostowanie jeśli się mylę.
Co do zasilania 4066, myślę że z tym nie powinno być problemu gdyż z noty CD4066BC wynika iż układ ten ma szeroki zakres zasilania - od 3V do 15V. W wolnym czasie poeksperymentuję...
Re: Transoptory
Transoptor ma na wyjściu tranzystor, więc jest ważna jego polaryzacja. Skoro klawiatura jest matrycowa to można spróbować dać równolegle wyjśca dwóch transoptorów. Trzeba tylko sprawdzić w karcie katalogowej czy odwrócenie polaryzacji nie uszkodzi transoptora...
Może w sumie ten 4066 będzie lepszym pomysłem... zasilanie to nie problem bo to zwykły CMOS. Chodzi mi raczej o dopasowanie poziomów logicznych na wejściu... Z procka masz max 5V a żeby włączyć 4066 zasilanego z 12V to trzeba pewnie ok 8V na wejściu.... Trzeba będzie zastosować jakiś tranzystor, tranzystory aby sterowac wejściami 4066
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.
rozumiem, sprawdzę to z
rozumiem, sprawdzę to z układem 4066. Skoro układ i tak będzie działał w samochodzie to zasilanie będzie wyższe, najwyżej zastosuję 2 stabilizatory - jeden na 12V i jeden na 5V do procka, lub ten pierwszy troszkę niższy np 9/10V.
Re: 4066
Nie wiem czy możesz obniżać zasilanie 4066 bo wtedy klucze mogą być źle polaryzaowane jak podłączysz do nich 12V z radia.... Wszystko musi być dopasowane aby dobrze działało... Poprostu trzeba zrobić translator poziomów logicznych na wejściu 4066 i będzie ok
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.
Można kupić taki gotowy
Można kupić taki gotowy zmontowany układ?
Re: Enkoder
Narazie nie ale pracuję nad taka opcją w niedalekiej przyszłości
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.
po co zmienne?
Ciekawi mnie po co zmienne "In1" i "In2". przecież w programie można bezpośrednio odczytywać stan portów oznaczonych aliasami "I1" i "I2".
Czy korzystniej jest odczytywać stan zmiennych niż stan portów??
Pozdrawiam.
Re: Enkoder
Już nie do końca pamiętam.... możesz spróbowac usunąć te zmienne i bezpośrednio. Prawdopodobnie stan pinów nie chciał się przeczytać poprawnie, a może poprostu jest to fragment większej procedury skopiowanej z innego kodu i tak zostało
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.
4066 - test się powiódł, ale nie jest idealnie
Sprawdziłem to co pisaliśmy, by rozszerzyć ten moduł o układ 4066 który zwierałby klawisze głośności klawiatury. Dział, ale są 2 problemy. By nie zaśmiecać komentarzy zrobiłem nowy temat w dziale programowanie, gdzie wkleiłem końcowy schemat i aktualny kod z bascoma. Jeśli ktoś może coś doradzić to zapraszam na forum
zakup mikrokontrolera
Witam
Czy istnieje jeszcze możliwość zakupu zaprogramowanego mikrokontrolera?
Re: impulsator
Tak, takie rzeczy proszę pisać na maila, "kontakt" po prawej u góry. Do komentarzy zagladam jak mam czas a to czasami może trwać długo
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.
czas impulsu
jeśli dobrze zrozumiałem to żeby wydłużyć czas impulsu na wyjściach muszę zmienić wartość stałej waitus. Zgadza się? potrzebuję ją wydłużyć ponieważ przy próbie sterowania przekaźnikiem programem z impulsami +5V ich czas jest za krótki żeby załączyć cewkę. Co ciekawe program w którym na stałe jest +5V i napięcie zanika podczas kręcenia. Wychodzi na to że krótszy impuls wystarczy aby wyłączać cewkę ale nie wystarcza aby ją uruchomić.
Re: Enkoder
W linii:
Zmień 15 na większą wartość, to czas trwania impulsu w jednostkach 6ms, 15 to 15*6ms = 90ms. Nie wiem do czego ma być ten układ ale przekaźnik na wyjściu według mnie nie jest dobrym pomysłem. Czym to ma sterować że potrzebny jest przekaźnik, który przy tak szybkich impulsach zaraz będzie do wyrzucenia
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.