Kavşak Kontrol Cihazı Sabit Programlı Yaya Butonlu Okul Önleri

PRJ1505A – Kavşak Kontrol Cihazı
Sabit Programlı Yaya Butonlu Okul Önleri Veya Yaya Geçidi Uygulamalı

AÇIKLAMALAR
Bu proje "Trafik-Sinyalizasyon Kontrol Cihazları" grubunda yer almaktadır.

Yaya geçitlerinde, özellikle yoğun yaya trafiği olan okul önlerinde kullanılması amaçlanarak tasarlanmış basit ve ekonomik trafik sinyalizasyon kontrol cihazıdır. Üzerindeki mikrodenetleyici, sabit bir sinyalizasyon programı içerir. Bu programa bağlı olarak cihaza bağlanacak yaya butonlarına basılıncaya kadar ana yol yeşildir. Butona basıldıktan belirli bir süre sonra yaya yolu açılır, araç yolu kapanır. Sürekli butona basılma durumuna karşılık cihaz trafik akışını düzenleyecek şekilde çalışır. Cihaz üzerinde bir adet flaşör çıkışı, gece durumda flaşör çalışmaya geçmek için saat bağlamaya uygun, giriş mevcuttur.

Cihaz, PIC16F84 mikrodenetleyicisi ile kurulmuştur. İhtiyaç duyulan tüm fonksiyonlar, mikrodenetleyici ile gerçekleştirilmiş ve harici eleman kullanılmamıştır. Program, mikrodenetleyiciye programlama aşamasında yüklenir ve sonradan değiştirilemez. Proje için hazırlanmış sinyalizasyon programı, konusunda uzman kişilerce hazırlanmış olup standartları yerine getirmektedir. Böylece herhangi bir değişikliğe gerek kalmadan, birçok butonlu yaya geçidi uygulamasında kullanılabilir.

Devrenin çıkışları "zero cross" triyak sürücü tekniği ile tasarlamış olup çıkışlara bağlanacak lambaların çalışma ömrünün artırılması sağlanmıştır. Güç triyakları olarak BTA12 izoleli triyakları kullanılmıştır. Her bir çıkış 2kWatt’lık yükleri sürebilir. Çıkışa lambalar paralel olarak bağlanabilir. Ayrıca çıkışlar, devre üzerinde yer alan sigortalar ile, kısa devreye karşı korunmuştur.

Devre 220VAC (+,- %25) şebeke gerilimiyle çalışır. Enerji dalgalanmalarından etkilenmez. Lambalar hariç enerji tüketimi 1W/Saat tir.

Girişler: 1 adet yaya butonu girişi: Devre üzerinde yer alan yaya butonu girişine, birden fazla buton paralel olarak bağlanabilir. Toplam hat uzunluğu 1 km’dir. 1 adet normal/flaşör çalışma seçim girişi: Bu girişe günlük programlanabilir zaman saati bağlanarak cihaz günün istenilen saatlerinde flaşör çalışma moduna alınır.

Çıkışlar: 2 adet oto sinyal verici çıkışı, 2 adet yaya sinyal verici çıkışı, 1 adet flaşör sinyal verici çıkışı

PROJENİN BASKILI DEVRESİ (2:1)

PROJENİN KUTULANMASI VE DIŞ GÖRÜNÜŞ TASARIMI
Projenin kutulanması birçok farklı şekilde yapılabilir. Plastik, su geçirmez ve kelepçeler ile direğe montaj imkanı sağlayan bir kutu kullanılabileceği gibi, küçük pano kutuları da kullanılabilir. Bu proje için özel bir kutu tasarımı yapılmamıştır. Piyasada kolaylıkla kullanılabilecek metal yada plastik kutu mevcuttur.

Aşağıdaki şekilde önerilen kutu içi montaj şeklinin taslak görüntüsü yer almaktadır.

 

MALZEME LİSTESİ

  1. T1…T11-BTA12-600
  2. U1…U11-MOC3041
  3. U12 – PIC16C84-4 / PIC16F84 – 4 / PIC16F84A – 4
  4. U13 – LM 7805
  5. D12,D13 – 1N4001
  6. D1,D4,D7,D9 – 5mm Kırmızı Led
  7. D2,D5,D11 – 5mm Sarı Led
  8. D3,D6,D8,D10 – 5mm Yeşil Led
  9. D14 – 1N4148
  10. C2 – 1000uF / 16V Elektrolitik
  11. C1,C3,C6….C10 – 100nF
  12. C4,C5 – 20pF
  13. X1 – 4Mhz kristal
  14. R301…R311 – 330 1/4W
  15. R401…R411 – 330 1/4W
  16. R101…R111 – 150 1/4W
  17. R201…R211 – 100 1/4W
  18. R1,R2,R3 – 47k1/4W
  19. R4 – 4701/4W
  20. F1,F11-TK79 SİGORTA SOKETİ VE 2,5A CAM SİGORTA
  21. KLEMENSLER-BASKILI DEVRE KLEMENSİ
  22. TRANSFORMATÖR-2X7.5V 3W

ASM PROGRAM

;
;PRJ1505 PIC16F84 KAVSAK KONTROL CIHAZI
;PIC84 ILE YAYA LAMBASI KONTROLU
;HSERIMER 7/97

LIST P = 16F84, F = INHX8M, n = 66
PIC84 equ H'03FF'

;REGISTER TANIMLAMALARI
W EQU H'0000'
F EQU H'0001'
INDF EQU H'0000'
TMR0 EQU H'0001'
PCL EQU H'0002'
STATUS EQU H'0003'
FSR EQU H'0004'
PORTA EQU H'0005'
PORTB EQU H'0006'
EEDATA EQU H'0008'
EEADR EQU H'0009'
PCLATH EQU H'000A'
INTCON EQU H'000B'
OPTION_REG EQU H'0081'
TRISA EQU H'0085'
TRISB EQU H'0086'
EECON1 EQU H'0088'
EECON2 EQU H'0089'
HCOUNT equ H'000D'
LCOUNT equ H'000E'
ZAMAN equ H'0028'
msb equ 0x29 ;delay register
lsb equ 0x2A ;delay register
FLCOUNT equ H'0027' ;flas SAYACI
WAITC equ H'0026' ;wait ve run
SPECIAL equ H'0025' ;special function registeri
COUNT1 equ H'0021' ;system timer counter
COUNT2 equ H'0021' ;system flas timer counter
SYSFUNC equ H'0020' ;system control register
;----- STATUS Bits --------------------------------------------------------
IRP EQU H'0007'
RP1 EQU H'0006'
RP0 EQU H'0005'
NOT_TO EQU H'0004'
NOT_PD EQU H'0003'
Z EQU H'0002'
DC EQU H'0001'
C EQU H'0000'
__MAXRAM H'AF'
__BADRAM H'07', H'30'-H'7F', H'87'

_CP_ON EQU H'3FEF'
_CP_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FFF'
_PWRTE_OFF EQU H'3FF7'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FFB'
_LP_OSC EQU H'3FFC'
_XT_OSC EQU H'3FFD'
_HS_OSC EQU H'3FFE'
_RC_OSC EQU H'3FFF'

__CONFIG _CP_OFF & _WDT_ON & _XT_OSC

;
;
goto START
;
START
clrw ; RESET ALG.
movlw D'5' ; reset durumunda
movwf ZAMAN ; 5 sn cikislar kapali tutulur
call SAY ; RESET ALG.
clrwdt
movlw D'60' ; flash süresi 60sn
movwf FLCOUNT
bsf STATUS,RP0
movlw H'00'
movwf TRISB ;PORTB pinleri out
movlw H'03'
movwf TRISA ;PORTA pinleri bazilari input
bcf STATUS,RP0
movlw H'00'
movwf PORTA
movwf PORTB
goto FLAS_PROG ; baslangic flash programi
;
MAIN
CLRW
clrwdt
movlw H'10' ;set flas time delay 10 sn
movwf FLCOUNT
bsf STATUS,RP0
movlw H'00'
movwf TRISB ;PORTB pins output
movlw H'03'
movwf TRISA ;PORTA same pins input
bcf STATUS,RP0
movlw H'00'
movwf PORTA
movwf PORTB
movlw D'18' ; wait step süresi
movwf WAITC

TEST_BUTTON
clrwdt
btfsc PORTA,0 ;flas input
goto TEST_BUTTON_1
goto FLAS_PROG
TEST_BUTTON_1
clrwdt
;****************************wait step1**************************************
movlw B'01100100' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 1 - 0 - 0 - 1 - 0 - 0
; -yaya -- oto 1 --- oto 2 --
movwf PORTB

movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA

movlw D'5'
movwf ZAMAN
call SAY2

btfss SYSFUNC,1 ; butona basilmis ise
goto TEST_BUTTON_2
goto TEST_BUTTON_3
TEST_BUTTON_2
movlw D'2' ; wait step zamani
movwf WAITC

decfsz WAITC
goto TEST_BUTTON
goto TEST_BUTTON_3
TEST_BUTTON_3
clrf WAITC
movlw D'20'
movwf ZAMAN
call SAY2
bcf SYSFUNC,1 ; button kaydedicisi=0

RUN_PROG
;****************************step1*******************************************
;***************************** 3 sn******************************************

movlw B'01010010' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 1 - 0 - 0 - 1 - 0
; -yaya -- oto 1 --- oto 2 --
movwf PORTB

movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA

movlw D'3'
movwf ZAMAN
call SAY2
;****************************step2*******************************************
;**************************** 3 sn ******************************************

movlw B'01001001' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 0 - 1 - 0 - 0 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB

movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA

movlw D'3'
movwf ZAMAN
call SAY2
;****************************step3*******************************************
;**************************** 30 sn *****************************************
movlw B'10001001' ;yes-kir-yes-sar-kir-yes-sar-kir
; 1 - 0 - 0 - 0 - 1 - 0 - 0 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB

movlw B'00011000' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA

movlw D'25'
movwf ZAMAN
call SAY2
;****************************step4*******************************************
;**************************** 3 sn ******************************************

movlw B'01001001' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 0 - 1 - 0 - 0 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB

movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA

movlw D'3'
movwf ZAMAN
call SAY2
;****************************step5*******************************************
;**************************** 3 sn ******************************************
movlw B'01011011' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 1 - 1 - 0 - 1 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB

movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA

movlw D'3'
movwf ZAMAN
call SAY2
;****************************step5********************************************
goto MAIN
;
SAY
clrwdt
call vlong
decfsz ZAMAN
goto SAY
return
SAY2
clrwdt
call del1sn
decfsz ZAMAN
goto SAY2
return
;
del1sn
clrwdt
movlw D'26'
movwf COUNT2
goto del1
del1
clrwdt
bsf PORTA,4
call delay20
decfsz COUNT2
goto del1

clrwdt
movlw D'26'
movwf COUNT2
del2
bcf PORTA,4
call delay20
decfsz COUNT2
goto del2
return
;****************************************************************************
;*- Delay Routines -*
;****************************************************************************
vlong
movlw 0xff ;very long delay, approx 200msec
movwf msb
goto d1
delay20 ;20 msec delay
movlw .26
movwf msb
goto d1
delay16 ;16 msec delay
movlw .21
movwf msb
goto d1
delay1 ;approx 750nsec delay
movlw .1
movwf msb
d1 movlw 0xff
movwf lsb
d2 decfsz lsb,F
goto d2
decfsz msb,F
goto d1
;*********************** BUTTON TEST ***************************************
btfsc PORTA,1 ; button input
goto d3
bsf SYSFUNC,1 ; buttun lacth set
d3
return
;*********************** FLAS PROGRAM **************************************
FLAS_PROG

btfsc PORTA,0 ;flas input testi
goto F2
goto F1
F1
movlw H'10' ;flas zamani (min 10 sn)
movwf FLCOUNT
F2
;****************************step1*******************************************
;****************************0.5 sn******************************************
clrwdt
movlw B'01010010' ;yes-kir-yes-sar-kir-yes-sar-kir
movwf PORTB ; 0 - 1 - 0 - 1 - 0 - 0 - 1 - 0
; -yaya -- oto 1 --- oto 2 --

movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY
;****************************step2********************************************
;****************************0.5 sn*******************************************

clrwdt
movlw B'00000000' ;yes-kir-yes-sar-kir-yes-sar-kir
movwf PORTB ; 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0
; -yaya -- oto 1 --- oto 2 --

movlw B'00000000' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY

decfsz FLCOUNT
goto FLAS_PROG
goto RUN_PROG
;****************************0.5 sn*******************************************
FINISH
org H'3FF'
goto START
end

 

 


Bu yazı Uncategorised kategorisine gönderilmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir