ARDUINO uyumlu ChipKit Max32 ile ilk Çalışmalar | First Demo with ARDUINO Compatible Chipkit Max32 Board

20131122_132819

ChipKit ile Ultasonik sensör ile mesafe ölçümü.

Arduino uyumlu ChipKit (http://chipkit.net/) ilk yaptığım uygulama, oldukça başarılı bir arayüzü bulunmakta (http://chipkit.net/started/) ve programlaması beklediğimden daha kolaymış.

Ultrasonik sensörden mesafe ölçmek için aşağıdaki test programını kullandım

const int inputPin = 4; //Yansıyan sinyal girişi
const int outputPin = 5; //Sinyal gönderme çıkışı
const int ledpin = 3;
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(inputPin,INPUT);
pinMode(outputPin,OUTPUT);
}
void loop()
{
digitalWrite(outputPin,LOW) ;
delayMicroseconds( 2 ) ;
digitalWrite(outputPin,HIGH) ;
delayMicroseconds( 10 ) ;
digitalWrite(outputPin,LOW) ;
int distance =pulseIn(inputPin,HIGH) ;
distance = distance/58; // ölçü birimini cm çevir
Serial.println(distance); //hesaplanan değeri bilgisayara gönder
delay(50) ;
if(distance >= 50)
{
digitalWrite(ledpin,HIGH) ;
}
else
digitalWrite(ledpin,LOW) ;
}

Bu kart ile değişik uygulamaları kolayca yapabileceiğimi düşünüyorum. ebay’ dan  getirttiğim farklı farklı sesnörler bulunmakta onları da sırasıyla denemek için sabırsızlanıyorum.

Dr Süleyman Canan

PIC Mikroişlemci ile Kesmeleri Verimli Kullanma | Using Timer Interrupt with PIC Controller

Bu bölümdeCCS PIC C derleyicisi ile kesmelerin kullanımı gösterilecektir.
TIMER0  kesmesi kullanarak hassas bir şekilde bir LED’i yakıp söndürebiliriz. TIMER0 8 bit bir sayıcıdır.
PIC kesmesinin her 1 ms gerçekleşmesini istersek
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16|RTCC_8_BIT);
ile frekans önbölücü 16′ ya ayarlanır, PIC kendi içinde de otomatik olarak 4′ e bölmektedir,
böylece hesap (16000000Hz/16)/4=250000Hz olur
Kesmeye bir kere giriş süresi 1/250000 sn’ dir, yani kesme her 0.000004 sn’de gerçekleşir.
her 1ms’ de kesme gerçekleşmesi için TIMER0 sayaç 250 kez sayması gerekir (0.000004*250=1ms).
Bunun içinde main ve kesme rutininde
set_timer0(5);
komutu yerleştirilir.
Kesme rutini işlendikten sonra en son set_timer0(5); komutu işletir ön sayıcıyı tekrar kurulmuş olur.
Eğer sayaç önyükleme = ise Sayaç 0 dan 255′ kadar sayar, bu komutla sayaç 5 ten 255′ e kadar sayar 255′ ten 0’a geçişte kesme gerçekleşir.

Öncelikle PIC işlemcinin 16MHz de çalışacak şekilde ayarlanır.

Bu durumda:

short toggleled;
unsigned int16 ledcounter;
void main()
{
 setup_adc_ports(NO_ANALOGS|VSS_VDD);
 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16|RTCC_8_BIT);
 setup_oscillator(OSC_16MHZ);
 set_tris_c(0x00);
 set_timer0(5);
 enable_interrupts(INT_TIMER0);
 enable_interrupts(GLOBAL);
for(;;){}
}

Aşağıdaki programda kesme rutini  verilmiştir

#int_TIMER0
void  TIMER0_isr(void)
{
ledcounter++;
if(ledcounter=150)
{
ledcounter=0;
toggleled^=1;
}
if(toggleled) output_high(PIN_C0);
else output_low(PIN_C0);
set_timer0(5);
clearinterrupt(int_timer0);
}

PIN_C0 pinine bir LED bağlarsak, LED 150 ms yanar ve 150 ms sönük kalır.
Bunu gerçekleştirmek için program her kesme rutinine girince ledcounter sayacını artırır, 150 ye yani 150 ms2 ye eşit ya da büyük olunca
ledcounter sıfırlanır ve toggleled 1 ile XOR’ lanır, XOR işlemi her 150ms de bir toggleled değişkenini 0 dadn 1 e daha sonra 1 den 0 değiştirir.
Bu işlem sonsuza kadar devaö eder.
Eğer toggleled 1 ise LED yanar değilse söner.

Daha sonraki programlama tekniklerinde bu işlemleri daha da kısaltabileceiğimizi veya daha anlaşılabilir hale getirebileceiğimiz göreceğiz.

Dr Süleyman CANAN

KolayCNC Kendi CNC’ ni yap | EasyCNC DIY Homemade CNC

Ev ortamında MDF’ den CNC yapımı

CIMG9838.jpg

Nihayet projenin sonuna doğru yaklaşıyorum.  Bütün eksenler monte edildi ve mekaniksel problem olup olmadığı kontrol edildi. Eksenlerde dik ve paralellik ayarlarının yapılması gerekiyor. Şu anda Motor kabloları, limit siviçler bağlanması kaldı. 24~30 volt 250W güç kaynağını ile Step Motor Sürcüsünü hazır aldım. Bu bağlantıları da bitirince ilk kesmeve oyma işine başlayacağım. Mach3 CNC kontrol programının kullanım kılavuzunu aylar önce  Artsoft sitesinden indirip yazıcıda basmıştım, bu yazılıma olan hakimiyetimi artımam gerekiyor, yani o 200~300 sayfalık dokümanı baştan sonra okuyacağım. Ağustos 2009  tarihinde tam olarak başlayıp 03 Mayıs 2010 tarihinde mekaniği bitirebildim. Bitirmek için en çok gayreti son 4 ayda gösterdim. Benim için uzun bir öğrenme ve tecrübe süreci oldu. Ama gerçekten değdi çok şey öğrendim. Bu tecrübeyi yaşamadan her şey teoride kalıyor.

Ama işimiz bitmedi daha yeni başlıyor, bu makina ile neler yapabileceğimizi hep birlikte göreceğiz, yeni maratona hazır olunuz.

Bu kısımda yapım aşmalarının CAD çizimleri ile birlikte vermeye çalışacağım. CNC nin bazı parçalarını imal ederken değişiklik yapılması gereken yerler oldu. CAD çizimlerindeki düzeltmeleri yaptıkça sitenin bu bölümnde yer alacaktır. Ayrıca yaşadığım tecrübeleride sizlerle paylaşacağım. Umarım bunda sonra çok daha gelişmiş CNC yapılır ve burada paylaşılır.

Continue reading KolayCNC Kendi CNC’ ni yap | EasyCNC DIY Homemade CNC