Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Duuzo przycisków

Moderatorzy: Jacek Bogusz, Moderatorzy

Awatar użytkownika
ZenObi
-
-
Posty: 92
Rejestracja: 9 kwie 2004, o 23:18
Lokalizacja: Lublin

Duuzo przycisków

Postautor: ZenObi » 1 mar 2005, o 22:50

Witam
Chciałbym podłączyć 16 mikroswitchów do 16 linii kontrolera. Muszą działać tak, aby każdy wysyłał krótki, prostokątny, 20 milisekundowy impuls. Trzeba więc wyeliminować drgania i ograniczyć czas trwania sygnału (przyciski przez większość czasu będą wciśnięte).
Myslałem nad multiwibratorem, ale trzeba by ich 16, albo 1 i 4x4bramki AND, lecz to nie wyeliminuje drgan.
Podobno to się robi za pomocą el. RC i bramki schmitta.
O układach schmitta troche wiem, ale ni w ząb nie wiem jak dobrac te RC i jak je połączyć??
Jeżeli ktos wie jak, to proszę o pomoc.

Grzechu80
-
-
Posty: 59
Rejestracja: 12 gru 2004, o 15:57
Lokalizacja: W-wa

Postautor: Grzechu80 » 2 mar 2005, o 08:05

A kiedy ma następować impuls, w chwili zwarcia, czy rozwarcia styków? Ma być zerowy, czy jedynkowy?

Awatar użytkownika
tasza
-
-
Posty: 456
Rejestracja: 17 sty 2005, o 10:52

Re: Duuzo przycisków

Postautor: tasza » 2 mar 2005, o 08:50

:arrow: ZenObi
Chciałbym podłączyć 16 mikroswitchów do 16 linii kontrolera. Muszą działać tak, aby każdy wysyłał krótki, prostokątny, 20 milisekundowy impuls.
a napisz proszę, czemu akurat 20 ms?
eliminacje drgań zestyków możesz zrobić w sposób czysto programowy, a to
że podłączasz jeden guzik do jednego bitu portu tylko ułatwia sprawę...
co to za procek? możesz wystawić jakiś rysunek/schemat?
tasza

Awatar użytkownika
gawel
-
-
Posty: 683
Rejestracja: 24 lis 2003, o 11:19
Lokalizacja: Białystok

Re: Duuzo przycisków

Postautor: gawel » 2 mar 2005, o 10:16

Witam
Chciałbym podłączyć 16 mikroswitchów do 16 linii kontrolera. Muszą działać tak, aby każdy wysyłał krótki, prostokątny, 20 milisekundowy impuls. Trzeba więc wyeliminować drgania i ograniczyć czas trwania sygnału (przyciski przez większość czasu będą wciśnięte).
A może pomyślisz o takim rozwiązaniu:
Mikrokontroler przykładowo 8951 lub AVR 8515, mają po 4 porty 8-bitowe. Na dwóch portach dajesz wejście z klawiszy bez żadnych dodatkowych układów gaszenia drgań styków, na dwóch następnych "symulujesz" wyjście tych klawiszy. Masz tanio, prosto i bardzo elastycznie.

Awatar użytkownika
ZenObi
-
-
Posty: 92
Rejestracja: 9 kwie 2004, o 23:18
Lokalizacja: Lublin

Postautor: ZenObi » 2 mar 2005, o 15:52

Witam.
Grzechu80: W chwili zwarcia. Dokładnie to ma wyglądać tak, że jest cały czas zwarty, i tylko na krótki czas (ok 100-200 ms) się rozwiera. Impuls ma być jedynkowy.

tasza: mniej więcej 20ms. Podobno procek testuje stan linii co 10ms, to dla pewnosci zalozylem 20. Eliminacji programowej drgan nie zrobie programowo, gdyz procek jest juz oprogramowany (chyba ze pogrzebac w sterowniku na PC, ale to juz inna bajka). Jest to procesor specjalny do dzojstikow i innych kontrolerow do gier. Nie znam jego typu, bo to robi kolega, który nic sie nie zna na elektronice i poprosil mnie o te przyciski.

Kolega jest maniakiem i dokładnie to ma byc kokpit lotniczy ze wszystkimi bajerami. Z tym przełączaniem to jest tak, że symulatory lotu dla podwozia np. uzywają tego samego polecenia, np. literka "g" to raz "włącz", a raz "wyłącz" podwozie. To się przenosi na przyciski. Kolega natomiast użył frezarki, tokarki i innych narzędzi, i wykonał sobie dokładne repliki z jakiegos tam sprzętu. Ale są to przełączniki "góra - dół", toteż wymyśliliśmy patent taki, że na każdym przełączniku siedzą dwa słicze, i w momencie przesunięcia dzwigni jeden się rozłącza, następuje krótka przerwa o dlugości zaleznej od siły sprężyny, i załacza się drugi. Teraz chodzi o to, żeby jak najprościej podawać ukształtowane, dokładne impulsy na procesor, bo w przypadku jakiegos drgniecia nagle podwozie zacznie sie otwierać i zamykac odwrotnie niz przed chwila. To jeszcze pół biedy, ale co będzie, jak to będzie przycisk od katapultowania? ;)

gawel: ale do tego trzeba by miec sprzęt do oprogramowania tych avr'ow (chociaż sam programik to faktycznie prościzna), i ile one kosztują? Poza tym, nie znam się na tym, nie wiem czy mi wyjdzie :? Ale zaraz poczytam dataszity i moze sie czegos dowiem.

Awatar użytkownika
gawel
-
-
Posty: 683
Rejestracja: 24 lis 2003, o 11:19
Lokalizacja: Białystok

Postautor: gawel » 2 mar 2005, o 16:04

Witam.
gawel: ale do tego trzeba by miec sprzęt do oprogramowania tych avr'ow (chociaż sam programik to faktycznie prościzna), i ile one kosztują? Poza tym, nie znam się na tym, nie wiem czy mi wyjdzie :? Ale zaraz poczytam dataszity i moze sie czegos dowiem.
Wiesz, jeżeli nie spróbujesz, to się nie dowiesz. Algorytmy eliminacji "dzwonienia styków" nie są takie skomplikowane. Co do programatora, to w sieci można znaleźć dużo rozwiązań, ot choćby przykładowo http://www.bienata.republika.pl/avr_isp/avrisp.html
z autorskiej stronki koleżanki Taszy.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty: 2650
Rejestracja: 24 sty 2005, o 00:39
Lokalizacja: Winny gród

Postautor: pajaczek » 2 mar 2005, o 18:27

Programator to mozna zlozyc za 2-3zl (czy nawet mniej) ... Ten ze strony Taszy to juz "kombajn", no nie kombajn, ale juz bardziej rozbudowana wersja.

Narzedzia do programowania w C albo Asm mozna pobrac legalnie i za darmo.

Awatar użytkownika
ZenObi
-
-
Posty: 92
Rejestracja: 9 kwie 2004, o 23:18
Lokalizacja: Lublin

Postautor: ZenObi » 2 mar 2005, o 19:18

No tak... wszystko pięknie, ładnie :) ale obczajenie tego wszystkiego to kawał czasu. Trzeba by trochę nad tym posiedzieć. Pewnie kiedyś się za to wezmę, bo elektronika cyfrowa i programowanie to fajna zabawa. Ale póki co, to może jednak ktoś wie coś na temat tych RC i schmittów?

Grzechu80
-
-
Posty: 59
Rejestracja: 12 gru 2004, o 15:57
Lokalizacja: W-wa

Postautor: Grzechu80 » 2 mar 2005, o 20:35

Reasumując, rozumiem to tak:
1) Przyciski są normalnie-zwarte.
2) W stanie spoczynku na porcie ma być 0.
3) Gdy styk jest rozwarty, port jest programowo ściągnięty do 0. Dowiedz się jakiej wartości rezystorem wewnętrznym.
4) Rozwarcie styków przycisku trwa 100..200ms. Iskrzenie przy rozwieraniu ma być wyeliminowane.
5) W chwili ponownego zwarcia styków port ma otrzymać 1 o czasie 20ms.
Zgadza się?
Kontroler pracuje na 5V?

Awatar użytkownika
ZenObi
-
-
Posty: 92
Rejestracja: 9 kwie 2004, o 23:18
Lokalizacja: Lublin

Postautor: ZenObi » 2 mar 2005, o 23:56

Dowiedziałem się wszystkiego co kumpel wiedział, i czego nie wiedział.
1. Ten "specjalny do dżojów" procesor to najzwyczajniejszy ATMega8_16.
2. Oprogramowanie kolega sciągnął ze strony w post. i asemblera, i hexa.
3. "Oprogramowania nie można wgrać, bo już jest" nie skomentuje :). Gdzieś komuś wysłał, żeby mu to wgrał, zapłacił za to jakąś kasę (ide jutro po części składam sobie taki programator hehe).

Wnioski:
Dalej pytam o sposób rozwiązania tego elektronicznie, bo przyda się i do CMOSow i TTLow.
Obejrzę to oprogramowanie - to pewnie trzeba będzie zmienić ze dwie czy trzy linie i po problemie, zwłaszcza ze to 10 ms testowania portu o którym kolega twierdził, to pewnie przerwa programowa.
Pytanie -czy asembler atmela rózni sie znacznie od asemblera z DSN 8051, bo do tej pory tylko taki zestaw pisałem programy? Jak tak, to skąd ściągnac zestaw instrukcji, jakas mape pamieci i jakis opis portow po polsku?

Grzechu80: Wszystko się zgadza. Nie znam tego rezystora, ale jak doczytam, to powiem :)

Awatar użytkownika
gawel
-
-
Posty: 683
Rejestracja: 24 lis 2003, o 11:19
Lokalizacja: Białystok

Postautor: gawel » 3 mar 2005, o 00:21

Pytanie -czy asembler atmela rózni sie znacznie od asemblera z DSN 8051, bo do tej pory tylko taki zestaw pisałem programy? Jak tak, to skąd ściągnac zestaw instrukcji, jakas mape pamieci i jakis opis portow po polsku?
Asebmlery jako języki programowania na różne procesory w swej filozofii w zasadzie nie różnią się między sobą. Mając opanowany język asemblera jakiegoś wybranego procesoram asembler dla następnego procka staje się prosty. Występują różnice dla procesorów AVR i 8051 w zasobach (np zestawie rejestrów roboczych), w dostępnych instrukcjach. W języku polskim masz opisy w necie przykładowo w
http://elektronika.qs.pl/mikroprocesory.html i obok jest pokazana literatura. Możesz sięgnąć do książki J.Doliński "Mikrokontrolery AVR w praktyce".

Awatar użytkownika
ZenObi
-
-
Posty: 92
Rejestracja: 9 kwie 2004, o 23:18
Lokalizacja: Lublin

Postautor: ZenObi » 3 mar 2005, o 23:57

Dziękuję za wszelką pomoc. Jak już twierdziłem, zakupiłem DSbua i całą resztę, ściągnę programy, polutuję i zaczynam zabawę.
Zapomniałem napisać - żadne 16 linii portów! Matryca 4*7! Cztery na HAT, osiem na zwykłe przyciski i 16 na te wynalazki "góra-dół".

Jeżeli chodzi o fizyczną metodę rozwiązania problemu - wstawiając szeregowo kondensator, w momencie przejścia w stan wysoki otrzymamy impuls. W momencie zejścia na stan niski musimy jakoś rozładować kondensator w taki sposób, aby nie mieć skoku napięcia na wyjściu. Wejście mamy rozwarte, więc nie tędy. Jak rozładować ten kondensator?

Awatar użytkownika
gawel
-
-
Posty: 683
Rejestracja: 24 lis 2003, o 11:19
Lokalizacja: Białystok

Postautor: gawel » 4 mar 2005, o 01:11

Jak rozładować ten kondensator?
Właśnie z tego powodu pisałem wyżej o elastyczności rozwiązania z użyciem mikrokontrolera.

Grzechu80
-
-
Posty: 59
Rejestracja: 12 gru 2004, o 15:57
Lokalizacja: W-wa

Postautor: Grzechu80 » 4 mar 2005, o 09:54

Coś takiego powinno zadziałać.
RP jest potrzebny, gdy porty są w stanie HZ. A jeśli są wewnętrznie ściągane do masy, to RP można pominąć.
P.S. Widać ten obrazek?
Załączniki
styk.jpg

Awatar użytkownika
ZenObi
-
-
Posty: 92
Rejestracja: 9 kwie 2004, o 23:18
Lokalizacja: Lublin

Postautor: ZenObi » 6 mar 2005, o 22:14

To działa i DOKŁADNIE o to chodziło! Dziękuję Grzechu80 :D Dzięki też całej reszcie.

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 196 gości