adams38 Opublikowano 3 Lutego 2021 Udostępnij Opublikowano 3 Lutego 2021 NIETYPOWE RC_SWITCH'e Wszyscy dokładnie wiemy jak działa typowy RC-Switch zamieniający rosnącą długość impulsu kanałowego na sygnał zero-jedynkowy. Czasami jednak to nie wystarcza i pojawia się chęć rozbudowania wspomnianego RC-Switch'a - może ściślej stworzenie nowego rozwiązania, potrzebnego aktualnie do spełniania wymaganej funkcji. Przeglądając forum stwierdziłem, że taka potrzeba nie jest tylko moim pomysłem, jednak większość omawianych rozwiązań dotyczy modeli latających więc przeważnie muszą spełniać inne warunki niż moje założenia, które mają pasować do modeli pływających. Dodatkowo jako człowiek wzrastający jeszcze w czasach mikrokontrolerów 4 bitowych (tak, tak, to nie pomyłka), trzymam się starej rodziny Intela 8051 i prawie zawsze na niej opieram swoje rozwiązania. Pozwalam sobie przedstawić swoje rozwiązania - na razie w fazie prototypów - może dla kogoś okażą się pomocne. Żeby wyjaśnić dokładnie jakie potrzeby mogą pojawiać się w konkretnych rozwiązaniach, przyjrzyjmy się na początek działaniu typowego RC-Switch'a. Jak wiadomo znormalizowany impuls kanałowy zmienia swoją długość od 1 ms do 2 ms a długość impulsu = 1.5 ms uważana jest za teoretyczne NEUTRUM (dla serwomechanizmu, dwu dwubiegunowego regulatora napięcia itp.) - aczkolwiek praktycznie powinniśmy zdawać sobie sprawę, że to jest pewien obszar rozciągający się od nieco mniej niż 1.5 ms do nieco więcej niż 1.5 ms. Być może określone to jest w jakichś normach ale ja się nigdy z nimi nie spotkałem. Jednak te zakresy tolerancji muszą występować, ponieważ inaczej niemożliwe było by praktycznie wyłączenie np. napięcia na silniku albo spokojne utrzymanie jakiegokolwiek steru w pozycji NEUTRUM. Chcąc przedstawić swoje rozwiązania posłużę się wykresem na którym podział aktywnej zmiany długości impulsu będzie podzielony na 9 części - dlaczego akurat na 9 będzie opisane później. W najczęściej występujących urządzeniach fabrycznych granica zmieniająca stan wyjścia z wartości (umownej, bo napięciowo to może być różnie) jest wartość szerokości impulsu = 1.75 ms a więc przykładowo obszar 5 między 2.66 a 2.88 ms. w zastosowanym podziale. Po co inne RC-Switch'e Rozbudowane (nietypowe) Rc-Switch'e mogą zwielokrotnić funkcję typowego rozwiązania, które praktycznie zamienia wyłącznie szerokość impulsu kanałowego w sygnał zero jedynkowy. Chęć budowania tego rodzaju urządzeń wynika z małej ilości kanałów w porównaniu z potrzebami użytkownika i to jest chyba podstawowa potrzeba poszukiwań innych rozwiązań. 1.Najprostszym tego przykładem jest rozwiązanie z dwoma wyjściami sygnalizującymi wzrost szerokości impulsu do MAX ale również i jego spadek do MIN. To praktycznie rozwinięcie jednego kanału na dwa. (wariant nr. 1) Jednak wygenerowany sygnał istnieje tylko w przypadku przytrzymania drążka w jednej ze skrajnych pozycji. Czasami to wystarcza a może nawet jest pożądane, czasami lepiej żeby ten stan sam się utrzymywał aż do jego skasowania. 2.Można go więc również wykonać w innym rozwiązaniu np. z pamięcią. W tym przypadku po przesunięci drążka w skrajną pozycję (pamiętajmy jednak o stosownej wspomnianej uprzednio tolerancji) sygnał pozostaje aktywny mimo powrotu drążka sterującego do pozycji NEUTRUM. Skasowanie tego stanu może się odbyć na dwa sposoby: a. przestawienie drążka w drugą skrajną pozycję - sygnał np. MAX. zostaje wyłączony ale załącza się sygnał MIN. I odwrotnie (to mój wariant 2). Można by go określić jak wariant ALBO - ALBO. b. Cofnięcie drążka do pozycji (szeroko pojętego) NEUTRUM i ponowne skierowanie go do tej samej skrajnej pozycji. W ten sposób uzyskujemy możliwość wygenerowania dwóch niezależnych sygnałów, które dodatkowo są pamiętane aż do ich świadomego wyłączenia. (to mój wariant 3.) 3. Sterując kanał potencjometrem możemy (w opisanym przypadku wygenerować więcej sygnałów (w moim rozwiązaniu 8, bo sygnał nr. 1. jest z założenia aktywny cały czas). (to mój wariant 4.) 4. Odmianą tego działania może być rozwiązanie, w którym załączenie następnego wyjścia nie kasuje już aktywnego. Dopiero cofane potencjometru ( zmniejszanie szerokości impulsu prowadzi do ich kolejnego wyłącznie - oczywiście w odwrotnej kolejności. W tym przypadku rozwiązanie przewiduje, że w skrajnym położeniu wszystkie 9 wyjść jest nie aktywne. Ale w zależności od potrzeb można to zaprojektować inaczej. (wariant 5.) Oczywiście mając mikroprocesor do dyspozycji, nasze możliwości są praktycznie nieograniczone - możemy sobie napisać program realizujący funkcję jaka tylko jest nam potrzebna. Rozwiązanie wykonane jest w oparciu o mikroprocesor INTEL'a AT89C4051 (ale użycie AT89C2051 lub AT89C14051 jest również możliwe, bo program wymaga jedynie 709 bajtów pamięci. Rozważając budowę układu scalonego wspomnianego mikroprocesora Wydaję się oczywisty podział przedziału czasowego na 9 części, ponieważ wyjścia sygnałów sterujących wykorzystują 8 wyjść portu P1 i siódme wyjście portu P3 a to z kolei wynika z fizycznej budowy obwodu scalonego mikroprocesora. Pozostałe bity portu P3 wykorzystane są do wstępnej konfiguracji RC-Switch'a, determinującej jego działanie. Bit P3.0 wykorzystany jest jako wejście impulsu sterującego z odbiornika. Za wyjątkiem dwóch ostatnich wariantów przyjęto, że stanowi MIN odpowiadają pozycje czasowe 1 2 a stanowi MAX pozycje czasowe 8 i 9. Pozostałe pozycje traktowane są jako NEUTRUM. Na schemacie uwidoczniono również układ kontroli działania RC-Swich'a, (pomocny przy jego uruchamianiu),składający się z 9 diod świecących i 9 500 om oporników. Dla mikroprocesora ATMELA jest to bezpieczne ponieważ każde w wyjść można obciążyć prądem 20 mA. Dodatkowo podano układ wzmacniający, który może być dołączony do każdego wyjścia. W moim przypadku większy prąd niż 1.5 A nie jest mi potrzebny. Będę używał napięcia 12 V ale nawet 40 V dla tego tranzystora jest dopuszczalne. Omawiany RC-Switch wykonany został na płytce drukowanej ale nie docelowej, tylko przypadkowo pasującej do tego układu. Na płytce docelowej są zaprojektowane zworki (jumperki) do łatwego wyboru wariantu działania i wzmacniacze - jak na rysunku - na skrajnych pozycjach. Mikroprocesor jest w podstawce co umożliwia dalsze prace nad ew. udoskonaleniem programu. "Lotnicy" prawdopodobnie marzyli by o mikroprocesorze SMD, w celu obniżenia wagi układu. Dla mnie jest to bez znaczenia, Ponieważ buduje modele pływające i to o znacznej wadze. Wykaz rysunków: 1. Wykres czasowy impulsu sterującego.jpg 2. Schemat ideowy RC-Switcha.jpg 3. Wyprowadzenia mikroprocesora.jpg 4. RC-switch 5 funkcyjny.jpg 5. Przygotowanie do próby RC-switcha.jpg 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Granacik Opublikowano 3 Lutego 2021 Udostępnij Opublikowano 3 Lutego 2021 Ciekawy włącznik. Może się kiedyś przyda. Mi by się bardzo przydało obecnie takie rozwiązanie: sterowanie jednym kanałem on-off dwa sterowane wyjścia (np do podłączenia mosfet'a) w pierwszej fazie (sygnał min.) oba wyjścia off w momencie pojawienia sie sygnału max załącza się wyjście 1 a po 5 sekundach załącza wyjście 2. Oba wyjścia aktywne cały czas jak jest sygnał max. W momencie przejścia sygnału z max do min wyłącza się wyjście 2 a wyjście 1 podtrzymane jest jeszcze 5-10 sekund po czym się wyłącza. Proces rozpoczyna się ponownie po pojawieniu się sygnału max. Sygnały min i max mają oczywiście swoje widełki długości impulsu. Byłbym wielce wdzięczny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek_Spy Opublikowano 3 Lutego 2021 Udostępnij Opublikowano 3 Lutego 2021 Ciekawe rozwiązanie, będzie hex czy bin udostępniony ? druk smd nie jest problemem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adams38 Opublikowano 3 Lutego 2021 Autor Udostępnij Opublikowano 3 Lutego 2021 8 godzin temu, Marek_Spy napisał: Ciekawe rozwiązanie, będzie hex czy bin udostępniony ? druk smd nie jest problemem Mogę przesłać projekt płytki drukowanej (Autotrax) i kody źródłowy INTEL'a i hex. nie wiem tylko jak to zrobić ? Jako załączniki ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad_P Opublikowano 4 Lutego 2021 Udostępnij Opublikowano 4 Lutego 2021 12 godzin temu, adams38 napisał: tylko jak to zrobić ? Jako załączniki ? Tak jak poniżej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek_Spy Opublikowano 4 Lutego 2021 Udostępnij Opublikowano 4 Lutego 2021 Spakuj w ZIP czy coś w tym stylu raczej schemat bo płytki robię w eaglu a autotrax to historia.Wysłane z mojego CPH2021 przy użyciu Tapatalka Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adams38 Opublikowano 8 Lutego 2021 Autor Udostępnij Opublikowano 8 Lutego 2021 Schemat jest załączony na rys. 2. Obecnie załączam plik programu źródłowy i INTEL.HEX. INTEL.HEX RC_UNI_0.A51 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi