Forum HomeMade

Pełna wersja: MBTRX by VK7IAN
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3
Nawinąłem filtry dolnoprzepustowe. Kondensatory wg dokumentacji, sprawdzone (trochę bez sensu bo z taśmy) na zgodność z tolerancją, trzymają fason. Cewki na rdzeniach T37-6 wg opisu i również sprawdzone za pomocą NanoVNA. Na zakresie 40/30m o jeden zwój mniej, nie mam pojęcia dlaczego tak. Do pomiaru musiałem wylutować kondensator C46. Wyniki poniżej tak jak wyszło, bez dobierania.
[attachment=16438]
Pierwsze uruchomienie makiety z TFT na ST7789 320x170 (jak w Jokerze) - nawet coś widaćSmile
Gratuluję Łukasz, mam nadzieję na dalszy ciąg. Mam sygnały od kolegów o różnym stopniu zaawansowania produkcji PCB. Zapewne niebawem będą w kraju i staną się dostępne.
Jeśli znajdzie się jakaś wolna płytka, to ja bardzo chętnie się podłączę.

W międzyczasie spróbowałem wykorzystać całą powierzchnię wyświetlacza. Dla programisty może byłoby to łatwe... Początkowo udawało się nieznacznie powiększyć x i y, ale po przekroczeniu pewnych wartości wyświetlacz nie uruchamiał się. Okazało się, że firmware wykorzystuje funkcję sprite do budowania całego obrazu zamiast wyłącznie ruchomych i często modyfikowanych obszarów. Bufor obrazu wykorzystuje oczywiście pamięć RAM procesora - przy wyświetlaczu 240x135 jest to 32400 pikseli, przy 320x170 to już 54400 px, więc prawie 2 razy więcej... Rozwiązaniem było znalezienie informacji, że domyślnie biblioteka tft-espi domyślnie pracuje w 16 bitach głębi koloru, więc w pierwszym przypadku rezerwuje 64.8kB, a w drugim usiłuje zarezerwować 108.8kB - i to już jest za dużo. Kompilacja przechodzi bez błędów, ale nie działa... ech Arduino Arduino...

Po jawnym zadeklarowaniu głębi ośmiobitowej 
Kod:
  tft.displayOn();
 
  lcd.setColorDepth(8);
 
  lcd.createSprite(LCD_WIDTH, LCD_HEIGHT);

działa cały wyświetlacz.

Sukces jest jednak tylko częściowy - przy kompilacji z zalecanym przez autora poziomem optymalizacji -O3 na ekranie pojawiają się ruchome artefakty. 
[attachment=16439]
Przełączenie na poziom standardowy -Os poprawia sytuację, ale nadal nie jest dobrze. 
[attachment=16440]
Obawiam się, że nie starczy mi samozaparcia i skończy się na wyświetlaczu 240x135, a szkoda, bo bardzo lubię ten 320x170.

Edit - jak widać przy zabawach z rozdzielczością wyszło, że autor niespecjalnie dba o spójność kodu - niektóre elementy (spektrum i wodospad) dostosowały się wraz z opisami do deklaracji 
Kod:
#define LCD_WIDTH         320
 
(co jest tam wyświetlane, to inna sprawa), a współrzędne innych są hardkodowane. Pocieszające jest to, że dało się zwiększyć wysokość wodospadu i to działa.
Kod:
#define WATERFALL_ROWS 96
// 61 for 240x135
Koledzy, kto odstąpi Łukaszowi płytkę? Warto zainwestować w jego zapał!
Wydawało mi się, że dam radę wlutować dławiki 1812 w miejsce 1206 ale przy tak gęstym upakowaniu poległem. Niestety, zdobycie odpowiednich wartości w tym rozmiarze (1206) okazało się dla mnie trudniejsze niż się spodziewałem. W sumie jakoś zmordowałem a oto wyniki pomiarów.  I tak jak ostatnio, tak jak wyszły bez dobierania.
[attachment=16441][attachment=16442]
[attachment=16443][attachment=16444]
[attachment=16445][attachment=16446]
[attachment=16447][attachment=16448]

Jak widać, nie są to optymalne wyniki, trudno zgadnąć czy to wyniki rozrzutu parametrów czy błąd w projekcie. Na pewno wymaga to poprawy. Nie mniej kolejny krok do pełnego uruchomienia.
Zajrzyj do dokumentu Joker_13 - tam jest opisany chyba podobny problem z filtrami.

***

Prawdziwi twardziele nie czytają ostrzeżeń kompilatora Wink))
Jeśli się puszcza pętlę, która ma zrobić 320 obrotów na ośmiobitowym liczniku, a do tego sztywno deklaruje za krótką tablicę (dla 4*240px wystarczały 1024 elementy, dla 4x320px już nie), to efekty są jakie są.

Teraz już jest wyraźnie lepiej, ale bez działającego Rx'a nie mogę weryfikować dalszych poprawek - więc na razie odpuszczam temat.
[attachment=16449]

Edit: Za kilka dni spróbuję jeszcze kompilacji na TFT 1.3'' 240x240, ma wysokość poniżej 30mm - więc powinien się zmieścić. Jeśli dobrze sprawdziłem, obudowa to Hammond 1455P1601 (panel alu) lub 1455P1602 (panel ABS). Ta druga jest tańsza, a panele i tak w projekcie są z PCB.
Z wyświetlaczem 240x240 poszło dużo łatwiej, niemniej jednak znów trzeba było użyć ośmiobitowej głębi kolorów.
Wyświetlacz jest mały - na tej samej wysokości co 320x170 mieści 240px co sprawia, że najmniejsze napisy stają się już (przynajmniej dla mnie) mało czytelne, ale za to mamy aż 8 sekund wodospadu.
[attachment=16458]
Niestety wysokość płytki (27.5mm) jest większa, niż miejsce w obudowie (26.45mm), więc aby ją zmieścić trzeba obudowę nieco podfrezować (szkło ma 26.2mm, więc frezowanie jest niezbędne, trzeba mieć trochę luzu).  
Podobnie byłoby z 320x170 (29mm, tu wystarczyłoby zeszlifować PCB - szkło ma wraz z plastikową ramką 25.75mm), ale jednak prawdopodobnie jednak ten wyświetlacz nie zmieści się na szerokość wraz z gniazdami, potencjometrem i enkoderem. Jak dla  mnie szkoda, choć może jeszcze coś da się zakombinować Wink.
Popatrz Łukasz ile czasu byś zyskał gdyby kod był zamknięty. A tak korci eksperymentowanie bo wiadomo "gdzie paluchy wetknąć". A tak na poważnie, ja też mam sporo przemyśleń w trakcie uruchamiania radia i już wiem, że nie będę nic zmieniał. Polubiłem je takim jakim jest, świadom pewnych ograniczeń i uproszczeń. Ale tak już mamy, że kończąc jedną konstrukcję już się rozglądamy za następną.
Moim zdaniem, wyświetlacz pełni rolę pomocniczą i w tym wypadku głównym ograniczeniem są gabaryty a co za tym idzie, pobór mocy. Radio pobiera przy odbiorze 270mA, dodatkowe 100 zmieniłoby bilans radykalnie. Zatem wniosek nasuwa się sam.
Kibicuję Twoim eksperymentom bo wyjdzie z tego dobra analiza kodu i w razie "W" będzie jak znalazł.
Pomału kończę odrywając się nieco na rożne testy, które przychodzą mi do głowy ale zbliża się wielki finał i nim zrobię pierwszą łączność postanowiłem "zobaczyć" co tam wychodzi przed drajwerem i oto wynik.
[attachment=16459]
Wydaje się, że nie ma czego się wstydzić, przynajmniej jeśli chodzi o normy FCC, niestety nie znalazłem ile wymagane jest u nas. Pamiętam, że nie powinno przekroczyć 50mW zatem przy założonych 10W na pewno będzie dobrze. Oczywiście bez żadnej korekcji, na 28500. Na niższych zakresach jest znacznie lepiej.
Sygnał telegraficzny też wygląda poprawnie wobec tego nic nie stoi na przeszkodzie by wlutować tranzystory stopnia mocy.
[attachment=16460]
Wiecej szczegółów już po pełnym uruchomieniu radia.
(06-07-2026, 5:53)SP9FKP napisał(a): [ -> ]Niestety,  resztę z kompletu produkcyjnego rozesłalem tuż po ŁOŚiu zainteresowanym kolegom. Wbrew pozorom koszt zlecenia kompletu 6-cio warstwowej płytki + 2 płytek zamykających jest całkiem przystępny.i nawet emeryt jak ja może sobie pozwolić pod warunkiem że znajdą się chętni na pozostałe. Myślę, że tradycyjnie spółdzielnie koleżeńskie bez problemu udźwigną ten ciężar.

Zrobiłem rozeznanie na Allpcb i koszt 5 kompletów płytek z przesyłką 625zł, czyli 125zł jeden komplet.
Stron: 1 2 3