HomeMade

Pełna wersja: Kontroler syntezy PC01
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Witam!
Ten temat "chodził" za mną od ponad 2 lat kiedy zamierzałem początkowo zastosować kolorowy wyświetlacz z ekranem dotykowym do miernika z możliwością pomiaru wektorowego impedancji ale wyszedł z tego analizator NA02
Z tego okresu zostało mi trochę prób oraz wyświetlacz ILI9325 (kolor, 2.8", 240x320).
Do tematu wróciłem na początku roku i powoli mogę już zaprezentować to co się na razie udało zrobić.
Zamierzam wykorzystać wyświetlacz do wykonania kontrolera syntezy opartej co najmniej na modułach AD9850/51 oraz SI570 z możliwością objęcia działaniem i innych popularnych modułów syntezy.
Założenia nowego projektu o roboczej nazwie PC01 (trochę nudne ale przyzwyczaiłem się do tej konwencji Big Grin) są natępujące:

1. Wyświetlacz ILI9352 - 240x320, 2.8"
2. Pełne sterowanie za pomocą ekranu dotykowego - brak klawiszy funkcyjnych
3. Możliwość użycia impulsatora do sterowania lub wspomagania sterowania kontrolerem
4. Możliwość użycia modułów AD9850/51 oraz SI570 "na kanapkę" nakładanych na płytkę kontrolera - w przypadku SI570 trzeba będzie dorobić jakąś płytkę drukowaną
5. Możliwość sterowania urządzeń typu DC jak i z klasyczną przemianą

N razie mam "opanowany" wyświetlacz i mogę zaprezentować główny ekran kontrolera:

İmage

Idąc od góry mamy:
- znak stacji (do własnego zaprogramowania),
- krok sterownia (do wyboru tu 1kHz),
- poniżej ruchomą belkę wskaźnika sygnału z wartością w jednostkach S,
- niżej bieżącą częstotliwość pracy wyświetlaną z dokładnością do 10Hz,
- poniżej napis F2 oraz wartość częstotliwości zapasowej a także numer ostatnio wybieranej pamięci skojarzonej z F2 (tu M1)
- na dole znajdują się przyciski funkcyjne: przykładowo B-band, T-Rit, S-krok itd.
- przycisk M (Menu) będzie przełączał funkcję pozostałych trzech przycisków np. w celu zmiany rodzaju emisji, zapisu i odtworzenia częstotliwości z pamięci, lub wejścia do konfiguracji
- dwa duże symbole + i - w okręgach z prawej strony ekranu pozwalają na zmianę wartości dla dla wybranej funkcjonalności.

Ciekawy byłem jak jest z prędkością wyświetlacza ale przekonałem się, że może odświeżać dane (wybrane obszary) z prędkością kilkunastu razy na sekundę. W poniższym linku zamieściłem filmik pokazujący jak działa system dotykowy wyświetlacza przy dodatkowym warunku opóźnienia wtrąconego o wartości 250ms a więc odświeżanie jest nie szybsze niż 4 razy na sek. Zrobiłem to w celu zasymulowania działania wskaźnika siły sygnału S.

działanie kotrolera PC01

Dla przykładu, pokazałem jak można zmieniać częstotliwość podstawową po prostu trzymając palec na odpowiednim znaku + lub -, kolejno zrobiłem aktywnym przycisk R (restore z pamięci) i za pomocą przycisków + i - pokazałem jak zmienia się linia F2 z częstotliwością zapasową oraz numerem pamięci Mx a na koniec, przez naciśnięcie pola z wartością F2 pokazałem jak zmienić częstotliwość podstawową na zapasową i odwrotnie.
Na razie to tylko testy wstępne na wyświetlaczu ale funkcjonalność kontrolera obejmie większość zadań jakie wbudowałem w poprzednie moje syntezy:
- dobór podzielnika częstotliwości podstawowej
- wybór sumowania lub odejmowania sygnału z heterodyną dla każdego pasma
- klucz elektronowy
- programowanie toru pomiaru S odbiornika dla każdego poziomu S z osobna
- programowanie toru pomiaru mocy nadajnika podczas nadawania
- pomiar SWR podczas nadawania
- sterowanie przełączaniem pasm
- możliwość własnego zaprogramowania kilku linii sterujących poza oczywistymi sygnałami typu rodzaj emisji, nadawanie/odbiór
- konfiguracja parametrów nadawania CW (opóźnienie)
- inne, których nie pamiętam

Wszystkie te operacje konfiguracyjne będą możliwe z pomocą ekranu dotykowego i/lub ze wspomaganiam impulstaora.
Zadanie jest spore i nie od razu powstanie pełna funkcjonalność. Zacznę od dodania impulsatora i modułów AD9850/51 i powoli będę temat rozwijał.
Do obsługi programowej zastosowany będzie procesor AtMega128 w wersji również na kanapkę za pomocą takiego zestawu zakupionego na allegro:

İmage

Na razie testuję wstępnie pracę na ATMega64 ale ze względu na brak portów muszę zastosować Mega128. Sam wyświetlacz wymaga 8+8+3+5 (24) portów na obsługę wyświetlacza i choć starałem się kombinować z jednoczesnym wykorzystaniem lini sterujących do wielu celów to doszedłem do wniosku, że jest to zbyt wielkie ryzyko i komplikacja kodu a poza tym ta .... cena pokazanego wyżej zestawu :-). Dodatkowo, praca z wyświetlaczem to kilobajty kodu na fonty i operacje graficzne więc pamięć na pewno się przyda.

Najbliższe kroki to opracowanie ostatecznego schematu oraz wykonanie druku co powinno się zakończyć najpóźniej na święta. Zastanawiam się nad rozmiarem płytki, która będzie mniej więcj wielkości płytki wyświetlacza (chyba ok. 6/7cm) lub też będzie nieco większa z prawej strony aby można było na niej umieścić również impulsator oraz dwa potencjometry. Taka płytka stanowiłaby kompletny moduł sterujący trx-a ale ocenię jeszcze koszt obu płytek. Płytka większa powinna kosztować ok. 50-60PLN (z VAT-em i cłem) , mniejsza około 2/3 tej ceny a ponieważ zamierzam zamówić płytki ponownie w Chinach to zamówię od razu 10 szt bo cena pojedyńczej płytlki jest niewiele mniejsza. Gdyby ktoś chciał "przytulić" płytkę to proszę o informację. Nieśmiało zakładając, że chętnych byłoby więcej niż 7,8 (dwie, trzy płytki wezmę sam) to zamówię od razu 20 szt.
Przydałaby mi się na razie pomoc przy schemacie modułu dla SI570 bo można od razu wykonać i tą płytkę. Zakładam, że miałaby wielkość jak moduł AD9850/51 ale mogłaby być uniwersalna dla różnych wersji SI a także z wyjściem symetrycznym i niesymetrycznym, z dzielnikiem częstotliwości na wyjściu jak w tym wątku, post #50
L.J.
Witam,

Ja mam czysto techniczne pytanie. Nie zastanawiałeś się nad sterowaniem wyświetlacza po SPI? Nie ma na nim zbyt wielu dynamicznych elementów więc i odświerzanie nie musi być szybkie. I trochę pinów się zwolni .

Powodzenia w realizacji projektu.
Witam!
Faktycznie, pomysł sterowania po SPI przyszedł mi do głowy po tym jak nie mogłem wysterować wyświetlacza za pomocą 8 bitowej magistrali danych.
Sterowanie za pomocą magistrali 16 bitowej udaje mi się bez problemu ale to dodatkowe 8 linii.
Niestety, ten wyświetlacz nie ma za bogatej dokumentacji dotyczącej Bascom-a w jakim programuję. Musiałbym prawdopodobnie pisać od podstaw bibliotekę do obsługi wyświetlacza po SPI bo nie udało mi się znaleźć coś gotowego a nie bardzo mam na to ochotę. Biblioteka dla wersji 16 bitowej jest dostępna i działa więc mogę skupić się nad meritum pomysłu :-)
Wyświetlacz jest dość tani i dostępny, dodając koszt procesora, kontroler zamknie się w cenie istotnie poniżej 100PLN. Do tego trzeba będzie doliczyć koszt modułu DDS-a AD9850 lub 51 lub modułu SI570 ale na to nie mam wpływu :-(.
Mając do dyspozycji Mega128 w dobrej cenie nie muszę kombinować ze współdzieleniem portów. Początkowo miałem pewne osiągnięcia z użyciem rejestru CD4508 (8 bitowy zatrzask) przez co zyskiwałem 8 bitów ale po bliższym przyjrzeniu się okazało się, że są potrzebne dodatkowe bity na sterowanie tym rejestrem więc zysk zmniejszył się do 6 linii a na końcu okazało się, że nie wszystkie linie ILI9325 dają się w taki sposób obsłużyć - w szczególności linia R/W nie nadaje się na buforowanie z użytą biblioteką.
Użycie procesora jako kanapki na płytkę zmniejsza ryzyko uszkodzenia całej płytki ze względu na uszkodzenie procesora. Planuję na głównej płytce użycie CD4514 do sterowania przełączaniem pasm i mnożnika czestotliwości z możliwością jego ominięcia za pomocą zwor. Pozostałe elementy to piny We/Wy więc sama płytka będzie dość prosta do zmontowania.
L.J.
Witam!
Na razie prezentuję podstawowy schemat blokowy kontrolera.

İmage

Na jego płytce znajdą się się w zasadzie gniazda i piny a także układy CD4514, AD8014 oraz ICS502. Reszta, to znaczy wyświetlacz, generator i procesor montowane będą do gniazd w formie oddzielnych modułów.
CD4514 to dekoder 1 z 16. Licząc pasma od 1.8 do 50MHz wykorzystanych będzie 10 wyjść typu 0/1 a dodatkowe pozycje mogą być przeznaczone na funkcje specjalne (np. włączenie tłumika wejściowego).
Sygnał z odpowiedniego generatora, którym może być moduł AD9850, AD9851 lub SI570 może być przez układ zwor skierowany wprost na wyjście. Ale może podlegać również, dzięku systemowi zwor, wzmocnieniu (dotyczy to generatorów analogowych) w układzie AD8014. W końcu, sygnał może też podlegać multiplikacji w układzie ICS502 również przez odpowiednie ustawienie zwor.
L.J.
Witam

Fajnie ładnie kolorowo :-)

gratuluje

Pozdrawiam

Andrzej
Witam!
Na razie wykonałem rysunek schematu. Można go obejrzeć w pliku pdf.
Niestety, po instalacji nowszej wersji Kickad-a, mającej przy okazji kilka ulepszeń, nie udało mi się zmusić go do wydruku rysunku w pozycji horyzontalnej, trzeba go więc obracać w przeglądarce pdf-ów :-(
Zaznaczony na rysunku generator AD9851 symbolizuje zarówno AD9850 jak i generator na SI570, który trzeba będzie zmontować na płytce o tych samych rozmiarach co AD9851 ale z sygnalizacją na odpowiednich pinach. Dodatkowo, przewiduję możliwość wzmocnienia sygnału (AD8014) jak i powielenia częstotliwości (ICS502) a odpowiednia konfiguracja wykonana zostanie za pomocą zwor na płytce.
Rozmieściłem również wstępnie elementy na płytce i dopiero wtedy uzmysłowiłem sobie, że prawdziwą pracę mam przed sobą bo ilość połączeń wystarczyłaby na druk 4 warstwowy, tym bardziej, że chcę zmieścić układ na płytce pasującej do obudowy z płytą czołową 140/65mm. Jak się nie uda to w rezerwie mam obudowę 140/80mm. Takie metalowe obudowy są tanie i powszechnie dostępne w wersjach o różnej długości co pozwoli na swobodne dobudowanie reszty swojego układu.
Na razie mam wstępny rysunek (atrapę) takiej płyty czołowej z kontrolerem PC01 w dwóch wersjach: o wysokości 65 i 80mm.

İmage

İmage

Kontroler będzie obsługiwany wyłącznie przez ekran dotykowy. Nie przewiduję użycia żadnych klawiszy a jedynie impulsatora z wyłącznikiem osiowym do wspomagania zmian podczas sterowania i konfigurowania kontrolera. Na płytce kontrolera znajdą się też otwory na potencjometry do regulacji wzmocnienia w.cz. (RF) oraz m.cz. (AF).

Dla mnie bardziej atrakcyjna jest wersja 65mm ale jak się nie uda zmieścić wszystkiego to trzeba się będzie zadowolić większą wersją.
Konstrukcja płyty bedzie zawierać w dolnej części zestaw pinów umieszczonych poziomo, w linii, do których będzie można wsunąć gniazdo na płytce poziomej zamocowanej do spodu obudowy. Z kolei, na poziomej płytce wewnętrznej, można będzie w pionie montować w gniazdach bloki funkcjonalne urządzenia i, tak to sobie wyobrażam, możliwe będzie wykonanie urządzenia z minimalna ilością kabli połączeniowych.
Dalsze prace muszą jednak poczekać przynajmniej kilka dni bo obowiązki dziadka wymagają udziału w chrzcinach kolejnego wnuka a to oznacza podróż, spotkanie, powrót i wszystkie czynności dodatkowe ;-)
L.J.
Witam!
Udało się chyba wykonać projekt płytki w preferowanej przeze mnie, mniejszej wersji płyty czołowej :-) Z pokazanego wcześniej schematu udało się wstawić na płytkę wszystko poza czterema potencjometrami w torze pomiaru analogowego. Muszą one "wylądować" w zewnętrznych układach - o ile będą oczywiście potrzebne.
Na razie sprawdzam jak pasują do siebie elementy mechanicznie.

İmage İmage

Od przodu widać wyświetlacz, impulsator, dwa potencjometry oraz dwukolorową diodę stanu urządzenia a od tyłu głowne elementy elektroniki: procesor, generator DDS, dekoder pasm, stabilizator, busser.
Cała ta konstrukcja to naklejone na tekturkę wydruki z Kickad-a po to by sprawdzić czy nie ma konfliktu na poziomie mechaniki. Większość elementów wrażliwych ma mocowanie na gniazdach więc nawet uszkodzenie procesora nie spowoduje katastrofy całego układu.
Teraz przede mną jeszcze żmudne sprawdzenie druku - zdarzyło mi się, że Kickad pominął jakieś połączenie i składam zamówienie na płytki, które powinny pojawić się gdzieś w połowie maja.
L.J.
Witam!
Płytka główna już po sprawdzeniu, jutro zamówię wykonanie ale z rozpędu zaprojektowałem też płytkę do generatora SI570 i prawdopodobnie zamówię również i tą płytkę w komplecie. Płytka ma wymiary jak generator AD9850/51 i można będzie stosować ją zamiennie wybierając w menu odpowiedni rodzaj generatora.

İmage İmage

Nie ma się nad czym specjalnie rozwodzić, generator zasilany z 3.3V po redukcji z 5V, sterowanie i wyjście na pinach wspólnych z generatorem AD8950/51, dodatkowo dzielnik częstotliwości przez 2 i 4 z wyjściem ustawianym zworą.

Niestety, nie mam układu SI570 dlatego, z pewną nieśmiałością, zapytuję, czy ktoś nie mógłby odsprzedać mi jakiegoś swojego jednego, zapomnianego z zapasów. To by mi pozwoliło szybko dopisać potrzebny kawałek kodu dla tego modułu. Przy okazji włączę też do algorytmu także kod odpowiedzialny za detekcję adresu układu SI570 bo z tym, jak pamiętam, bywało różnie.
L.J.
Witam!
Płytki do PC01 mam już biurku. Po raz kolejny niezawodna firma PCBWAY wykonała szybko świetną robotę.

İmage

Na zdjęciu płytka główna kontrolera oraz płytka generatora SI570

Tym razem odprawa celna mniej "bolała" i koszt kompletu obu płytek to ok. 32PLN z dostawą za pomocą DHL z Hong Kongu włącznie :-)

İmage İmage

Wstępnie ułożone, główne elementy, pasują bez problemu. Zaczynam montować główną płytkę i wtedy się okaże czy nie nawalił projektant :-( A jeśli wszystko będzie ok. to zostanie "tylko" programowanie.
Mam już wstępnie przetestowane niektóre moduły i mam nadzieję, że to znacznie uprości pracę. Ostatnio testowałem na mniejszym procesorze działanie klucza elektronicznego ale zacznę przede wszystkim od uruchomienia impulsatora i generatorów DDS/SI570 w trybie pracy podstawowej - bez przemiany .
Ponieważ płytek mam 10, to mogę w cenie 42PLN z przesyłką odstąpić kilka kompletów jak tylko uruchomię procesor z wyświetlaczem i będę pewien że płytka działa.
L.J.
Witam - Leszku nie widać fotek - możesz coś napisać o jakości pcb.
pozdrawiam Jacek.
(16-05-2017 21:22)SQ2EER napisał(a): [ -> ]Witam - Leszku nie widać fotek -
A to ciekawe, bo u mnie widać.
Rysio!
Stron: 1 2
Przekierowanie