OSD by markac
Moderatorzy: marbalon, moderatorzy2014, moderatorzy
- krzysztof21
- Posty: 1038
- Rejestracja: niedziela 28 lut 2010, 13:22
- Lokalizacja: Wschodnia polska i okolice
65mm x 35mm to chyba nie tak znowu dużo, a zalet jest więcej niż wad w stosunku do SMD, bo przewiduję zestaw do samodzielnego montażu, żeby za bardzo się nie napracować i nie odbierać przy tym przyjemności z montażu samodzielnego
Użytkownik będzie wtedy w stanie sam zadecydować, jakie elementy chce montować.
Dodatkowo jest możliwość wymiany uwalonego procka, bo siedzi na podstawce.
Jest radiator, który powinien poradzić sobie z odprowadzeniem ciepła nawet w przypadku zasilania kamery 5V z pakietu 3S (co raczej się nie zdarzy, bo sugerowany wtedy pakiet to 2S) itp.
Ale niczego nie wykluczam w przyszłości...
Chce to skończyć i zając się potem telemetrią.
Użytkownik będzie wtedy w stanie sam zadecydować, jakie elementy chce montować.
Dodatkowo jest możliwość wymiany uwalonego procka, bo siedzi na podstawce.
Jest radiator, który powinien poradzić sobie z odprowadzeniem ciepła nawet w przypadku zasilania kamery 5V z pakietu 3S (co raczej się nie zdarzy, bo sugerowany wtedy pakiet to 2S) itp.
Ale niczego nie wykluczam w przyszłości...
Chce to skończyć i zając się potem telemetrią.
No i znalazłem niedoróbkę...
Zasilanie kamerki zamiast na porcie VIN dałem na VOUT
Na szczęście łatwo było to naprawić przez wlutowanie kabelka od strony ścieżek, ale jednak płytka do nieznacznej poprawy.
Miałem też mały problem z uruchomieniem zestawu przez niewlutowanie głupiego kondensatora!
Męczyłem się z oscyloskopem co jest nie tak, a brakowało kondensatora na wejściu video.
Zamiast niego przez pomyłkę wlutowałem zworkę (nie w tym miejscu co trzeba).
Mimo wszystko można powiedzieć, że jest lepiej niż się spodziewałem
-edit-
Chociaż w sumie nie trzeba nic przerabiać. VIN i VOUT są połączone równolegle, więc w zasadzie można zmienić funkcje portu VIN <=> VOUT.
Zmieni się tylko to, że kamerkę można będzie już zasilić bezpośrednio z portu VOUT (środkowy pin).
Zasilanie kamerki zamiast na porcie VIN dałem na VOUT
Na szczęście łatwo było to naprawić przez wlutowanie kabelka od strony ścieżek, ale jednak płytka do nieznacznej poprawy.
Miałem też mały problem z uruchomieniem zestawu przez niewlutowanie głupiego kondensatora!
Męczyłem się z oscyloskopem co jest nie tak, a brakowało kondensatora na wejściu video.
Zamiast niego przez pomyłkę wlutowałem zworkę (nie w tym miejscu co trzeba).
Mimo wszystko można powiedzieć, że jest lepiej niż się spodziewałem
-edit-
Chociaż w sumie nie trzeba nic przerabiać. VIN i VOUT są połączone równolegle, więc w zasadzie można zmienić funkcje portu VIN <=> VOUT.
Zmieni się tylko to, że kamerkę można będzie już zasilić bezpośrednio z portu VOUT (środkowy pin).
Wiem, że może zacząłem od d. strony, a użytkownika końcowego interesuje raczej jak to będzie wyglądało na jego ekranie, ale layout i soft jest jeszcze w budowie.
Na tą chwilę postanowiłem zaprojektować ikonkę zasięgu i klepsydrę dla czasu lotu.
To tylko demo nagrane z kamery znajdującej się pod krzesłem :D
Regulacja RSSI następuje przez potencjometr.
Detekcja systemu na początku klipu to tylko blef. Później sprawdzę, czy moja kamerka umożliwia zmianę systemu poprzez OSD na NTSC, jeśli nie, będę musiał takową dokupić dla testu.
Na tą chwilę postanowiłem zaprojektować ikonkę zasięgu i klepsydrę dla czasu lotu.
To tylko demo nagrane z kamery znajdującej się pod krzesłem :D
Regulacja RSSI następuje przez potencjometr.
Detekcja systemu na początku klipu to tylko blef. Później sprawdzę, czy moja kamerka umożliwia zmianę systemu poprzez OSD na NTSC, jeśli nie, będę musiał takową dokupić dla testu.
Jestem już na skraju 4kB kodu - ograniczenie wersji Demo Bascoma
Jednak nie jest to jeszcze zoptymalizowane pod tym względem, więc głowa moja spokojna.
Wyrzucę kilka zmiennych pomocniczych i jakoś to będzie.
Zostało jeszcze mierzenie mAh i tutaj myślę nad jako taką dokładnością pomiaru, częstością pobierania próbek itp., jak to rozwiązać, ponieważ pobieranie kolejnych próbek w pętli głównej funkcji main nie jest stałe czasowo, ze względu na obsługę przerwań, które te pomiary stopują.
Port z przyciskiem (reset statystyk na razie) nie działa, prawdopodobnie z powodu odwrotnego podłączenia programatora ISP na samym początku.
Aż dziw, że to działało i dioda zasilania normalnie się świeciła...
Widać trafiłem idealnie na + i -, ale któryś port mógł się jednak spalić.
Nad szablonem też trochę myślałem i na razie nic nie wymyśliłem.
Chyba nie wszystko się zmieści w jednej linii.
Może dane będą co kilka sekund się wymieniać, te jakoś ze sobą powiązane (zgrupowane)...
Nie jestem ograniczony co do ilości linii (w granicach rozsądku), ale wolałbym nie powiększać bufora na ekran.
Muszę potem rozwiązać problem detekcji przyłączonych urządzeń pod ADC, bo jak pamiętam, kiedy nic nie jest podłączone, napięcie chyba było losowe lub stałe, w każdym bądź razie, inne niż zero.
Nie spotkałem się z podciąganiem wejść ADC do masy, bo to nie jest operowanie na logicznym 0 czy 1, a pomiar analogowy.
Takie podciągniecie do masy przez rezystor, kiedy urządzenie ma dużą impedancję spowoduje tylko wyzerowanie napięcia na wejściu ADC lub zafałszowanie wyników...?
Jednak nie jest to jeszcze zoptymalizowane pod tym względem, więc głowa moja spokojna.
Wyrzucę kilka zmiennych pomocniczych i jakoś to będzie.
Zostało jeszcze mierzenie mAh i tutaj myślę nad jako taką dokładnością pomiaru, częstością pobierania próbek itp., jak to rozwiązać, ponieważ pobieranie kolejnych próbek w pętli głównej funkcji main nie jest stałe czasowo, ze względu na obsługę przerwań, które te pomiary stopują.
Port z przyciskiem (reset statystyk na razie) nie działa, prawdopodobnie z powodu odwrotnego podłączenia programatora ISP na samym początku.
Aż dziw, że to działało i dioda zasilania normalnie się świeciła...
Widać trafiłem idealnie na + i -, ale któryś port mógł się jednak spalić.
Nad szablonem też trochę myślałem i na razie nic nie wymyśliłem.
Chyba nie wszystko się zmieści w jednej linii.
Może dane będą co kilka sekund się wymieniać, te jakoś ze sobą powiązane (zgrupowane)...
Nie jestem ograniczony co do ilości linii (w granicach rozsądku), ale wolałbym nie powiększać bufora na ekran.
Muszę potem rozwiązać problem detekcji przyłączonych urządzeń pod ADC, bo jak pamiętam, kiedy nic nie jest podłączone, napięcie chyba było losowe lub stałe, w każdym bądź razie, inne niż zero.
Nie spotkałem się z podciąganiem wejść ADC do masy, bo to nie jest operowanie na logicznym 0 czy 1, a pomiar analogowy.
Takie podciągniecie do masy przez rezystor, kiedy urządzenie ma dużą impedancję spowoduje tylko wyzerowanie napięcia na wejściu ADC lub zafałszowanie wyników...?
Próbuję wykorzystać przykładowy bootloader z sampli Bascoma na Atemaga8 i jestem zmieszany...
Na stronie MCS podane jest info, że rozmiar na bootloader ma być ustawiony na 1024 słowa.
BootLoader.bas się do tego stosuje i jest tam adres bootloadera ustawiony na 0xC00.
Natomiast dołączany plik BootM8.bas przez powyższy BootLoader.bas ma w komentarzach podane zupełnie inne zalecenia, czyli wielkość booloadera 128 słów i zupełnie inny adres skoku 0xF80!!
O co tutaj chodzi?? Czy nie powinienem wierzyć w poprawność tych plików?
Z noty katalogowej procesora:
To w zasadzie ostatnia rzecz jaka mnie męczy, a chciałbym wykorzystać MCS Bootloadera.
Na stronie MCS podane jest info, że rozmiar na bootloader ma być ustawiony na 1024 słowa.
BootLoader.bas się do tego stosuje i jest tam adres bootloadera ustawiony na 0xC00.
Natomiast dołączany plik BootM8.bas przez powyższy BootLoader.bas ma w komentarzach podane zupełnie inne zalecenia, czyli wielkość booloadera 128 słów i zupełnie inny adres skoku 0xF80!!
O co tutaj chodzi?? Czy nie powinienem wierzyć w poprawność tych plików?
Z noty katalogowej procesora:
To w zasadzie ostatnia rzecz jaka mnie męczy, a chciałbym wykorzystać MCS Bootloadera.
Dzięki za chęć pomocy, ale na szczęście nie będzie raczej potrzebna.
Zainstalowałem te ICCV8 for AVR, ale kompilator nie mógł znaleźć main.s z proponowanego przez Ciebie bootloadera, więc wróciłem to rozkminiania bascomowego i doszedłem do tego, że te dwa pliki nie mają ze sobą nic wspólnego
Uff, to teraz zostało napisać warunek uruchomienia bootloadera przy starcie, tylko trudno to robić, kiedy ma się limit 4kB kodu założony w Bascomie DEMO ;/
Zainstalowałem te ICCV8 for AVR, ale kompilator nie mógł znaleźć main.s z proponowanego przez Ciebie bootloadera, więc wróciłem to rozkminiania bascomowego i doszedłem do tego, że te dwa pliki nie mają ze sobą nic wspólnego
Uff, to teraz zostało napisać warunek uruchomienia bootloadera przy starcie, tylko trudno to robić, kiedy ma się limit 4kB kodu założony w Bascomie DEMO ;/
Początkowo miał startować przy wciśniętym przycisku podczas resetu (OSD ma przycisk konfiguracyjny).
Nie chciałem żeby startował i czekał na akcję (normalnie bootloader komunikuje się przez UART z komputerem i próbuje nawiązać połączenie), bo zależało mi na szybkim restarcie i powrocie do normalnej pracy.
Bo to, że on startuje od razu to ja wiem :D Tylko kwestia warunku powrotu do programu głównego.
Nie chciałem żeby startował i czekał na akcję (normalnie bootloader komunikuje się przez UART z komputerem i próbuje nawiązać połączenie), bo zależało mi na szybkim restarcie i powrocie do normalnej pracy.
Bo to, że on startuje od razu to ja wiem :D Tylko kwestia warunku powrotu do programu głównego.