AndyCopter Opublikowano 19 Września 2014 Autor Opublikowano 19 Września 2014 Mógłbyś cos podpowiedzieć w tej kwestii ? Wieczorem zrobię doświadczenie z zasilaniem o jakim piszesz i zrobię pomiar luminancji. Najlepiej rozwiązać to empirycznie
Dragon_X Opublikowano 19 Września 2014 Opublikowano 19 Września 2014 Super. Mnie zależy tylko na "mrugających" pozycyjnych. Dwie-trzy diody. Czy będziesz wykonywał układy na zamówienie ?
AndyCopter Opublikowano 19 Września 2014 Autor Opublikowano 19 Września 2014 Super. Mnie zależy tylko na "mrugających" pozycyjnych. Dwie-trzy diody. Czy będziesz wykonywał układy na zamówienie ? Okazało się, że zainteresowanie jest większe niż przypuszczałem. Jednak nie podejmę się produkcji. Poszukuję osoby chętnej aby się tego podjąć. Dlatego też, postaram się najdokładniej jak to będzie możliwe, przedstawić sposób samodzielnego przygotowania takiego układu.
Dragon_X Opublikowano 19 Września 2014 Opublikowano 19 Września 2014 Rozumiem, ja jak na razie potrzebuję mocno uproszczonej wersji ale z czadem kto wie????. Będzie duży problem żeby wykorzystać w tym układzie tylko ułamek możliwości? Czy będziesz udostępniał kod oprogramowania procesora?
AndyCopter Opublikowano 19 Września 2014 Autor Opublikowano 19 Września 2014 Poniżej dwie wersje do wykonania samodzielnie prototypu 1.0. Wersja SMD na płytce jednostronnej. EagleUWAGA: podstawkę ATTiny należy wlutować od strony druku wraz z pozostałymi elementami smd! Mimo umieszczenia podstawki mikroprocesora po stronie druku, polecam nawiercenie otworów i wstawienie podstawki w nie, przed przylutowaniem. Schemat dla wersji SMD (poglądowy) Materiały: 1x ATTiny 45 w podstawce 3x IRF 7341 6x rezystor 1,5k 0,125W 6x rezystor 330R1W Wersja na płytce uniwersalnej (lub jak kto woli na bakielicie, tekturze itp.) FritzingSchemat dla płytki uniwersalnejPrzykładowe zestawienie podzespołów do wersji "drutowej" ;-) Lp. Nazwa cena ilość razem Link 1 Płytka uniwersalny PI22Z 30x70 2,50 1 2,50 http://bns.com.pl/os,23381,Plytka-uniwersalny-PI22Z-30x70-dwustrona- 2 ATTINY 45-20PU mikrokontroler AVR DIP8 4,00 1 4,00 http://bns.com.pl/os,25166,ATTINY-45-20PU-mikrokontroler-AVR--DIP8 3 DIL 8 podstawka 0,15 1 0,15 http://bns.com.pl/os,3975,DIL-8-podstawka- 4 1W 330R 1% Rezystor 0,50 6 3,00 http://bns.com.pl/os,1000,1W-330R-1---Rezystor- 5 0,125W 1,7K Rezystor 0,05 6 0,30 http://bns.com.pl/os,11,0-125W-1-7K--Rezystor- 6 IRLML 0060TR N-MOSFET tranzystor SOT23 1,00 6 6,00 http://bns.com.pl/os,20378,IRLML-0060TR--N-MOSFET--tranzystor-SOT23 7 PH 80DRA 2x40 listwa kątowa r=2,00 2,50 1 2,50 http://bns.com.pl/os,8524,PH-80DRA-2x40-listwa-katowa-r-2-00 RAZEM 18,45 Przykładowy program dla środowiska Arduino. /* Oświetlenie modelu RC Program steruje układem diod 6-ciu LED w oparciu o sygnał uzbrajania silników ze złącza A7 Ardupilot APM 2.6 Program udostępniany jest na licencji OpenSource. Autor: warp[3][r] Utworzony w 2014 */ /* wyłącznie dla ATTiny 45 */ // LED czerwony błyskowe // spód i górna część kadłuba int led_AntiCollision_Beacon = 1; // LED białe błyskowe na skrzydłach // skierowane do tyłu pod kątem 45st int led_WingStrobe = 3; // LED białe błyskowe, może być ew. zapalane wraz z obrysowymi // umieszczane w części ogonowej w kierunku świecenia do tyłu int led_TailStrobe = 0; // LED czerwone i zielone, stałe światło ew. z błyskami // czerwone na lewe skrzydło, zielone na prawe int led_Position = 4; // Wejście sygnału z odbiornika RC // ew. zwierane z masą jeśli pełne oświetlenie ma być aktywowane podczas załączania int input_SignalArming = 2; /* Stan diod */ // wartość dla wyłączonej diody const int LEDOFF = 0; // wartość PWM dla diody "przygaszonej" const int LEDON = 64; // wartość PWM dla pełnego oświetlenia const int LEDBLINK = 255; /* pomocnicze */ int input_SignalArmingState = 0; boolean goArmingState = false; // Ustawienia po uruchomieniu układu void setup() { pinMode(led_AntiCollision_Beacon, OUTPUT); pinMode(led_WingStrobe, OUTPUT); pinMode(led_TailStrobe, OUTPUT); pinMode(led_Position, OUTPUT); pinMode(input_SignalArming, INPUT); digitalWrite(input_SignalArming, LOW); LEDS_On(); } /* Aktywacja wyłącznie świateł obrysowych - pozycyjne */ void LEDS_On() { analogWrite(led_AntiCollision_Beacon, LEDOFF); analogWrite(led_TailStrobe, LEDON); analogWrite(led_WingStrobe, LEDOFF); analogWrite(led_Position, LEDON); } /* Aktywacja pełnego cyklu oświetlenia */ void LEDS_Arming() { analogWrite(led_TailStrobe, LEDBLINK); analogWrite(led_WingStrobe, LEDBLINK); delay(40); analogWrite(led_TailStrobe, LEDOFF); analogWrite(led_WingStrobe, LEDOFF); delay(120); analogWrite(led_WingStrobe, LEDBLINK); analogWrite(led_Position, LEDBLINK); delay(40); analogWrite(led_WingStrobe, LEDOFF); analogWrite(led_Position, LEDON); delay(100); analogWrite(led_AntiCollision_Beacon, LEDBLINK); analogWrite(led_Position, LEDBLINK); delay(50); analogWrite(led_AntiCollision_Beacon, LEDOFF); analogWrite(led_Position, LEDON); delay(40); analogWrite(led_AntiCollision_Beacon, LEDBLINK); delay(40);analogWrite(led_AntiCollision_Beacon, LEDOFF); delay(40); } /* w tej pętli, program wykonuje się w nieskończoność */ void loop() { goArmingState = true; // oczekiwanie 600ms na sygnał z wyjścia A7 Ardupilot APM 2.6 // pomijany jest sygnał BLINK 500ms for (int i=0; i<7; i++) { input_SignalArmingState = digitalRead(input_SignalArming); if (input_SignalArmingState != HIGH) goArmingState = false; delay(100); } // w zależności od wykrycia aktywowania uzbrojenia silników, zapalny jest odpowiedni zestaw oświetlenia if ( goArmingState == true) { LEDS_Arming(); } else { LEDS_On(); } } /* a tu jest koniec kodu */ Program jest na tyle trywialny, że nie będzie komentowany dalej. Programowanie ATTiny45 http://highlowtech.org/?p=1695 Układ w tej wersji, nie będzie już dalej rozwijany. Podzespoły a w szczególności rezystory zabezpieczające, mogą zostać użyte o innych wartościach, jednakże warto uwzględnić uwagi zawarte w uzasadnieniu. EDIT. Przetestowałem tańsze diody, spisują się całkiem nieźle, a są prawie trzykrotnie tańsze od wcześniej zamówionych. Biała - http://bns.com.pl/os,15902,OLBHP3-E--LED-3W-biala-emiter-180lm--800mA Czerwona - http://bns.com.pl/os,16272,LED-Hi-Power-3W-0-7A-80lm-625nm-czerwona Zielona - http://bns.com.pl/os,25802,OLZHP3W-E--LED-3W-zielony-emiter-100lm--800mA
AndyCopter Opublikowano 21 Września 2014 Autor Opublikowano 21 Września 2014 3 szt. prototypu w przygotowaniu, wersja 1.2 dla Quadro- Hexa- Copterów i samolotów.
AndyCopter Opublikowano 22 Września 2014 Autor Opublikowano 22 Września 2014 Obiecany kosztorys wersji 1.2 - wyłącznie moduł. Lp. Nazwa cena jd.ilość razem -------------------------------------------------------------------------------------------- 1 Płytka jednostronna – laminat 45x25mm 14,00 0,12 1,66 2 ATTINY 45-20PU mikrokontroler AVR DIP8 4,00 1 4,00 3 DIL 8 podstawka 0,15 1 0,15 4 2512 5% 1W Rezystor 0,20 6 1,20 5 0,125W 1,7K Rezystor 0,05 8 0,40 6 IRF 7341 dual N-MOSFET tranzystor SO8 2,00 3 6,00 7 PH 80DRA 2x40 listwa kątowa r=2,00 2,50 0,15 0,38 8 listwa kątowa pojedyncza 2,00 0,08 0,15 9 Dioda 3mm 0,50 2 1,00 10 Wtyk 2x6 2,50 0,15 0,38 11 Nadsiarczan sodu B327 100g 4,00 0,1 0,40 12 Przewody LED LgY 0,35mm 500V przewód 0,45 3 1,35 13 Przewód 20cm 2x 0,5mm 1,00 0,2 0,20 14 Koszulka termokurczliwa 1,00 0,5 0,50 15 Naklejka 0,50 1 0,50 17 Topnik RF-800 do SMD 5,00 0,06 0,30 18 Spoiwo lutnicze LC60 SW25-5 3,50 0,08 0,28 19 Lakier zabezieczający 6,00 0,05 0,30 -------------------------------------------------------------------------------------------- ŁĄCZNIE 19,14 Powyższe zestawienie nie obejmuje diod LED 3W a jedynie złącze do płytki i 6x przewód. Największy koszt w ww zestawie to tranzystory MOSFET, niestety na razie nie udało mi się znaleźć tańszych dostępnych(!) odpowiedników. Fotografia gotowych układów wieczorem. Prowadzę rozmowy z firmą, która mogła by się podjąć produkcji, na razie jednak nie przedstawiła jeszcze kosztorysu. Dla osób, które chcą zakupić te egzemplarze: proszę przemyśleć sekwencje dla trybu 1 i 2 świecenia, zaprogramuję indywidualnie. Kod programu jest dostępny, więc można będzie samodzielnie wgrywać własne sekwencje oświetlenia. Tryb 2gi można załączyć na stałe odpowiednią zworką na J1. Sposób programowania ATTiny45 z użyciem środowiska Arduino, zostanie tu zamieszczony jesli będzie taka potrzeba.
AndyCopter Opublikowano 22 Września 2014 Autor Opublikowano 22 Września 2014 Pierwszy z modułów v1.2 gotowy. Ten jest w wersji "mocniejszej" z rezystorami 100R1W. Z bliska pozornie bez różnicy. Jednak w dzień, znacznie lepiej widać światła. EDIT Otrzymałem informacje z firmy profesjonalnie zajmującej się produkcją płytek dla 10szt.: "płytki z jednostronną soldermaską i jednostronnym opisem - 1.45 PLN/szt + 30.00 PLN/koszt uruchomienia produkcji." Jednak podrożyło by to samą płytkę prawie o 3zł. 1
mgr Opublikowano 22 Września 2014 Opublikowano 22 Września 2014 Bardzo fajny projekt. Gratuluję i dzięki, że podzieliłeś się schematami i kodem
AndyCopter Opublikowano 22 Września 2014 Autor Opublikowano 22 Września 2014 (...) i dzięki, że podzieliłeś się schematami i kodem Taki był zamiar od początku Jednakże po zmianie diod na tańsze 3W (link powyżej) i zmianie rezystorów na 100R1W, pojawił się problem z diodą czerwoną. Jej czas reakcji na impulsy jest zbyt duży, co powoduje, że przy sterowaniu PWM o wypełnieniu 25% ledwie widoczny jest impuls PWM 100%. Cóż... tanie diody Zwiększyła się także temperatura na rezystorach do ~26stC. No i wzrosła waga, z 8gr do ~9gr z pewnością to za sprawą dołożenia dwu led do płytki (wskaźnik zasilania z pakietu i odbiornika) oraz zmiana typu procesora z SMD na DIP8.
AndyCopter Opublikowano 22 Września 2014 Autor Opublikowano 22 Września 2014 Przykładowe rozmieszczenie świateł dla modułu v1.2 Sekwencja załączania świateł Tryb 1 załączany jest z chwilą włączenia zasilania. Tryb 2 załączany jest automatycznie po uzbrojeniu silników z Ardupilot APM 2.6. W module 1.2 można włączyć Tryb 2 na stałe, zwierając styki "S" i "+" w złączu J1. Moduł zasilany jest ze złącza J1, dlatego należy podpiąć je do złącza A7 w APM 2.6 lub bezpośrednio pod zasilanie +5V z BEC. Zasilanie układu diod należy podłączyć pod główny pakiet zasilania modelu. W aktualnej wersji modułu, nie ma sterowania światłami lądowania. Do tego celu polecam RC Switch z innego wątku.
AndyCopter Opublikowano 23 Września 2014 Autor Opublikowano 23 Września 2014 Zaciekawił mnie temat oświetlenia nawigacyjnego dla MIG-29. W internecie niewiele można znaleźć rzetelnych informacji. W zasadzie co kraj w którym jest ten samolot, to inne oświetlenie. Natknąłem się jednak na informacje o modernizacji polskich MIGów, i na podstawie zdjęć i filmów z YT, udało mi się zrobić coś poniższego: Jednakże wciąż nie znam dokładnej sekwencji załączania oświetlenia w tym samolocie i nie wiem jakie znaczenie ma światło umieszczone w ww rysunku ze znakiem zapytania. Z tego co wiem na już: - beacon w kolorze czerwonym, błyski 60-80/min, górny lekko przygaszone, spód kadłuba bardzo intensywne światło, - obrysowe lekko przygaszone, zielone i czerwone na skrzydłach, białe na stateczniku pionowym prawym w kierunku tył, czerwone na lewym stateczniku pionowym w tył, - białe lądowania, z prawej i lewej strony osłony wlotu powietrza do silników bardzo mocne światło oraz górna goleń przedniego podwozia. Na filmach z YT zauważyłem, że światła na statecznikach pionowych są dość "swobodnie" zapalane przez pilotów. Raz świecą oba, czasem jedno a czasem żadne z nich. Wysłałem pytanie o światła nawigacyjne w MIG29 do Wojskowych Zakładów Lotniczych w Bydgoszczy, gdzie przeprowadzane są modernizacje "polskich" MIGów, jednak nie wiem czy i kiedy otrzymam odpowiedź. Czy ma Ktoś z Was więcej informacji o oświetleniu nawigacyjnym w MIG29 ? 2
AndyCopter Opublikowano 24 Września 2014 Autor Opublikowano 24 Września 2014 Niestety, odpowiedź WZL o światła nawigacyjne w MIG29: Z przykrością informuję, że WZL Nr 2 S.A. nie może udzielić informacji na pytania zawarte w Pana e-mailu. Pozostaje nadal przeszukiwać YT w poszukiwaniu informacji
AndyCopter Opublikowano 24 Września 2014 Autor Opublikowano 24 Września 2014 Kod programu dla modułu 1.2. /* Oświetlenie modelu RC Program steruje układem diod 6-ciu LED w oparciu o sygnał uzbrajania silników ze złącza A7 Ardupilot APM 2.6 Program przeznaczony dla Arduino, udostępniany jest na licencji OpenSource. @autor: warp3r[at]wp.pl @date 2014 @version 1.3 */ /* LED 1 - ZIELONY - PRAWE RAMIĘ/SKRZYDŁO LED 2 - CZERWONY - LEWE RAMIĘ/SKRZYDŁO LED 3 - BIAŁY - PRAWE RAMIĘ/SKRZYDŁO LED 4 - BIAŁY - LEWE RAMIĘ/SKRZYDŁO LED 5 - CZERWONY - BEACON LED 6 - BIAŁY - OGON/STATECZNIK PIONOWY/GIMBAL TYŁ */ /* dla ATTiny 45 1MHz i 8MHz*/ // LED czerwone i zielone, stałe światło ew. z błyskami // czerwone na lewe skrzydło, zielone na prawe int led_Position = 4; // PIN 3 - LED 1-2 // LED białe błyskowe na skrzydłach // skierowane do tyłu pod kątem 45st int led_WingStrobe = 3; // PIN 2 - LED 3-4 // LED czerwony błyskowe // spód i górna część kadłuba int led_AntiCollision_Beacon = 1; // PIN 6 - LED 5 // LED białe błyskowe, może być ew. zapalane wraz z obrysowymi // umieszczane w części ogonowej w kierunku świecenia do tyłu int led_TailStrobe = 0; // PIN 5 - LED 6 // Wejście sygnału A7 z APM 2.6 // ew. zwierane z "+5V" z BEC/RC jeśli pełne oświetlenie ma być aktywowane podczas załączania int input_SignalArming = 2; // PIN 7 /* Stan diod */ // wartość dla wyłączonej diody const int LEDOFF = 0; // wartość PWM dla diody "przygaszonej" const int LEDON = 64; // wartość PWM dla pełnego oświetlenia const int LEDBLINK = 255; /* pomocnicze */ int input_SignalArmingState = 0; boolean goArmingState = false; boolean wait_state = true; // Ustawienia po uruchomieniu układu void setup() { pinMode(led_AntiCollision_Beacon, OUTPUT); pinMode(led_WingStrobe, OUTPUT); pinMode(led_TailStrobe, OUTPUT); pinMode(led_Position, OUTPUT); pinMode(input_SignalArming, INPUT); digitalWrite(input_SignalArming, LOW); LEDS_Mode1(); } /* Aktywacja wyłącznie świateł obrysowych - pozycyjne */ void LEDS_Mode1() { analogWrite(led_AntiCollision_Beacon, LEDOFF); analogWrite(led_TailStrobe, LEDOFF); analogWrite(led_WingStrobe, LEDOFF); analogWrite(led_Position, LEDON); } /* Aktywacja pełnego cyklu oświetlenia */ void LEDS_Mode2() { analogWrite(led_TailStrobe, LEDBLINK); analogWrite(led_WingStrobe, LEDBLINK); delay(50); analogWrite(led_TailStrobe, LEDOFF); analogWrite(led_WingStrobe, LEDOFF); delay(50); // 100ms analogWrite(led_TailStrobe, LEDOFF); analogWrite(led_WingStrobe, LEDBLINK); delay(50); analogWrite(led_TailStrobe, LEDOFF); analogWrite(led_WingStrobe, LEDOFF); delay(50); //200ms analogWrite(led_Position, LEDBLINK); delay(50); analogWrite(led_Position, LEDON); delay(50); // 300ms analogWrite(led_Position, LEDBLINK); delay(50); analogWrite(led_Position, LEDON); delay(50); // 400ms analogWrite(led_AntiCollision_Beacon, LEDBLINK); delay(50); analogWrite(led_AntiCollision_Beacon, LEDOFF); // 450ms CheckA7(); delay(550); } void CheckA7(){ input_SignalArmingState = digitalRead(input_SignalArming); delay(1); // delay in between reads for stability if ((input_SignalArmingState != HIGH)) { wait_state = true; goArmingState = false; LEDS_Mode1(); } } /* w tej pętli, program wykonuje się w nieskończoność */ void loop() { // oczekiwanie na sygnał z wyjścia A7 Ardupilot APM 2.6 // pomijany jest sygnał BLINK 500ms CheckA7(); if (wait_state != false) { wait_state = false; goArmingState = true; for (int i=0; i<11; i++) { input_SignalArmingState = digitalRead(input_SignalArming); delay(1); // delay in between reads for stability if (input_SignalArmingState != HIGH) { goArmingState = false; wait_state = true; break;} delay(120); } } /**/// w zależności od wykrycia aktywowania uzbrojenia silników, zapalny jest odpowiedni zestaw oświetlenia if ( goArmingState != false) { LEDS_Mode2(); } else { LEDS_Mode1(); } /**/ } /* a tu jest koniec kodu v1.3 */ Kod programu jest dla bezpłatnego środowiska Arduino http://arduino.cc/en/Main/Software Sposób programowania ATTiny45 opisany jest np. tu http://www.instructables.com/id/Program-an-ATtiny-with-Arduino/
AndyCopter Opublikowano 30 Września 2014 Autor Opublikowano 30 Września 2014 Po dokładnym zapoznaniu się z bibliotekami funkcji dla środowiska Arduino okazało się, że dla ATTiny45 dostępna jest funkcja pulseIn. A to oznacza, że wystarczy zmienić oprogramowanie, aby uzyskać całkowicie nowe możliwości. Dostępne jest więc sterowanie załączaniem trybami oświetlenia bezpośrednio z aparatury poprzez wolny kanał. Moduł z układem zastępczym LED, do wyjścia modułu podłączone zostały diody 5mm z rezystorami 470R. W testowym programie dla modułu, dostępne są cztery tryby oświetlenia dla przełącznika trójpozycyjnego: - brak podłączonej aparatury lub ew. zanik zasięgu - włącza się funkcja led_Failsafe (światła obrysowe błyskają jak beacon) - włączona aparatura, przełącznik w pozycji 0 - włącza się funkcja led_Mode1 (światła obrysowe jednolite światło) - włączona aparatura, przełącznik w pozycji 1 - włącza się funkcja led_mode2 (światła obrysowe z błyskiem, beacon) - włączona aparatura, przełącznik w pozycji 2 - j.w. oraz włącza się oświetlenie do lądowania. https://www.youtube.com/watch?v=5Fw3Xbs7dbY Nasunęło mi to pewien pomysł na obsługę funkcji Failsafe. Ale to chyba będzie w innym wątku Poniżej fragment kodu pętli głównej w której odczytywana jest wartość duration dla której to załączane są odpowiednie tryby oświetlenia. /* w tej pętli, program wykonuje się w nieskończoność */ void loop() { // oczekiwanie na sygnał z odbiornika RC duration = pulseIn(input_SignalArming, HIGH); if ((duration >900)and(duration < 1401)) { LEDS_Mode1(); // jest sygnał z aparatury w odbiorniku RC, przełącznik poz.0 } else if ((duration >1400)and(duration < 1701)){ analogWrite(led_LandingLigths, LEDOFF); LEDS_Mode2(); // przełącznik w aparaturze na poz. 1 } else if (duration >1700) { analogWrite(led_LandingLigths, LEDON); LEDS_Mode2(); // przełącznik w aparaturze na poz. 2 } else { LEDS_Failsafe(); // gdy brak sygnału PWM z odbiornika RC } /**/ } /* a tu jest koniec kodu v1.4 MIG-29 */ Zdecydowałem się także zamówić płytki przygotowane w profesjonalnej firmie.
AndyCopter Opublikowano 30 Września 2014 Autor Opublikowano 30 Września 2014 Projekt płytki w wersji 1.4 W porównaniu do wersji 1.2, przybyło rezystorów na bramki tranzystorów MOSFET, poza tym działanie i rozkład wyprowadzeń bez zmian. Zmienił się rozmiar płytki i aktualnie to 29x49mm.
mgr Opublikowano 1 Października 2014 Opublikowano 1 Października 2014 No, teraz to można się nawet pokusić o wersje dla Jet-ów, do symulacji pracy silnika. Świetny projekt. Czy zamieścisz schemat wersji 1.4 ?
AndyCopter Opublikowano 1 Października 2014 Autor Opublikowano 1 Października 2014 Moduł został przygotowany do sterowania 4-ma liniami wyjściowymi z czego dwie są podwójne co daje 6 wyjść. Niestety jest tylko jedno wejście sterujące.W zasadzie można było by dodać taki "efekt" dla Jet-ów, pozostawiając światła obrysowe, beacon i światła lądowania. poniżej schemat dla wersji 1.4
AndyCopter Opublikowano 1 Października 2014 Autor Opublikowano 1 Października 2014 Na szybko zbudowana makieta MIG-29 do sprawdzania koncepcji oświetlenia https://www.youtube.com/watch?v=RoMD8ckd1S8 1
AndyCopter Opublikowano 2 Października 2014 Autor Opublikowano 2 Października 2014 Zmiana oprogramowania i można testować oświetlenie dla modelu samolotu cywilnego https://www.youtube.com/watch?v=KqPxf9d72DM
Rekomendowane odpowiedzi