Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: Atima - 02 Kasım 2021, 15:49:05

Başlık: Step Motor Döndürme Hakkında
Gönderen: Atima - 02 Kasım 2021, 15:49:05
Merhabalar elimde NEMA17 4401 4 kablolu step motor var. 200 adımlı bir motor dönme açısı 1.8derece. CCS C diliye aşağıdaki kodu yazıyorum for(x=0; x<50; x++)
      {
         output_high(in1);
         output_low(in2);
         output_low(in3);
         output_high(in4);
         delay_ms(5);
         output_high(in1);
         output_low(in2);
         output_low(in4);
         output_high(in3);
         delay_ms(5);
         output_high(in2);
         output_low(in1);
         output_low(in4);
         output_high(in3);
         delay_ms(5);
         output_high(in2);
         output_low(in1);
         output_low(in3);
         output_high(in4);
         delay_ms(5);
      }

for döngüsüne 50 yazmamın sebebi for döngüsünde 4 kere komut veriyorum 4x50=200 adım ediyor. Fakat her tur atışımda motor bi kaç derece sapıyor. Yani motor bi önceki konumundan daha geride ya da ileride kalıyor. Ne önerirsiniz?
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: Mucit23 - 02 Kasım 2021, 16:05:49
Sargıların sırası yanlış. Kabloların sıralamasını değiştirerek birkaç deneme daha yapın.
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: fide - 02 Kasım 2021, 17:40:35
for(x=0; x<50; x++)
      {
        output_high(in1);
        output_low(in2);
        output_low(in3);
        output_high(in4);
        delay_ms(5);
        output_high(in1);
        output_low(in2);
        output_low(in4);
        output_high(in3);
        delay_ms(5);
        output_high(in2);
        output_low(in1);
        output_low(in4);
        output_high(in3);
        delay_ms(5);
        output_high(in2);
        output_low(in1);
        output_low(in3);
        output_high(in4);
        delay_ms(5);


Yarım adım sürmeye çalışmış olabilir misin?
Yada high ve low sırasını karıştırmış?
Ful step de sadece bir sargı enerjilenir. Senin kodunda iki sargı ve ikinci rutinde ilk rutindeki sargı enerjilenir. Yani sıra karışmış.
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: Atima - 03 Kasım 2021, 08:55:49
Kabloların yerini değiştirince hiç çalışmıyor malesef..
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: Atima - 03 Kasım 2021, 08:57:12
Alıntı yapılan: fide - 02 Kasım 2021, 17:40:35for(x=0; x<50; x++)
      {
        output_high(in1);
        output_low(in2);
        output_low(in3);
        output_high(in4);
        delay_ms(5);
        output_high(in1);
        output_low(in2);
        output_low(in4);
        output_high(in3);
        delay_ms(5);
        output_high(in2);
        output_low(in1);
        output_low(in4);
        output_high(in3);
        delay_ms(5);
        output_high(in2);
        output_low(in1);
        output_low(in3);
        output_high(in4);
        delay_ms(5);


Yarım adım sürmeye çalışmış olabilir misin?
Yada high ve low sırasını karıştırmış?
Ful step de sadece bir sargı enerjilenir. Senin kodunda iki sargı ve ikinci rutinde ilk rutindeki sargı enerjilenir. Yani sıra karışmış.


Nasıl bir sıralama yapmam gerekiyor ?
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: Atima - 03 Kasım 2021, 09:03:31

(https://i.ibb.co/PxCcKxL/STEP-MOTOR.png) (https://ibb.co/PxCcKxL)

Burdan yola çıkarak yazmıştım kodu..
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: z - 03 Kasım 2021, 09:13:22
output_high(in1);
output_low(in2);
output_low(in3);
output_high(in4);
delay_ms(5);

Bunun yerine Porta yazma komutu ne ise

PortaYaz(0xA); delay_ms(5); // 1010
PortaYaz(0x9); delay_ms(5); // 1001
PortaYaz(0x5); delay_ms(5); // 0101
PortaYaz(0x6); delay_ms(5); // 0110

Daha basit ve anlasilir olur.
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: Atima - 03 Kasım 2021, 14:24:05
Alıntı yapılan: z - 03 Kasım 2021, 09:13:22output_high(in1);
output_low(in2);
output_low(in3);
output_high(in4);
delay_ms(5);

Bunun yerine Porta yazma komutu ne ise

PortaYaz(0xA); delay_ms(5); // 1010
PortaYaz(0x9); delay_ms(5); // 1001
PortaYaz(0x5); delay_ms(5); // 0101
PortaYaz(0x6); delay_ms(5); // 0110

Daha basit ve anlasilir olur.


Anlayamadım dediğinizi tam olarak ?
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: z - 03 Kasım 2021, 14:52:14
output pinlerini neden tek tek set reset ediyorsun. Bir kerede porta yazarak 4 pini birden degistir diyorum.
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: Atima - 03 Kasım 2021, 15:51:26
Alıntı yapılan: z - 03 Kasım 2021, 14:52:14output pinlerini neden tek tek set reset ediyorsun. Bir kerede porta yazarak 4 pini birden degistir diyorum.
Anladım, peki bu benim sorunumu giderir mi akşam deneyeceğim.
Başlık: Ynt: Step Motor Döndürme Hakkında
Gönderen: z - 03 Kasım 2021, 19:06:21
Guc katini gormeden bir sey demek zor.