Jump to content

Nietypowe RC-switche


adams38
 Share

Recommended Posts

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

 

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

  • Upvote 2
Link to comment
Share on other sites

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. :)

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.