• Sonuç bulunamadı

KONTROL ALAN AGLARI (CAN) KULLANILARAK STEP MOTOR KONTROL UYGULAMASI

N/A
N/A
Protected

Academic year: 2021

Share "KONTROL ALAN AGLARI (CAN) KULLANILARAK STEP MOTOR KONTROL UYGULAMASI"

Copied!
4
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

SAU Fen Bilimleri Enst1tDsü Dergisi 7.Cilt, 2.Sayı (Temmuz 2003)

Kontrol Alan Ağlan (CAN) KullanalarakStep l\1otor Kontrol Uygulamasa A.Karaca, H.Ekiz,

A.T.Özcerit

KONTROL

ALAN A

G

L

A

RI

(CAN) KULLANIL

ARA

K

STEP MOTOR

KONTROL UYGULAMASI

• •• •

Ahmet

KARACA, Hüseyin EKIZ, A. Turan OZCERIT

••

Ozet

- Kontrol 21Ian ağ1(Controller Area

Network-CAN)., başlangıçta arabalarda bulunan elektronik sistemlerio birbirleri ile haberleşmesini sağlamak anıacıyla geliştirilrrıesine rağmen lusa sürede çok farklı alanlarda kullanlln1aya başlamıştır.

Bu

çalişınada 8051 t-abanh ve üzerinde CAN kontrolör bulunan 89C51CC01 entegresi tanıtılnıaktn ve CAN protokolü kullanılaral< ağ içerisinde haberleşınenin gerçekleştirihnesi anlatılmakta CAN protokolünün kullanımına örnek olnıası aınacıyla, 89CS1CC01 entegresi kullanıhıırak oluştuı .. ulan CAN düğümleri ile ayrı nol{talarda bulunan iki step nıotorun kontrolünü yapan bir sistemin tasarımı ve gerçeldenme si detaylan dırılınaktadır.

Anahtar Kelinıeler

- Controller Area Network, �likrodenetleyici, 8951

ccoı'

step motor kontrolü.

Abstract

- Although CAN (Controller Area Network) initially has been developed in order electronics system in cars to tomminicate each other, it has been used in many di verse applica tions w ith ashort period

of time.

In

this study, 8051 based the 89C51CC01 microcontroller vvhich has an on-chip controller, is introduced and the use of

CAN

protocol for the purpose of conununication in the network is described.

As

a case sıudy, the 89C51CC01 chip has

been wed to dcmonstrate the CAN protocol applications

in

order to control

İ\VO

step motors located at reosonable distance each other.

Key

words

- Controller Area Network,

Microcontroller, 8951.CC01, s tep motors control.

I.

CAN

PROTOKOLÜNÜN

GENEL

ÖZELLİKLERİ

Kontrol Alan

Ağlan

(Controller

Area

Network-CAN)

p

ro

t

o

ko

lü, bir araç

içerisinde

bulunan elektronik kontrol

birimleri arasındaki iletişimi sağlaınak üzere bir Alınan fırınası olan Robert Bosch GmbH t

a

r

a

f

ından tasarlaıınuş,

ilk olarak 1989

y

ı

l

ında otomotiv endüstrisinde (Mercedes Firmasında) kullarulmış, daha

A. Karaca, H. Ekiz, A. T.

Özcer1t; SAU

Teknik

Eğitim Fakültesi

som·ada bir otomotiv stan

d

ardı haline gelmiştir. Aynı

zanıanda

yüksek

hız, düşük maliyet ve yüksek başarım gibi

özelliklerinin

sağlad ığı avant

a

jl

a

r nedeniyle, çok

kısa

bir süre içerisinde endüstriyel ortamlarda kullanılan saha

kontrolü ağl

a

n arasında yerini alnnştır

[1 ].

CAN, birde

n

çok aktif düğümün (master) buibirine 'yol' topolojisi

ile

bağlandığı ve

çekişıneye

d a

y

a

l

ı (Contention­ Based) ortam e

ri

ş

i

m kontrol mekanizmasının

gerçeklendiği

bir protokoldür.

CAN seri bir iletişim protokolü olmasına karşılık, çoğu seri

haberleşme

protokol

ün

e benzeınez. Örnek ol

ar

ak, CAN

ç

erç

e

v

e

s

i

,

ç

oğu

seri iletişin1. protokollerinde

bu

l

unan hedef

ve

k aynak a

d

resler

i

ile ilg

i

l

i

herhangi bir bilgi içennez.

B11na

karşılık

mesaj

ç

er

ç

eves

i

,

mesajın

içerdiği bilgi tipini

(nıantıksal adres) ve mesajın

önceliğini

gösteren

bir

denetim

(

a

rbitrat

io

n

)

alanı

içerir.

Bu a

l

a

n sadece mesajı tanı

n

ıl

ama

k

ve

ö

ncel

i

ğ

i belirlemek için değil,

aym

zamanda ortam erişim kont rolü içind

e kullanılır [ 1]. Şekil

1

'de yapısı verilen

standart veri çerçevesindeki

alanlar aşağıda kısaca

açıklanınakt adır.

Çerçeve Başlangı cı (Start of Frame,

I

bit):

M

e

sajın başlangıcını belirtir ve

1 'bit

UZUlıluğa sahiptir

[2].

Denetim Alanı (Arbitration Field,

12

bit):

Denetim

alanı,

11

bit uzunluğundaki

t

amt

ıcı alam ve

1 bit

uzunluğundaki uzak iletim istek

(

R

emot

e

Transmission

Request, RTR) alam

olmak

üzere

iki

ayrı alt

alancicu1 oluşur. Tanıtıcı

alam

ınes ajın

ö

nce

li

ği

ve

mantıksal a

dr

esi

gibi iki fonksiyonu

içerir [2]. RTR alanı

ise, çerçevenin istek çerçevesi olduğunu gösternıek

anıacıyla

kullanılır.

Kontrol Alanı:

Altı

bit uzu

n

l

u

ğu

n

d

a

ki kontrol

alanının

ilk

biti; tanıtıcı

uzaııtı (Identifier Extension,

IDE)

b

i

ti

dir

. İlk bitin lo j

i

k

'O'

olm

a

sı, gönderilecek herhangi bir tanıtıcı b

i

t

i

n

olmadığı

an

l

amına g

e

lir. Kontrol al

anınd

aki

ikinc

i bit, (rO)

ayrılmış

bir

bittii ve kullanı

lmamakt

adır. Arkadan gel

e

n

dört bit

ise, veri

alanındaki

baytların

sayısııu gösteren veri uzunluk kodunu (Data Length Code, DLC)

i

ç

e

r

i

r

[2].

Veri Alanı: DLC değerine b

a

ğlı olarak sıfır ile sekiz b

a

yt

arasında değişen uzunluğa sahiptir

ve çerçeve ile

i

le

t

i

lıne

k

istenen bilgiyi/veriyi içerir.

(2)

SAU ren Bilimleri Enstitüsü Dergısi

7 Ci lt, 2.Sayı

(Temmuz 2003)

Kontrol Alan Ağlan (CAN)

Kullamlarak Step

Motor

Kontrol Uygulaması

A.Karaca,

H.Ekiz,

A.T.Özcerit

Denetım alanı 12 Bit

Kontrol Alanı

Veıi

Alanı CRC A1anı ACK EOF INT

Hat Boş

1•

... .... ,.. - --... ... .... �

s R I

o ll Bit Tanıtıcı T D r DLC O- 8 Bayt 16 Bit CRC 2 7 Bit 3

f< R E

Şek

i 1 l. StandartCAN vcı i çerçevesi.

o

ACK Alanı:

ACK_ alanı, me

sa

j

ın al

ı

p

a

nm

a

dığ

ı

ve

herhangi

bir

hatanın sezibp

sezilmediği

ko

n

u

l

a

rın

da

vericinin bilgilcndirilmesine

İnıkan

tanır.

Çerçeve

Sonu

Alanı: Her

b

i

r veri

ve uzak çerçevesi,

m

e

s

a

jın sonunu bebrten ve b

i

rb

i

ri ardıııa sıralaunuş

y

e

d

i

adet '1 ' se

v

i

y

e

l

i bit i

ç

eren bir

çerçeve

bit d

iz

i

s

i

ile

soniandırılır

[2].

II.

CAN

DÜGÜVILERİNİN FİZİKSEL

Y APlLARI

1200

PCA82C25l

T8Ycsı ccoı

CAN Mikrodenetle}�ci -trans i ver

...

--· ! PCA82C2S 1 ...-- T89C5JCC01 CAN M ikrodeııetleyici

f•

1Tansiver

r.

PCA82C251 ---· T89C51CCOI CAN l\1 i krodenetleyici

trans i ver _. ... l'/\NL CANI-I 120Q

Şek

i ı 2. CAN düğümümlerinin fiziksel yapı ları.

CA�

düğü n1leri arasu1daki kablo bağlantısı CANH ve

CA "JL

olarak

isiınlendirilen

]kj kablodan oluşur. İlk

ve

son

d

iiğü

m

l

e

r

in

üzerinde

soniandırıcı

olarak

1200

değerinele bir

direnç, CANH

ve

CANL hatlan

arasına

bağlanır.

CAN

düğünıleri ü

ze

r

inde Philips firması

t

a

r

a

f

ından

üretilen PCi\82C251 CAN transiver ve

Atınel

firması

t

a

r

a

f

ınd

a

n

üretilen T89C51CC01 n1ikrodenetleyicisi bulurunaktadır. T89C'51 CCO 1 nıik

r

o

­

denet1eyicisi;

i

ç

in

d

e

CAN

k ontrolör

bulunan 8051 tabanlı

bir nıikrodenetleyicidir.

III.

A'rMEL CAı�

KONTROLÖRİİN

Y APlSI

VE

J\tiESAJ ALMAJMESAJ G

ÖN

D

E

Rl\1E

İŞLEMLERİ

Atmel CAN

ko

ntrolör,

BOSCH

GmbH

tarafn1dan tanımlanan CAN s

eri haberleş n1c protokolünü

147

Bit Bit

gerçekleştirmek

i

ç

i

n

istenen

bütün

özel

l

ikl

e

r

i sağlar [3].

CAN protoko]ü

için

tanımlanan iki adet ISO s

t

an

d

a

r

bulunmaktadır: ISO 11898 ve 11519 s

t

an

d

art

l

a

r

ı

.

ISO

11898 stan

d

a

rdı

l

Mbit/s'ye kadar gerçek

zaman

kontrolüne izin veren yüksek

hızlı

u

y

g

u

l

amala

rd

a

kul1anılırken,

ISO

ı

1519 sta

n

d

a

rd

t

üst

sını

125 Kbit/s

olan

düşü

k

hızlı

uygulan1a

l

ar

d

a kullanılır [ 1).

CAN

kon

tr

o

l

ö

r

CAN

protokolü

tara

f

ı

n

d

a

n desteklenen bütün

çerçeve tiplerini işieyebilir (veri çerçevesi, uzak çerçeve,

hata çerçevesi ve

a

şı

yük

çe

r

ç

ev

e

s

i

)

ve 8MHz kristal

frekansında

1

Mbü/s

bit

h

ızı

n

d

a

bu

işlemi

gerçekleştirir

[3].

T .t.D·�· .. - ---- -- ... --- -- --- · 1 1 1 1 Bıt Bit ....--1 Sıulfın9 n,.�;tııffing RxDt .. --- Tımınq

L•.•gıf,. Coun1eı R�rlundaı�y c, .. r.tic Check ,.._�

1 1 1 1 1 1 1 1 1 1 1 t • 1 1

... ._... ---

-

-• • qı? e _ : CPR(hl c:ıılbı:'x + RE'I'.Jıs'i;..rs ı • "< 1;1 g ısı "'' • • 1

-- _ .,.. _ ...

1 Prwr��· Enro�ı • 1 1 1 1 ır-- - - --- - - __

_.

___

_

___

_

_ � 1 1 1 1 • � (: r.•nlrı.•l

Şekil 3. Atmel CAN kontrolör blck diyagramı.

1 1

' ı ı

Ş

cki

1

3 'te b

l

o

k

şeınası

veriten Atınel CAN k

on

tro

l

ö

rd

e

,

birbirinden bağımsız

l 5

mesa

j

n

e

s

n

e

si

bulunur.

Bu 15

mesaj n

esn

es

ini

n her

biri n1esaj alma veya gönderırıe

işlenileri

i

ç

in ayrı ayrı programlanabilir.

I-ler

bir mer.o·

n

es

n

e

sin

de

gönderilecek

mesajın

ya

z

ı

l

ğ

ı veya alınan

n1esaj

ın

bulunduğu 8

baydık bir alan ile

birlikte alınması

i

st

e

n

e

n veya gön

d

er

i

l

e

c

e

k mesa

j

ın

t anıtıcı değerinin

y

az

ı

l

d

ı

ğ

ı bir

alan bulunur. Bu mesaj nesnelerinin

y

ö

net

i

mi sayfalama meto

d

u

ile

yapılır. CAN

kontrolöre

er

im

SFR 'ler

(

öz

e

l fonksiyon kaydedicileri)

tarafından

sağlanır.

Başlıca SFR 'ler aşağıda sıralan-nıaktadır:

- CANPAGE: Mesaj

nesnelerinin

s

e

ç

ınu ıçın

kullanılır.

- CANM

SG: A

l

ınan

veya gönderil ecek

mesaj

baytlar

halinde sırayla

bu

k

ay

d

e

dic

i

y

e

y

azı

l

ı

r

.

- CANID'T1

-4:

�1esaj

tanıtıcı değeri bu

döıt

kaydediciye yazılır.

- CAN lE I

-2: Mesaj nesnelerinin kesme

y

etkil

e

ndiı

ı ne

(3)

SAU Fen Bilimleri

Enstitüsü

Dergısi 7.Cilt, 2.Sayt

(Temınuz 2003)

CANCONCH:

Seçilen n1esajın

göndeıme

veya alma

için

p

ro

g

r

amlanmasını sağlar. Mesajın DLC değeri

de bu kaydedici iç erisine

y

azılara

k b

el

i

r

l

e

n

i

r.

Gönderilen

bir

mesajı

aJmak i

ç

in

;

öncelikle 'CANPAGE'

kaydedicisinin içine

yazılan

değer ile

15

mes

a

j

nesnesinden biri seçilir. 'CA

NIE 1'

ve

'CANIE2'

kaydedicilerinden seç

i

le

n

n1esaj nes

ne

sinin kesmesi aktif

edili

r

. Daha sonra 'CANIDT"

kaydedicilerine

alınaca

k.

olan mesajın tanıhcı

değeri

yazılarak alınac

ak olan n1esaj

belirlenir ve 'CANCONCH' kaydedicisine

'88h'

de

ğ

eri

y

azılarak seçili

mesaj n

esnesi ıçin alma iş

l

em

i

başlatılır.

Mesaj a

l

ı

n

dığında oluşan kesme i1 e, kesme hizmet

programında '

C

A

N

MS

G

' kaydedicisinden gelen b

i

lgi

okunarak değerlendirilir.

Mesaj alma

işleminin yeniden

başlaması için

kesıne

hizmet

programının sonunda

'CAN CO

NCH'

kaydedicisine '88h' de

ğ

eri

tekrar

yüklenir.

Mesaj gönderme işlemi alma

lemi

n

e

göre daha basittir.

Yine 'CANPAGE' kaydedicisinin içine yazılan değer ile

15

mesaj nesnesinden biri

se

ç

il

ir. 4CANTE1 ve

'CANIE2' kaydedicilerinden

seçilen

mesaj

nesnesin

i

n

kesmesi aktif edilir. Daha sonra

'CANMSG'

kaydedicis

i

ne g

ö

n

d

erilınek istenen veri, 'CANIDT'

kaydedicilerine nıesa

j

tanıtıcı değeri

ve 'CANCONCll'

kaydedicisine

'48h'

d

eğeri yazılarak nıesaj gönderilir.

IV. STEF•l\tfOTOR UYGULAMASI

Tasarlanan

sistemde, ınerkezi

b

i

r

noktadan

iki

ayrı

step

motorun

hız ve start/stop kontrolü y

a

p

ılmaktadır.

Birinci

düğüm i

k

inc

i

ve üç

ü

nc

ü düğümle-re

gönderdiği bilgiler ile

düğümlere bağlı olan step

rootortann

kontrolünü

gerçekleştirmektedir (Şekil

4

)

. Düğümlere g

ö

nder

i

lece

k

bilgiler kontrol butonları ile

ı ..

CAN

K

Kontrol

düğümü

(ı )

butonları

CAN .. Step n1otor

t.

Step

düğümü

sürücü '

tJ

(2)

J j

devresi , motor

f+-

CAN .. Step motor l

Step

düğümü

süri.icü

p

(3)

,

devresi , motor

CANL CANH

Şekil 4.

Step

motor kontroluygu1amast blok diyagramı.

148

Kontrol Alan Ağiara (CAN) Kullanılarak

Step

Motor

KontrolUygulamasa A.Karaca, H.Ekiz,

A.T.Öuerit

be 1 irlerunektedir. B u

sistemde

bulunan

butonlar

ve

görevleri aşağıdaki

ş

e

ki

lde

ö

zetle

n

ebi

l

ir.

Yavaş butonu

(Olh):

Seçilen

motorun yavaş

hızda

dömnesini sa

ğ

l

ar.

Orta butonu ( 02h):

Seçilen motonın orta

hızda

dönmesini

sa

ğ

lar.

Hızlı butonu (03h): Seçilen motorun

h

ı

z

lı dönmesini

sağlar.

Stop butonu

(OOb):

Seçilen motorun durmasını

sa

ğ

lar.

Motor scçin1 anahtarı: Yukarıdaki işlemlerin hangi

ınotora uygulanacağını seçer.

- Kapat butonu

(OOh):

fi

e

r

iki

motorunda

d

urma

sını

sağlar.

Butonların yanın

d

a

yazan

rakamlar

işlemin

gerçekleştirilmesi

i

çin düğümlere gönderilecek olan

say

ı

l

ard

ı

r. Düğümler mesajı

aldıklannda mesa

j

da

g

ö

nderilen sayının değeı·ini

k

ontr

o

l ederek

moto

run

Cı\N kontrolörü başlat CANMSG=OOh Il CANMSG=Olh H CANMSG=02h H

ı

CANMSG=OJh

ı

• C ANMSG=OOh CANIDT=0200h H

Mesajı

gön

d

er CANMSG=OOh CJ\NIDT-0200h Mesajı gönder E CANIDT=0200h Mesajı gönder CANIDT-0201 h Mesaj1 gönder

(4)

SAU Fen Bilimleri Enstitüsü Dergisi

7.Cilt, 2

Sayı (Temmuz 2003)

istenilen hızd

a

dönmesini yada dun1ıası işlerrlini

gerçekleştirirler.

Tasarlanan s

i

s

te

ı

n

d

e bulunan ikinci düğüm

'0200h'

t

an

ı

t

ı

c

ı değere sahip mesajlan üçüncü düğüm

'0201h'

tanıtıcı

değere sahip n1esajlan alarak değerlendirir. Tasarlanan sistenun

çalışınası için

yüklenmesi gereken progranun akış şe

ması

Ş

e

kil

5 'tc

veıiiınektedir.

Şekil

4

'de blok şen1ası verilen devrede bu lunan birinci

düğün1deki nıikrodenetleyici,

butonların

kon

u

n1un

u

sürekli olarak kontrol eder. Basılı bir buton tespit

ettiğinde, butona karşılık gelen, sayıyı

'CANMSG'

kaydedicisine yükler.

Birincj

düğümdeki mikro

­

denetleyici

ikinci işlem

olarak ınotor seçim anahtarının

k

onum

u

nu kontrol eder ve

anahtar kapalı

ise

'0200h'

değerü1i, anahtar açık ise

'020 l h'

değerini 'CANIDT'

k

a

y

d

ed

icile

r

in

e

yükler ve 'CANMSG' kaydedi

c

isi

içerisindeki bilgiyi

CA:N yoluna yerleştirir.

İki mo

t

o

runda

durmasını

s

ağlay

an kapat butonu

düğüm] ere

'OOh'

değerini göndererek

motorların dunnasını

sağlar (Şekil

5 ).

İkinci ve üçüncü düğünllerde, birinci düğün1den ge

I

en

bir

mesaj alındığında, kesnıe

oluşur

ve kesıne

hizmet

programı

devreye girer. Kesme hizmet progrann

içerjsjnde birinci düğünıden gelen veri

'CAN1v1SG'

kaydedicisinden okunarak

hız

değişkeninin içi

ne yazılır.

Ana

p

ro

g

ramda

hız

değişk

e

nin

i

n aldığı değer sürekli

kontrol edilerek motorun istenilen hızda dönmesi

sağlanır

(Şekil

6).

Başla

)

0200h nolu

1nesajı

almak için CAN kontrolörü başlat .. H Motoru bir adım döndü!· 50msn bekle. Motoru bir

ad1m döndür.

25msn bekle. Motoru bir adım döndür. lOmsn bekle

�ekı

1 6 Motorların bulunduğu

düğümlerde

kullan ı la ı; programın akış

di yagı·amı.

149

Kontrol Alan Ağlan (CAN) Kullamlarak Step Motor Kontrol Uygulaması

,

.

A.Karaca, H.Ekiz. A.T.Ozcerit

V.

SONUÇLAR

CAN iletişim protokolü o

t

omobi

ll

e

r

d

e

ve endüstride yüksek hız ve

g

üvenli

k

gerek

t

iren uygul

a

malarda

kullanılmaktadır.

Y

ap

ıla

n çalışmada T89C51 CCO

1

n1İkrodenetleyicisi ile

CAN

protokolü ile haberleşme

gerçekleştirilmiş ve

step ınotor kontrol uygulaması

yap1lınıştır. Başlangıçta

yalnızca ar

a

balard

a

ki elektronik

sisten11erinin

kontrolü jçin tasarlanan CAN protokolünün çok

f

arkl

ı uygulaına

alanlarında k--ullanımına, step motor

iyi

bir

örnek

olarak g

ö

lmek tedi

r.

CAN protokolünün

özellikle

e

ndü

s

triyel

saha

alan ağlarında etkin ve yaygın kullanıma

sahip olacağı

açık bir

gerçek

olarak görülmektedir.

KAYNAI�AR

[1] TUNCEL,

S

in

a

n, "Denetleyici

Alan Ağı

Endustriyel

İ

l

et işim Protokolünün Eğitim Amaç

b

Benzetimi",

Doktora Tezi,

SAÜ

Pen

Bilimleri Enstitüsü,

2002

[2]

ÖZÇELİK,

İbrahim,

"CAN/ATM

ve

PROFIBUS/ATM

Yerel Köprülerinin Tasarımı", Doktora Tezi,

SAÜ Fen

B

il

i

mler

i

Enstitüsü,

2002

Referanslar

Benzer Belgeler

Master PLC’ye iletilen zaman verileri, CAN-BUS haberleşme protokolü aracılığıya slave PLC’ye gönderilerek, binaların enerji girişleri otomatik olarak kontrol

Otobüs duraklarında insan ağaçları büyüyor akşam güneşine karşı meyvesiz kuşsuz ve kahkaha nerden mi çıktı kahkaha ilerleyelim bir adım daha. egzozlar

Bu çalışmada, Türkiye’de iç borç stokunda yer alan 2, 5 ve 10 yıl vadeli sabit faizli DİBS’lerdeki yurt dışı yerleşiklerin payı ile söz konusu

Genel bir kural olarak, Smith'in formunun pozitif bir

(2013), Kerkennah Adaları (Orta Akdeniz) çevresinde pingerlerin ĢiĢe burunlu yunus ile fanyalı ağlar arasındaki etkileĢiminin azaltması üzerine yapılan çalıĢmada,

Different convection conditions are studied, to see the impact of it on the thermal response and phase transition of SMA based SRR where the non- dimensional

Analizler sonunda elde edilen sonuçlara göre, şev yakınına oturan yüzeysel şerit temellerin taşıma kapasitesi, şev açısının artmasına bağlı olarak

SEZARYENDA UTERUSUN TEK VEYA ÇİFT KAT KAPATILMASININ SONRAKİ GEBELİKTE SKAR İLİŞKİLİ KOMPLİKASYONLAR ÜZERİNE ETKİSİ,.. SİSTEMATİK DERLEME