USB İLE İSİSE VERİ (Analog/Dijital) GİRİŞİ

Başlatan BİLİRSHOP, 13 Kasım 2014, 23:08:28

BİLİRSHOP

Öncelikle hepinize şimdiden teşekkür ediyorum.
Ben isis ile basit bir fabrikanın tüm elektrik sistemini similasyon olarak hazırlayıp fabrikaya yapılacak olan ekleme çıkarmaları burada test etmek istiyorum.
Ama isisde yapacağım denemelerde dış ortamdan bazı veriler girmem gerekiyor. örneğin sistemdeki devir sensörünün 5hz lik dijital verisini isisse bir şekilde girebilmem lazım.1-Açaba bu mümkün mü?2- Ve eğer mümkünse bunu nasıl yapabilirim?3-Bunu yapabileceğim başka programlar var mı?
cevaplarınızı bekliyor iyi günler diliyorum...

pax


okay57

C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\PIM Drivers adresindeki VirtualUSBDriver.exe uygulamasını kur.

baran123

Yapıcağınız projeyi tam anlamasamda virtual usb kullanımını soylıyım . Önce @okay57 hocamın verdiği dizinden exe yi kurun sonra ısıse gırıp usb ılslemı ıcın yapacagınız devreye usb soketı ekleyın baglantılarını yapın daha sonra bilgisayarda bir arayüz yazarak örneğin c# isis'e veri gönderebilirsiniz alabilirsiniz yani bu iş aslında usb den devre ile bilgi alış verişi oluyor issde sadece simülasyon yapıyorsunuz daha sonra bu devreyi pcb ye yaparak usb soıketı ıle bılgısayara baglayıp bilgisayarda yaptıgınız program uzerınden kontrol edebılırsınız

yada siz usb den girilen analog dijital verileri direk olarak isis e aktarmak ıstıyorsunuz orasını bılmıyorum :)


OG

USB olması şartmı, seri port için (artık pc lerde seri port nadir bulunuyor, usb yi seri port olarak kullanıyoruz sanal seri port ile) birkaç ufak açıklama yapayım, konuya yeni girenler bu sorularla karşılaştığı için başlangıç seviyesinde bir açıklama olsun;

PC, dış dünya ile SERI PORT aracılığı ile irtibatlanır.
PC deki Seri PORT'lar, Windows (W7 TR) Denetim Masası / Aygıt Yöneticisi'nden "Bağlantı Noktaları (COM ve LPT)" altından görülebilir.

PC de seri port yoksa 10-15TL lik USB/SERI donusturucu cihazı takılır.

USB ye takılan bu cihaz, bir ucu USB diğer ucu SERI yapıdadır ve o USB artık bir seri port dur (sanal dönüşüm) ve windows da seri port olarak görüp bir port numarası atar.

Bu dönüştürücüler aslında genelde USB/TTL yapıdadır,
yani USB den ilk dönüşüm MCU'ların kabul ettiği TTL seviyesindedir.
Bu durumda USB ye taktığınız cihaz size RX, TX uçlarını TTL olarak vermiş olur. GND yi referans alarak bu uçlar ile logic iletişim yaparsınız. Bunlara ilave olarak bazı cihazlarda (opsiyonel) RTS CTS gibi diğer uçlarıda TTL seviyede elde edebilirsiniz.
TTL seviyeler RS232 ye uyum için MAX232 türü malzemeler ile bir dönüşüm daha yapılıp RS232 seviyelerine çekilir.
RS232 voltaj seviyesi (GND ye göre)
-H için -12V lar gibi bir düzeydedir.
-LOW için +12V lar gibi bir düzeydedir.
Çoğu zaman bu voltaj değerlerine ulaşılamaz, bir iki volt seviyeleri bile iletişim için yetmektedir.
Bu sebeple Ucuz basit cihazlarda RS232 uçlarında
-H için 0V,
-LOW için +5V görürseniz şaşırmayınız.

---

Dış dünyadan gelen iletişim RS232 yapıda ise ve,
elimizde Sanal Seri Cihazı (USB/SERI donusturucu) varsa, bu dış dünya ile iletişim sağlayan bir DONANIMSAL PORT dur yani Fiziksel bir port dur.
PC deki çalışan bir program da bu bağlantı noktası ile iletişim yapabilir, dış dünyadan gelen bilgiyi alabilir, üreteceği bilgiyi dış dünyaya gönderebilir.

Üstteki anlatılanlar, PC için, yani bir PC programı için, kendisine göre DIŞ DÜNYA sı ile iletişim kurmayı, Fiziksel yapıda var olan bir uç ile yani Seri Port / USB den Seri Port ile göstermekte. Yani çalışan bir PC programı, PC de mevcut Fiziksel bir uç olan Donanım PORT'una hükmetmekte.

PC de çalışmakta olup, dış dunya bağlantısı kuran fiziksel bir uca (porta) hükmeden programınız var.

Yine PC de bir başka programınız daha var ve bu tamamen sanal bir alem. Var gibi olan donanımlar aslında tamamen sanal.
Direnciniz kondansatorunuz var ama aslında sanal. İki direnci bir power supply a bağlıyorsunuz ne kadar akım geçtiğini ölçüyorsunuz, dirençteki voltajı ölçüyorsunuz ama bunlar gerçekte olmuyor yani sanal. Ancak elde edilenler gerçek (başarabildiği kadar)  gibi değerler.
OPAMP'ınız var sanal.
MCU'nuz var, hex yükle çalıştır, bak bakalım ne yapıyor, sanal,
Ama çalıştımı,  çalıştı.
Bu sanal alemin adı ISIS.

Az sonra tezgahta lehimleyeceğiniz cihazınızın malzemelerini bu sanal alemde denediniz ve çalıştı.

Bu cihazınızın bir de portu var, cihazın kendi dünyasından dışarısı ile iletişim kuracak. Bu cihazı tezgahta lehimleyerek yaptığınızda MAX232 eklediniz ve bir dış dünya iletişim portu elde ettiniz. Denediniz, çalıştı.

Peki, bu cihaz henüz gerçek dünyaya geçmemişken, ISIS sanal aleminde çalışırken, kendisi ile kendisi dışında iletişim sağlayacak ucu (portu) nasıl irtibatlandıracağız. Tuhaf bir durum oluştu, "sanal cihaz için sanal bağlantı ucu".

Sanal dunya ISIS, bunu COMPIM denen bir sanal komponent (parça, ama tabiiki sanal bir parça) ile sağlıyor. Bu parçayı MCU nuz ile irtibatlandırıyorsunuz, iletişim hızlarını vs ayarlıyorsunuz, MCU bu parça aracılığı ile kendisinden dış dünya ile iletişerek datasını alıp veriyor.

MCU sanal, dış dünya ucu COMPIM sanal. Peki bu sanal ucu, PC cihazının sanal olmayan gerçek ucu ile nasıl irtibatlandıracağız? Bu işi de "Configure Virtual Serial Port Driver" gibi programlar yapıyor. İkisi arasında köprü bağlantı oluşturabiliyor.

Bu durumda şunu yapabiliyoruz.
Henuz gerçek yaşama geçmemiş cihazı, yani, yanlız ISIS sanal dünyasında denediğimiz cihazımızı PC nin gerçek fiziksel portu ile irtibatlandırıyoruz. PC ye dış dünyadan o uç ile gelen bilgiler cihazımız ile haberleşiyor, tek fark cihazımız henüz madde olarak elde değil, yani sanal. Diğer ifade ile henüz ilim boyutundan fiil boyutuna geçmedi.

---------

Soruya dönersek, fabrika verileri PC deki ISIS içine bahsi gecen köprü programlar ile bağlanabilir.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

OG

Şunu dikkate alın.

ISIS de bir simulasyon başlatırsınız, program koşmaya başlar. Bu koşum, verilmiş işlemi yapa yapa devam eder. İşlem ağırlığınız PC için az ise ISIS'in koşum süresi gerçek dünyanın koşum süresi ile paralel gider. Yani işlemi startladınız, gerçek dünyanın saati ile 5sn sonra ISIS'in saatine baktınız, onda da 5sn yi görebilirsiniz. ISIS, gerçek dünyadaki saatde koşmakta sıkıntı çekmemiştir.

Fakat genelde ISIS programları PC yi kasar ve gerçek dünyanın zaman koşumuna yetişemez, geride kalır. Gerçek dünyada 5sn geçmişken ISIS örneğin henüz 3. saniyede olan işlemler ile uğraşmaktadır. Gerçek dünyadan 2 sn geri kalmıştır.

Bu durum size şu sıkıntıları yaşatır. Dış dünyadan gelen veriler varsa bunlar gerçek zamana göre koşuyordur, oysa ISIS daha yavaş koştuğundan bazen gelen veriyi doğru okuyamaz çünkü o okumaya çalışırken gelen veri çoktan bitmiştir bile.

Gibi.

Bu sorunu minimize etmek için ISIS de koşturulacak cihaz tümü ile değilde modul modul denenir. Bu sayede ISIS yükü azalır ve koşusu gerçek zamana daha yakın sürelerde olur. Sanal olarak modul modul denenenler sonra gerçek dünyada bütün olarak kullanılır.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.