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
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.
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.
Re: Duuzo przycisków
ZenObi
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
a napisz proszę, czemu akurat 20 ms?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.
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
Re: Duuzo przycisków
A może pomyślisz o takim rozwiązaniu: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).
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.
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.
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.
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.htmlWitam.
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.
z autorskiej stronki koleżanki Taszy.
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?
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?
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
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
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 wPytanie -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?
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".
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?
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?
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 94 gości