oki188 Opublikowano 5 Marca 2019 Opublikowano 5 Marca 2019 Cześć. Chciałbym przedstawić wam kolejny projekt elektronicznego włącznika tym razem sterowanego z aparatury. Istnieją już gotowe rozwiązania ale chciałbym pójść o krok dalej więc zaczynajmy Wszystkie rozwiązania oparte są na mikro-kontrolerze Attiny13 (obenie Attiny85) oraz elementach dodatkowych. Programy pisałem w Arduino IDE 1.0.5 więc mogą mieć kilka błędów ale układy działają prawidłowo, ach te początki w programowaniu Wersja V.0 Wersja ta oparta jest na zastosowaniu przekaźnika jako układu wykonawczego do załączania dodatkowego urządzenia. W ten sposób zyskujemy możliwość nie tylko załączania, rozłączania ale i przełączania podłączonych układów. Układ załączany jest impulsami z kanału RC o długości 1550us a więc troszkę ponad połowę wychylenia drążka Zastosowany przekaźnik G5LE-1 o napięciu cewki 5V sterowany N-mosfetem IRLML6344 może załączać układy o prądzie max 10-12A dla 30V. Przekaźnik na płytce montowany jest od spodu, obok niego znalazły się piny do zalutowania przewodów lub zastosowania złącza KF-301. Na płytce punkty oznaczone Z należy połączyć zworką. Schemat układu: Parametry: Zasilanie Układu: 5V Przekaźnik: G5LE-1 złącze wyjściowe: KF-301 wymiary PCB: 46 x 18mm Wersja V.1 Wersja ta powstała dla osób którzy jednym kanałem chcieli by załączać wiele dodatkowych urządzeń w określonej kolejności. Dlatego postanowiłem wykorzystać 4 wyjścia układu Attiny do załączania różnych układów jedno po drugim. Jako układy wykonawcze dla ograniczenia miejsca na płytce wykorzystałem Dual N-Channel mosfet (2 kanały w 1układzie). Niestety coś kosztem czegoś a więc max prąd na 1 kanał nie może przekroczyć 2.5A Podobnie jak w układzie poprzednim sterowanie odbywa się rożną długością impulsu. Mając w aparaturze do dyspozycji przełącznik 3 kanałowy możemy wykorzystać 3 kanały, natomiast stosując kanał na potencjometrze 4 kanały Tak powstał schemat. Oraz płytka. Prezentacja zadziałania układu gdy ruszamy drążkiem w gorę i w dół. Dane techniczne. Max napięcie: Zasilanie Attiny85: 5V Zasilanie złącz OUT1-4 max 15V Max Prąd: 2,5A na kanał OUT Pobór prądu: znikomy Sterowanie: minusem wymiary PCB: 32 x 18mm Układy MOSFET Dual N-Channel do zastosowania: AM4920N AO4800 AO4802 AO4802L AO4806 AO4812 AO4816 AO4818 AO4822 AO4824 AO4826 AO4830 AO4832 AO4918 Wersja V.2 (Poprawiony soft dzięki wskazówkom Piotrka "Sułek") Ostatnią wersją jaką chciałbym zaprezentować jest wersja jak poprzednia, lecz tym razem urządzenia włączamy po kolei gasząc jednocześnie poprzednio włączone. Wszelkie sugestie co do układów mile widziane. Pozdrawiam. 2
Sułek Opublikowano 5 Marca 2019 Opublikowano 5 Marca 2019 Spróbuję coś podpowiedzieć. Od razu jednak zaznaczam, że nie znam C i nie stosuję bibliotek, Wszystko piszę od podstaw, dzięki czemu w zastosowaniach modelarskich nie zaskakują mnie różne "kwiatki".. do rzeczy: 1. stabilność odczytu długości impulsu- procek nie ma kwarcu, więc jest pędzony z wewnętrznego oscylatora. To w powiązaniu z dość dziwną pętlą warunkową (if 1699- if 1700) może powodować fluktuacje przy wartościach granicznych. 2. rozdzielczość pomiaru impulsu- "pulseln" to jakaś biblioteka? Jaka jest więc rozdzielczość programowa zmiennej? Na pewno lepsza niż 1us?- z tego wynika, jakim zegarem jest pędzony procek?- 8bit czy więcej?. Bo jeśli 8bit, to zapomnij o 1us... 3. Nie wiem, czy tak można ująć to w C, ale niezależnie od dokładności/niedokładności= ziarnistości pomiaru pulseln, niefortunna jest pętla (loop) -przecież przy długości impulsu np 1750, spełniony jest warunek zarówno pulseln>1500 jak i pulseln>1700 ! i na czas przemiatania tej pętli, masz szpilki na niechcianych wyjściach -postaw warunki jakoś tak: if ((pulseln>1500) and (pulseln<1700)) do tego wprowadź obszary "nieokreśloności" pomiędzy wartościami aktywującymi a uzyskasz 'pseudohisterezę" oraz wykasujesz szpilki dla wartości granicznych, nawet przy bardzo ziarnistym i niestabilnym pomiarze pulseln. Czyli: if (1320/1480) if (1520/1680) ...itd Może się do czegoś przyda...? pzdr Piotr ps przydałoby się na etapie inicjacji programu dodać opcję wyboru pracy pojedynczego wyjścia (ostatni przykład) lub sekwencji wyjść (przedostatni przykład)- poprzez trwały sygnał (a więc np. pulseln>> 3500), który sekwencyjnie zmieniałby istotę działania całego włącznika
oki188 Opublikowano 5 Marca 2019 Autor Opublikowano 5 Marca 2019 Piotrze dziękuje bardzo za poradę po zastosowaniu Twoich przykładów warunków wszystko działa jak należy Jeszcze długa nauka przede mną w tym arduino wczoraj walczyłem parę godzin z tymi warunkami a rozwiązanie było takie proste. Pozostał w Attiny jeden wolny pin i można by zrobić wybór pomiędzy wersją V1 a V2 spróbuje coś napisać ale zapewne zbraknie mi pamięci Procek pracuje na wewnętrznym oscylatorze 9.6MHz.
Sułek Opublikowano 5 Marca 2019 Opublikowano 5 Marca 2019 Tylko, że to jest reset. W Att jest fusebit, zamieniający ten pin z resetu na pb5. Ja bym dał w funkcji zupełnie pierwszego pomiaru, wykrycie trwałego poziomu HIGH na wejściu- on mógłby kluczować modulo kolejne włączenie proca do prądu, jego funkcję. Brak trwałego HIGH na wejściu- nic nie robi. Działałoby to tak, że chcąc "przełączyć" ustrojstwo w inny tryb, dajesz mu zworką na wejściu stan wysoki zworką z zasilania i załączasz. On to wyczuwa i zmienia stan na przeciwny. Odłączasz, załączasz już normalnie i radujesz oko nowym działaniem. Tylko, czy on (ATT)w ogóle ma kawałek pamięci nieulotnej (EEPROM)? Bo inaczej to nie zatrybi (Atmega8 ma i to dość sporo)... Co do warunków, to normalka- teraz będziesz już wiedzieć. Najważniejsze, to nie dorabiać teorii do faktów, a błędu szukać wyłącznie u siebie, nie zatrzaskiwać się na 1 rozwiązaniu i drążyć aż zatrybi... pzdr
oki188 Opublikowano 5 Marca 2019 Autor Opublikowano 5 Marca 2019 Dzięki jeszcze raz za podpowiedzi do dyspozycji mam zabójcze 64 bity EEPROM hehehe
Sułek Opublikowano 5 Marca 2019 Opublikowano 5 Marca 2019 Do tego wystarczy Ci 1 bit. Jeden bajt, to już luksus. Dasz radę... pzdr
e-mir Opublikowano 6 Marca 2019 Opublikowano 6 Marca 2019 Fajnie Damian, że Ci się chce coś zrobić od podstaw. Kiedyś robiłem podobne switche i dlatego mam jeszcze jedną propozycję: switch z pamięcią. Działa to tak: masz przełącznik trójpozycyjny (oczywiście może być to też drążek gimbala). Odchylasz go na chwilę w pozycją nr 1 i wracasz do zera. Załączasz tak MOSFET nr 1. Jak odchylisz drugi raz to go wyłączasz. I tak cyklicznie. Podobne wychylenia w pozycję nr 2 załączają i wyłączają MOSFET nr 2. Masz niejako niezależną obsługę dwóch wyjść. Ja dodatkowo miałem zworkę, którą wybierałem opcję "z pamięcią" lub "bez pamięci". Jeszcze taka uwaga: koniecznie daj elektrolit oraz kondensator ceramiczny (100nF) na zasilaniu procesorka.
oki188 Opublikowano 6 Marca 2019 Autor Opublikowano 6 Marca 2019 Dzięki Mirku za pozytywną opinię mam nadzieję że ktoś skorzysta z zaproponowanych rozwiązań tym bardziej że układ nie jest skomplikowany w budowie (w razie czego służę pomocą w zaprogramowaniu procków bo nie każdy ma programator). Rozwiązanie o którym piszesz jest fajne tylko nie spotkałem się by w aparaturach był przełącznik trzy pozycyjny chwilowy ON-OFF-ON. Przeważnie montowane są ON-OFF dwu pozycyjne, chyba że zastosujemy gimbal aparatury do wysterowania. Dlatego projektując układ myślałem o normalnym przełączniku i nie jest wówczas potrzebna pamięć. Znajomi już zapowiedzieli że zaprezentowany układ przydał by się im w modelach czołgów gdzie włączają kilka funkcji na 1 kanale, więc pewnie parę płytek powstanie eksperymentalnie. Pozdrawiam. P.S Ja zamierzam podłączyć układ na Y kablu do kanału gazu a do wyjść podpiąć listwę LED RGB do podświetlenia modelu (niski gaz -zielone, środkowa pozycja - niebieskie, pełny gaz -czerwone podświetlenie) fajnie model będzie się prezentować w locie wieczorami
Rumcajs Opublikowano 6 Marca 2019 Opublikowano 6 Marca 2019 TU podobny układ, może będzie jakąś inspiracją.. Popełniłem go kilka lat temu (jeszcze mam kilka płytek do nieco zmodyfikowanej wersji), i do dziś działa bezproblemowo. Trzymam kciuki za powodzenie
oki188 Opublikowano 11 Marca 2019 Autor Opublikowano 11 Marca 2019 Ostatnio zbudowałem platformę testowa na dokładne przetestowanie układu i przy zastosowaniu Attiny13 znalazłem mały błąd. Między innymi przez zastosowanie wbudowanego w układ attiny wewnętrznego oscylatora 9.6MHz, który jest dośc niestabilny pojawiają się milisekundowe losowe wyłączenia poszczególnych załączonych kanałów. Szczególnie widać to przy zastosowaniu żarówek jako obciążenia, ale również przekaźnik potrafi kliknąć. https://www.youtube.com/watch?v=lHIX-PNtmRM Na szczęście udało mi się rozwiązać problem stosując inny mały procesor Attiny85 (testy chciałem też zrobić na Attiny45 ale niestety nie było ich na stanie). Teraz dzięki zastosowaniu PLL Clock ustawionego na 16MHz układ pracuje stabilnie bez przykrych niespodzianek, oraz zwiększyła się dokładność pomiaru impulsu wejściowego. https://www.youtube.com/watch?v=IaTMf1Bj9RE
oki188 Opublikowano 4 Kwietnia 2019 Autor Opublikowano 4 Kwietnia 2019 Obecnie powstała nowa wersja softu do sterowania z wykorzystaniem przełącznika chwilowego. Każdy impuls powoduje załączenie kolejnego wyjścia z drobnym opóźnieniem około 500ms. Gdy jednak przytrzymamy przełącznik to kolejne wyjścia będą się załączać po kolei w odstępach 500ms w pętli. Sprawdziłem też układy które do mnie dotarły wczoraj i prąd poszczególnego kanału nie może przekraczać 2.5A (3A w impulsie). Czyli wszystko zgodnie z założeniem projektu. 2
oki188 Opublikowano 20 Kwietnia 2019 Autor Opublikowano 20 Kwietnia 2019 Dziś doszły do mnie nowe płytki do zaprojektowanych włączników niebawem wyjdą pierwsze sztuki
Francka Opublikowano 20 Kwietnia 2019 Opublikowano 20 Kwietnia 2019 Ja testuje pierwszy wiesz jaki potrzebuje .
oki188 Opublikowano 20 Kwietnia 2019 Autor Opublikowano 20 Kwietnia 2019 Domyślam się ale jeszcze ustalimy. Ostatecznie powstały cztery wersje programu Program P1 ____________ Program P2 ____________ Program P3 ____________ Program P4 W najnowszej wersji układu mikro przełącznikiem sami wybieramy interesujący nas program dodatkowo wybór zostaje zapamiętany w nieulotnej pamięci EEPROM 1
Gołek Opublikowano 28 Maja 2019 Opublikowano 28 Maja 2019 To teraz na płytce powinny być 2 piny do zwierania, których chwilowe zwarcie powodowałoby przełączanie po kolei tych programów.
oki188 Opublikowano 28 Maja 2019 Autor Opublikowano 28 Maja 2019 Dodano wybór programu oraz pamięć EEPROM aktualnie wybranego programu tak by nie trzeba było go za każdym razem wybierać.
oki188 Opublikowano 19 Czerwca 2020 Autor Opublikowano 19 Czerwca 2020 Ponieważ więcej płytek nie przewiduję a są osoby które chciały by sobie układ wykonać wrzucam wszystkie materiały. Firmware posiada 8 programów, zmieniamy je za pomocą mikro-włącznika. Układ posiada pamięć wybranego programu. !!! Materiały tylko do użytku własnego !!! Potrzebne elementy: Attiny 85 x1 Rezystor 10k x1 (smd 1206) Kondensator 10uf x1 Mosfet FDS9926A x 2 Micro switch 3X6X2.5mm x 1 Instrukcja wgrywania: 1. Podłączamy procesor Attiny85 do USB-ASP 2. Ustawiamy Fuses na L:0xE2, H:0xDF i wgrywamy 3. Wgrywamy program plikiem firmware.HEX 4. Ustawiamy fusebit H:0x5F i wgrywamy. Procesor zostanie zaprogramowany i jednocześnie ZABLOKOWANY. Pierwsza noga reset od tego momentu steruje wyborem programu. Schemat układu: Płytka drukowana. Oraz oprogramowanie z instrukcją wgrywania 4-CH switch.rar
J-23 Opublikowano 19 Czerwca 2020 Opublikowano 19 Czerwca 2020 jakim programem wgrywamy firmware.HEX ? ......................................... edit chodzi mi o konkretny program którego użył autor projektu
TomTech Opublikowano 19 Czerwca 2020 Opublikowano 19 Czerwca 2020 Np AVRDUDE, AVR Burn-O-Mat avrdudess
Rekomendowane odpowiedzi