Clap2

Clap2
Pobierz PDF Download icon

Prezentowane urządzenie jest fajnym gadżetem, o którym słyszał chyba każdy, ale zawiera bardzo ciekawe rozwiązanie układowe. Chociaż nie jest szczególnie ambitnym przedsięwzięciem, które musi być przysłowiowym „must have”, to nie powstydzi się go żaden z elektroników, niezależnie od poziomu zaawansowania.

Podstawowe parametry:
  • zmiana stanu wyjścia następuje po podwójnym klaśnięciu,
  • napięcie zasilania: 9 V,
  • prąd obciążenia (przekaźnik wyłączony/załączony): 10/60 mA,
  • maksymalne napięcie styków przekaźnika: 240V AC,
  • maksymalny prąd styków przekaźnika: 10 A.

Zaprezentowany układ umożliwia sterowanie pracą urządzeń elektrycznych za pomocą dźwięku, a dokładnie za pomocą klaśnięć w dłonie. Było już wiele takich urządzeń ale to zostało zaimplementowane w zupełnie nowy, a zarazem prosty, sposób, dzięki dobrodziejstwom techniki mikroprocesorowej.

Budowa i działanie

Schemat urządzenia nazwanego Clap2 został pokazany na rysunku 1. Jest to bardzo prosty system mikroprocesorowy, którego pracą steruje miniaturowy mikrokontroler ATtiny13 firmy Microchip (dawniej Atmel). Taktowany jest wewnętrznym, wysokostabilnym generatorem RC o częstotliwości 128 kHz.

Rysunek 1. Schemat ideowy urządzenia Clap2

W obwodzie wejściowym sygnału audio zaprojektowano prosty wzmacniacz z użyciem tranzystora T1 oraz kilku elementów biernych, do którego jest dołączony mikrofon elektretowy. Wzmocniony sygnał audio trafia do wejścia nieodwracającego komparatora analogowego wbudowanego w strukturę mikrokontrolera, dla którego drugim poziomem odniesienia jest napięcie doprowadzane do wejścia odwracającego pozyskane z prostego dzielnika napięcia z użyciem potencjometru POT. W ten prosty sposób sygnał audio, którego poziom przekracza próg ustawiony za pomocą dzielnika POT, powoduje zmianę stanu wyjścia (ustawienie) wbudowanego komparatora analogowego.

Zadziałanie komparatora generuje przerwanie systemowe, a w podprogramie obsługi sprawdzany jest stan licznika układu czasowo-licznikowego Timer0. Licznik jest taktowany przebiegiem zegarowym o częstotliwości 125 Hz pozyskanym z podzielenia częstotliwości taktującej mikrokontroler przez podzielnik równy 1024. Dzięki takiemu rozwiązaniu każde zdarzenie – klaśnięcie, powoduje przechwycenie stanu licznika układu czasowo-licznikowego Timer0. To pozwala określić odstęp pomiędzy kolejnymi tego typu zdarzeniami, i w efekcie selektywne sterowanie przekaźnikiem wyjściowym REL (wyjście PB3 mikrokontrolera).

Rysunek 2. Schemat blokowy systemu akwizycji zdarzeń urządzenia Clap2

Schemat blokowy kompletnego systemu akwizycji zdarzeń urządzenia Clap2 został pokazany na rysunku 2. Zaimplementowany system akwizycji zdarzeń korzysta w pełni z zasobów sprzętowych mikrokontrolera za wyjątkiem dwóch, bardzo krótkich funkcji obsługi przerwań systemowych: funkcji obsługi przerwania komparatora analogowego (ANA_COMP_vect) oraz funkcji obsługi przerwania od przepełnienia licznika Timer0 (TIM0_OVF_vect). Pierwsza z funkcji odpowiada za pomiar czasu pomiędzy kolejnymi klaśnięciami odebranymi przez układ wejściowy mikrofonu elektretowego, zaś druga z nich jest niezbędna dla mechanizmu detekcji podwójnego klaśnięcia.

Mechanizm jest prosty – pierwsze podwójne klaśnięcie w dłonie włącza przekaźnik, drugie podwójne klaśnięcie powodujące wyłączenie, ale powinno nastąpić nie wcześniej, niż po 2 sekundach od pierwszej serii.

 

Program sterujący

Kod odpowiedzialny za inicjalizację układu czasowo-licznikowego Timer0 został pokazany na listingu 1.

Listing 1. Kod odpowiedzialny za inicjalizację układu czasowo-licznikowego Timer0 oraz komparatora analogowego

//Konfiguracja Timera0: tryb Normal,
//preskaler = 1024 (f=125Hz)
TCCR0B = (1<<CS02)|(1<<CS00);
//Włączenie przerwania od przepełnienia Timera0
TIMSK0 = (1<<TOIE0);
//Konfiguracja komparatora analogowego:
//włączenie przerwania od zbocza rosnącego
//na wyjściu komparatora
ACSR = (1<<ACIE)|(1<<ACIS1)|(1<<ACIS0);
//Wyłączenie cyfrowych buforów wejściowych
//na analogowych wejściach komparatora
DIDR0 = (1<<AIN1D)|(1<<AIN0D);

Dalej, na listingu 2 pokazano kod obu funkcji obsługi przerwań systemowych: komparatora analogowego i układu czasowo-licznikowego Timer0, odpowiedzialnych za mechanizm detekcji podwójnego klaśnięcia i sterowanie przekaźnikiem wyjściowym.

Listing 2. Kod obu funkcji obsługi przerwań systemowych: komparatora analogowego i układu czasowo-licznikowego Timer0

//Definicje stałych mechanizmu dekodowania klaśnięć
#define FIRST_RISING_EDGE 0
#define SECOND_RISING_EDGE 1

//Przerwanie wyzwalane zboczem rosnącym
//na wyjściu komparatora analogowego,
//czyli de facto wyzwalane w momencie,
//gdy napięcie na wejściu nieodwracającym komparatora
//będzie większe niż na wejściu odwracającym komparatora

ISR(ANA_COMP_vect) {
if(Status == FIRST_RISING_EDGE) {
TCNT0 = 0;
Status = SECOND_RISING_EDGE;
} else {
//Sprawdzamy czy od pierwszego do drugiego klaśnięcia
//upłynął czas 200-700ms i przełączamy wyjście OUT
if(TCNT0 > 25 && TCNT0 < 87) OUT_TOGGLE;
Status = FIRST_RISING_EDGE;
}
CLAP_ON;
}

//Przerwanie wyzwalane przepełnieniem Timera0
//po czasie ok.2s, jeśli nie odebrano kolejnego "klaśnięcia"
ISR(TIM0_OVF_vect) {
Status = FIRST_RISING_EDGE;
}

Tyle w kwestiach programowych. Urządzenie jest niezmiernie proste, w związku z tym kod aplikacji nie jest zbyt obszerny. Prostotę tą uzyskano w dużej mierze dzięki użyciu zasobów sprzętowych mikrokontrolera, przez co skompilowany kod aplikacji zajmuje niecałe 200 bajtów.

 

Montaż i uruchomienie

Schemat płytki PCB wraz z rozmieszczeniem elementów został pokazany na rysunku 3.

Rysunek 3. Schemat montażowy urządzenia Clap2

Zaprojektowano niewielką, dwustronną płytkę drukowaną z zastosowaniem wyłącznie elementów przewlekanych montowanych po stronie TOP. Montaż urządzenia rozpoczynamy od przylutowania wszystkich rezystorów i diody D1. Następnie lutujemy kondensatory, później wszystkie elementy półprzewodnikowe (w tym diody LED CLAP i OUT), a na samym końcu mikrofon elektretowy MIC (zachowując odpowiednią polaryzację elementu), potencjometr montażowy POT, przekaźnik sterujący K1 oraz złącze przyłączeniowe AC.

Warto pocynować ścieżki obwodu drukowanego, które będą przewodziły większe prądy (celowo nie zostały pokryte soldermaską). Chodzi o ścieżki pomiędzy stykami wykonawczymi przekaźnika K1, a gniazdem przyłączeniowym AC.

Poprawnie zmontowany układ wymaga regulacji progu zadziałania detektora dźwięku (klaśnięć) czego dokonujemy kręcąc ośką potencjometru POT (zaznaczono wartości MAX i MIN).

Ustawienia Fuse-bitów:
SUT1: 1
SUT0: 0
CKSEL1: 1
CKSEL0: 1
CKDIV8: 1

Dioda LED oznaczona CLAP powinna zaświecać się na chwilę (200 ms) przy każdym klaśnięciu w dłonie mającym zmienić stan przekaźnika K1. Należy tak ustawić czułość układu by dioda ta nie zaświecała się przy najgłośniejszych dźwiękach otoczenia, zaś reagowała na dźwięki klaśnięć w dłonie. Z kolei dioda świecąca OUT zaświeca się w przypadku załączenia przekaźnika wyjściowego K1.

Na płytce urządzenia (po stronie TOP) przewidziano specjalne pola lutownicze (MOSI, MISO, SCK, RES, VCC, GND), dzięki którym możliwe jest podłączenie zamontowanego mikrokontrolera do programatora w celu zaprogramowania pamięci Flash.

Robert Wołgajew, EP

 

Wykaz elementów:
Rezystory: (miniaturowe 1/4 W)
  • R1: 150 Ω
  • R2: 10 kΩ
  • R3: 5,6 kΩ
  • R4: 100 kΩ
  • R5: 820 Ω
  • R6: 1 kΩ
Kondensatory:
  • C1, C4: 1 μF ceramiczny MLCC
  • C2: 100 nF ceramiczny
  • C3: 10 μF/16 V (∅ 5 mm) elektrolityczny
Półprzewodniki:
  • U1: ATtiny13 (DIP-08)
  • U2: 78L05 (TO-92)
  • T1, T2: BC546B (TO-92)
  • D1: 1N4148 (DO-35)
  • CLAP: dioda LED 3 mm zielona
  • OUT: dioda LED 3 mm czerwona
Inne:
  • K1: przekaźnik G5LE-14-9
  • MIC: mikrofon LD-MC-6035P
  • POT: potencjometr montażowy leżący 10 kΩ
  • AC: złącze śrubowe AK500/2
Artykuł ukazał się w
Elektronika Praktyczna
luty 2021
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów