Step Motor Döndürme Hakkında

Başlatan Atima, 02 Kasım 2021, 15:49:05

Atima

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?

Mucit23

Sargıların sırası yanlış. Kabloların sıralamasını değiştirerek birkaç deneme daha yapın.

fide

#2
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ış.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

Atima

Kabloların yerini değiştirince hiç çalışmıyor malesef..

Atima

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 ?

Atima




Burdan yola çıkarak yazmıştım kodu..

z

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.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Atima

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 ?

z

output pinlerini neden tek tek set reset ediyorsun. Bir kerede porta yazarak 4 pini birden degistir diyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Atima

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.

z

Guc katini gormeden bir sey demek zor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com