ADVERTISEMENT

DTMF1.rar

Sterownik urządzeń oparty o DTMF

http://obrazki.elektroda.net/61_1268161068_thumb.jpg Witam, Chciałbym zaprezentować swoją kolejną konstrukcję, pracę wykonaną na konkurs "młody innowator", sterownik DTMF. Załóżmy pewną sytuację. Wyjeżdżamy na wakacje, podczas rejsu transatlantykiem dochodzimy do wniosku, że zapomnieliśmy wyłączyć żelazka. W domu nie ma nikogo, więc jedynym wyjściem z sytuacji jest poinformowanie o zdarzeniu sąsiadów. Dobrze, a co jeśli nie ma sąsiadów? Powrót? Wezwanie straży pożarnej? Nie, nic z tych rzeczy, wystarczy zadzwonić na numer telefonu, który jest podłączony do sterownika, poczekać aż się połączy, nacisnąć zero na klawiaturze i mieć w końcu spokojną głowę. Wydawać by się mogło ze to utopijna wizja, lecz urządzenie mojego autorstwa ma takie możliwości. Zasada działania urządzenia opiera się na odbieraniu i dekodowaniu sygnału DTMF (Ang. Dial Tone Multi Frequency) przez układ scalony MT8870, dalej sygnał już w postaci binarnej trafia na wejścia mikrokontrolera Atmega8-16PU. Mikrokontroler „interpretuje” stany logiczne na swoich wejściach i w zależności od tonu jaki został podany na dekoder, mikrokontroler zmienia stan wyjścia odpowiadającego danemu tonowi (jest ich w sumie 16, lecz ja w swoim urządzeniu wykorzystuję tylko 7). Z wyjść mikrokontrolera sygnał trafia do optotriaków MOC3021, które z kolei sterują triakami BT137/600. Umożliwia to zdalne sterowanie sześcioma urządzeniami niezależnie. Dlaczego akurat triaki? Odpowiedź na to pytanie jest bardzo prosta: jak wiadomo styki przekaźników przy dużym obciążeniu mogą iskrzyć, powoduje to realne zagrożenie pożarem w obszarach gdzie są używane środki łatwopalne. Ponadto cewka przekaźnika pobiera dużo większy prąd niż bramka triaka, co powoduje niepotrzebne straty energii. Na rynku jest bardzo dużo różnych zdalnych wyłączników, lecz zasada ich działania opiera się zwykle na transmisji radiowej, bądź światła podczerwonego (IR). Zasięg tych urządzeń jest bardzo ograniczony i zmienia się w zależności od miejsca użytkowania. W moim projekcie zasięg urządzenia jest niemal globalny, wystarczy że telefon (stacjonarny, bądź komórkowy) znajdzie się w zasięgu sieci. Ponadto budżet mojego projektu to nie jakieś bajońskie sumy, a jak wiadomo coraz częściej trudno uzyskać dobry stosunek ceny do jakości. Na wykonanie prototypu poświęciłem dwa tygodnie. Projektując układ elektroniczny, starałem się uzyskać jak najlepsze parametry oraz zejść z kosztami jak najniżej. Mogę powiedzieć, że udało mi się tego dokonać. Zastosowane materiały są możliwie najlepszej jakości, począwszy od rezystorów a na mikrokontrolerach kończąc. Przy produkcji seryjnej należy zastosować obudowę hermetyczną, aby zapobiec dostawaniu się do wnętrza pyłów oraz wilgoci. Należy także zastosować dobrej jakości i co najważniejsze oryginalne elementy elektroniczne, pozwoli to na długą i bezawaryjną pracę. Urządzenie można z powodzeniem zastosować w różnych dziedzinach życia, m.in. w rolnictwie, ogrodnictwie szklarniowym (do zdalnego włączania pomp nawadniających), ale także w gospodarstwie domowym (np. wyłączanie zdalne niepotrzebnego oświetlenia, czyli oszczędność energii), więc wpływ urządzenia na środowisko jest dobry. Użytkowanie sterownika nie niesie ze sobą groźby utraty zdrowia bądź życia. Urządzenie jest na tyle bezpieczne, że jeśli użytkownik zastosuje się do zaleceń omówionych w instrukcji obsługi, nic się mu nie stanie. Nie zauważyłem także wpływu urządzenia na morale użytkownika. Główną wadą urządzenia jest to, że wymaga ono połączenia z telefonem, rozwiązaniem mógłby się okazać moduł GSM ale jest on na dzień dzisiejszy bardzo drogi. Zaletami na pewno są: - Zasięg - Funkcjonalność - Prostota obsługi - Stosunkowo małe gabaryty - Możliwość zastosowania w pomieszczeniu z materiałami łatwopalnymi - Bezpieczeństwo użytkowania - Niezawodność Instrukcja Obsługi sterownika Sterownik służy do zdalnego sterowania sześcioma gniazdami sieciowymi, aby rozpocząć użytkowanie należy: 1. Sprawdzić wizualnie stan techniczny urządzenia. 2. Podłączyć wtyk sieciowy IEC, oraz wtyk listwy do gniazd znajdujących się na tylnym panelu urządzenia. 3. Do gniazd znajdujących się na listwie, które są opisane (numery wyjść) podłączyć urządzenia elektryczne którymi będzie można sterować. UWAGA! Maksymalne obciążenie dla wszystkich gniazd w wersji prototypowej sterownika wynosi 500W. Granicy tej nie należy przekraczać, gdyż może dojść do uszkodzenia urządzenia. 4. Podłączyć wyjście słuchawkowe telefonu do gniazda DTMF IN znajdującego się na przednim panelu. 3a. W telefonie należy ustawić odbieranie automatyczne. 5. Po upewnieniu się że wszystko jest właściwie podłączone, należy włączyć urządzenie przy pomocy przełącznika POWER. 6. Sterownik po włączeniu wyda komunikat dźwiękowy w postaci dłuższego „piknięcia”, należy to traktować jako informację o prawidłowym działaniu. Od tej chwili sterownik jest gotowy do użytkowania. Zmiany stanu na wyjściach można dokonać na dwa sposoby: 1. Poprzez przyciski znajdujące się pod kontrolkami informującymi o obecnym stanie wyjść. 2. Poprzez połączenie telefoniczne z numerem telefonu który jest podłączony do sterownika i wciśnięcie na klawiaturze telefonu osoby dzwoniącej cyfry (od 1 do 6) odpowiadającej wyjściu które zostanie włączone bądź wyłączone. Urządzenie informuje o zmianie stanu któregoś wyjścia poprzez krótkie „piknięcie”. UWAGA! Po naciśnięciu 0 (zera) na klawiaturze telefonu, urządzenie odłączy wszystkie wyjścia, Pojawi się także sygnał dźwiękowy w postaci trzykrotnego „piknięcia” . Prototyp należy użytkować w miejscach gdzie nie ma niebezpieczeństwa zalania urządzenia wodą bądź innym płynem. W urządzeniu występuje pełne napięcie sieci, dlatego BEZWZGLĘDNIE ZABRANIA SIĘ prowadzenia napraw bądź czynności konserwacyjnych przez osoby nieuprawnione. Program mikrokontrolera został napisany w jezyku Bascom. Do sterownika podłącza się listwę z sześcioma gniazdami instalacyjnymi, zdjęcia niestety nie zdążyłem zrobić a praca już pojechała na konkurs. Poniżej zamieszczam zdjęcia z budowy oraz filmik. http://obrazki.elektroda.net/19_1268163224_thumb.jpg http://obrazki.elektroda.net/94_1268163224_thumb.jpg http://obrazki.elektroda.net/86_1268163224_thumb.jpg http://obrazki.elektroda.net/29_1268163224_thumb.jpg http://obrazki.elektroda.net/39_1268163224_thumb.jpg http://obrazki.elektroda.net/27_1268163303_thumb.jpg http://obrazki.elektroda.net/52_1268163303_thumb.jpg http://obrazki.elektroda.net/92_1268163303_thumb.jpg http://obrazki.elektroda.net/96_1268163303_thumb.jpg http://obrazki.elektroda.net/96_1268163303_thumb.jpg http://obrazki.elektroda.net/78_1268163365_thumb.jpg http://obrazki.elektroda.net/33_1268163365_thumb.jpg http://obrazki.elektroda.net/86_1268163365_thumb.jpg http://obrazki.elektroda.net/77_1268161067_thumb.jpg http://obrazki.elektroda.net/88_1268161067_thumb.jpg http://obrazki.elektroda.net/14_1268161068_thumb.jpg https://www.youtube.com/watch?v=E9pLVGM8RKc W załączniku projekty PCB oraz wsad do mikrokontrolera. Pozwoliłem sobie wnieść pewną prowizję gdyż poświeciłem na wykonanie tych materiałów sporo czasu.


Download file - link to post
  • DTMF1.rar
    • Sterownik-PCB v2.0.pdf
    • Staerownik-Schemat EAGLE.sch
    • Sterownik- schemat.pdf
    • Sterownik v2.0 rozmieszczenie elementów.pdf
    • Sterownik-PCB EAGLE.brd


DTMF1.rar > Dekoder-rozmieszczenie elementów..pdf

PAD3
PAD4

470uF
PAD2
PAD1

100n
IC1

100k
R1
100k
3.579545
R2

300k
R3

C2

CM8870CP

C1

7805TV
IC3

C3
100n

1000uF
C4

Q2
.

AVR_ISP

IC2

10

1

MEGA8-P

WYJSCIE

1

2010-02-03 22:32:52 D:\DTMF\eagle\Sterowanie_DMTF\pepi.brd

36

OUT


DTMF1.rar > Dekoder-PCB EAGLE.pdf

PAD3
PAD4

470uF
PAD2
PAD1

100n
IC1

100k
R1
100k
3.579545
R2

300k
R3

C2

CM8870CP

C1

7805TV
IC3

C3
100n

1000uF
C4

Q2
.

AVR_ISP

IC2

10

1

MEGA8-P

WYJSCIE

1

36

OUT

2010-02-26 16:08:00 D:\DTMF\Blok Dekodera\Dekoder-PCB EAGLE.brd


DTMF1.rar > Program.txt

$regfile = " 2313def.dat "
$crystal = 8000000 'okreœlenie uC
'$noramclear

Config Portb.3 = Input
Config Portb.2 = Input
Config Portb.1 = Input
Config Portb.0 = Input
Config Portd.6 = Input
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output


Motor_lp Alias Portd.2 'Okreœlenie portów steruj¹cych silnikami przez mostek
Motor_lt Alias Portd.3
Motor_pp Alias Portd.4
Motor_pt Alias Portd.5
'Okreœlenie portów wejœciowych (dekoder)
Sygnal Alias Pinb.3
A Alias Pinb.2
B Alias Pinb.1
C Alias Pinb.0
D Alias Pind.6

'Polecenia wydawane na podstawie stanów wejœciowych:
Do




If Sygnal = 1 And A = 0 And B = 0 And C = 1 And D = 0 Then
Gosub Prosto

Elseif Sygnal = 1 And A = 0 And B = 1 And C = 1 And D = 0 Then 'Skrêæ w lewo
Gosub Prawo


Elseif Sygnal = 1 And A = 0 And B = 1 And C = 0 And D = 0 Then 'Skrêæ w lewo
Gosub Lewo



Elseif Sygnal = 1 And A = 1 And B = 0 And C = 0 And D = 0 Then 'Skrêæ w prawo
Gosub Tyl



Elseif Sygnal = 0 Then
Gosub Stopp








End If
Loop


Prosto: 'Tryby pracy silników dla poszczególnych ruchów

Motor_lt = 0
Motor_pt = 1
Motor_pp = 0
Motor_lp = 1
Return
Lewo:
Motor_lt = 1
Motor_pt = 1
Motor_pp = 0
Motor_lp = 0
Return
Prawo:
Motor_lt = 0
Motor_pt = 0
Motor_pp = 1
Motor_lp = 1
Return


Stopp:
Motor_lt = 0
Motor_pt = 0
Motor_pp = 0
Motor_lp = 0
Return

Tyl:

Motor_lt = 1
Motor_pt = 0
Motor_pp = 1
Motor_lp = 0


DTMF1.rar > Dekoder-schemat.pdf

IC3
7805TV
C3
470uF

VI

3

VO
GND

+

1
+

+
PAD4

C4
1000uF

2

PAD3

GND
GND

PAD2

GND
PAD1

C2
100n
MEGA8-P

R1

R2

18

VDD

1

R3

IC1

100n

100k

300k

GND
C1
100k
Q2
3.579545

IN_DMTF

VCC

22
21
20

PC6(/RESET)
AGND
AREF
AVCC

PC0(ADC0)
PC1(ADC1)
PC2(ADC2)
PC3(ADC3)
PC4(ADC4/SDA)
PC5(ADC5/SCL)

7
8

ST/GT
OSC1 EST
OSC2 STD

17
16
15

1

IN+

TOE

10

9

PB6(XTAL1/TOSC1)

Q1
Q2
Q3
Q4

11
12
13
14

10

PB7(XTAL2/TOSC2)

INH

5

23
24
25
26
27
28

2

IN-

3

GS

4

VREF

9
6

VSS
VSS

.
1
3
5
7
9

CM8870CP

GND

GND

7
GND

VCC

2
4
6
8
10

AVR_ISP
GND

2
3
4
5
6
11
12
13

PB0(ICP)
PB1(OC1A)
PB2(SS/OC1B)
PB3(MOSI/OC2)
PB4(MISO)
PB5(SCK)

8

PD0(RXD)
PD1(TXD)
PD2(INT0)
PD3(INT1)
PD4(XCK/T0)
PD5(T1)
PD6(AIN0)
PD7(AIN1)

14
15
16
17
18
19

WYJSCIE
36
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2

35
33
31
29
27
25
23
21
19
17
15
13
11
9
7
5
3
1

OUT
GND

IC2

2009-12-27 14:42:35 C:\Documents and Settings\Pepi\Moje dokumenty\eagle\Sterowanie_DMTF\Schemat.sch (Sheet: 1/1)


DTMF1.rar > Dekoder-PCB v2.0.pdf

2010-02-02 18:41:38 D:\DTMF\eagle\Sterowanie_DMTF\pepi.brd


DTMF1.rar > Sterownik-PCB v2.0.pdf

2010-02-03 20:23:47 D:\DTMF\sterowanie mocą.brd


DTMF1.rar > Sterownik- schemat.pdf

R4
470

R5
470

R6
470

MOC3010M
OK3
1

6

2

4

MOC3010M
OK4
1

6

2

4

MOC3010M
OK5
1

6

2

4

MOC3010M
OK6
1

6

2

4

39
C2R20
0,01

wy2
X2-2

39
C3R21
0,01

wy3
X3-2

39
C4R22
0,01

wy4
X4-2

X1-1

X2-1

330

R13
360

R9

330

4

R14

2

T2
BT138-V

T3
BT138-V

X3-1

360

R10

330

6

R8

R15

470

1

X7-1

in230V
X7-2
z_dekodera

R3

MOC3010M
OK2

wy1
X1-2

360

T4
BT138-V

X4-1

360

R11

330

7
6
5
4
3
2
1

4

R16

SV1

2

R7

T5
BT138-V

39
C5R23
0,01

wy5
X5-2
X5-1

360

R12

330

470

6

R17

R2

1

T6
BT138-V

360

MOC3010M

2010-02-03 22:21:17 D:\DTMF\Blok sterowania mocą\sterowanie mocą.sch (Sheet: 1/1)

330

470

T1
BT138-V

R18

R1

OK1

39
C1R19
0,01

39
C6R24
0,01

wy6
X6-2
X6-1


DTMF1.rar > Sterownik v2.0 rozmieszczenie elementów.pdf

T2
BT138-V

X7
2

T4
BT138-V

R18
330

R12
360

R11
360

R10
360

R9
360

R8
360

OK5

7
z_dekodera

OK6

R5
470

R6
470

OK4

R4
470

OK3

OK2

R2
470

OK1

R1
470

2010-02-03 21:38:00 D:\DTMF\sterowanie mocą.brd

1

2

in230V

T1
BT138-V

MOC3010M
MOC3010M
MOC3010M
MOC3010M
MOC3010M
MOC3010M

SV1

1

wy6

C5

0,01
R22
39

C4

T3
BT138-V

1

wy5

R15
330

R14
330

C3

0,01
R21
39

wy4

X6
2

0,01
R24
39

1

360
R7

T6
BT138-V

X5
2

C6

1

0,01
R23
39

2

wy3

C2
R13
330

C1

T5
BT138-V

X4

1

wy2
0,01
R19
39

wy1

2

R17
330

X3

1

R16
330

X2
2

0,01
R20
39

1

R3
470

X1