Elektronik Hobbysta

Główna O nas Kontakt Projekty Timer NE555 ST6 Realizer Historia Linki

   

PROJEKTY ZAGRANICZNE

ALARM TELFONICZNY

 

Krzysztof Górski

 

Jak zwykle potrzeba jest matką wynalazków i tak było w tym przypadku.

Prezentowany układ kontroli stanu linii telefonicznych powstał w celu alarmowania o pirackich podłączeniach do linii. Kolega, który musiał pokryć dość wysokie koszty pirackich połączeń poprosił o skonstruowanie układu nadzorującego linię telefoniczną. Alarm reaguje na całkowity zanik i na obniżenie się napięcia w linii telefonicznej. Układ ma opcjonalnie możliwość nadzorowania jednej lub dwóch linii telefonicznych. Nadaje się do współpracy z nowymi centralami elektronicznymi jak i starymi mechanicznymi. Przy konstruowaniu układu użyłem procesora produkcji SGS Thomson z rodziny ST62 typu ST62T10 lub ST62T20. Które wręcz w sposób idealny nadają się do zastosowania w tego typu układzie. Program dla procesora stworzyłem przy pomocy programu ST6-REALIZER .

Alarm powinien spełniać pewne normy tak aby nie zakłócać pracy centrali telefonicznej. Podstawowym warunkiem który nas interesuje i jaki powinien spełniać nasz układ według Polskiej Normy PN-92 T-83000 to jest pobór prądu z linii przy odłożonej słuchawce. Powinniśmy zwrócić uwagę ze względu na to że układ alarmu będzie cały czas podłączony do linii telefonicznej i nie powinien przekraczać norm. Przy odłożonym mikrotelefonie pobór prądu z linii nie powinien przekraczać wartości 0,4mA.

Budowa układu: Układ wykonano na płytce drukowanej dwustronnej zawarto na niej wszystkie elementy układu. Niewielkie wymiary płytki oraz niewielka ilość elementów pozwala na wykonanie układu przez początkujących elektroników: Zasadniczo alarm zbudowany jest z następujących bloków rys1:

 

Układ zasilany jest napięciem 12 V rys.2, maksymalny pobór prądu ze źródła zasilania wynosi 40mA w głównej mierze zależy to od użytego przekaźnika.

 

Opis układu:

Schemat elektryczny alarmu przedstawiono na rys 3. Obwody pomiarowe są automatycznie przełączane z linii 1 do linii 2 i na odwrót co dwie sekundy, do tego celu wykorzystałem przekażnik12 stykowy typu MTd 12. Można użyć oczywiście innego typu przekaźnika o 12 stykach. Pracą przekaźnika steruje procesor poprzez tranzystor T1 typu BD135, podłączony jest on do wyjścia PB2 skonfigurowanego jako wyjście ( push – pull ). W skład obwodów pomiarowych wchodzą rezystory od R7 – R10 oraz mostki prostownicze M1 i M2. Wyjście dodatnie z mostków podłączone jest do potencjometrów R6 i R5 ustalających próg zadziałania a następnie do wejść PB0 i PB1 skonfigurowanych jako wejście przetwornika analogowo cyfrowego.

Diody sygnalizacyjne LED D1 - D4 informujące o stanie pracy układu są bezpośrednio podłączone do wyjść PA0 – PA4 skonfigurowanych jako wyjścia ( push – pull ). Generator sygnalizacyjny wykonany został przy użyciu popularnej kostki NE555 pracującej jako generator astabilny. Układ 555 US2 generuje ciąg impulsów prostokątnych w momencie pojawienia się stanu wysokiego na wejściu reset 4. Pracą generatora steruje procesor poprzez wyjście PB6 (push-pull). Częstotliwość pracy generatora astabilnego wyliczymy ze wzoru f{Hz}= 1,49 / (R1 + R2 [W ] ) x C [F] .

Przycisk wyłączenia alarmu jest podłączony do wejścia PB3 skonfigurowanego jako wejście bez rezystora podciągającego “no pull - up”. Służy on do wyłączenia alarmu, nie jest to jednak możliwe w przypadku gdy brak jest sygnału na obydwu liniach telefonicznych. Alarm się wyłączy przyciskiem dopiero po powrocie odpowiednich napięć w liniach telefonicznych.

Zwory ZW1 i ZW2 pozwalają wybrać jedną z trzech opcji pracy układu nadzór tylko nad linią 1 ,nadzór tylko nad linią 2, nadzór nad linią 1 i linią 2. Zwory podłączone są do wejść PB4 i PB5 skonfigurowanych jako wejścia bez rezystorów podciągających.

Częstotliwość pracy oscylatora mikrokontrolera zależy od użytego rezonatora kwarcowego w układzie zastosowałem kwarc o częstotliwości 4 Mhz.

Zasada działania: Zasadę działania układu przedstawię na podstawie schematu działania procesora rys. 4 projektu zrealizowanego za pomocą programu ST6-REALIZER. Układ działa w sposób następujący, po włączeniu zasilania mikrokontroler się automatycznie resetuje. Odpowiedzialny jest za to układ złożony z rezystora R1 4,3 kW i C1 1m F podłączony do wejścia RESET procesora. W chwili włączenia kondensator się zaczyna ładować na wejściu RESET pojawia się stan niski do czasu naładowania się kondensatora C1. Po zresetowaniu procesor przechodzi w stan czuwania , na wejście przetwornika A/C LIN_1 i LIN_2 podawane jest napięcie z obwodów pomiarowych Linii 1 i Linii 2 ( rezystory R5 – R10 oraz mostki prostownicze M1 i M2 ). 

Po przekształceniu na wartość cyfrową ( binarne słowo ośmio bitowe ) podawane jest na wejście B komparatora. Następuje porównanie wielkości przetworzonej przez przetwornik A/C z wielkościami stałymi określającymi dolny i górny próg porównawczy. Wejście A określa górny próg a wejście C dolny próg. Wartość stałej podłączonej do wejścia A wynosi 255 a na wejściu B zależy od najniższego napięcia które będzie definiowane jeszcze jako brak alarmu w układzie modelowym wartość ta wynosi 80. Komparator posiada trzy wyjścia w układzie wykorzystałem tylko jedno gdzie wartość B jest mniejsza od C ( B<C). Wyjście to jest podłączone do wejścia 0 multipleksera ( z jednym wejściem sterującym “mux1” ), na drugie wejście 1 podana jest stała wartość cyfrowa w tym przypadku logiczne 0. Wejście sterujące multipleksera mux1 0/1 podłączone jest z wejściem cyfrowym “WYL1” wejście procesora PB4 a dla drugiej linii z wejściem cyfrowym “WYL2” wejście procesora PB5. Zadaniem multipleksera jest uniemożliwienie wywołania alarmu w przypadku zablokowania LIN_1 lub LIN_2 ( wybrania opcji praca alarmu na jedną linię), linię blokujemy poprzez podanie stanu wysokiego na wejście procesora PB4 “WYL1” lub PB5 “WYL2.

Obwody pomiarowe są podłączane kolejno do Linii 1 i 2 powoduje to chwilowe zaniki napięcia mierzonego przez przetworniki A/C. W celu wyeliminowania włączania alarmu przy każdym przełączeniu linii na wyjściu multipleksera mux1 zastosowałem układy czasowe opóźniające które wyeliminowały tę niedogodność. Generator GEN_PK steruje pracą przekaźnika poprzez multiplekser mux2 którego zadaniem jest blokowanie impulsowania w przypadku wybrania opcji pracy alarmu tylko na Linię 1 lub Linię 2. Multiplekser mux2 ma dwa wejścia sterujące 0 i 1 na których odpowiednia kombinacja stanów logicznych powoduje odpowiednie przyłączenie wejść 0-3 do wyjścia Out a co za tym idzie odpowiednią pracę przekaźnika PK1. Wejście sterujące 1 podłączone jest z wejściem WYL2 ( LINIA 2 ) a wejście sterujące 0 podłączone jest z wejściem WYL1 ( LINIA1 ). Do wejścia 0 mux2 podłączony jest generator GEN_PK odpowiedzialny za impulsowanie przekaźnika. Do wejścia 1 i 3 przyłożona jest stała wartość logiczne zero a do wejścia 2 stała wartość logiczna jedynka. Pracę multipleksera mux2 wraz z przekaźnikiem PK1 przedstawia poniższa tabela .

Wejścia sterujące.

Wyjście

Przekaźnik

1

0

Out

PK1

L

L

0

Praca impulsowa

L

H

1

Przyłączona linia 2

H

L

2

Przyłączona linia 1

H

H

3

Przyłączona linia 2

Oczywiście należy wspomnieć że przekaźnik PK1 w stanie spoczynku przyłącza do obwodów pomiarowych linię 2. Dlaczego zastosowano przekaźnik element dość duży i pobierający dość dużo prądu? Śpieszę z wyjaśnieniem: dlatego że przekaźnik mechaniczny zapewnia w sposób pewny galwaniczne oddzielenie obydwu linii od siebie. Ma to zasadniczy wpływ na wykonywane pomiary przez układ oraz na pracę centrali automatycznej zwłaszcza elektronicznej.. Wykonując układ do pomiaru tylko jednej linii telefonicznej możemy pominąć przekaźnik PK1.

Alarm włącza się po trzech sekundach od chwili zaniku napięcia w linii lub jego obniżenia się. Zwłokę uzyskałem stosując układy opóźniające OPU1 OPU2 (delf) . Po pojawieniu się stanu wysokiego na wyjściu OPU1 lub OPU2 oraz na wejściu powoduje to zainicjowanie alarmu. Pojawienie się impulsu na wejściu detektora impulsu narastającego “edge ALARM1” lub “edge ALARM2” powoduje powstanie impulsu przełączającego przerzutnik srff1 i 2 .

Wyjścia Q przerzutnika srff 1 i srff 2 połączone są z wejściami A bramek AND wejścia B bramek połączone są razem i z generatorem OSC. Drugie wyjście Q przerzutnika srff1 połączone jest z wyjściem PA 0 a przerzutnika srff 2 z wyjściem PA 2 poprzez multipleksery mux2. Zadaniem multiplekserów których wyjścia podłączone są do wyjść procesora PA0 – PA3 jest włączenie wszystkich sterowanych diod świecących D1 – D 4 w chwili resetowania alarmu. Generator OSC powoduje impulsową pracę diod świecących AL._1 i AL._2 i sygnalizatora SYG w chwili gdy na wyjściu Q przerzutnika srff 1 i 2 pojawia się stan wysoki.

Wyjścia obydwu bramek AND połączone są z wejściami bramki OR sterującej pracą sygnalizatora SYG. Stworzenie projektu układu przy pomocy REALIZERA wymagało stworzenia algorytmu działania procesora tzw. grafu oraz określenia zależności logicznych pomiędzy zdarzeniami. Do tworzenia algorytmu w projekcie ALARM TELEFONICZNY użyłem takich funkcji jak STATE (stan) , CONDITION ( warunek), INITIAL STATE (inicjacja stanu czyli początek działania procesora). Z elementem CONDITION powiązany jest ściśle elementem STATE INPUT. W projektowanym programie każdy CONDITION powinien mieć nazwę np."Linia1" i taką samą nazwę powinien mieć element STATE INPUT. Tak samo jest z funkcją STATE, ta funkcja związana jest z elementem STATE OUTPUT i obie powinny mieć takie same nazwy. Jak widać na schemacie prezentowanego układu ta zasada została zachowana. Tworzenie algorytmu najlepiej przedstawić na schemacie. Pierwszym elementem w algorytmie jest funkcja INITIAL STATE (CZUWANIE), procesor automatycznie wchodzi w ten stan po włączeniu zasilania i po restarcie procesora. Następnie procesor oczekuje na warunek CONDITION Linia 1 lub Linia2 ( na wyjściu STATE INPUT Linia1 lub Linia2 powinien pojawić się stan wysoki) . Po pojawieniu się jednego z tych warunków procesor automatycznie przechodzi w STATE (ALARM1 lub ALARM 2) pojawia się stan wysoki na wyjściu STATE OUTPUT Alarm 1 lub Alarm 2 uruchamiając alarm dla jednej z linii. Teraz widać ścisłe powiązanie elementów pomiędzy CONDITION a STATE INPUT oraz pomiędzy STATE i STATE OUTPUT. Po włączeniu się alarmu na jednej z linii procesor oczekuje na następny warunek CONDITION, jeżeli jest to Alarm1 to procesor oczekuje na warunek Reset1 lub Linia 2 (warunek Linia 2 po stanie Alarm 1 umożliwia włączenie alarmu Alarm 2), jeżeli jest to Alarm 2 to procesor oczekuje na warunek Reset1 lub Linia1 ( warunek Linia1 po stanie Alarm 2 umożliwia włączenie alarmu Alarm 1).

Po podaniu stanu wysokiego na STATE INPUT Reset1 lub Reset2 (zależy to od włączonego alarmu) procesor wchodzi w stan STATE (WYŁĄCZENIE ALARMU) na STATE OUTPUT (WYŁĄCZENIE ALARMU) pojawia się stan wysoki który resetuje przerzutniki srff1 i srff2 oraz uruchamia układ opóźniający delf WEJŚCIE W CZUWANIE po czterech sekundach pojawia się na STATE INPUT (CZUWANIE) stan wysoki co powoduje przejście układu w INITIAL STATE (CZUWANIE) .

Po wykonaniu programu należy poddać analizie poprawności opisu, podczas której tworzone są wszystkie pliki potrzebne do zaprogramowania procesora oraz plik raportu patrz poniżej. 

 

ST6220 Realizing Unit (V2.10) (c) 1990-96 Actum Solutions
Report file of project C:\AKU\ALARMT~1\ALARM5.SCH
Scheme Version : 1.33
Report timestamp : Sun Oct 24 12:16:31 1999
------------------------------------------------------------

List of all I/O sorted on the hardware name.

H/W name Type | Symbolic name Comment
PA.0 Push-pull output | LIN1_OK LINIA1 SPRAWNA
PA.1 Push-pull output | AL_1 ALARM1
PA.2 Push-pull output | LIN2_OK LINIA2 SPRAWNA
PA.3 Push-pull output | AL_2 ALARM2
PB.0 8 bit analog input | LIN_1 LINIA1
PB.1 8 bit analog input | LIN_2 LINIA2
PB.2 Push-pull output | PK1 IMPULSOWANIE PRZEKAZNIKA
PB.3 Input, no pull-up | RES RESET
PB.4 Input, no pull-up | WYL2 LINIA2
PB.5 Input, no pull-up | WYL1 LINIA1 
PB.6 Push-pull output | SYG SYGNALIZATOR

List of all I/O sorted on the symbolic name.

Symbolic name H/W name Type | Comment
AL_1 PA.1 Push-pull output | ALARM1
AL_2 PA.3 Push-pull output | ALARM2
LIN_1 PB.0 8 bit analog input | LINIA1
LIN_2 PB.1 8 bit analog input | LINIA2
LIN1_OK PA.0 Push-pull output | LINIA1 SPRAWNA
LIN2_OK PA.2 Push-pull output | LINIA2 SPRAWNA
PK1 PB.2 Push-pull output | IMPULSOWANIE PRZEKAZNIKA
RES PB.3 Input, no pull-up | RESET
SYG PB.6 Push-pull output | SYGNALIZATOR
WYL1 PB.5 Input, no pull-up | LINIA1 
WYL2 PB.4 Input, no pull-up | LINIA2

Memory overview.

Total used bits : 46 
Total used unsigned bytes : 9 
Total used signed bytes : 0 
Total used unsigned integers : 3 
Total used signed integers : 0 
Total used longs : 0 
Total used RAM : 30 byte (084H->0A1H) of 0BFH
Total used ROM : 930 byte (0080H->0422H) of 0F80H


Note: The pins that are not used are defined as digital input with pull-up.
The timer pin is configured as an output.

 

Pliki te dają możliwość przeprowadzenia symulacji przy pomocy programu ST6-Simulator który wchodzi standardowo w pakiet Realizera. Do programowania układu użyłem programatora kitu AVT – 363 oraz programu “ST622x Starter kit” będący na płycie CDEP2.

PROJEKT PŁYTKI DRUKOWANEJ

 

Uruchamianie układu: Niewielkie problemy mogą wystąpić przy doborze rezystorów R7 – R10 w obwodach pomiarowych. Przy odłożonym mikrotelefonie pobór prądu z linii nie powinien przekraczać wartości 0,4mA. Przy znamionowym napięciu linii od 48V do około 60V rezystancja obwodu pomiarowego powinna wynosić nie mniej niż 150 kW . Uwzględniając napięcie zewu maksymalnie 90V w takim wypadku rezystancja powinna wynosić nie mniej niż 225 kW . Natomiast napięcie maksymalne na wejściu przetworników analogowo cyfrowych

( ustalony spadek napięcia na R5 i R6 ) nie powinien być wyższy niż napięcie zasilania procesora 5V. Dlatego przed włożeniem procesora w podstawkę powinniśmy dokonać regulacji przy pomocy potencjometrów R5 i R6 oraz zabezpieczyć je przed przypadkowym przesunięciem co może doprowadzić do uszkodzenia procesora. Regulacji dokonujemy w następujący sposób do zacisków liniowych podłączamy linię telefoniczną. Między masę a 14 pin podstawki podłączamy miernik, za pomocą potencjometru R5 ustawiamy napięcie na około 3,5Vnastępnie zabezpieczamy potencjometr przed przesuwaniem np. kroplą farby. W taki sam sposób postępujemy z drugim obwodem pomiarowym podłączając miernik do 15 pinu i regulując za pomocą R6.

Po ustawieniu odpowiednich wartości potencjometrów oraz po zmontowaniu, układ powinien działać z oczekiwanym skutkiem. W przypadku niedoświadczonych konstruktorów należy zwrócić uwagę przy samodzielnym rysowaniu programu i jego testowaniu oraz przy programowaniu procesora.

Gorąco polecam wykonanie zamieszczonego projektu każdemu kto musiał opłacać kosztowne rozmowy pajęczarzy.

 

KRZYSZTOF GÓRSKI

 

WYKAZ ELEMENTÓW

Rezystory:

R1,R2,R15,R19,R17,R20,R22 3,3kW

R3,R4 100kW

R16,R18,R21,23 15kW

R11,R12,R13,R14, 820W

R5,R6 pot 470kW

R7,R8, R9,R10 192kW

Kondensatory:

C1 1m F

C2,C3 30pF

C4,C8 100nF

C5, 100m F/25V

C6, 47m F/16V

C7, 10nF

Półprzewodniki:

D1,D2,D3,D4 diody LED dowolne.

D5 BAVP95

T1 BD135

M1, M2, M3 mostki prostownicze 1A

Układy scalone:

US1 ST62T10 lub 20

US2 NE555

US3 7805