Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Dotykowy panel operatora na AVR

pako8420 14 May 2016 15:40 10392 28
e-mierniki
  • Dotykowy panel operatora na AVR

    Witam serdecznie.
    Mam zaszczyt zaprezentować wam mojego autorstwa panel dotykowy.
    Urządzenie powstało z myślą o sterowaniu różnego rodzaju sterownikami.


    Od czego się zaczęło:
    Już jakiś czas temu zbudowałem sterownik pracujący w dość trudnych warunkach: wilgoć, azot, amoniak i pomimo uszczelnienia obudowy urządzenia, gazy nadal dostawały się do obudowy. Wcześniej zastosowałem zwykłe mikroswitche 12mm, lecz po niedługim czasie przestały one poprawnie pracować i czasem nie zwierały, przez co korzystanie z urządzenia stało się uciążliwe.
    Dodatkowo przy elementach ruchomych był problem z dokładnym uszczelnieniem sterownika. Naklejka, która zakrywała front panel (i chroniła przed wniknięciem gazów) nie była dobrym rozwiązaniem, gdyż po dłuższym czasie mogłaby stwardnieć i po prostu pęknąć. :/ Stwierdziłem, że trzeba jakoś wyeliminować mechanikę i wpadłem na pomysł klawiszy dotykowych.

    Dlaczego taka konstrukcja:
    Już wcześniej nie chciałem ciągnąć całych taśm do komunikacji, dlatego we wcześniejszej wersji panelu komunikowałem się z dwoma układami PCF8574. Do 4 linii (zasilanie, SDA, SCL) dochodziło jeszcze przerwanie o zdarzeniu na porcie, co było bardzo przyjemne, gdyż procesor sprawdzał stan klawiszy, jeżeli nastąpiła zmiana na wejściach układu. W tej wersji panelu chciałem pozostać przy tej samej konwencji, dlatego procesor pracuje również w magistrali I2C jako układ SLAVE oraz wyprowadziłem z procesora sygnał, który generuje przerwanie w MASTERZE, jeżeli została wykryta zmiana klawisza. Wykorzystywałem więc taśmę 5 pinów, więc nawet jeżeli jakieś gniazdo przestałoby łączyć, to łatwiej to wykryć i diagnozować niż 20 pinów.

    Dotykowy panel operatora na AVR

    Dlaczego AVR:
    Szukając różnych rozwiązań na gotowych układach scalonych musiałbym przetwarzać sygnały pochodzące ze scalaków, dodatkowo procesor musiałby sterować diodami komunikującymi się z użytkownikiem. Po przeliczeniu ilości portów pomysł padł na ATmega8 (co chyba nie jest zaskoczeniem). Tanie, proste i wystarczające, w dodatku dużo pracuje na tym procesorku, więc dość dobrze go znam. Później trafiłem na projekt, w którym na ATtiny13 zrealizowano klawisze dotykowe. Pomyślałem, że po co mam stosować zewnętrzne układy, skoro można zaimplementować to w procesorze. Chciałem to zrobić inaczej, więc wyprowadziłem moje pola dotykowe na pinach ADC, zawsze przecież można obrabiać tam sygnał cyfrowy. :)
    Zaprojektowałem więc płytkę, i wysłałem do produkcji do przyjaciół z Azji. Przed wysłaniem płytka była kilkukrotnie sprawdzana pod kątem jakichś "baboli" aż ostatecznie skończyło się na tym, co tutaj prezentuję. (Płytka nadal nie wygląda pięknie, gdyż była robiona pod presją czasu na konkurs. Można było by poprawić kilka połączeń i ustawić opisy, ale to już tylko kosmetyka. :) Z resztą była to wersja testowa płytki.

    Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR

    Działanie:
    Zasada panelu jest prosta, mierzę napięcie na porcie procesora w odpowiednim przedziale czasowym (czas ładowania klawisza sprawdzony na oscyloskopie). Czynność wykonuję czterokrotnie (cztery klawisze), a później obrabiam spróbkowane dane. Gdy panel wychwyci odpowiednią zmianę pojemności klawisza, wystawia stan niski na pinie przerwaniowym. Master w przerwaniu ustawia flagę, a w pętli głównej odczytuje sobie zawartość zmiennej odpowiadającej za stan na klawiszach. Koniec. :P
    Czynność oczywiście działa w pętli.

    Procesorek to ATmega8 w wersji SMD, napędzony kwarcem 16MHz. układ pracuje na napięciu 5V, a prędkość magistrali I2C to 100kbps (na magistrali jest jeszcze kontroler LCD, a to jest jego maksymalna prędkość podawana w nocie katalogowej). Na płytce widać także jumpery SMD, służyły one do zwierania linii programowania z diodami, gdyż nie miałem pewności, czy diody wpięte w tym układzie nie będą przeszkadzały podczas programowania (okazało się, że nie :) ).

    Program napisany w języku C w środowisku Eclipse, zajmuje ok. 6Kb pamięci... (ktoś zapyta dlaczego?!) A no właśnie, cała kwintesencja zwarta jest w działaniu panelu. Został tam zaimplementowany algorytm autokalibracji. Po co?
    Płytka montowana jest na/w obudowie i na to naklejana jest naklejka z opisem, grubość naklejki ma znaczący wpływ na działanie układu pomiarowego, tak samo jak "wielkość paluchów obsługującego", dlatego działanie zmieniało się wraz z osobą obsługującą panel. Postanowiłem temu zaradzić i po każdorazowym wykryciu zaburzenia na klawiszu wyniki są przetwarzane, ustawiane są odpowiednie granice zadziałania, czułości, czasy reakcji, a ostatecznie jeżeli powstają nowe wyniki to po 15 sekundach od nieużywania panelu dane zapisywane są do pamięci EEPROM, dlatego jeżeli wyłączy się prąd, układ wraca do ostatniej konfiguracji.

    Kilka zdjęć:
    Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR
    Dotykowy panel operatora na AVR

    W przyszłym tygodniu postaram się dodać filmik z działania konstrukcji oraz jakiś zrzut ekranu z oscyloskopu obrazujący przebiegi toru pomiarowego. Na koniec dodam, że wersję bardzo stabilną udało mi się dopiero niedawno napisać ze względu na brak czasu (szkoła, praca wakacyjna), ale do tego czasu skutecznie przechodzi testy i działa bardzo dobrze. Wpadnięcie na sposób pomiaru i dostosowanie się do zakłóceń sieciowych zajęło mi dosyć sporo czasu, dlatego nie chcę dzielić się kodem. Dla zainteresowanych dam wskazówki, jak należy podejść do sprawy i co uwzględnić. Jak to mówił jeden z wykładowców: "Jeżeli nie potrafisz wyeliminować zakłóceń, dostosuj się do nich..."

    Zapraszam do komentowania i życzę miłego dnia. :)


    Edit:21.05.2016
    Obiecane zrzuty z oscyloskopu jak wygląda przebieg na wejściu. Na pierwszym oscylogramie widać dwa klawisze w "stanie jałowym". Dwa kolejne to przyłożony palec do jednego i drugiego a ostatni przedstawia jak wygląda jeden cykl ładowania pola. Chcę dodać jeszcze filmik z działania ale muszę go jakoś zmontować żeby było widać ładnie jak to działa.

    Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR Dotykowy panel operatora na AVR

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    pako8420
    Level 12  
    Offline 
    Has specialization in: elektronika, elektrotechnika
    pako8420 wrote 54 posts with rating 27, helped 0 times. Live in city Kępno. Been with us since 2008 year.
  • e-mierniki
  • #2
    Urgon
    Editor
    AVE...

    Ładniejszego kółka narysować nie mogłeś?
    Nie podoba mi się też aż taka bliskość mikrokontrolera względem pierścienia dotykowego oraz użyte rozwiązanie. Mogłeś użyć mikrokontrolera, który pomiar pojemności realizuje sprzętowo. Zarówno AVR, jak i Microchip mają takie układy w swojej ofercie. Polecam te noty Twojej uwadze:
    AN1250, AN1478, AN1102 oraz AN1334.
  • #3
    pako8420
    Level 12  
    Dziękuję za słowa krytyki.

    Quote:
    Ładniejszego kółka narysować nie mogłeś?

    Tak jak pisałem już wcześniej projekt powstawał pod presją czasu więc bawienie się w idealne "kółko" mijało się z celem. Było to bardziej robione z zamysłem odczytywania pozycji palca tak aby zrealizować niejako enkoder dotykowy. Nie znalazłem jednak zastosowania więc nie implementowałem tego.

    Quote:
    Nie podoba mi się też aż taka bliskość mikrokontrolera względem pierścienia dotykowego oraz użyte rozwiązanie.

    Co do odległości... Wiem, powinno to być inaczej rozwiązane, ale wstępnie płytka miała być bardziej uniwersalna więc miała we wstępnej fazie więcej otworów pod diody led. Później jednak stwierdziłem, że aż taka uniwersalność mi jest nie potrzebna więc usunąłem otwory, a procek został i już nie chciało mi się tego przeprojektowywać.

    Powoli pracuję nad kolejną wersją płytki, gdzie procesor jest już oddalony od pól dotykowych a pod samymi polami nic już się nie znajduje.

    Rozwiązanie nie miało się podobać lecz działać i w pełni realizuje swoje zadanie. Oczywiście mogłem użyć już gotowych paneli dotykowych czy scalaków ale...
    No właśnie, nie chodzi o to żeby kupić gotowca i chwalić się czego się nie zrobiło. Ten projekt pozwolił mi skupić większą uwagę na błędy w projektowaniu obwodów analogowych i w następnych projektach wyeliminowaniu ich. Dodatkowo zawsze jest to doświadczenie zarówno w programowaniu jak i projektowaniu. Powstała płytka jest pierwszą i jedyną wersją panelu dotykowego dlatego może posiadać kilka rażących błędów.

    Quote:
    Polecam te noty Twojej uwadze:

    Nie gustuję w mikrokontrolerach PIC* ale owszem zobaczę sobie co oferują producenci avr.

    P.S. Dobrze, że płytkę przykrywa naklejka z opisem. Dzięki temu liczba użytkowników urządzenia czujących niesmak słabej jakości "kółka" spadnie do zera :D .
  • e-mierniki
  • #4
    burak
    Level 11  
    Od pewnego czasu powstrzymuje się od czytania komentarzy ich poziom jest żałosny.
    Ale zainteresowało mnie czy przyjaciele robią prototypowe PCB.
    Jeśli tak to czy można jakieś namiary ;)
    Pozatym git projekt wraz z kółkiem.
  • #5
    pako8420
    Level 12  
    Quote:
    Ale zainteresowało mnie czy przyjaciele robią prototypowe PCB.

    Płytki były robione w elecrow. Za cenę 11$ (wtedy ok 40 zł) miałem 10 płytek wykonanych na bardzo dobrym poziome, co z resztą widać na zdjęciach. Do wyboru wysyłka ekspresowa(3 dni kurierem, 80zł) i standardowa(ok 20 zł ale czas oczekiwania ok miesiąca). Ja musiałem wybrać tę ekspesową ze względu na czas ale cena 12zł za płytkę bardzo dobrej jakości kompensuje wszystko.

    Niestety w poliszy chyba nie uświadczą mnie tak szybką obsługą i ceną...
  • #6
    burak
    Level 11  
    Tak to jest unas 2 na produkcji i 5 kierowników.
    Dzieki wielkie

    Moderated By ANUBIS:

    3.1.11. Nie wysyłaj wiadomości, które nic nie wnoszą do dyskusji. Wprowadzają w błąd, są niebezpieczne czy nie rozwiązują problemu użytkownika.

  • #7
    pgoral
    Level 26  
    Elegancko. Duży plus.

    Natomiast rozumiem, że diody smd montowane "po drugiej stronie" aby płytka była płaska pod naklejkę?

    Czy Q2 do Q5 są konieczne? Nie dało rady ustawiać tych 4 linii jako zwartych do masy i włączać ich kierune na chwilę jako wyjścia?

    Pozdrawiam i doceniam.
  • #8
    andrzejek23
    Level 19  
    burak wrote:
    Od pewnego czasu powstrzymuje się od czytania komentarzy ich poziom jest żałosny.
    Ale zainteresowało mnie czy przyjaciele robią prototypowe PCB.
    Jeśli tak to czy można jakieś namiary ;)
    Pozatym git projekt wraz z kółkiem.


    Przyganiał kocioł garnkowi...

    Moderated By ANUBIS:

    3.1.11. Nie wysyłaj wiadomości, które nic nie wnoszą do dyskusji. Wprowadzają w błąd, są niebezpieczne czy nie rozwiązują problemu użytkownika.

  • #9
    pako8420
    Level 12  
    Witam.

    Kombinowałem sobie sposób montażu i dobór diod tak aby panel był płaski i nic nie wystawało spod naklejki. Taki sposób był jedynym słusznym który wpadł mi do głowy. Jedynym kłopotem jest odwracanie diod po wyjęciu z taśmy :P
    Po niedługim czasie zobaczyłem mój pomysł na montaż diod w jakimś atmelowskim programatorze(szukałem bibliotek qTouch i na stronie głównej był jakiś programator, nazwy nie pamiętam a własnie szukałem żeby go znaleźć...). Ciekawe jak atmel wpadł na taki sposób montażu, osobiście nigdy nie widziałem tak zamontowanych diod :)


    Quote:
    Czy Q2 do Q5 są konieczne? Nie dało rady ustawiać tych 4 linii jako zwartych do masy i włączać ich kierune na chwilę jako wyjścia?

    Kiedy projektowałem płytkę nie wiedziałem jak krótkie sygnały będę obrabiał i czy pojemność pola dotykowego, zwieranego nieustannie do masy przez procesor nie uszkodzi po pewnym czasie struktury wewnętrznej. Wolełem więc dodać tranzystorek, zawsze przecież można go nie montować. Rzecz w tym, że gdy prowadziłem pierwsze testy zwieranie pola przez procesor do masy powodowało jakieś dziwne odczyty na pinie ADC i przez to pozostałem na "zwieraniu zewnętrzym". Być może jakoś źle to zaimplementowałem i dlatego nie działało. Usiądę do tego ponownie i byc może na każdej płytce będę 4 tranzystorki do przodu :)

    Taka wskazówka dla osób chcących zrobić kiedyś coś podobnego. Pola dotykowe powinny być zabezpieczone izolatorem gdyż podczas dotyku palcami nie tyle zwiększa się pojemność co potencjał naszego ciała drastycznie zakłóca odczyt napięcia. Wyglądało to mniej więcej tak: dotykam jedno pole końcówką palca- procesor wykrył wszystkie pola jako aktywne...
    U mnie nie potrzebnie usunąłem solder-maskę w programie. Na szczęście po raz kolejny cudowna naklejka uratowała mi życie :)
  • #10
    Galareta
    Level 22  
    Mam telefon bezprzewodowy Panasonic rocznik 2001 i tam sa właśnie tak montowane LED SMD;-) Tylko tam jakieś specjalne LED z soczewka sa, wyglądaja jak miniaturowe 1W LED
  • #11
    pgoral
    Level 26  
    pako8420 wrote:
    Ciekawe jak atmel wpadł na taki sposób montażu, osobiście nigdy nie widziałem tak zamontowanych diod :)


    Doszliście do tego samego pomysłu. Pozwolisz, że i ja go "ukradnę" Tobie.
  • #12
    Karol966
    Level 30  
    pako8420 wrote:
    nigdy nie widziałem tak zamontowanych diod
    To nie jest żadna nowość ;)
    Galareta wrote:
    Tylko tam jakieś specjalne LED z soczewka sa
    te "specjalne" diody są normalnie dostępne, popatrz sobie chociażby w tme

    Do autora - 'uwielbiam' taki sposób montażu przewodów ;/ zaciskarka nie gryzie, kupisz raz a zostanie Ci na lata ;) Nawet jeśli nie chcesz jej kupować bo szkoda Ci ok 100zł to zawsze możesz sobie polutować te kilka konektorów do przewodów i założyć normalny korpus wtyku. Wtedy będzie to wyglądało a i nadal będzie funkcjonalne.
  • #13
    Urgon
    Editor
    AVE...

    Ja za zaciskarkę zapłaciłem 55 złotych i sobie ją chwalę, choć wiem, że to raczej dolna półka, jeśli chodzi o narzędzia.

    pako8420 wrote:

    Taka wskazówka dla osób chcących zrobić kiedyś coś podobnego. Pola dotykowe powinny być zabezpieczone izolatorem gdyż podczas dotyku palcami nie tyle zwiększa się pojemność co potencjał naszego ciała drastycznie zakłóca odczyt napięcia. Wyglądało to mniej więcej tak: dotykam jedno pole końcówką palca- procesor wykrył wszystkie pola jako aktywne...
    U mnie nie potrzebnie usunąłem solder-maskę w programie. Na szczęście po raz kolejny cudowna naklejka uratowała mi życie

    Życie uratowałaby też cienka ścieżka masy między polami pełniąca funkcję izolatora sygnałów, albo użycie układu dedykowanego do obsługi pól dotykowych. Poszukaj na przykład QTouch. Możesz spróbować zaimplementować metodę pomiaru CVD (AN1478), co powinno jeszcze zwiększyć odporność na wszelkie zakłócenia bez nadmiernej rozbudowy kodu. Zadziała na każdym mikrokontrolerze z ADC...
  • #14
    pako8420
    Level 12  
    Karol996 wrote:
    Do autora - 'uwielbiam' taki sposób montażu przewodów ;/ zaciskarka nie gryzie, kupisz raz a zostanie Ci na lata ;)


    Tutaj akurat lutowane przewody są nie przypadkowo. Sam stosuję kostki bo uważam, że jest to bardziej profesjonalne, ale jak już wcześniej pisałem urządzenie pracuje w trudnych warunkach. Zauważyłem, że po pewnym czasie złącza pokrywają się patyną, która później może doprowadzić do zwiększenia rezystancji. Dlatego akurat w tym projekcie ograniczam ilość "mechanicznych" połączeń jak tylko się da. Wtedy połączenie jest pewne i działa zawsze.
    Zaciskarkę posiadam i stosuję ją ale już opisałem w czym rzecz.

    W sumie mógłbym bawić się w "inżyniera XXI w." i projektować urządzenia aby psuły się po okresie gwarancyjnym :P Jednak gdy projektuję coś dla siebie nie chcę co chwilę serwisować urządzenia.

    Urgon wrote:
    Życie uratowałaby też cienka ścieżka masy między polami pełniąca funkcję izolatora sygnałów,

    Cienka ścieżka masy jest stosowana również w "lepszych" panelach i nazywa się to bodajże guard, lecz również te panele mają swoje ścieżki zasłonięte solder-maską...
    Musiałbym zrobić kiedyś jakąś płytkę prototypową z takim rozwiązaniem lecz narazi uważam, że obecny projekt nie odstępuje od dedykowanych układów scalonych.
  • #16
    Snikers
    Level 24  
    Diody montowane od tyłu były już w noki 3310 (zielone). Są dostępne taśmy smt z diodami włożonymi od tyłu żeby pick&place mógł montować bez problemu
  • #17
    Pawel1812
    Level 26  
    A nie brał Kolega pod uwagę wykorzystanie fabrycznych układów scalonych, specjalizowanych do obsługi sensorów dotykowych? Nie prościej?
    Ile czasu zajęło napisanie takiego kodu? Jak płacą za godzinę, to warto się bawić :)
  • #18
    pako8420
    Level 12  
    Milek79 wrote:
    Dlaczego nie użyłeś biblioteki QTouch?

    Szukałem bibliotek Qtouch ale jakoś nie potrafiłem poruszać się po stronie atmela. dodatkowo doczytałem gdzieś, że te biblioteki są do nowszych procesorów typu ATmega88/168/328 gdzie obsługa klawiszy rozwiązana jest hardwarowo więc wtedy już w ogóle się podałem.

    Wybrałem atmega8 bo akurat mam spory zapas tych procesorków, które pozostały z poprzedniego projektu. Nie chciałem zamawiać kolejnych paczek z elektoniką skoro wszystko miałem na miejscu.

    Milek79 wrote:
    I czy nie lepiej było użyć dedykowanego układu, skoro to i tak nic więcej nie robi? (atmel też ma takie w swojej ofercie)

    No niekoniecznie nic więcej, układ działa też prawie jak dwa układy pcf8574 (dodatkowe 12 pinów rozszerzających na jednej magistrali. Jeden PCF w tme kosztuje ok 3,3 zł a potrzebuję ich 2 sztuki.

    Podsumowując używam jednego scalaka zamiast 3(2 PCF i jeden do obsługi klawiszy) więc taniej, w dodatku części mam.

    Snikers wrote:
    Diody montowane od tyłu były już w noki 3310 (zielone). Są dostępne taśmy smt z diodami włożonymi od tyłu żeby pick&place mógł montować bez problemu

    Dobrze wiedzieć, może kiedyś jak wystartuję z większą produkcją to będę szukał takich taśm w hurtowniach :)

    Pawel1812 wrote:
    A nie brał Kolega pod uwagę wykorzystanie fabrycznych układów scalonych, specjalizowanych do obsługi sensorów dotykowych? Nie prościej?

    Prościej ale drożej. Ekonomia i zapasy wygrały :P

    Pawel1812 wrote:
    Ile czasu zajęło napisanie takiego kodu? Jak płacą za godzinę, to warto się bawić :)

    Trudno ocenić czas pisania programu, to co tu prezentuję jest raczej wynikiem hobby i resztkami wolnego czasu. Pierwsza wersja powstała prawie rok temu na konkurs, i rozwiązanie było proste. powstało w ok jeden dzień lecz nie działało dobrze, było nie stabilne.
    Obecna wersja finalnie powstała w ok 2 dni robocze(jak by zebrać czas poświęcony na pisanie programu i debugowanie wyników). Do tego czasu czasem wieczorkiem próbowałem ugryźć problem nie stabilności i zbierania wyników pomiarów a później ich poprawnej obróbki.
  • #19
    Pawel1812
    Level 26  
    Z ciekawości ile kosztowałoby zrobienie tego na układzie specjalizowanym - z wysyłką nawet z Chin? 100 zł?
    Czy to jest warte tego czasu? Dwa dni pisania kodu za 100 zł - jeszcze ktoś za tyle pracuje?
    Autor pisze, że sensor pracuje w urządzeniu przemysłowym, tak więc nie ma mowy raczej o podejściu hobbystycznym.
  • #20
    pako8420
    Level 12  
    Pawel1812 wrote:
    Z ciekawości ile kosztowałoby zrobienie tego na układzie specjalizowanym - z wysyłką nawet z Chin? 100 zł?
    Czy to jest warte tego czasu? Dwa dni pisania kodu za 100 zł - jeszcze ktoś za tyle pracuje?
    Autor pisze, że sensor pracuje w urządzeniu przemysłowym, tak więc nie ma mowy raczej o podejściu hobbystycznym.

    Fakt, lepiej bądź taniej byłoby użyć dedykowanych układów, lecz urządzenie powstawało na konkurs, tak zwana potrzeba chwili. Pomyślałem, że wykorzystam to co mam i nie będę pakował się w dodatkowe układy, widziałem już wcześniej podobne projekty lecz nie myślałem o nich pod kątem problemów związanych z róznego rodzaju zakłóceniami. Teraz urządzenie pracuje już w swoim środowisku a ja mam czas żeby czasem coś poprawić w domu na drugim takim samym urządzeniu.
    Myślałem, że pójdzie prościej i napisanie kodu to będzie moment, nie udało się...

    Tak czy inaczej, uważam że gdyby nawet miał nym zarobić te kilka złotych na zaoszczędzeniu sobie czasu to uważam że odebrał bym sobie doświadczenie z elektroniką analogową, i to taką dość nietypową :P
    W kolejnej płytce przewidzę miejsce na dedykowanego scalaka, lecz skoro mam już gotowy kod możliwe, że nie będę go montował.
  • #21
    Milek79
    Level 15  
    pako8420 wrote:
    Szukałem bibliotek Qtouch ale jakoś nie potrafiłem poruszać się po stronie atmela. dodatkowo doczytałem gdzieś, że te biblioteki są do nowszych procesorów typu ATmega88/168/328 gdzie obsługa klawiszy rozwiązana jest hardwarowo więc wtedy już w ogóle się podałem.
    Biblioteka jest w Atmel Gallery: https://gallery.atmel.com/Products/Details/0bd952c5-d633-44de-b469-eae19d716c58
    Potrafi też dokonywać pomiaru za pomocą ADC, sprzętowa obsługa jest tylko w specjalnej wersji atmegi328pb.
  • #22
    bolek
    Level 35  
    Tanie touch scalaki potrafią się rekalibrować po kilku sekundowym trzymaniu palucha, tak więc nie nadają się jeśli projekt przewiduje takie sytuacje. Touch scalaki gdzie można coś konfigurować to w zasadzie cena procka, trzeba się jednak postarać żeby soft dał dobre efekty.
    Wspomniane CVD działa całkiem przyzwoicie, stwierdził bym że z "guardem" (patrzyć w linkowanych notach) lepiej niż sprzętowe CTMU.

    6k kodu to całkiem sporo, czy autor każde pole traktuje osobną procedurą odczytu i kalibracji?. (nawet jeśli to i tak sporo).

    Ile czasu robią te płytki w takiej cenie?.
    Jest jeszcze eurocircuits. Może mało lokalna firma, ale wysłane UPSem (~5euro) wieczorem zazwyczaj są u mnie następnego dnia. Standardowo płytka jest 7 dni po zamówieniu, a cena chyba taka jak w przeciętnej krajowej firmie z terminem 14dni roboczych. Jakość 5+.
    Na stronie mają dobre narzędzie do kontroli projektu (PCB Checker), często sprawdzam płytk nawet jeśli z jakiś względów nie puszczam u nich prototypu.
  • #23
    pako8420
    Level 12  
    Milek79 wrote:
    Biblioteka jest w Atmel Gallery:

    Dziękuję za pomoc :)

    bolek wrote:
    6k kodu to całkiem sporo, czy autor każde pole traktuje osobną procedurą odczytu i kalibracji?. (nawet jeśli to i tak sporo).

    Kodu jest dokładnie 5900b. Na kod składa się procedura odczytu ADC, Kalibracji każdego klawisza z osobna, porównywań, który klawisz ma największe odchyłki i aktywowaniu tylko jednego. Dodatkowo są jeszcze blokady, że dopóki cały panel odczytuje dotyk to stan klawisza się nie zmienia i zeruje się dopiero po puszczeniu palca. Są jeszcze funkcje do ustawiania granic zadziałania, czułości, i jeszcze inne parametry, które są rożne dla każdego klawisza. Wynika to z tego że pola nie są równe i każde działa z inną czułością. Wszystko to działa na flagach a część w przerwaniach i jest zależne od czasu i poprzednich wartości zmierzonych przez UC.
    Dodatkowo jest zaimplementowana obsługa I2C slave, która też zajmuje troszeczkę kodu.

    bolek wrote:
    Ile czasu robią te płytki w takiej cenie?.

    Zamówiłem płytki w środę koło południa i dokładnie po 7 dniach(t.j. środa) zawitał kurier z płytkami :) Wniosek: płytki zrobione przez firmę w 4 dni, propsy :)
    To co widać u mnie na zdjęciach nie jest jeszcze "granicą" możliwości firmy, najmniejsze ściezki miałem 16 mils a firma robi powyżej 8 mils.
    Teraz widzę, że oferta firmy trochę się zmieniła od czasu kiedy zamawiałem, ale za te płytki zapłacił bym teraz 12.9$ (~50 zł) plus wysyłka

    Następne płytki będę zamawiał w PCBway, podobno też robią dobrą robotę. Znajomy zamawiał tam płytki i mówił, że świetna jakość i cena.
  • #24
    sundayman
    Level 25  
    Quote:
    est jeszcze eurocircuits. Może mało lokalna firma, ale wysłane UPSem (~5euro) wieczorem zazwyczaj są u mnie następnego dnia. Standardowo płytka jest 7 dni po zamówieniu, a cena chyba taka jak w przeciętnej krajowej firmie z terminem 14dni roboczych. Jakość 5+.


    aż sprawdziłem...
    2 szt. PCB 100x100mm, dwustronna, maska, opis

    www.prototypy.com 169 zł brutto / 10 dni

    www.eurocircuits.com 68E / 302 zł brutto / 10 dni

    Gdzie ci wychodzi "jak w przeciętnej krajowej firmie" ?

    PCBway - co innego, ceny są dość atrakcyjne. Chociaż jak ktoś kupuje na fakturę, to już tak różowo nie jest, bo wychodzi chyba dość podobnie jak np. w Unidruku. Może trochę taniej. Natomiast może szybciej ?
    Ciekawe jak z jakością.

    Ktoś robił u nich jakieś PCB ?
  • #25
    Milek79
    Level 15  
    sundayman wrote:
    Quote:
    est jeszcze eurocircuits. Może mało lokalna firma, ale wysłane UPSem (~5euro) wieczorem zazwyczaj są u mnie następnego dnia. Standardowo płytka jest 7 dni po zamówieniu, a cena chyba taka jak w przeciętnej krajowej firmie z terminem 14dni roboczych. Jakość 5+.


    aż sprawdziłem...
    2 szt. PCB 100x100mm, dwustronna, maska, opis

    www.prototypy.com 169 zł brutto / 10 dni

    www.eurocircuits.com 68E / 302 zł brutto / 10 dni

    Gdzie ci wychodzi "jak w przeciętnej krajowej firmie" ?

    PCBway - co innego, ceny są dość atrakcyjne. Chociaż jak ktoś kupuje na fakturę, to już tak różowo nie jest, bo wychodzi chyba dość podobnie jak np. w Unidruku. Może trochę taniej. Natomiast może szybciej ?
    Ciekawe jak z jakością.

    Ktoś robił u nich jakieś PCB ?

    W pcbway zamawiałem płytki do stacji pogodowej. (link w podpisie)
  • #26
    bobeer
    Level 28  
    No właśnie niedawno na TINY13 zrobiłem coś podobnego, nawet z histerezą dla pojedynczego dotyku. Ewentualnie można odczytać też siłę nacisku jeśli potrzebna taka informacja :)
    Algorytm w wersji precyzyjnej i energooszczędnej 1mA 5uA.
    Wyjście to standardowy serial.

    A w Twoim układzie jest jakaś histereza, czy powolne naciskanie robi generator kilku impulsów ?
  • #28
    bobeer
    Level 28  
    avatar wrote:
    ...Z dotykowymi panelami zawsze może się pojawić problem z wykryciem fałszywego sygnału... No i esd ..


    Chętnie obejrzałbym prawidłowo zaprojektowany "układ czujnikowy" który wywoła jakiś fałszywy alarm (jakie warunki musiały by zostać spełnione?). W świetle elektroniki powszechnie bazującej na technologii dotykowej to informacje nie bez znaczenia.
    Standardowej mocy Esd nie wydaje się być problematyczne.
  • #29
    avatar
    Level 35  
    bobeer wrote:
    avatar wrote:
    ...Z dotykowymi panelami zawsze może się pojawić problem z wykryciem fałszywego sygnału... No i esd ..


    Chętnie obejrzałbym prawidłowo zaprojektowany "układ czujnikowy" który wywoła jakiś fałszywy alarm (jakie warunki musiały by zostać spełnione?). W świetle elektroniki powszechnie bazującej na technologii dotykowej to informacje nie bez znaczenia.
    Standardowej mocy Esd nie wydaje się być problematyczne.


    Proponuje zobaczyć jak wygląda dowolna maszynownia niewielkiego katamaranu 100ft. Prawidłowo zaprojektowany układ w odległości 30-40cm przy przewodach z 1-5kA pikami prądu zazwyczaj klęka :)
    Na biurku i w przyjaznym środowisku nie ma z tym problemu zapewne.