kendi usb kontrol kartımızı kendimiz yapabileceğiz gibime geliyor

Benim bildiğim kadarıyla Mach3 herhangi bir şekilde seri haberleşme yapmak istediğinde Modbus protokolünü kullanıyor. Daha önce okuduğum şeylerden, yapılan projelerden hatırladığım kadarıyla bu böyleydi. Modbus dışında bildiğiniz Mach3 ün desteklediği bir protokol varsa bildiğiniz söylerseniz ben de öğrenmiş olurum. Tek olmasada en çok kullanılan yöntemin Modbus olduğunu düşünüyorum hala https://www.google.com.tr/search?q=...=how+to+communicate+with+mach3+through+serial

Burdaki bahsettiğimiz paralel porta yoladığı bilgiyi capture edip usb üzerinden gönderip tekrar kartta paralele verme olayını da brainler ve modbus üzerinden yapmıyor muyuz?

Diğer ihtimal bence de gayet basit ve mantıklı, çünkü zaten şuan G-code u okuyup mcu nun outputlarına verebilecek algoritmalar internette var. Kolayca yapılabilir, yapıldı kullanılıyor da zaten ama kazımuğur hocamın söylediği gibi mach3 ün özellikleri ni kullanmak isteyen kişiler bunu yeterli bulmayabiliyor. Yani ikisi de gerekli...

Herkese iyi forumlar...:)


Modbus-modIO konusunda okuyup-izleyip anlayabildiğim kadarıyla;
Mach3 ün seri haberleşmesi için Modbus- modIO kullanıldığı doğru. Ancak bu haberleşme, limit sw, enkoder, spindle on-off vs. gibi aksesuarlar için.
Konu motorlar için üretilen step-dir sinyallerinin aktarımı olduğunda modbus-modIO işe yaramıyor. USB kontrol kartı dendiğinde benim öncelikle sorguladığım ve modbus ile ilişkiyi kuramadığım nokta modbus ile step-dir sinyallerinin nasıl aktarılacağı konusuydu.

Zaten basitçe düşününce 115200 gibi seri hızlarda sadece 3 eksenin dir-puls sinyalleri için çıkılabilecek max hız 10KHz gibi birşey olur. Ki oda USB-seri dönüştürücülerin driver vs.deki latency yüzünden 10kHz bile en en iyi durumda olabilecek hız. Ping süresi fazla gibi tarif edeyim.

Görebildiğim-anlayabildiğim kadarı ile Paralel porta gönderilen bilgiyi capture etmenin yolu plugin yazmaktan geçiyor.
Mach3 ün Brain ve modbus yapısı konusunda anladığım brain 'in adeta bir plc gibi çalıştığı modbus ın da plc ler arası iletişimi sağladığı.

Bilgiyi capture etmeyip, Gcode ları kendi kartımıza göndermek işlemek için belki modbus yapısı kullanılabilir. Atıyorum 64 register üzerinden çalışılıp, g-code ları string olarak coil registerlerine yazmak gibi birşey. Kartta registerleri kendimiz kontrol ediyorsak istediğimiz gibi yorumlarız.

[MENTION=414]KAZIMUGUR[/MENTION] hocam,

Comport dan bir bağlantıyı mach3 görebiliyor.
Bunun için 0x278-378 yerine modbus IO seçmek yeterli.
Burada kastettiğiniz, paralel portların yerine sadece modbus seçmek ve motorları bu şekilde sürmek ise benim kaçırdığım birşeyler var ve yukarıda modbus-modIO ile ilgili yazdıklarım çöp. Doğru mudur?.


G-code ları işlemek konusunda ise yeterli kaynak-bilgi bulmak kolay.
Aklıma gelen, mesela Mach3 ün CV modda çalıştığı durumda, mach3 ile birebir aynı pulsları üretmek gibi konular zorlayabilir. Yolları tam olarak izleyecekmiyiz, yoksa köşelerde biraz yumuşatma yapılacak mı gibi konular. Bu aslında yoğurdu nasıl yemek gerektiğine karar vermek gibi birşey. Ki burada tecrübeli arkadaşların yönlendirmeleri çok önemli.

G-code lar arasındaki ilişki, milisaniye gecikme gibi konularda sorun yok hocam. Korkum da yok. :)
Bir şekilde halledilir. Gecikme den kastettiğim mach3 ün üretiği step-dır sinyallerinin usb ile aktarılıp kartta ki paralel çıkış da görülecek gecikmeydi.

SDK da plugin yazma ile ilgili bayağı birşey var.
Yine de Plugin yazma konusunda deneyimi olan birileri olsa da en azından doğru noktadan başlama adına tecrübelerini paylaşsa ne iyi olurdu.
 
İlk zamanlarda rs232 üzerinden çalışan sürücüler vardı.
Yanlış hatırlamıyorsam gecko gibi bir adı vardı.
Paralel harici çalışan tek karttı .
Sonra Pokey hatırlıyorum.

Plugin lerin yenileri şunlar :

Plugins - Newfangled Solutions

Pokey bahsettiğimiz io kart.
Bunun ilk versiyonu sadece io idi step dir yoktu.
Sonraki versiyonlarında step/dir eklenmiş olduğu yazıldı.
Ben kullanmadım ama ilk versiyonlarından biri olacak hurdalıkda.

Polabs - Affordable PC USB oscilloscopes, logic analyzers and USB interfaces


Gecikme ve hız konuları çok önemli değil.
Hatta bazı durumlarda bir satırın işlenmesi dakikalar sürerken yeni bilgilerin bir tampona aktarılması sorun olmaz.
RT olmasında az gecikme ile başlasın gerisi gelir nasıl olsa.
Motor config lerde yazılan yüksek değerler otomatik olarak program tarafından düşürülüyor zaten.
Port and pin deki kernel hızına bağlı olarak.
Güçlü bir donanım değilse 100khz gibi seçimde takılmalar kilitlenmeler oluyor.
Bu belkide mach3 ün en zayıf yanı.
Neyse ki amatör işlerde yüksek hız ve microstep değerleri gerekmiyor...


Bu arada bakarken usb üzerinden 5 paralel port sunan kart gördüm.

Usb çözülürmü ki diye bakıp dururken şimdide ethernet modası başladı.
Forumlarında daha güvenli olduğundan söz ediliyor.
Sanırım lpt-rs232 derken usb de tarih olsada ethernet hep var mantığı...
 
Mach3 ün en zayıf yanı dediğiniz gibi takılma durumları- olasılıkları.
PC üzerindeki diğer process lerden etkilenmesi. Dökümanlarda, forumlarda win registry si, disable edilecek servisler vs. konular var.

Günümüzün 5-10 usd lık ortalama bir 32bit işlemcisi ile aksesuarlar(enkoder, led, button, DRO vs. ) abartılmazsa 3-4 eksen için 250- 500KHz gibi değerlere çıkılabilir. Ki mach3 için 100KHz max değer.

Bu durumda Mach3 ün step-dir üretmesini engelleyip, g-code ları bir mcu üzerinde işlemek, hem mach3 alışkanlığı, hem harcı alem bir pc nin yeterli olması, hemde üretilen sinyal kalitesi açısından en verimli yöntem gibi görünüyor.

Ethernetin bir ucunda PC olacaksa RT işlemler için yine PC-win ona göre ayarlanmalı. Firewall, AV vs.vs ethernet iletişimine karışıyor.
Bence Realtime açısından bakınca genel kullanıma açık PC üzerinde usb daha iyi görünürken, mcu-mcu plc-plc gibi yerlerde ethernet daha iyi gibi.
Tabii PC sadece bu işe atanmış ise durum değişir. Üzerindeki 1588 RT timestamp desteği olan PC kartlar gibi şeyler de devreye girince ethernet bayağı bir öne çıkar.
 
Verdiğiniz bilgiler için teşekkür ederim.
Konu açılmışken sorayım. Gecenlerde siemensin sinumerik 840d acılırken linux yazısını gördüm.

Siemens bu kontrol işini işletim sistemi kullanarak mı
yapıyor ?
Linux kernelinimi kullanıyor?
 
Verdiğiniz bilgiler için teşekkür ederim.
Konu açılmışken sorayım. Gecenlerde siemensin sinumerik 840d acılırken linux yazısını gördüm.

Siemens bu kontrol işini işletim sistemi kullanarak mı
yapıyor ?
Linux kernelinimi kullanıyor?

Bende aynı şekilde 1 yıldan az bir süre önce 840d açılırken windows xp yüklenme grafiği görmüştüm, bildiğiniz xp yüklenmişti yani. Şaşırtmıştı beni de vakit bulup araştıramamıştım.


Serial haberleşme konusundaysa ethernet kullanımını amerikanın iyilerinden birinden olan bi Elektronik kit satıcısında görmüştüm. Mach3 kullanıyorlar, ve genelde sektördeki yenilikleri onlarda görüyorum. Ethernet ile de en az bi kaç yıl daha gider gibi geliyor bana... Bu ethernet sistemini çalıştıran, argesini yapan birisi olursa paylaşım yapması iyi olurdu.


KontrolKalemi Mobile ile gönderildi.
 
Yurt dışından yani çinden usbcnc kartı aldım.usbcnc programı ile açtım kart lisansı ve serial numarası çıktı ve cdsinden lisans anahtarını girdim ve program çalışmaya başladı.buraya kadar her şey normal. birkaç gün sonra kart lisansının değiştiğini gördüm.cd deki lisans anahtarı iş görmüyordu.satıcıyı aradım durumu anlattım tamam dedi kart yapımcılarla görüşeyim sana dünerim dedi.neyse bir sonraki gün değişmiş olan lisansa göre yeni bir lisans anahtarı gönderdi.tekrar çalışmaya başladı.Bu durum bir defa daha tekrarldı.gene lisans anahtarı gönderdi.Kart lisansının neden iki defa değiştiğini anlayamadım.Kart yapımcılarda bu lisansların keygenleri var herhalde 16 harflik lisansı yollayınca onlarda buna göre lisans anahtarını yollayabiliyorlar.
 
[MENTION=29892]turgut94[/MENTION]
Hocam, çinliler keygen vs. kullanıyordur yada aldıkları lisansı paylaşıyorlardır vs. ayrı konu. Program - orijinal kart üreticileri paylaşılan lisansları blackliste alıyorlar. Önerim bu tip programlarınızın internet çıkmasını engellemeniz olacak. Win firewall, veya AV üzeriden yapılabilir. XP de kerio diye free bir program kullanıyordum. Neredeyse 5 sene aynı windows u hiç sorunsuz kullandım.

[MENTION=237258]furkanyılmaz[/MENTION]
Hocam, ethernet ile birşey ler yapmıştım.
Sistemden kastınız nedir. Hardware tarafımı, Soft mu?.

Neyse mcu tarafı için işin kolay yolu microchip enj serisi veya DM9000 gibi hem mac hemde phy barındıran chiplerle çalışmak.
Bunun dışındaki seçeneklerde mcu nun mac katmanını desteklemesi gerekiyor. Ama yine de fiziksel katman için bir PHYter kullanılması gerekiyor.
Soft olarak öncelikle IP protokolü ve sub protokoller bilinmeli. Minimum durumda ARP, MAC, TCP ve/veya UDP hakkında bilgi sahibi olunmalı.
mcu üzerinde çalışacak sofware için microchip tarafında TCP-IP stack ARM tarafında da CMSIS gibi kütüphaneler var. Herşeyi sıfırdan yazmak gerekmiyor neyseki. Performans dan ziyade genel çalışır birşey olması gözetilmiş olsa da gayet güzel çalışıyorlar.
PC tarafında ise dİrekt Win API üzerinden socket, veya winsock activex - .net komponentleri üzerinden gidiyor olay.
Remote IP, port tanımlarını yap. Connection oluştur, veriyi gönder. Veri alımı da genelde event üzerinden olur.
Platform-dil tercihi gibi şeyleri söylerseniz ve elde uygun birşeyler varsa yardımcı olmaya çalışırım. Gerçi netde de örnek bi dünya.

Konu ile ilgisi açısından Ethernet veya USB, UART iletişiminin tersine birden fazla endpoint veya port destekledikleri için bu tip kontrol kartları ile kullanıma çok daha uygun. Bir port dan g-code gönderirken, diğer porttan koordinat bilgisini almak gibi. Bu ayrım driver bazında yapıldığı içinde programların daha yalın olması mümkün oluyor.
 
[MENTION=147428]ISMAILY[/MENTION]

Hocam dil olarak C mcu olarak Atmel genelde tercihimdir. Sizinde söylediğiniz gibi bazı protokolleri vs. bilmek gerekiyor, detaylı bi araştırma da yapmak gerek, örnek projeler falan da incelendiğinde zaten olayın %90 ı çözülmüş olur. Benim araştırmadan buraya sormam saçma oldu biraz. Biraz araştırıyım sınavlardan işden güçten vakit buldukça, sonra bi konu açarım takıldığımız kısımları o konu altından yürütürüz.


KontrolKalemi Mobile ile gönderildi.
 

Forum istatistikleri

Konular
129,867
Mesajlar
930,872
Kullanıcılar
452,732
Son üye
erencok

Yeni konular

Geri
Üst