araç için digital gösterge yapımı

Başlatan minti34, 26 Mart 2011, 21:38:45

minti34

arkadaslar merhaba
bu projede deneme amaçlı aldığım pcm1602b lcd ye güç verdiğim zaman sadece 1. satır komple yanıyor,2. satırda birşey yok. pic ile denediğim zamanda aynı problemle karşılaşıyorum.displayda bir sorun mu var acaba.pic test amaçlı ekranda 2 satır yazı görmek için kod yazdım ama devre enerjilendiği zaman dediğim gibi 1. satır komple yanık 2. satır boş .problem nerde olabilir acaba.
kolay gelsin

z

Alıntı yapılan: Allegro - 27 Mart 2011, 14:51:48
bir aracın CAN hattını inceledim.
Araçtaki birçok bilgi ( neredeyse hepsi ) CAN hattında geziyor...

Misal 1:
Motor Sıcaklığı adresi : 0x1001
Değeri                        : 80 derece

Misal 2:
Motor devri adresi     : 0x1002
Değeri                       : 1800 devir

Aynen bunu gönderiyor. CAN hattına...   
Kime lazımsa o alıp kullanıyor...

Elbette can hattinda tum bilgiler var fakat busa bagli bir cihaz ancak kendisine gelen mesajlari alabilir. Ben hala can busa kanca atip herkese giden mesajlari nasil yakalayacaginizi anlamadim.

Can'de mesajlar adrese yollanir, bazi mesajlar ise genelge mesaj olur herkese gider.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Erol YILMAZ

Bülent hocam şu konuda bir netliğe ihtiyaç var.

Can Bus ta mesajlar bi adrese GÖNDERİLMEZ !


Benim adresim bu, Bilgim bu diyerek hatta gönderilir.

O adresi filtresinde bulunduran NODE lar veriyi alırlar...


Dolayısı ile Filtresini geniş tutan bir NODE tüm verileri alabilir.... 
Yani gözlemleme yapabilir.

omereliusuk

#18
LojikO ın lojik1 e baskın gelmesi sonucu küçük mesaj İD sine sahip mesajlar öncelik kazanırlar. Bir düğüm tarafından mesaj gönderilmesi kararlaştırıldığında mesaj yol boşalana kadar bekletilir.Her düğüm yolu devamlı izlemektedir.Yol boşaldıktan sonra düğüm yola başla İşaretini vererek mesajı yollamaya başlar.Mesaj her düğüme ulaşmaktadır ve ilişkisi olan düğümler mesajı okuyup işlemektedirler. Eğer yol boşaldığında birden fazla düğüm yola mesaj yazmaya başlarsa düşük İD lî mesajı yazan düğüm yolu ele geçirir ve diğer düğümler aradan çekilerek tekrar göndermek üzere yolun boşalmasını beklerler Bu mekanizma şu şekilde çalışır.Yazılan her bitin aynı anda okunduğundan bahsetmiştik.Bir düğüm veri yoluna mesaj yazarken 1 yazdığında 0 okuyorsa eğer, başka bir düğümünde yola mesaj yazdığını anlar ve onun önceliği yüksek olduğundan veri yolunu ona bırakır. Yol boşaldığında tekrar göndermeye çalışır. Örneğin yola aynı anda veri yazmaya çalışan A, B ve C adında üç düğümümüz olsun. A düğümü yola 36 (100100), B düğümü 47(101111) ve C düğümü 37(100101) yazsın.Aşağıdaki şekilde bu durum gösterilmiştir.
diye devam ediyor. barış samancı arm7 adlı başlangıç kitabında sayfa 78

Erol YILMAZ

#19



canbus sniffer gibi bişi yazmış oraya....



Klein

#20
Anlaşılan Can-Bus ile biraz ilgilenme zamanı gelmiş.
@allegro
şunu anlamak istiyorum.

diyelim ki  a çipi b çipine bir mesaj gönderdi.   biz de c çipiyiz.

bu mesaj doğal olarak herkese gidiyor.  b çipi ve c çipi mesajı alıyor.
1- her iki çip de veriyi alıyor ve adresi çözümlüyor  bize (programcıya) diyor ki : b çipine gelmiş bir mesaj var.  içeriği bu.
     parogramcı da  isterse  mesajın b çipine gelip gelmediğini önemsemeden cevap gönderebiliyor. tabi karşı taraf cevabı b çipinden beklediği
     için afallıyor ve donup kalıyor :)
2- her iki çip de veriyi alıyor ve çözümleme yapıyor. c çipi bakıyor ki mesaj kendisine değil , programcıya hiç bir şey sormadan mesajı çöpe
    atıyor.  programcının böyle bir mesajdan haberi bile olmuyor.

can-bus donanımı olan bir çipin çalışma sistemi yukarıdakilerden hangisidir.

Esas konu arada kaynamadan bunu da ekleyeyim:

Alıntı yapılan: minti34 - 27 Mart 2011, 19:28:01
arkadaslar merhaba
bu projede deneme amaçlı aldığım pcm1602b lcd ye güç verdiğim zaman sadece 1. satır komple yanıyor,2. satırda birşey yok. pic ile denediğim zamanda aynı problemle karşılaşıyorum.displayda bir sorun mu var acaba.pic test amaçlı ekranda 2 satır yazı görmek için kod yazdım ama devre enerjilendiği zaman dediğim gibi 1. satır komple yanık 2. satır boş .problem nerde olabilir acaba.
kolay gelsin

LCD modüle enerji verdiğin zaman LCD'yi init etmek için belirli bir prosedür var. o prosedürü uygulayıp LCD nin başlangıcını yaptıktan sonra birşeyler yazabilirsin.

The Gariban

Klein
CAN BUS o mantıkla çalışmıyor
http://kurumahmut.blogcu.com/
O soruların cevabı  bu linkte açıklanmış

minti34
LCD için başlangıcta yapılan tanımlamalar var.Yani diyorsunki PIC e sana 2 satırlık LCD bağlı.
Bunun Pic Basıc Pro daki komutu
DEFINE LCD_LINES 2
sende kullandığın dile göre aynı işi yapan bir komut yazmasın.Bu kodda var diyorsan şimdi yazacaklarımı 2.LCD satırına yaz demek olan komutu var.Ya ben onuda hatasız yazdım diyorsan .O LCD yi çıkarıp aynısında başka bir LCD ile dene

iyildirim

Alıntı yapılan: Allegro - 27 Mart 2011, 21:30:32
Bülent hocam şu konuda bir netliğe ihtiyaç var.

Can Bus ta mesajlar bi adrese GÖNDERİLMEZ !


Benim adresim bu, Bilgim bu diyerek hatta gönderilir.

O adresi filtresinde bulunduran NODE lar veriyi alırlar...


Dolayısı ile Filtresini geniş tutan bir NODE tüm verileri alabilir.... 
Yani gözlemleme yapabilir.

Bu mesajdan sonra bir CAN BUS sniffer yapmak kafamda çok daha kolaylaştı.

Merak ettiğim CAN mesajları ile ilgili bir standardın olup olmadığı. Örneğin xx nolu mesaj motor ısısını, yy nolu mesaj yağ basıncını söyler, zz radyonun sesini arttırır gibi bir standart varmıdır. Aynı şekilde bağlı birimlerin adresleri standarta bağlanmışmıdır.  Varsa bu standart markadan markaya değişirmi, yoksa firmaların uyması gereken IEEE-xxxx gibi yayımlanmış bir standart varmıdır.


minti34

arkadaşlar lcd problemini hallettim.Breadbord un azizliğine uğradım.neyse  >:(
durmak yok yola devam gerçi saat00:30 ama ne yapalım.herkese kolay gelsin

Klein

@iyildirim
verdiğin linkteki makaleye hızlıca göz attım.
Çıkardığım sonuç şu:
Can aygıtların kimliğinden çok , mesaj içeriği ile ilgileniyor.

yukarıdaki sorumda verdiğim örneğe dönrsek:
a cihazı mir mesajyayınlıyor.
diyor ki ben a cihazıyım  bana x,y,z bilgileri lazım.

bütün cihazlar mesajı alıyor. b cihazı bakıyor ki bu bilgiler kendisinde.O zaman hatta girip ben b cihazıyım.bu bilgiler bende, al sana x,y,z deyip mesajını yayınlıyor. diğer cihazlar da b nin gönderdiği bilgiyi alıyor. Ohh soruyu bilen biri varmış içimizde deyip rahat bir nefes alıyorlar.

eğer doğru anlamamışsam dönüp daha detaylı okuyacağım.

Erol YILMAZ

#25
@Klein,
Son mesajın daha isabetli old. düşünüyorum.

Sonuçta CANBUS ta A NODE'u, veriyi özellikle B NODE'una göndermiyor !

Benim Adresim A verilerim de bunlar deyip CANBUS  hattına veriyor...

Bu adres literatürde CAN ID olarak geçiyor.

B NODE unun filtresinde eğer A NODE unun CAN ID si varsa o bilgi LUUP diye içeri giriyor....


Mcu ların datasheetlerinde CANBUS ile ilgili bölümü okursak CAN ID FILTREsi ile ilgili
genişçe bir bölüm old. göreceğiz...

Gönderilen şey temel manada sadece: CAN ID + 8 byte Data

@iyildirim,
Böyle bir standart bazen var gibime geliyor bazen de yok gibime geliyor :)
Tam olarak anlayabilmiş değilim...

a.zorba

Alıntı yapılan: minti34 - 26 Mart 2011, 21:38:45
arkadaşlar merhaba
herkese kolay gelsin.bir arkadaşımın 96 model toyota corollası var.

    arada asıl soruya cevab vermek gerekirse 96 model toyota corollo da can hatdı fılan yok istediklerini kendi yapmalı
Bilenler bilir . Biz maraşlilar için şehir olarak şubat ay' i bayram ,kurtuluş ,yaz in gelmesiydi. Şimdi karalar in yas in ayı oldu.

Klein

Alıntı yapılan: a.zorba - 28 Mart 2011, 09:02:06
Alıntı yapılan: minti34 - 26 Mart 2011, 21:38:45
arkadaşlar merhaba
herkese kolay gelsin.bir arkadaşımın 96 model toyota corollası var.

    arada asıl soruya cevab vermek gerekirse 96 model toyota corollo da can hatdı fılan yok istediklerini kendi yapmalı

Evet asıl soruyu arada kaynattık.

Devir bilgisi: 
Herhangi bir pistonun buji kablosu üzerine sarılacak tel ile alınabilir. Her piston 2 turda bir ateşleme yapar. Frekans*2 bize devir bilgisi verir.  Elektronik ateşleme varsa  elektronik ateşleme girişinden de bilgi alınabilir. Ancak ateşleme bobininin tipine bakmak gerek. Eğer distribütör varsa  tek bobin vardır.  her turda bir ateşleme yapılır. 

Hız bilgisi :
Araçta  ABS varsa ABS sensöründen bilgi alınabilir.  Yoksa en kolay çözüm, aracın kendi takometresinden almak olacaktır.  Aksi durumda arabanın teker bilyelerinden biri ABS li araçlarda kullanılan araca uygun bir bilye ile değiştirilip, menyetik sensör takılmalıdır. Bı işlem belki yürüyen aksamın komple modifiyesine kadar gidebilir.


tufican

usta her arabada obd 2 cıkışı vardır şimdi yapman gereken obd de senin aracının can bus kullandıgından emin ol kwp yada can vardır can varsa daha güzel
obd nin
4-5 şase
16 +12 v
14 can high 500kb baud rate
6 can low     500kb baud rate

11 can high 125k baud rate
3 can low 125k baud rate

anladıgın gibi 2 tane can hattı var bunların genelde 500 olanı beyin 125 olanı gösterge ile haberleşir ama senin aracında hanigsi oldugunu araştırmalısın dökümanlara girip

ondan sonra hız bilgisinin hangi adresten geldigini ogrenmen gerekir ben opel ford mazda gurubuyla çalışıyorum toyota hakkında bilgim yok

can datası bi adresle gonderilir yapacagın basit pic ccs ile gormek istedigin adresi filtreleyip portlara verirsin boylece hızı rahatlıkla okursun dedigim gibi
can baud rate ve aracın hız bilgilerini hangi adress ve baud rate üzerinden geldigini ogrendinmi gerisi kolay iyi calısmalar
insanın gerçekten isteyipte yapamıcağı bişey oldugunu düşünmüyorum

tufican

bu arada 96 modelse can patlar :) yeni gördüm
insanın gerçekten isteyipte yapamıcağı bişey oldugunu düşünmüyorum