Temat: Jak zrealizować zbocza narastające i opadające w BASCOM
pixel7 ale bzdura. Jak chcesz zareagować natychmiast to właśnie w przerwaniu a tam ustawiasz czy zbocze wyzwalające ma być narastające czy opadające. No i jak to ma być przycisk to trzeba koniecznie odfiltrować drganie styków.
Źródło: elektroda.pl/rtvforum/topic1450722.html
Temat: skasowano z tematu o numerze 1673203 mod Mirek Z.
...samo, co drugiego? - jak ma zareagować układ, jesli po otwarciu pierwszego zaworu, w trakcie zwłoki przed otwarciem drugiego, ponownie naciśnięty zostanie przycisk? Trzecie z pytań to jest właśnie kwestia 'idiotoodporności' układu. Nawet zakładając, że będziesz go obsługował sam i będziesz kontrolował przed ponownym naciśnięciem, czy zakończył się poprzedni cykl, to zawsze może zradzyć się jakieś zakłócenie (choćby drganie styków włącznika), które może wygenerować opisaną sytuację. Zależnie od tego, co sterowane układem zawory mają wykonywać, przyjąć możemy jedno z kilku założeń: 1. każdy cykl zawsze musi być wykonany w całości i ponowne naciśnięcie przycisku w czasie trwania cyklu ma być ignorowane. 2. jak wyżej, ale naciśnięcie przycisku 'zakolejkuje' następny cykl - po wykonaniu pierwszego (jakaś...
Źródło: elektroda.pl/rtvforum/topic1694631.html
Temat: Atmega8 sterownik migomatu
... Portd = &B00000000 Do If Pind.1 = 1 Then 'jeżeli uchwyt wciśnięty Waitms 30 ' drganie styków Portd.0 = 1 'zapal diode spawania Portd.5 = 1 'włącz gaz Waitms...
Źródło: elektroda.pl/rtvforum/topic1399035.html
Temat: 10. Grand Prix Włoch (sezon 2007/2008)
...Podobno, że w niektóre DFP tak mają. Jest na to rada w postaci Logitech Profilera Dokładny opis: W kierownicach DFP zdarza się, że po pewnym czasie użytkowania, jedna z "łopatek" do zmiany biegów zaczyna działać wadliwie. Polega to na tym, że naciskamy łopatkę raz, a w symulatorze wrzucają się (lub redukują) dwa biegi naraz, zamiast jeden. Taki efekt wynika z dość normalnego w przełącznikach zjawiska, jakim jest tzw. "odbijanie/ drganie styków". W kierownicy DFP możemy ten problem usunąć przy użyciu Logitech Profilera. Załóżmy, że podwójnie reaguje prawa łopatka.
Źródło: wgaleria.f1wm.pl/forum/viewtopic.php?t=4408
Temat: [BASCOM][Atmega8] Licznik impulsów nie działa poprawnie.
...If Scisk = 1 And Ok = 1 Then Incr Impulsy Elseif Scisk = 0 And Ok = 1 Then Decr Impulsy End If Return Kontaktron (Reed switch) generalnie jest stosowany jako proxy switch, czyli w ukladach statycznych. Niemniej jednak z uwagi na ich relatywnie "wysoka" szybkosc reakcji dopuszcza sie stosowanie ich do pomiarow dynamicznych z pewnymi zastrzezeniami i ograniczeniami. Mankamentem ich jest powszechnie znany fenomenon ' drganie stykow' (BOUNCE). W zaleznosci od modelu , wielkosci (dopusczalnego obciazenia pradowego), ten czas (bounce time) moze zawierac sie w granicach: od 0,7 ms do nawet 7 ms. W skrajnym przypadku jest to czas bardzo duzy. Stosujac kontaktron jako sensor impulsow (obiektow w ruchu) musisz liczyc sie ze stosowaniem procedury "Debounce" niezaleznie od tego czy to lubisz lub nie. W twoim przykladzie zrezygnowales calkowocie z procedury...
Źródło: elektroda.pl/rtvforum/topic1581165.html
Temat: [attiny2313] [bascom] Uniwersalny układ czasowy
...Użyj Timer1 w trybie CTC do odmierzania 0.01s - przy F_CPU = 1MHz chcesz mieć przerwanie z f=100Hz czyli odliczasz do 10000-1. To będzie za mała częstotliwość do wysterowania 4 wyświetlaczy, bo wyjdzie Ci odświeżanie całości z f = 25Hz. Możesz użyć Timer0 do generacji f multipleksowania i w tym przerwaniu obsłużyć wyświetlacz. W pętli głównej czekasz na przerwanie od Timera0 i sprawdzasz stan przycisków uwzględniając drganie styków. Wykonujesz odpowiednie akcje, uruchamiasz/resetujesz/zatrzymujesz timer1 itd. Pozdrawiam, Dr.Vee
Źródło: elektroda.pl/rtvforum/topic1309453.html
Temat: Złe działanie prostego układu
...wyjście miał być podany tylko jeden impuls (stan niski). W fizycznym urządzeniu jednak nie działa ten układ poprawnie. Nie wiem dlaczego. Objawy są takie: Układ zadziała prawidłowo raz na jakiś czas, za pierwszym naciśnięciem przycisku. W większości prób należy nacisnąć przycisk 2 razy. Wtedy działa (chyba) zawsze. Jednak działanie takie jest niedopuszczalne. Nie wiem co jest przyczyną błędnego działania. Czyżby drganie styków fizycznego przełącznika (krańcówki)? Rezystory mają prawidłowe wartości, dioda badana w układzie zachowuje się normalnie (testerem na multimetrze). Czyżby tranzystor szwankował?? Jakaś pojemność bramki? Brak jej kompensacji?? Układ ma działać jako wyłącznik krańcowy (chroniący przed uszkodzeniem maszyny) w ploterze CNC. Nie podoba mi się takie rozwiązanie ale muszę dojść co jest nie tak.
Źródło: elektroda.pl/rtvforum/topic1452811.html
Temat: [Attiny13V][C] Kontaktron zwierny, INT0
Dałem sei(), ale fizycznie zaczęło działać jak przestawiłem przerwanie na zbocze rosnące. Działanie nie do końca jest poprawne bo wchodzi do obsługi przerwania INT0 zarówno po przyłożeniu magnesu do kontaktronu jak i odsunięciu, wolałbym aby tylko zadziałało po odsunięciu. Prawdopodobnie drganie styków wychodzi. Możesz spróbować zrobić tak że po wejściu do przerwania ustawiasz sobie jakąś flagę i wychodzisz z przerwania. Następnie w pętli głównej poczekasz sobie ok 10 - 30 ms i sprawdzisz czy na nóżce INT0 dalej jest stan wysoki. Jeżeli tak to znaczy że odsunięto magnes. Do usypiania procka jest biblioteka avr/sleep.h.
Źródło: elektroda.pl/rtvforum/topic1505669.html
Temat: Klawiatura i2c 4x4 na jednym PCF8574
>Logi Nie przesadzaj z tym gubieniem krótkich naciśnięć. Faktycznie, matrycę mikrokontroler musi przemiatać w kółko (najlepiej standardowo w przerwaniu timera). Ale zauwaz, ze zgubienie impulsu ponizej 10ms jest pozytywne (anty- drganie-styków), a po drugie, przy zegarze i2c 400kHz, i np. 200 bitach transmisji wymaganej do zasterowania expandera, masz nowe sample z klawiatury co 500us. Jeszcze procek musi się wyrobić z obsluga przerwania i reszta kodu - a TO juz jest trudniejsze zadanie, dobrze kod napisać.
Źródło: elektroda.pl/rtvforum/topic1528398.html
Temat: Dolnośląski OT Czyli Spoty, Zloty, Mikro Spoty I Co Tam Jeszcze Chcemy
Ja bym podał napięcie na drabinkę i wynik na przetwornik AC. W programie tylko zrobić podwójne próbkowanie stanu (np. po wykryciu zmiany stanu powtórne sprawdzenie po 2 ms), żeby wyeliminować drgania styków. Dokladnie o tym mysle - tyle, ze nie na drabinke, a na znany rezystor (+ pomiar spadku napiecia na nim, zalezny od pradu w ukladzie). A do tego pomiar ciagly, drganie stykow skasowane jakas malutka pojemnoscia i wyniki dobierane z zakresu napiec a nie z konkretnego napiecia (plywa napiecie zasilajace taki dzielnik, wiec dokladnosc pomiaru jest do bani i trzeba interpretowac wyniki. A Ci znów swoje :P pewno wiecie że w towarzystwie się nie "szepce" podobnie sprawa ma się używania języków nie zrozumiałych przez pozostałych :P :lol: :lol: :lol: A Ty tam cicho - masz szanse, to czytaj i sie ucz...
Źródło: forum.vectraklub.pl/index.php?showtopic=50658
Temat: Czemu w bascomie przerwanie resetuje uC?
...miejsca w którym się przerwał. $regfile = "m32def.dat" $crystal = 11059200 'stany portow Config Portd = &B11000000 'przerwania Config Int0 = Low Level Enable Interrupts Enable Int0 On Int0 Przerwanie '$$$$$$$$ Do 'tu cos sie dzieje 'waitms 10 Loop '######## 'odebranie przerwania i przekazanie go dalej 'debounce eliminuje drganie stykow tych 9 przyciskow Przerwanie: Debounce Pind.2 , 0 , Obslugaprzerwania , Sub Return Obslugaprzerwania: 'tu sobie robimy to co ma byc w przerwaniu Waitms 100 Return Z góry dzięki za pomoc.
Źródło: elektroda.pl/rtvforum/topic1529940.html
Temat: [ATtiny2313][C] Problem z przerwaniami
...używania przerwań. Ich istotą jest błyskawiczna reakcja na zdarzenie. W czasie trwania przerwania główny wątek aplikacji (u ciebie multipleksowanie, pomiar, wysyłanie itd.) zostaje wstrzymany, co nie jest sytuacją pożądaną (multipleksowany obraz się pogarsza, pomiary mogą wychodzić błędne, wysyłane dane mogą zawierać błędy, etc.). Z tego względu przerwania powinny być tak krótkie jak to tylko możliwe. Jak rozwiązać drganie styków? Na przykład: volatile uint8_t button_was_pressed; ... // w przerwaniu { button_was_pressed = 1; disable_button_interrupt(); } ... // w kodzie głównym { if(button_was_pressed == 1) { button_was_pressed = 0; do_something(); delay_ms(20); enable_button_interrupt(); }...
Źródło: elektroda.pl/rtvforum/topic1429942.html
Temat: Transoptor na nóżce AVR
Oczywiście końcówkę portu ustawiamy jako wejście i ustawiamy na nim stan "0". Raczej stan "1". I/O Ports -> Ports as General Digital I/O -> Configuring the Pin: If PORTxn is written logic one when the pin is configured as an input pin, the pull-up resistor is activated. sprzycisk (microswitch) Być może będzie miało znaczenie dla Ciebie drganie styków podczas przyciskania/zwalniania mikroswitcha, które ujawni się w takim układzie.
Źródło: elektroda.pl/rtvforum/topic1365553.html
Temat: Drganie styków przełącznika
Witam mam licznik który liczy przełączanie przełącznika niestety układowi przeszkadza drganie styków. Układ jest wyposażony w przełącznik dwu pozycyjny z trzema wyprowadzeniami jedno wyprowadzenie jest podłączone do zasilania drugie do masy a przełączające do układu. Dołączyłem kondensator pomiędzy wyjście a masą ale niweluje on drganie tylko przy przełączaniu w jednym kierunku. Sam układ to podwajacz częstotliwości z dołączonym licznikiem. Mam nadzieje że napisałem wszystko
Źródło: elektroda.pl/rtvforum/topic1529874.html
Temat: [C] Debounce na INT0 - podwójne zliczanie
Witam, Do INT0 ATmegi16 mam podłączone urządzenie dające impulsy - łączące masę. Dopisałem filtr na drganie styków, ale jedno rozwiązanie działa, a drugie nie. Wolałbym całkiem wyłączać przerwania tak jak w listingu 1, ale w tym przypadku po upłynięciu timeoutu przerwanie uruchamia się jeszcze raz. Czyli na każdy impuls na wejściu licznik zlicza dwa impulsy. Jeden na zboczu opadającym i drugi po upłynięciu timeoutu. Zna ktoś może wytłumaczenie ? Listing 1.[Zlicza podwójnie] Wyłączenie obsługi przerwań przez czas...
Źródło: elektroda.pl/rtvforum/topic1529848.html
Temat: Atmega8 sterownik migomatu
...Portd.0 = 0 Portd.1 = 1 Portd.2 = 0 Portd.3 = 0 Portd.4 = 0 Portd.5 = 0 Portd.6 = 0 Portd.7 = 0 On Int0 Wlacz Nosave Enable Int0 Enable Interrupts Do Loop Wylacz: Do If Pind.1 = 1 Then Waitms 30 ' drganie styków Portd.0 = 0 'zgaś diode spawania Portd.7 = 1 'wyłącz podajnik ...
Źródło: elektroda.pl/rtvforum/topic1399035.html
Temat: Indesit WIE 107 ( co myślicie o tej pralce, warto kupić?)
Piszę w tym temacie bo nie znalazłem bardziej pokrewnego mojemu problemowi: był problem z blokadą drzwi, blokada wymieniona a problem nie zniknął. Podejrzewam któryś z przekaźników bo dziwne odgłosy (jakby drganie styków) dochodzą z płyty głównej. No ewentualnie tranzystor który jest w tym obwodzie. Nie mam jednak pewności oraz nie mam schematu. Wezwałem serwis ale oni jak to oni: nie naprawiają tylko wymieniają (ok 600z z dojazdem). Czy ktoś próbował może naprawiać płytę z powodzeniem? Czy ma ktoś może schemat do WIE107? Proszę o pomoc
Źródło: elektroda.pl/rtvforum/topic1298900.html
Temat: [BASCOM] Menu z 3 przyciskami - góra, dół i enter.
o ile mi wiadomo, debouce opiera się na martwej pętli opóźniającej. Minimalny czas na drganie styków to 20ms, wiec przez ten czas procesor czeka i nic nie robi. Policz, ile to taktów zegara
Źródło: elektroda.pl/rtvforum/topic1559133.html