Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer ControlsComputer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

mrtip 09 Sty 2013 03:58 13197 13
  • Dotykowy sensor jest zbudowany w oparciu o najnowsze rozwiązanie techniczne zastosowane w nowej serii mikrokontrolerów ARM firmy STM.

    Do mojego projektu ściemniacza LED zastosowałem ARM Cortex-M0 STM32F051R6T6, który ma do 18 kanałów sensorycznych pojemnościowych, tryb liniowy, obrotowy i dotykowy.

    Zasada działania polega na załączaniu i wyłączaniu oświetlenia LED. Funkcja ściemniania i rozjaśniania pełni dodatkową rolę tworząc urządzenie bardziej atrakcyjne. Oczywiście czynnikiem wyboru przewyższającym inne rozwiązania była cena.

    Poważnym atutem jest duże wsparcie producenta, który opublikował np. kody źródłowe obsługi klawiszy pojemnościowych.

    Poniżej umieszczam firmware znajduje się tam skompilowane oprogramowanie z użyciem dwóch klawiatur. Ze względu na samowzbudność klawiatury liniowej projekt jej został zarzucony, nie jest rozwijany oraz nie nadaje się do rozwiązań poza laboratoryjnych.

    Firmware jest w postaci demonstracyjnej (niepełne). Nie posiada zaimplementowanego emulatora EEPROM (nie zapisuje poziomu jasności na stałe) oraz po losowo określonym czasie samoczynnie wyłącza się.

    Pełne wartościowe oprogramowanie jest stworzone do celów komercyjnych więc nie będzie opublikowane.

    Chciałbym by takie klawiatury mogły wreszcie zagościć u producentów sprzętu AGD oraz urządzeń interaktywnych. Są bardzo tanie i bezawaryjne. Chodząc ostatnio po Saturnie zauważyłem jeden radioodtwarzacz z bluetoothem i USB z podobną klawiaturą.

    Umieściłem na Youtubie filmik w HD 720p demonstrujący działanie takiej klawiatury

    Link

    Plik video jest dość spory więc nie było by sensu umieszczać go na forum.

    Do projektowania użyłem Eagle 6.1.0. W załącznikach dodałem płytki w rozdzielczości 1200 dpi przystosowane do wydruku laserowego pod "prasowanie" na płytce PCB dwustronnej. Płytki CPU mają goldpiny pod RS232 oraz SWD do zaprogramowania. Generalnie każdy ARM Cortex-MX ma bootloader, więc za pomocą zwarcia BOOT do GND po resecie bądź po włączeniu można układ zaprogramować poprzez RS232, ponieważ układ przechodzi w tryb programowania.

    Budowa modułowa, bloki powinny być zrozumiałe dla każdego, nie zawierają nic nadzwyczajnego.
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Płytka klawiatury. Płytka z trzech klawiszy, których wielkość jest dobrana tak by przy zakryciu ich obudową plastikową grubości 1,5 mm działały bezproblemowo. Oczywiście im większe pola tym większa czułość. Oczywiście wówczas wpływ zakłóceń i szumów staje się destabilizujący, czego efektem może być "dyskoteka".
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Płytka mikrokontrolera. Płytka umieszczona jest pod klawiaturą, którą łączy się poprzez goldpiny.
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Płytka klawiatury liniowej. Zalecam by nie przykładać wagi do tego typu klawiatury. Działa bardzo niestabilnie.
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Schemat części dolnej z mikrokontrolerem
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Schemat drivera LED z modułem
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Schemat klawiatury
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Zdjęcia płytki CPU:
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Zdjęcie klawiatury:
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    Zdjęcie drivera LED:
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)

    To wszystko.
    Dziękuję za uwagę i czekam na konstruktywną krytykę.
    MrTip

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    mrtip
    Poziom 13  
    Offline 
    Specjalizuje się w: Architekt oprogramowania embeded, programista delphi
    mrtip napisał 121 postów o ocenie 200, pomógł 1 razy. Mieszka w mieście Ruda Śląska. Jest z nami od 2005 roku.
  • Computer ControlsComputer Controls
  • #2
    OldSkull
    Poziom 27  
    Na pewno poprawnie wylałeś masę pod przyciskami? Z tego co ja wiem, wylewanie masy powoduje ograniczanie zasięgu przycisków - i zmniejszenie czułości. Dlatego też powinno się ją wylewać co najwyżej ramką dookoła przycisków, co zmniejsza przesłuchy i ogranicza zasięg do obrysu wylanej masy.
    Poza tym ładnie działa.
  • Computer ControlsComputer Controls
  • #3
    hardtmuth
    Poziom 20  
    Dziwnie ścieżki prowadzisz. Bardzo dziwnie..., no i ten znaczek CE na płytce, chyba trochę na wyrost? Niedostateczna filtracja PWRIN, sam elektrolit, który nadaje się raczej do kilku (kilkuset) kHz nie załatwia zakłóceń HF, lepiej zastosować dużo mniejszy np 10-47uF ceramiczny MLCC niż 1000uF elektrolit z ESR 1R...
  • #4
    piotrva
    Moderator na urlopie...
    Ja z kolei spotkałem się z umieszczaniem pod przyciskami masy jako siatki o oczkach o wymiarach 5x5mm.
    A jeżeli chodzi o samowzbudność to co masz na myśli? Ja mam podobnie wykonane pokrętło (w zestawie MSP430G2 Launchpad od TI) i nie ma żadnych problemów...
  • #6
    piotrva
    Moderator na urlopie...
    No właśnie, przecież pole masy samo z siebie stwarza pojemność większą niż ciało człowieka (palec). I to znacznie pogarsza parametry takiego układu (o czym już wcześniej mówiono).
  • #7
    mrtip
    Poziom 13  
    Zacznę może od głównego zamierzenia...
    Pojawił się nowy 32 bitowiec z funkcją pojemnościowych klawiszy, a to że jest wszędzie dostępny w cenie do 15 zł i na dodatek jest to ARM z STMu i ma pełne wsparcie producenta przeważyło nad wyborem innych rozwiązań.

    OldSkull:
    Masa pod przyciskami w warstwie bottom jest 1,54 mm od przycisków.
    Masę zrobiłem by ograniczyć wpływ płytki CPU na działanie klawiszy.
    Jak widać odstęp jest kilkumilimetrowy, między nimi.

    hardtmuth:
    Co do prowadzenia ścieżek, unikałem prowadzenia ich bezpośrednio pod klawiszami. Zaś ta ilość przelotek wynika z braku metalizacji otworów, szczególnie przy goldpinach sygnałowych. Prościej było polutować samą płytkę.
    Co do CE - fakt jest na wyrost - choć prowadzę ewidencję certyfikatów.
    Co do elektrolitu - lekki przerost ale bardziej zależało mi na jak najmniejszej cenie.
    Z resztą projekt nie wszedł do opcji produkt tylko prototyp.

    piotrva:
    Samowzbudnoość - pasożytniczy wpływ zakłóceń zewnętrznych - nie byłem w stanie wyeliminować różnicy między detekcją a kalibracją, zaś w kuchni zakłóceń jest bardzo dużo -piec, mikrofala, lodówka, mikser itd.

    drak:
    Cytat:
    PRINTED CIRCUIT DESIGN NOTES FOR CAPACITIVE SENSING WITH THE CS0 MODULE
    AN447 - korzystałem z podobnych instrukcji. Dodam, że w warunkach laboratoryjnych klawiatura liniowa działa w przewidywany sposób. Opracowań klawiatur liniowych jest bardzo dużo, lecz ich stosowanie w przemyśle i sprzęcie AGD należy do rzadkości. Na upartego nie ma żadnej siły, można siedzieć tygodniami i dopracowywać wpływ zakłóceń na sensory ale tylko w wypadku gdy się ma środki i czas na projekt. Proszę nie bierzcie mojego braku czasu na dopracowanie jako atutu braku profesjonalizmu ale dziś są takie czasy, że deadline pojawia się przed podpisaniem umowy.
  • #8
    OldSkull
    Poziom 27  
    Wydaje mi się, że ograniczasz w ten sposób zasięg czujników do dotyku. Rozwiązując w inny sposób ekranowanie wpływu głónej płytki mógłbyś uzyskać urządzenie, które może się znaleźć w plastikowej obudowie. Technologia pojemnościowa ma to do siebie, że można uzyskać naprawdę duże zasięgi, nawet w środowisku z zakłóceniami, ale ogromnym problemem są przesłuchy po sąsiadujących liniach sygnałowych.
    Swoją drogą: jeśli projekt robiłeś dla kogoś to nie masz czegoś takeigo jak deklaracja poufności i tajności pracy, a jej efekty należą do zleceniodawcy?
  • #9
    mrtip
    Poziom 13  
    OldSkull:

    Bez obaw co do Non-disclosure agreement-NDA - akurat mam w archiwum szereg projektów bez klauzul poufności. Sukcesywnie będę je umieszczał w DIY. Zauważyłem że dorastamy do open source tylko wtedy uczynimy ten świat lepszym. Mam nadzieję, że nie będzie wtedy produktów typu działa bo działa.

    Masz absolutną rację co do ograniczania czułości przycisków sygnałem GND, do tego powinien być sygnał Shield by wzmocnić i ukierunkować czułość. Akurat tutaj musiałem zastosować GND pod spodem, ponieważ stosując się do instrukcji eliminuję wpływ pasożytniczych pól stabilizując je barierą z GND. Przyznam się, że poślizgnąłem się na klawiaturze liniowej ale może ktoś z Was uczyni ją stabilniejszą. Wszelkie materiały są pod linkiem na początku tego tematu.
  • #10
    markovip
    Poziom 34  
    Rozumiem, że wstawił tutaj Kolega swój produkt, aby inni go ulepszyli?

    Zatem proszę, tutaj mała wskazówka:
    Sterowanie oświetleniem LED poprzez klawiaturę pojemnościową (ARM STM32)
    A jeżeli chodzi o klawiaturę liniową (:?:):
    http://www.power-led.es/Apartamento%20en%20Benidorm/index.html#DSC_4924.jpg

    Wracając do projektu. Te gaszenie światła za każdym razem gdy coś chcemy zmienić jest bardzo nieprofesjonalne. Siedząc sobie wieczorem w salonie, niechałbym dostać oczopląsu.

    A co do ARM... Mówi Kolega że patrzył na cenę, dlatego nie zastosował ceramicznego kondensatora w zasilaniu, a później stosuje ARM?
    Do sterowania dotykowego są lepsze, dedykowane układy.

    Pozdrawiam
  • #11
    Szuler17
    Poziom 22  
    A teraz mam pytanie, gdybyśmy "wcisnęli" dwa czy trzy przyciski w tym samym momencie? Jaki byłby efekt?

    Usunąłem część postu, która nie była związana z omawianym tematem.
    /Faces/
  • #12
    mrtip
    Poziom 13  
    markovip:

    Cytat:
    Rozumiem, że wstawił tutaj Kolega swój produkt, aby inni go ulepszyli?

    No oczywiście !!! Każdy sobie ulepszy jak mu pasuje......

    Cytat:
    Te gaszenie światła za każdym razem gdy coś chcemy zmienić jest bardzo nieprofesjonalne. Siedząc sobie wieczorem w salonie, niechałbym dostać oczopląsu.

    Panie kolego! A ile razy wieczorem zmienia Pan kolega jasność?

    Cytat:
    Mówi Kolega że patrzył na cenę, dlatego nie zastosował ceramicznego kondensatora w zasilaniu, a później stosuje ARM?

    Hm... Co ma cena do kondensatora ceramicznego w zasilaniu do ARMa?

    Cytat:
    Do sterowania dotykowego są lepsze, dedykowane układy.

    Panie kolego!!! Proszę się zapoznać z lekturą STM32F051R6T6 by odróżniać dedykowane układy od dedykowanych układów na zdjęciu!
    Proszę być konsekwentny i wymienić parę lepszych układów w oparciu o omawiany powyżej.

    B.t.w. Bardzo cenię AVRy bo na nich wyrosła moja wiedza o programowaniu mikrokontrolerów.

    W następnym poście proszę Pana kolegę markovip o konstruktywną krytykę. Nie potrzebuję przykładów na zasadzie a inni to zrobili lepiej tylko dzielę się wiedzą w tym co sam wypracowałem.

    Szuler17:
    B.t.w. U mnie na osiedlu jest Dom kultury, który nomen omen nazywa się "Jowisz". A Saturn to oczywiście inny Media-Markt.... Ok.
    Co do naciśnięcia paru klawiszy na raz to jak każdy wie odczytuje jednocześnie ich stan podając poziom dotyku od 140 do 1000.
    np: Key1 = 350, Key2 = 450, Key3 = 880
  • #13
    drak
    Poziom 19  
    Cytat:
    AN447 - korzystałem z podobnych instrukcji. Dodam, że w warunkach laboratoryjnych klawiatura liniowa działa w przewidywany sposób. Opracowań klawiatur liniowych jest bardzo dużo, lecz ich stosowanie w przemyśle i sprzęcie AGD należy do rzadkości. Na upartego nie ma żadnej siły, można siedzieć tygodniami i dopracowywać wpływ zakłóceń na sensory ale tylko w wypadku gdy się ma środki i czas na projekt. Proszę nie bierzcie mojego braku czasu na dopracowanie jako atutu braku profesjonalizmu ale dziś są takie czasy, że deadline pojawia się przed podpisaniem umowy.


    Skoro czytałeś takie instrukcje to dlaczego płytka jest zaprojektowana niezgodnie z takimi opracowaniami? Tutaj nie chodzi o wynajdowanie nowego rozwiązania tylko o zastosowanie się do tego co zostało zrobione przez inżynierów produktu producentów scalaków, którzy mieli czas i dopracowali płytkę a następnie ładnie opisali jak to zrobić. Rzeczywiście trzeba poświęcić te parę godzin więcej, żeby zrozumieć i narysować prawidłową płytkę.

    Ściemniacze z linijką są od dawna na rynku:
    - gira esprit dotykowy ściemniacz
    - cała masa chińskich rozwiązań
    - http://www.ledmasters.pl/pdf/Kontrolery/LMTM-04_spec_eng.pdf

    Z AGD np.
    - mastercook idi64 S

    Nawet stary gramofon daniel ma dotykowe przyciski i jest to zrobione na samych tranzystorach.

    Dlaczego nie jest to powszechne w sprzęcie przemysłowym - trzeba mieć gołą rękę lub magnes na rękawiczce. A przemysłowe panele dotykowe jak najbardziej są tyle, że rezystancyjne z wyświetlaczem lcd.
  • #14
    mrtip
    Poziom 13  
    Dodam, tak z innej beczki ale odnoszące się do tematu filmiku na YT.
    Dostałem już kilka próśb o przesłanie podkładu muzycznego, więc umieszczam link do utworu.

    Utwór - New Posibilities

    Musze dodać, że utwór skomponowałem na programie Renoise 2.5.
    Podkład miał być prosty i wpadający w ucho. W każdym razie dziękuję za uznanie.
    Proszę o wyrozumiałość, naprawdę nie nosiłem się z zamiarem upowszechniania czegoś nie związanego z elektroniką ani z promowaniem innych zdolności.
    :)