Synteza SPHM DDS - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Urządzenia nadawczo odbiorcze KF (/forum-62.html) +--- Dział: Syntezy częstotliwości i moduły DSP (/forum-74.html) +--- Wątek: Synteza SPHM DDS (/thread-912.html) |
RE: Synteza SPHM DDS - SP3SWJ - 23-04-2012 15:36 (23-04-2012 14:53)SP9FKP napisał(a): .. Myślę ile trzeba kodu by zrobić proste operacje na plikach. zapis do pliku w BASCOM to jest bardzo proste Print #1 , "SP9FKP" i już we wcześniej otwartym pliku jest zapisany odpowiedni tekst. i odpowiednio INPUT PUT GET APPEND :-) Oczywiście działa to analogicznie w C i odpowiednimi komendami - Bascom nie jest ty jakimś cudem techniki... Nie chodzi o to by na siłę od razu używać katować obsługą - ale by projekt był sprzętowo przygotowany na przyszłość... Wiem że sam programujesz i dla Ciebie pewne sprawy są proste - ale przeciętny "klonujący" TRX oczekuje naprawdę prostych instrukcji - nagraj plik na kartę - wyłącz TRX - włóż karte do TRX - naciśnij PTT i trzymaj ( dłużej niż 10 sekund ) - włącz zasilanie TRX - puśc PTT jak TRX przywita cię napisami .... jeśli powstaną ( a objawi sie dużo programistów) 2-3 alternatywne wersje softu... to będzie można sobie błyskawicznie zmienić soft do testów :-) RE: Synteza SPHM DDS - SP9FKP - 23-04-2012 15:47 Nie znam Bascoma ale jeśli obsługa błędów jest równie prosta to "szacun". RE: Synteza SPHM DDS - SP5FCS - 24-04-2012 23:22 Po kilku daniach testów uruchomiłem panel dotykowy w sterowniku syntezy TFT. Obsługa panela odbywa się poprzez przetwornik AD7843 dedykowany do paneli rezystancyjnych. Testy wykazały dużą nieliniowość siatki rezystancyjnej co będzie wymagało wykonania procedur kalibracji panela dotykowego. [attachment=5189] Na ekranie aktywne są górne i dolne klawisze (po cztery) oraz klawisze menu z prawej strony (siedem klawiszy). Próby z mniejszymi klawiszami dały słabe efekty z powodu małej powtarzalności oraz trudnością trafienia w pole klawisza. Kolejny etap to oprogramowanie funkcji poszczególnych klawiszy zgodne z ich opisami. RE: Synteza SPHM DDS - SP3SWJ - 25-04-2012 0:05 Jak kiedys robiłem testy z tym touchpanelem ale obsługiwanym przez cztery nogi procka ATmega (2xADC i 2xIO) to napisałem program testowy - nazwałem go roboczo PAINT ;-) na ekranie były dwa pola tekstowe pokazujące wartość ADC (0...1024) odpowiedniodla X Y i dla pola pokazujące pozycje przeliczonego poksela XY Program rysował KROPKĘ w miejscu dotknięcia robił to w szybkiej pętli - w efekcie kropka się "sprajowała" na kranie i pozwoliło to na obserwowanie rozrzutu odczytu. Spostrzeżenia były następujące: - pierwsze pomiary należy odrzucić - jeśli dotknięcie zbyt krótkie nie analizować położenia - jeśli dotknięcie dłuższe (kilka szybkich odczytów )..to wtedy zaczynami kilka klejnych wolniejszych odczytów i je uśredniamy. wyrysowanie jednego poksela to kilkanaście ms.... [attachment=5190] No ale moje uwagi dotyczą w pełni programowej obsługi touchskrina... Bazowałem na tych materiałach z noty aplikacyjnej BASCOM - ale znacznie to zmodyfikowałem. Jak się dobiorę to tego dedykowanego scalaka co Adam już okiełznał to może wniosę swoje 5 groszy w tym temacie... RE: Synteza SPHM DDS - SP3SWJ - 28-04-2012 15:07 ================= EDIT Testowałem kod (wersja testowo-serwisowa od Adama) do obsługi scalaka do odczytu AD7843 i problemy ze "sprajowaniem" kropki są takie same ;-) [attachment=5233] Także pozostaje programowe filtrowanie i bronienie się przed szumem - podobnie jak to opisałem wcześniej. Zaleta tego dedykowanego scalaka jest dużo większa szybkość i tym samym możliwość wyliczenia kropki z większą dokładnością (oczywiście także przerwanie od dotknięcia ) .... cdn... (23-04-2012 15:47)SP9FKP napisał(a): Nie znam Bascoma ale jeśli obsługa błędów jest równie prosta to "szacun". Myślałem że uważniej czytasz posty poprzednika zanim coś napiszesz - i zajrzysz na podane linki - a wtedy ewentualnie skorygujesz stosownie swoja wypowiedź..., zajrzyj więc proszę na linka co wcześniej podałem o BASCOM AVR DOS ... jest tam sekcja Error Codes: w której jest wylistowane prawie 30 mozliwych błędów jakie może ci zwrócić obsługa plików w BASCOM - czy to Ciebie zadowala :-) ?? RE: Synteza SPHM DDS - SP5FCS - 28-04-2012 21:04 Niestety ten model wyświetlacza TFT ma matrycę rezystancyjną, która działa mniej pewnie od matryc pojemnościowych. W matrycy rezystancyjnej jeśli "dotyk" panela nie jest dość silny występują przekłamania. Najlepiej działa dotykanie typowym rysikiem z telefonów. Zaletą dedykowanego układu AD7843 jest oszczędność czasu oraz pinów procesora, możliwość obsługi w przerwaniach, dwa dodatkowe kanały analogowe do pomiarów oraz najważniejsze to tranzystorowe klucze do polaryzacji matrycy względem zasilania i masy. [attachment=5236] Dodatkowo układ posiada tryb pozwalający pobierać do pomiaru poziomy napięć referencyjnych bezpośrednio z wyjść matrycy. Uniezależnia to obsługę panela dotykowego od ustawień przetworników ADC w procesorze. Układ posiada 12 bitowy przetwornik ADC co ma znaczenie przy starszych procesorach. RE: Synteza SPHM DDS - SP5FCS - 02-05-2012 21:48 Kolejnym poważnym wyzwaniem w pracach nad sterownikiem jest kalibracja panela dotykowego. Proces kalibracji obejmuje dwa zagadnienia. 1. Dane pomiarowe z przetwornika Ad8743 trzeba przekonwertować na współrzędne ekranu co nie stanowi większego problemu. Wystarczy dokonać pomiaru ADC dla 3 punktów kalibracyjnych i przeliczyć je na rozdzielczość wyświetlacza. 2. Zdecydowanie gorzej jest z korektą geometrii matrycy rezystancyjnej. Matryca w moim wyświetlaczu jest mocno nieliniowa w górnej części wyświetlacza, najgorzej w górnym prawym rogu. Proste przeliczenie w siatce prostokątnej nie daje zadowalających wyników dlatego konieczne jest korygowanie geometrii odczytów z panela. Dla zapoznania ze stopniem trudności oraz metodyką polecam lekturę np.: How To Calibrate Touch Screens Na dobry początek imlementacja Carlosa E. Vidales. RE: Synteza SPHM DDS - SP3SWJ - 03-05-2012 0:36 jak robiłem testy to "zawijanie" i zniekształcanie ekranu objawiało się jak były za duże kondensatory na liniach "touch" obecnie dałem 68pF ( miały byc 100pF) Jak widać na filmie wystarczy proste y=y_factor*y_adc+y_ofs v=x_factor*x_adc+x_ofs i jest OK bo z 10 nF to była pomyłka...- nawet nie ma sensu pokazywac obrazków... podobnie robiłem próby z bardzo szybkim czytaniem po SPI - też robiły sie "banany" na wykresie - zamiast prostokąta... (...testy na kodzie C by sp5fcs) warto tu zajrzeć ;-) na pierwszym linku źródła w C do pobrania do noty aplikacyjnej http://www.psocdeveloper.com/docs/appnotes/an-mode/detail/an-pointer/an2173.html tu też duzo wzorów http://www.ti.com/lit/an/slyt277/slyt277.pdf Myśle że przy dobrze dobranych C i kondensatorach - program z filmu "paint na LCD " rozwiewa niepewnośc czy ekran dziala dobrze... czy źle. ... i jeszcze ten link - z kodami do metody 3 punktowej http://www.circuitidea.com/Article/Calibrate-touch-screen-with-arduino.html Arduino code Kod: /* RE: Synteza SPHM DDS - SP5FCS - 03-05-2012 2:17 Pierwsza sprawa to nie powinno się zmuszać układu AD8743 do pracy na dużo większych szybkościach. W nocie katalogowej podają szybkość przetwarzania 125kSPS. O szybkości przetwarzania przetwornika ADC decyduje zegar interfejsu SPI. Dla Xmega z zegarem 32MHz i podziałem dla SPI 128 daje zegar równy 250kHz. Przy takiej szybkości układ jeszcze pracuje ale szybko rosną błędy przetwarzania przetwornika ADC (wykres ). Moje pierwsze próby robiłem na przetaktowanym procesorze, stąd duże przekłamania i gorsza praca układu AD7843. Przy powrocie do zegara 32MHz wyniki są zdecydowanie lepsze. Kondensatory na wejściach touch panela muszą mieć małą wartość ze względu na dużą szybkość przetwarzania ADC, w nocie katalogowej do obliczeń przyjęto 39pF (10nF na schemacie to był błąd). [attachment=5243] Jako, że jest to na tym forum pierwsze urządzenie z panelem dotykowym warto przy tej okazji szerzej zapoznać się z różnymi zagadnieniami do rozwiązania. Jednym z nich jest programowa kalibracja i korekta geometrii panela dotykowego. Przy urządzeniu powielany w wielu egzemplarzach ze względu na rozrzuty parametrów paneli rezystancyjnych użytkownik musi mieć możliwość okresowej kalibracji panela. Przy dużych klawiszach prawdopodobnie wystarczy kalibracja na 3 punkty + proste skalowanie do rozdzielczości ekranu. RE: Synteza SPHM DDS - SP3SWJ - 03-05-2012 2:36 ja robiłem z zegarem 32 Mhz i /128 /64 ... i nawet /64 działa bardzo dobrze.. ( jak na filmie) - myślę że do naszych celów może wystarczyć ta najprostsza kalibracja na dwa punkty po przekatnej - ale to dopiero mozna zweryfikowac na wiekszej partii .... coż ... ... tak jak pisałem ten sam panel pracujący z powolnym ADC z ATMEGA128 zachowywał sie liniowo.... |