STM32 TABANLI MASAÜSTÜ CNC-2 (Yeni model)

İlk yayında anlattığım (STM32 Tabanlı Masaüstü CNC – 1) masa üstü CNC yi güncelliyorum. Mekanik yapıda bir değişiklik yok. Ana değişiklik elektronik donanımdaki motor sürücüler. Buna ilaveten yazılımda, motor sürüm algoritmasında epeyi değişiklik var. Bunlardan bazılarını daha CNC ye uygulamadan önce aşağıdaki yayınlarda anlatmıştım.

Aslında diğer yayınlarımın neredeyse hepsinde CNC de kullandığım yazılım tekniklerinden bir şeyler var. Daha önce de belirttiğim gibi, bu CNC, öğrendiğim şeyleri hayata geçirdiğim bir test platformu haline geldi.

YENİLİKLER – YENİ MODEL

Yeni modeldeki temel değişiklikler şunlar :

  • L298 Bipolar sürücüler yerine A4988 MOSFET sürücüler
  • Sabit 5V DC motor sürümü yerine 20+ V DC PWM akım kontrollu sürüm
  • Kullanıcı girişleri ve Gcode/Excellon kod aktarımı için yoklama yöntemi yerine kesinti tabanlı ring buffer kullanımı
  • PC ile UART haberleşmesinde checksum doğrulaması kullanımı
  • Tuş panelinden kullanıcı girişleri için basılan tuşun ASCII kodunu gönderen bir HMI paneli
  • TFT sürümünde DMA kullanımı
  • SD kart kullanımı için temizkenmiş FATFS kodu
  • Spindle motorda manuel sabit DC hız kontrolu yerine kapalı çevrim PID/PWM sürüm tekniği.

KONFİGÜRASYON BİLGİLERİ ve DONANIM DEĞİŞİKLİKLERİ

YAZILIM : 
Mikrodenetleyici yazılımı : STM32F205RC_CNC_R20  (Ekim 2020)
PC-Data streamer: Python Streamer R3(checksum fonksiyonu ile)

DONANIM :
CNC BaseBoard : Smart CNC Minikit R2a Dec2018 - değişiklikler ile
Mikrodenetleyici modülü: STM32F205RC Minikit-S R4 - değişiklikler ile

PLAKETLERDEKİ DEĞİŞİKLİKLER

CNC kontrol birimi bir CNC ana kartı ile bunun üzerine takılan bir mikrodenetleyici kartından oluşuyordu. CNC ana kartı aynı zamanda motor sürücü L298 tüm devreleri ve çevrelerindeki devre elemanlarını, konnektörleri de içeriyordu. Minikit adını verdiğim mikrodenetleyici kartı da bir STM32F103RBT6 mikrpdenetleyici ile bunu destekleyen devre elemanlarını içeriyordu.

Yeni modelde de aynı baskılı devreleri kullanıyorum. Ancak artık CNC ana kartı üzerinde L298 motor sürücüler yok, o bölüm boş kalacak. Bunların yerine Arduino uyumlu olan paralar konnektörlere takılan bir A4988 adaptör kartı geliyor. Dolayısı ile Minikitin ana karta bağlanış şeklinin değişmesi, bazı devre bağlantılarının değişmesi gerekiyor.

CNC TABAN KARTINDAKİ DEĞİŞİKLİKLER

CNC Ana kartında A4988 sürücülere “x_dir”, “y_dir” ve “z_dir” yön sinyallerini C09, C10 ve C11 çıkışlarından verdiğim için bu çıkışları Arduino uyumlu konnektörde karşı düşen pinlere bağlamak üzere 3 adet bağlantı yapmamız gerekiyor. Bu pinlere önceki modelde paralel girişli TFT ekranları sürmek için PB13, 14 ve 15 çıkışları bağlı idi. Bu pinler aynı zamanda SPI2 porta ait, bunları artık SD kart sürmek için kullanacağım.

Özetle : PB13,14,15 pinlerini SD kart için kullanmak üzere ayırıp, bu pinlere daha önce L298 sürmekte kullandığım, şimdi açığa çıkan PC09,10 ve 11 çıkışlarını bağlıyoruz.

Bir de A4988 adaptör kartına 3.3 Volt Vcc beslemesi vermek üzere ilave bağlantımız var.

Öenli bir değişiklik de minikiti konnektörlerinin monte edildiği yüzde oluyor. Minikitin takıldığı konnektörler artık ana kartın üstünde değil, alt tarafında yer alıyor.

Ayrıntılar aşağıdaki fotolarda görülüyor.

CNC Anakartı alt taraftaki değişiklikler.
CNC Anakarttın üst tarafındaki değişiklikler.
Ana kartın alt tarafındaki Vcc bağlantısı. Minikit konnektörleri önceki modelde bu yüzde değildi, yeni model ile birlikte alt tarafa geçtikleri görülüyor.
CNC ana kartı alt taraftaki değişiklikler ve minikti konnektörleri ile bu görünümü aldı.
CNC Ana kartın üst tarafı.Minikit artık bu yüze takılmayacak. Bu yüzde A4988 adaptör kartının takıldığı Arduino uyumlu konnektörler var. Bu konnektörlere daha önce paralel girişli TFT ekranları takıyordum.

MİNİKİT MODÜLÜNDEKİ PCB DEĞİŞİKLİKLERİ

Minikit modülünde daha önce SPI arayüzlü TFT ekranların yine SPI arayüzlü olan dokunmatik panel bağlantılarına erişim yoktu. Dokunmatik panel istediğimde paralel girişli TFT ekranlar kullanmak zorundaydım. Şimdi, SPI arayüzlü TFT lerin dokunmatik tipte olanlarını kullanmak niyetinde olduğum için buna yönelik bağlantıları eklemek gerekiyor. SD kart, TFT ve Dokunmatik panel seçim (SD_CS, TP_CS ve TFT_CS) pinlerini de sırasıyla C13, C14 ve C15 çıkışlarına bağlamak üzere değiştirilen/ek bağlantılar var. TFT_CS eskiden B8 üzerindeydi.

Bu bağlantılarla TFT ve dokunmatik panel SPI1 portunu paylaşıyor, SD kart ise SPI2 üzerinde. (Bu amaçla ana kart üzerindeki değişiklik ile SPI2 yi boşa aldığımızdan yukarıdaki paragrafta söz etmiştim.)

Minikit üst taraftaki değişiklikler.

Yeni bağlantı düzeninde Minikit/anakart bağlantı konnektörleri de alt taraftan üst tarafa geçiyorlar. SPI TFT konnektörleri de alt tarafa geçiyor.

Yeni Minikit (Altta) ile eskisinin konnektör yönlerinin karşılaştırması. Yeni minikitte her iki tarafa uzanan pinler sadece bu prototipe has bir şey. Devamında sadece üst tarafta pinler olacak. En sağdaki siyah dişi konnektörü yanlış lehimlemişim, alt tarafta olması gerekiyor. (TFT nin SD kart konnektörüne karşı gelecek.)
Minikit Ana karta takıldığında bu görünümü alıyor. Bunun üzerine de TFT takılacak.

YENİ CNC KONTROL BİRİMİ

Yeni modelin kompakt bir yapıda olmasını hedefledim. Konstrüksiyon konusunda olabildiğince beceriksizim, bu hale deneme yanılma teknikleri ile gelebildim. Sonuç pek de fena olmadı bence.

Kontrol sistemi, tuş takımı bloku ile birlikte görünüm.

Konnektörler üstten alta geçince TFT pinlerinin dizilişi tersine döndüğü için bir çevirici karta ihtiyaç doğdu. Şimdilik biraz uzun, ama atölyeye gittiğimde o fazlalık kesilecek.

CNC kontrol biriminin A4988 adaptör kartının takıldığı taraftan görünümü. Sistem kutulandığında bir fan ile soğutma desteği olacak. Ana kartın boş kalan kısmını kesmeyi şimdilik düşünmüyorum.

YAZILIM

Devam edecek – 10 Ekim 2020

Leave a Reply

Your email address will not be published. Required fields are marked *