Tytuł: 5 przekaźników sterowanych 5 kanałami z odbiornika RC
Napisane: środa, 4 listopada 2015, 21:54
Moderator
Dołączył(a): czwartek, 12 kwietnia 2012, 10:46 Posty: 6050 Wiek: 45 Lokalizacja: Kraków
Pewnie niewielu czytających obchodzi, że sterowanie Arduino za pomocą sygnału z odbiornika RC jest dość trudne. Nie dość, że czasy które trzeba policzyć są dość krótkie to jeszcze Piotrek złośliwie zamówił sterowanie 5 kanałami Nie patrząc na to, że małe Arduino ma tylko 2 porty, które mogą to wykonać - to te oznaczone jako INT0 i INT1 (porty 2 i 3) a co za tym idzie można sczytać tylko 2 kanały z odbiornika...
Załącznik:
ProMini.png [ 329.64 KiB | Przeglądane 17872 razy ]
Całość operacji polega na wychwyceniu na porcie, że coś się zmienia, uruchomieniu licznika, który policzy o ile to coś się zmieniło i następnie wykonaniu jakiejś czynności. I to wszystko razy 5. Żeby to zrobić wykorzystujemy przerwania. I tu zaczynają się schody gdyż jak wspominałem, najmniejsze płytki Ardunio (pro mini, nano, uno, itd) bazują na Atmedze328, która ma aż 2 porty obsługujące przerwania... a każde przerwanie może obsłużyć 1 kanał RC Do zamówionych 5 jest więc dość daleko.
Ale dość narzekań. Z pomocą przychodzi biblioteka PinChangeInt dostępna pod adresem: https://github.com/GreyGnome/PinChangeInt Ściągamy, rozpakowujemy wrzucamy do katalogu z bibliotekami.
W środku biblioteki w załączonych przykładach nie znajdziecie jednak takiego wykorzystania jak to poniższe.
Odbiornik RC podłączamy do portów: A1, A2, A3, A4, A5 a "przekaźniki" do portów: 12,11,10,9,8
wymienione w kolejności więc wejście A1 odpowiada wyjściu 12, itd
Na wyjściu nie musi to być oczywiście przekaźnik, może być tranzystor, dioda LED, czy coś innego.
W moim filmowym przykładzie wykorzystałem gotowy moduł więc nie musiałem się martwić o nic więcej, jeśli sami robicie płytkę z przekaźnikami pamiętajcie o diodach zabezpieczających jak na poniższych malunkach.
Załącznik:
Relay_KA05.jpg [ 25.63 KiB | Przeglądane 17872 razy ]
Załącznik:
FOLEWR3G1QWARRC.MEDIUM.jpg [ 8.01 KiB | Przeglądane 17872 razy ]
Miłego włączania.
edyta 11.07.2017: W kodzie była mała literówka, którą poprawiłem podmieniając plik zip w tym poście
Jak zawsze Hubert, solidnie dokładnie, i prosto co by taki tłuk jak ja zrozumiał, choć bym miał jutro nie wiem co to test zrobię , na razie na diodach , ale zrobię. Stokrotne dzięki. Edyta: -sterowanie oświetleniem -Przełączanie kamer -pstryk w aparacie -zom w aparacie (tylko trza dziada rozkręcić )
_________________ _____________________________ Pozdrawiam Jak się nie ma ,co się lubi , to się to buduje
Ostatnio edytowano środa, 4 listopada 2015, 23:02 przez piotrek75, łącznie edytowano 1 raz
Tytuł: Re: 5 przekaźników sterowanych 5 kanałami z odbiornika RC
Napisane: środa, 4 listopada 2015, 23:01
Moderator
Dołączył(a): czwartek, 12 kwietnia 2012, 10:46 Posty: 6050 Wiek: 45 Lokalizacja: Kraków
@Rumcajs Nie ma tak dobrze, Chińczycy robią moduły 1,2,4 i 8 przekaźnikowe. 5 chyba jest zakazane
@piotrek75 Na zdrowie
Jeśli nie chcemy żeby układ w czasie włączania zasilania Arduino wariował (klikał przekaźnikiem) to nie wykorzystujcie wyjścia na pinie 13. Należy zmodyfikować ten kawałek kodu:
Kod:
int relay1 = 13;
i wpisać jakiś inny wolny. Jeśli komuś to nie przeszkadza może zostawić jak jest.
..Jeśli nie chcemy żeby układ w czasie włączania zasilania Arduino wariował (klikał przekaźnikiem) to nie wykorzystujcie wyjścia na pinie 13. Należy zmodyfikować ten kawałek kodu:
Kod:
int relay1 = 13;
i wpisać jakiś inny wolny. Jeśli komuś to nie przeszkadza może zostawić jak jest.
Tzn że jak - mam wpisać inny wolny port i tam podpiąć przekaźnik?
_________________ Jak mówię że coś zrobię to zrobię, nie trzeba mi co pół roku przypominać.. - Sławek -
Tym razem muszę się wtrącić, bo miałem smutne przygody z takimi układami... Bardzo podobają mi się porady Huberta i z kilku skorzystałem (dzięki wielkie), ale jeśli chodzi o sterowanie przekaźnikami przez mikrokontroler mam zwyczaj (praktyka pokazała że dobry) stosować izolację optyczną między pinem procesora a przekaźnikiem. Zastosowany tu tranzystor umożliwia sterowanie cewki przekaźnika odpowiednim prądem (Arduino nie ma wystarczającej wydajności) ale nie zapobiega w 100% "bałaganowi" który pojawia się na procesorze w chwili odłączenia zasilania cewki przekaźnika (dynamiczne "rozładowanie" cewki), mimo zastosowanej diody. Układ, który ma bardzo dobrą filtrację zasilania powinien przetrwać takie impulsy, ale czasem wystarczy brak malutkiego kondensatora 100nF i mamy zwiechę...
Zachęcam do podmienienia tranzystora na transoptor (są całkiem tanie), pełno przykładów w sieci więc nie wklejam. Idealnym rozwiązaniem jest zasilanie proca i przekaźnika za izolacją z 2 różnych źródeł. Dzięki izolacji mogą to być źródła o różnych napięciach...
Tak też zmodyfikowałem układ przełącznika 4 kamer na 2 przekaźnikach z tego forum - zasilanie STM 3.3V z przetwornicy, a cewki przekaźników 5V z ESC. Nigdy nie złapałem "zwiechy" w takim układzie. Dodam jeszcze, że izolacja jest szczególnie ważna, jeśli przełączanie ma się odbywać w szybkich sekwencjach (kondensatory filtrujące zasianie nie radzą sobie wtedy).
Tytuł: Re: 5 przekaźników sterowanych 5 kanałami z odbiornika RC
Napisane: wtorek, 11 lipca 2017, 18:36
Moderator
Dołączył(a): czwartek, 12 kwietnia 2012, 10:46 Posty: 6050 Wiek: 45 Lokalizacja: Kraków
Chińskie moduły przekaźnikowe mają oprócz samego przekaźnika sporo elektroniki dodatkowej. Jest tranzystor, ze dwie diody i parę kondensatorów - a wszystko działa bez zakłoceń i zwieszeń.
Chińskie moduły przekaźnikowe mają oprócz samego przekaźnika sporo elektroniki dodatkowej. Jest tranzystor, ze dwie diody i parę kondensatorów - a wszystko działa bez zakłoceń i zwieszeń.
Mi nie zawsze działało... Oczywiście zwiesza się bardzo rzadko więc problemu niby nie ma, jest też w razie czego watchdog (którego w amatorskich zastosowaniach mało kto używa)... Sygnał PWM do serw tez puszczam przez optoizolację... Niby tylko sygnał sterujący, a wyjścia mikrokontrolera już 2x poległy na tandetnych serwach... Nie namawiam nikogo na siłę, ale zachęcam, bo moim zdaniem warto - kosztuje z 3,- zł.
Cześć Odgrzewam kotleta Od jakichś dwóch dni próbuję wgrać program do mikrocontrolera atmega328p robię to według porad z tego linka https://pawelwiejkut.net/programowanie- ... y-arduino/ niestety dzieją się dziwne rzeczy. 1) nie mogę wgrać bootloadea 2) z głupia spróbowałem wgrać program i w ide pisze że ładowanie zakończyło się pomyślnie i pod komunikatem wywala mi się coś takiego na czerwono avrdude: stk500_getsync(): not in sync: resp=0x1c 3) w pro mini chodzi bez probleów, w nano też i uno też daje radę Moja wersja ide to 1.0.6 Czy znacie jakiś inny sposób, lub co robię źle, jedyne co przychodzi mi do głowy to , że brakuje mi w bibliotece płytek mikrocontrolerów atmega
Załącznik:
sc1.png [ 64.62 KiB | Przeglądane 15354 razy ]
Załącznik:
sc2.png [ 98.21 KiB | Przeglądane 15354 razy ]
Załącznik:
sc3.png [ 66.74 KiB | Przeglądane 15354 razy ]
I jeszcze jedna rzecz, czy Hubercie da radę przerobić troszkę ten program , chodzi o to żeby jeden kanał był jakby na odwrót tzn. potrzebuję żeby zewnętrznym pstryczkiem włączać i wyłączać pwm (potrzebuję to żeby składać i rozkładać podwozie bez włączania radia z oddzielnego aku, taka fanaberia związana z pakowaniem coptera do walizki
_________________ _____________________________ Pozdrawiam Jak się nie ma ,co się lubi , to się to buduje
Hubercie wydaje mi się, że źle wypakowuję pliki, tzn nie tam gdzie powinienem. Poniżej kilka zrzutów gdzie i co mam zapisane.
Załącznik:
sc01.png [ 92.65 KiB | Przeglądane 15269 razy ]
Załącznik:
sc02.png [ 106.2 KiB | Przeglądane 15269 razy ]
Załącznik:
sc03.png [ 103.41 KiB | Przeglądane 15269 razy ]
Załącznik:
sc04.png [ 107.51 KiB | Przeglądane 15269 razy ]
Załącznik:
sc05.png [ 132.41 KiB | Przeglądane 15269 razy ]
Wydaje mi się , ten kawałek programu który ma być dopisany do pliku boards źle wklejam, ponieważ otwiera mi się on tylko w notatniku, i tam też go wkleiłem. Trochę mi wstyd bo to pewnie prosta sprawa, ale widzę że bez pomocy sobie nie poradzę Powiedz mi Hubert czy dużo roboty będzie z zmodyfikowaniem tego programu pod ten pstryczek? bo ja tylko potrafię zmieniać szybkość migania diody
_________________ _____________________________ Pozdrawiam Jak się nie ma ,co się lubi , to się to buduje
Atmega 328P Z powodu braku rezonatora właśnie szukałem takiej metody która by go ominęła, ale jeśli nie poradzę sobie to chyba zakupię takie cuś https://botland.com.pl/programatory/135 ... board.html , tylko że nie wiedzieć czemu mój usbasp nie chce się zkomunikować z moim nowym kompem niby komputer go widzi, niby sterownik ok , a arduino ide wywala mi cały czas jakieś błędy, zresztą z ftdi jest to samo
_________________ _____________________________ Pozdrawiam Jak się nie ma ,co się lubi , to się to buduje
Tytuł: Re: 5 przekaźników sterowanych 5 kanałami z odbiornika RC
Napisane: środa, 18 października 2017, 19:40
Moderator
Dołączył(a): sobota, 20 marca 2010, 17:47 Posty: 6498 Wiek: 52 Lokalizacja: Józefów (ten koło Błonia)
Odkąd mam drukarkę to nie mam problemu z Arduino. Po prostu przy instalacji Repetiera są instalowane wszystkie sterowniki do Arduino. Przynajmniej mi tak działa. Do FTDI ściągałem coś innego CH310 albo 340 jakoś tak się nazywało.
Adam ale całego? Teraz muszę jeszcze raz pisać , proponuję żeby odłożyć to na wekend, bo mam już dość na dziś, a do wekendu wywalę wszystko i jeszcze raz spróbuję zainstalować robiąc obrazki krok po kroku.
_________________ _____________________________ Pozdrawiam Jak się nie ma ,co się lubi , to się to buduje
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników