Skocz do zawartości
Komentator

Zdobądź Proxxona FBS 240/E - #3 - Schemat wzorcowy

Pomocna odpowiedź

Przepraszam, wytłumacz proszę dla kogo jest to rozwiązanie? Bo mi wygląda to na ratunkowe gdy jesteś w domku nad jeziorem, nie masz kontaktu ze światem a tu nagle musisz zbudować driver silnika z części ze starego radia. Jaki jest sens pakowania na płytkę 10 elementów, szukania w parametrach wzmacniaczy operacyjnych (trzeba jednak się trochę znać) i budowania marnego jednak układu podczas gdy normalne drivery tranzystorów MOSFET mają rzędy wielkości lepsze parametry a na dodatek kosztują 3 złote z groszami:

http://www.tme.eu/pl/katalog/#id_category=112849&page=1&s_field=niski_prog&s_order=ASC&products_with_stock=1

Sam wzmacniacz operacyjny nie jest tu na swoim miejscu bo robi za komparator do czego średnio się nadaje - prawdziwy komparator sprawdziłby się tutaj dużo lepiej. Dioda Zenera w obwodach bramek nie jest po to by chronić przed zbyt wysokim zasilaniem drivera, bo nic nie zdziała gdy podłączysz zbyt wysokie napięcie (wtedy po prostu się spali bo nigdzie nie ma ograniczenia jej prądu) tylko chroni delikatną bramkę przed przepięciami indukowanymi od prądu przełączanego w drenie i przenoszącymi się przez pojemności tranzystora i/lub przez obwody masy - ale to szczegół.

Oczekiwałem, że w tym konkursie pojawią się rozwiązania układowe proste i skuteczne. Kto z amatorów zbuduje takie coś jak pokazałeś, gdy i tak kupując elementy może zamówić tani, jednoscalakowy i wszystkomający driver tranzystora przełączający go grubo poniżej 50ns i wystarczający do pracy nawet przy 200kHz? Kto będzie babrał się w slew rate wzmacniacza lub jego zakresach napięć we-wy skoro może wstawić mikroskopijną kostkę w SOT23 zasilaną wprost z 12V czy 15V, akceptującą bezpośrednio sygnały logiczne 3V lub 5V i mającą wbudowany dużo potężniejszy, szybszy i bardziej sprawny stopień wyjściowy niż te dwa tranzystorki bipolarne? Zrozumiałbym, gdyby Twój post rozrósł się do artykułu o sterowaniu MOSFETów i ten schemat był jedną z np. 10 propozycji. Możecie chłopaki zrobić to tak, tak lub tak. To rozwiązanie jest proste układowo i działa świetnie ale wymaga kupienia driverka za 3 złote, to korzysta z kilku bramek CMOS i wciąż jest proste ale trochę mniej sprawne a na końcu macie przykład jak można zbudować to ze sznurka i kartonu ale działa tak sobie i tylko do kilku kHz - wybierajcie. Tutaj mi tego zabrakło.

Udostępnij ten post


Link to post
Share on other sites
Sam wzmacniacz operacyjny nie jest tu na swoim miejscu bo robi za komparator do czego średnio się nadaje - prawdziwy komparator sprawdziłby się tutaj dużo lepiej.

Jest pewien problem - większość komparatorów (fakt- na pewno nie wszystkie) któregoś z warunków nie spełni. Obojętnie czy to będzie Open Collector, napięcie zasilania/wejść/wyjść. Wzmacniacz nie jest idealnym komparatorem - ale będzie działał dobrze. Zresztą symbol komparatora i wzmacniacza jest taki sam.

Dla kogo to jest? Dla ludzi, którzy jakimś cudem zamiast zaopatrywać się w TME/Farnell/itd. zaopatrują się w sklepie za rogiem. Dla ludzi, którzy mieli już problemy przy mostkach na elementach dyskretnych. Oraz dla tych, którzy szukają rozwiązania za wszelką cenę najtańszego - TLC274 ma 4 kanały, co wystarcza na 4 MOSFETy, czyli dolne strony dwóch mostków. Różnica rzędu około 8-10zł (mniej przy wielokanałowych). Dużo, mało? trudno powiedzieć.

Natomiast zaletą jest również właśnie ten ustawialny Offset. Jeśli podepniemy tam coś takiego:

Zabezpieczenie przed zbyt niskim napięciem

Przy spadku napięcia zasilania powoduje w połączeniu z poprzednim schematem wyłączenie mosfetów. Zaletą jest to, że nie będziemy sterować tranzystorów zbyt niskim napięciem. Programowanie napięcia progowego odbywa się za pomocą R7, R9, R10. C3 oraz R7 odpowiadają za opóźnienie załączania i wyłączania zabezpieczenia oraz filtrowanie. Można to oczywiście zrobić inaczej (np. na innych kanałach wzmacniacza U1) ale można i tak.

Edit: dodałem plik .sch

ster-mosfet.sch

Udostępnij ten post


Link to post
Share on other sites

Poprawiłem ten opis i odwróciłem schemat.

spacE: Dziwną wydaje mi się maniera rysowania schematów dokładnie odwrotnie niż nakazuje zdrowy rozsądek i ogólnie przyjęte normy

Zawsze tak rysowałem, ponieważ uC umieszczam po lewej stronie schematu przez co sygnały biegnące do niego są w tą stronę, co do GND i VCC nie znam się. 😉

Pozdrawiam Maciek

Udostępnij ten post


Link to post
Share on other sites

Tak samo jak trzeba dobrać wzmacniacz, tak samo i komparator - to jasne. A szybkie porównywanie dwóch napięć i generowanie sygnału dwustanowego jest właśnie typowym zadaniem komparatorów.

Ludzie którzy mieli już problemy z mostkami na elementach dyskretnych będą jak ognia unikać takiego cudowania i wybiorą kompletny mostek scalony lub tandem driver+MOSFET.

Ludzie którzy chcą zrobić to najtaniej wezmą dobry tranzystor załączany poziomami logicznymi i wysterują go wprost z procesora przez opornik. Prąd dostarczany przez port wyjściowy do kilku kHz machania bramką wystarczy. Moim zdaniem nawet dodanie do tego układu drivera za 3zł wciąż mieści się w kategorii "tanio".

Mając na pokładzie procesor wystarczy mierzyć nim napięcie +12V i wyłączać sterowanie gdy zasilanie spadło. Dodatkowo można wtedy zapalić diodkę ostrzegawczą lub wysłać jakiś komunikat przez UART.

-------------------------

EDIT:

SpacE: "Zawsze tak rysowałem" - to może wreszcie czas się nauczyć robić to porządnie? Na Twoim schemacie nie ma żadnego procesora - jest tylko odwrotnie narysowany odbiornik z odwrotnie poprowadzonymi zasilaniami i odwróconym kierunkiem biegu sygnałów.

Udostępnij ten post


Link to post
Share on other sites
Przyznam, że trochę nie rozumiem jak można tak absurdalne układy wstawiać na konkurs mający promować wzorce układowe. Jest wieczór po deszczowym dniu i może trochę przesadzam, ale czy nie ma tu jakiejś cenzury wstępnej?

Liczyłem właśnie na takie uwagi (jak Twoje) od większej ilości czytelników. Pozwoli to na uniknięcie błędnych schematów. Natomiast w przypadku "archaicznych" układów, to jeśli będą poprawne trafią do konkursowej ankiety. Zakładam jednak, że zdobędą mniejszą liczbę głosów od popularnych rozwiązań.

Zachęcam wszystkich do udziału w konkursie zostało jeszcze 5 dni oraz sporo schematów, które można narysować - chociażby podpięcie LCD lub modułu Bluetooth do procesora 🙂

Udostępnij ten post


Link to post
Share on other sites
Ludzie którzy chcą zrobić to najtaniej wezmą dobry tranzystor załączany poziomami logicznymi i wysterują go wprost z procesora przez opornik. Prąd dostarczany przez port wyjściowy do kilku kHz machania bramką wystarczy.

Ze wszystkim masz z grubsza rację, ale z tym to nie do końca. Nawet tranzystory załączane poziomami logicznymi nie otwierają się na duże prądy (przykładowo IRLR024N przy 3V przewodzi nawet nie 3A) oraz mają podwyższoną rezystancję przewodzenia przy napięciu Vgs 3-3.3V.

Przy ATmegach jest prościej (5V, spora wydajność prądowa wyjść), ale przy ARMach już gorzej (mocno ograniczona liczba nóżek wysokoprądowych, napięcie <=3.3V).

W sumie zachęciłeś mnie do spłodzenia innych schematów. Zobaczymy czy znajdę czas 🙂 Ciebie również zachęcam do zrobienia schematu, który uznasz za dobry, słuszny i przydatny.

Mając na pokładzie procesor wystarczy mierzyć nim napięcie +12V i wyłączać sterowanie gdy zasilanie spadło. Dodatkowo można wtedy zapalić diodkę ostrzegawczą lub wysłać jakiś komunikat przez UART.

Spotkałem już się z sytuacją, kiedy procesor wyłączając się od spadku napięcia zasilania zapamiętał ostatni stan nóżek. Tranzystor ulegał w takiej sytuacji przepaleniu, gdyż jego napięcie bramki wpadało w zakres w którym działał jako źródło prądowe. Czasami rozwiązania analogowe są najlepsze, szczególnie jeśli chodzi o zabezpieczenia. Program się może zawiesić, procesor wyłączyć, a część analogoowa będzie dalej działać.

Udostępnij ten post


Link to post
Share on other sites

Dwukierunkowy konwerter poziomów logicznych

Użyteczny np. w komunikacji I2C pomiędzy urządzeniami o różnych napięciach zasilania. Testowałem też przy komunikacji przez UART z prędkościami do 115200bps.

Jak to działa?

1. Jeżeli żadna ze stron nie ściąga swojej linii do masy, po obu stronach mamy stany wysokie zapewniane przez rezystory podciągające do odpowiedniego napięcia zasilania.

2. Jeśli linia DATA_3V3 jest ściągnięta do masy, napięcie Vgs przekracza próg załączenia i tranzystor T1 zaczyna przewodzić, dzięki czemu DATA_5V również zostaje ściągnięte do masy.

3. Najciekawszy jest przypadek kiedy linia DATA_5V będzie miała stan niski. Wtedy do gry wchodzi dioda pasożytnicza tranzystora będąca pomiędzy drenem, a źródłem. Poprzez nią napięcie na linii DATA_3V3 zaczyna spadać, aż dochodzi do momentu kiedy napięcie Vgs przekracza próg załączenia tranzystora i zaczyna on przewodzić. Obie linie mają wtedy stan niski.

Uwagi:

Układ może służyć jako konwerter pomiędzy innymi poziomami zasilania, jednak należy pamiętać, że napięcie po stronie źródła tranzystora T1 nie może być wyższe niż po stronie drenu. Nie powinno być też niższe niż 2,5V (maksymalne napięcie Vgs, przy którym tranzystor 2N7002 zaczyna przewodzić)

logic_converter.sch

Udostępnij ten post


Link to post
Share on other sites

Od siebie dodam jeszcze tylko to, że ten naprawdę użyteczny (mimo swojej prostoty) układzik jest w oczywisty sposób niesymetryczny i w sposób aktywny "przeciąga" na drugą stronę tylko zero logiczne (stan niski). Stany wysokie po obu stronach robione są przez rezystory podciągające, przez które muszą naładować się pojemności kabli, ścieżek i wejść wszystkich podłączonych układów. Zbocze opadające jest więc prawie tak samo dobre po stronie pasywnej jak i tej nadającej, ale już powrót do stanu wysokiego jest duuużo wolniejszy. Tak jak napisałeś konwerter ten nadaje się więc idealnie dla szyn takich jak I2C czy SMBus, będzie działał z UARTem (po zmniejszeniu oporników) może do 1Mbit/s ale już np. do karty SD lub interfejsu SPI polecić go nie można. Ja do łączenia np. procesorów pracujących na 1.8V z 3.3V szyną I2C często używam tranzystorów podwójnych np. NTZD3154 - małe, dwa kanały w jednym no i załączają się (w tej aplikacji) już od 1.2V. Kluczowe jest - co napisałeś - by nie pomylić źródła z drenem (kierunek diody podłożowej) oraz podłączyć bramkę do niższego napięcia.

----------------------------

EDIT:

OldSkull: Tranzystory mocy dobrze pracujące już od paru woltów Vgs dawno nie są problemem, poszukaj u Fairchilda - jego produkty występują w wielu wzorcowych aplikacjach wyrafinowanych konwerterów DCDC dużej mocy/niskich napięć, np:

https://www.fairchildsemi.com/datasheets/FD/FDT439N.pdf

Akurat ten kosztuje kilka złotych a z 3.3V możesz nim załączać ładnych kilka A - ograniczeniem jest głównie moc strat w małej obudowie. W impulsie możesz dopakować i 30A.

"W sumie zachęciłeś mnie do spłodzenia innych schematów" - dokładnie o to mi chodziło 🙂 , choć jest to właściwie tylko reanimacja idei Trekera czyli powrót do większych artykułów/wątków/dyskusji poświęconych jednemu szerokiemu tematowi (było o podczerwieni i chyba coś jeszcze).

Trochę też myślałem o temacie akurat tego etapu konkursu. O ile wygląd warsztatu czy np. hasło reklamowe mogą być oceniane wg gustu i z tym trudno dyskutować, o tyle już schematy wzorcowe które będą kiedyś traktowane przez czytających jako gotowe, sprawdzone i działające fragmenty projektów muszą być jakoś weryfikowane merytorycznie. Po prostu hobbyści zajmujący się elektroniką "z doskoku" nie mają szans dokonać rzetelnej oceny rozwiązania. Przychodzi mi na myśl jedynie porównywanie do rozwiązań napotkanych wcześniej w sieci - a to nie jest żaden wykładnik jakości. Tak więc jaki sens ma głosowanie na rzeczy których nie umiemy ocenić? Schemat ma być ładny, kolorowy czy bogato opisany? Czy zwycięzca gwarantuje poprawne działanie prezentowanego fragmentu w każdym projekcie, czy tylko w pewnych wybranych warunkach? A co z wartościami elementów, możliwościami eksperymentów, rozbudowy i modyfikacji? Jak się ma stopień skomplikowania do oceny? Czy preferowane są prostsze, tańsze czy dopracowane rozwiązania? A może istotna jest prezentacja wielu różnych rozwiązań tego samego problemu? Każdy oczywiście ma swoje własne kryteria, ale podstawowym wydaje się jednak elektryczno-elektroniczna poprawność a tej nie sposób ocenić bez pewnego doświadczenia i wiedzy. Dlatego jestem sceptyczny co do wyników tego odcinka konkursu.

Udostępnij ten post


Link to post
Share on other sites

Następny schemat, jaki chciałbym przedstawić jest związany z bardzo przydatnym i często używanym elementem – przetwornicą napięcia ST1S10. Przetwornice te są często używane w naszych amatorskich konstrukcjach. Główną ich zaletą jest ich wysoka sprawność rzędu około 90%, co ma bardzo duże znaczenie gdy zasilamy nasze roboty z różnego rodzaju akumulatorów. Gdy zależy nam na dłuższej pracy przetwornica wydaje się być doskonałym rozwiązaniem, aby wydłużyć czas pracy naszych konstrukcji. Dodatkowym jej atutem jest dość wysoki prąd maksymalny 3A, co pozwala także na zasilanie silników ze stabilizowanego napięcia. Może to pomóc w wyregulowaniu silników.

Jednak aby nasza przetwornica odpowiednio działała musi zostać odpowiednio podłączona. Ważne jest także prawidłowe rozmieszczenie elementów na płytce PCB, w związku z czym oprócz schematu załączam także własny projekt płytki PCB modułu z przetwornicą. Jego rozmiar to zaledwie około 2x2 cm. Na forum można znaleźć opisy przypadków, gdy przetwornice te wybuchały po nieprawidłowym podłączeniu! Ale nie martwcie się, mi się to jeszcze nie zdarzyło i myślę że wam także się to nie przytrafi! Wystarczy zastosować się do wytycznych producenta przy projektowaniu.

Poniżej przedstawiam schemat:

Oraz obraz płytki PCB:

W celu uzyskania odpowiedniego napięcia na wyjściu zastosować odpowiedni rezystor R1, którego wartość obliczamy ze wzoru:

R1 = R2 x (VOUT - VFB) / VFB

gdzie R2 typowo to 20k, a VFB = 0,8V

Do obliczeń możemy także użyć wygodnego kalkulatora dostępnego TUTAJ.

W załączniku umieszczam także notę katalogową przetwornicy. Jest tam m. in. pokazane prawidłowe rozmieszczenie elementów, którym się sugerowałem przy projektowaniu płytki PCB.

CD00169322.pdf

ST1S10.rar

Udostępnij ten post


Link to post
Share on other sites

Wrzucam kolejne dwa schematy. Dotyczą one mostków H bezpiecznych dla elektryki robota - nie da się ich tak wysterować aby mogło dojść do zwarcia.

1. Mostek na bazie przekaźnika typu DPDT (Dual Pole, Dual Terminals)

1. W mostku tym regulacja PWM odbywa się za pomocą pojedynczego tranzystora MOSFET typu N. O sterowaniu bramki można poczytać w dyskusji w tym temacie, tym samym zagłębiać się nie zamierzam.

2. Zmiana kierunku następuje poprzez zmianę wysterowania przekaźnika. Należy tutaj pamiętać na diodzie podłączonej równolegle do cewki przekaźnika. Chroni ona tranzystor bipolarny.

3. Zatrzymanie następuje poprzez wyłączenie sterowania MOSFETem.

4. Poniżej MOSFETa znajduje się rezystor pozwalający na pomiar prądu. Sygnał ten można filtrować filtrem RC a nawet podać na detektor szczytu. Ale to temat na inną okazję.

5. Rezystor sterujacy tranzystorem bipolarnym należy tak dobierać aby nie przekroczyć dopuszczalnych prądów procesora.

6. D1 - Powinna to być dioda szybka (Schottky lub Transil). Przy czym prąd znamionowy tej diody może być nawet nieco niższy niż prąd maksymalne silnika, gdyż pracuje ona tylko w momencie wyłączenia tranzystora MOSFET. Liczy się prąd średni oraz prąd szczytowy.

7. Kondensator na silniku. Tutaj bardzo wiele osób popełnia bardzo poważny błąd. Otóż dają kondensator dużej wartości. Efekt? Przy załączeniu MOSFETa nawet na chwilę jest on ładowany a później zasila silnik. Zmniejsza to mocno zakres sterowania napięciem na silniku i co gorsza ta charakterystyka mocno zależy od prądu silnika. Należy się wystrzegać dużych wartości. Wystarczy powiedzieć, że dla silnika pobierającego podczas dużego obciążenia 5-6A, a w zwarciu 15-18A wystarczy 1nF! Natomiast pod względem napięcia warto zachować zapas. na 24-30V nie należy dawać 35V, tylko 50V a nawet 100V.

8. Ale zarazem szpilki napięć od prądu zwracanego przez silnik jakoś trzeba łapać. W tym celu warto dawać transila (diody TVS - Tłumik Napięć Przejściowych). Jest to taki specyficzny typ diody łączący wiele cech diod Zenera oraz Schottky - mają w miarę nieźle określone napięcie przebicia oraz bardzo krótki czas załączenia. Wstawiony SMAJ30A nadaje się bardzo dobrze do układów zasilanych z akumulatorów 24V (Czyli max. 25.2-29V napięcia początkowego). Dzięki tej mądrej diodzie między innymi nasz przekaźnik będzie dłużej żył jeśli będziemy chcieli nagle zmienić kierunek.

9. Złącze. Może to brzmieć banalnie, ale złącze do podłączenia silnika jest ważne. Po pierwsze musi przenieść duże prądy. Wiele złącz sobie z tym nie daje rady jeśli sterujemy np. silnikami od wkrętarek - przy 10A potrafią się nagrzewać, a przy 15A podtapiać. Po drugie dobrze jeśli złącze uniemożliwia przypadkowe podłączenie na odwrót - przy pracy nad prototypem często coś odpinamy i łatwo o pomyłkę. Zaproponowane tutaj złącze Ma obie te cechy - ale niestety jest duże. Warto czasami samemu poszukać lub dopasować do zastosowania. Np. modelarskie złącza bananowe (lutowane) mają niezłe parametry a korzystając z wersji męskich i żeńskich raczej się nie pomylimy.

2. Oparte o przekaźniki SPDT (Single Pole, Dual Terminals)

Jedyna różnica to dwa przekaźniki - czyli dwie cewki sterowane niezależnie.

1. W tym przypadku jest możliwe hamowanie poprzez zwarcie wyjść na silnik. Należy w tym celu podać ten sam sygnał na cewki obu przekaźników. Niewątpliwą zaletą jest to, że układ niezasilony jest automatycznie hamowany! Warto o tym pamiętać wszędzie tam, gdzie po wyłączeniu na silnik może być wywierany moment z zewnątrz.

schemat1.sch

Udostępnij ten post


Link to post
Share on other sites

Ostatnio dużo schematów się pojawiło, więc i ja coś dorzucę 🙂 Wyżej pojawił się schemat przetwornicy, więc pozwolę sobie zaprezentować użycie stabilizatora liniowego lm1117 na 5 oraz 3,3V.

Maksymalny prąd jakim można obciążyć powyższy układ to 800mA, co jest wystarczającą wartością do zasilenia mikrokontrolera oraz jego peryferii jak czujniki, diody itp. Podczas projektu należy jednak zwrócić uwagę na wybór odpowiedniej obudowy, gdyż różne jej wersje mogą rozproszyć różną ilość ciepła wydzielanego podczas pracy układu. Przykładowo policzmy jak bardzo możemy obciążyć stabilizator 5V zasilany z akumulatora li-pol 2S w obudowie TO-263:

Moc wydzielana przez stabilzator to:

P=(Vin-Vout)*I

Obudowa natomiast przy założeniu, że jej temperatura nie powinna przekroczyć 60*C, a będzie mogła pracować przy temperaturze otoczenia 40*C może rozproszyć 2W ciepła (liczymy to z tabelki na str 5 noty katalogowej). Podstawiając do powyższego wzoru:

I=2W/(8,4V-5V)

I=588mA

Przy wyższym natężeniu jej temperatura przekroczy 60*C

Tutaj możemy zauważyć największą wadę stabilizatorów liniowych- niską sprawność, przez co dużo energii jest marnowanej w postaci ciepła.

Następnym ważnym aspektem jest minimalny spadek napięcia na stabilizatorze, który w lm1117 wynosi ok 1.25V, czyli minimalne napięcie wejściowe, gdy na wyjściu chcemy uzyskać 5V wynosi 6.25V. Niestety popularne akumulatory li-pol 2S w chwili końcowego rozładowania mają na swoich zaciskach jedynie 6V, przez co musimy kontrolować stan ich naładowania. Z pomocą przychodzi nam dzielnik napięcia umieszczony na schemacie. Jeśli wyjście "stan baterii" podepniemy do pinu ADC konrolera będziemy mogli na bieżąco wyznaczać napięcie akumulatora i podjąć odpowiednią reakcję. Rezystory R3 oraz R4 musimy policzyć według wzoru na dzielnik napięcia:

Uout=Uin*R1/(R+R1)

Oczywiście Uout nie może przekroczyć napięcia zasilania naszego avr.

Przechodząc do schematu:

Umożliwia on zasilanie układów zarówno z 5 jak i 3,3V, dzięki czemu na pokład robota oprócz atmegi możemy także wstawić kontroler stm, czy akcelerometr/żyroskop. Oprócz wspomnianego dzielnika zawiera on także diody led sygnalizujące podpięcie zasilania oraz złącze wyjściowe umożliwiające modułową budowę robota. Kondensator C9 powinien być umieszczony możliwie blisko rezystorów R3 i R4, natomiast reszta kondensatorów w pobliżu odpowiadającego im układu. Maksymalne napięcie, jakim możemy zasilać układ to 12V.

Podsumowując

Stabilizatory liniowe są powszechnie stosowane w robotyce, i pomimo swoich minusów są równie, jeśli nie bardziej popularne od przetwornic. Osobom początkującym polecam właśnie te układy ze względu na prostotę ich użytkowania, a także mniejsze wymagania wobec np położenia poszczególnych elementów na pcb.

zasilanie.sch

Udostępnij ten post


Link to post
Share on other sites

Cześć,
Możesz wyjaśnić C3 i C4? Producenci zalecają raczej 10uF, ty dałeś 100uF.

Udostępnij ten post


Link to post
Share on other sites

Dziękuję za zwrócenie uwagi, było to najzwyklejsze w świecie niedopatrzenie (myślę, że większe kondensatory niewiele by zmieniły, no ale bądźmy dokładni) pomyłka poprawiona.

Nie wiem, czy można to zaliczyć jako schemat, ale nadal wiele początkujących ma z tym problem. Mówię tutaj o podłączeniu przycisku oraz związanych z nim drganiach styków. Często można spotkać (nawet w niektórych artykułach na tym forum) rozwiązanie tego problemu w programie za pomocą "oczekiwania" na ustanie drgań styków. Problem w tym, że wiele osób czeka 20, 30, a nawet 50ms. W nocie katalogowej popularnego tact switch'a możemy natomiast znaleźć informację o maksymalnym czasie drgania styków równym 5ms. Podpiąłem najpopularniejszą konfigurację tego przycisku do oscyloskopu, aby sprawdzić jak często mamy do czynienia z wspomnianym problemem.

Testowałem przycisk zarówno niski, jak i wysoki, z i bez kondensatora C2. Na około 150-200 zboczy (ok 85 wciśnięć) myślę, że drgania mogące być błędnie odczytane przez kontroler nie przekroczyły 10 przypadków.

jedno z dłuższych drgań bez podłączonego kondensatora C2

stan podczas puszczenia przycisku z kondensatorem C2

Dodatkowo nie spotkałem się z sytuacją, aby drgania trwały dłużej niż 1ms, natomiast w przypadku układu z kondensatorem znacznie wydłużył się czas narastania podczas puszczenia przycisku (do ok 3ms).Tutaj jednak drganie zauważyłem tylko raz i to w przypadku przycisku z wysokim "wciskaczem".

Nie chcę tutaj mówić, aby skracać czas oczekiwania do 1ms, ponieważ do noty katalogowej również należy się stosować, a każdy przycisk jest inny, jednak czasy przedstawione we wstępie w przypadku tact switch'y są z pewnością niepotrzebne. Dodatkowo polecam obszerniejszy artykuł na powyższy temat: http://mirekk36.blogspot.com/2012/10/drgania-stykow-to-bajki-wiec-jak-to.html

przycisk.sch

Udostępnij ten post


Link to post
Share on other sites

Ahmed, Twój schemat do eliminacji drgania styków nie jest do końca poprawny. Kondensator 10nF w zupełności wystarcza i eliminuje zbyt duży ładunek (który jest zwierany switchem), dodatkowo powinien być jeszcze rezystor 100Ohm szeregowo ze switchem, żeby zmniejszyć prąd płynący przez switch w momencie zwierania go. Powinieneś wspomnieć, że rezystora R1 można w AVRach nie stosować bo można włączyć wewnętrzne podciąganie pinu do Vcc.

Tak to wyglądało u mnie, z rezystorem podciągającym włączonym na pinie AVRa:

Udostępnij ten post


Link to post
Share on other sites

Sabre, owszem, można włączyć rezystor wewnętrzny, jednak myślę, że dodatkowy jeden element nie zaszkodzi, a może pomóc w szczególności, gdy ktoś podepnie przycisk np do resetu. W takiej postaci schemat jest dość uniwersalny. Co do zasadności rezystora ograniczającego prąd rozładowywania odsyłam do podanego linku, na którym niejako oparłem ten schemat. Natomiast mniejsza wartość kondensatora owszem mogłaby przynieść lepszy efekt, jednak wątpię, aby dla "zwykłego" użytkownika miało to jakiekolwiek znaczenie. No bo przecież ani prądu na tym nie zaoszczędzi, ani żywotności przycisku nie przedłuży, rzekłbym "sztuka dla sztuki". Aczkolwiek zgadzam się, efekt powinien być lepszy, szczególnie w zboczu rosnącym i jeśli komuś byłoby to naprawdę potrzebne to powinien zmniejszyć tą wartość. Myślę jednak, że wtedy to nie byłaby już osoba początkująca 😉

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...