# Hệ thống Điện > Driver Step motor >  Hỏi về điều khiển tốc độ mô tơ

## Thangnd

Mình đang cần chế 1 máng trượt và dùng Vitme bi (chưa có), cần nó trượt hành trình 10cm trong vòng 16 - 18 phút thì nên dùng loại motor gì, cần những gì để điều khiển nó chạy ổn định luôn ở tốc độ cố định đó? Mong các cao nhân chỉ giúp! (ko yêu cầu tải nặng, chỉ khoảng 0.5 kg - 1kg trên máng thôi ợ), xin cám ơn nhiều!

----------


## garynguyen

Cụ cần dừng chính xác ko? Khi chạy có tạm dừng rồi chạy ko. Hay chỉ chạy đơn thuần ... :Embarrassment:  Cụ chơi bộ phát xung + bộ Stép motor là xong. Keke.  Bên shop em có bộ PMC-2HS-USB có thể đáp ứng đủ nhu cầu của cụ

----------

Thangnd

----------


## khoinghiepsky

Bạn nên dùng step Motor để giảm chi phí, Trượt 10cm trong 18 phút thì khá chậm có thể gắn thêm puly giảm tốc.ở Đà nẵng mình biết chỗ này bán thiết bị rẻ nè:https://3ddanang.net/

----------

Thangnd

----------


## neohd

Bác liên hệ e từ A tới Z có hết lun...

----------


## anhcos

Nếu chụp ảnh thì nên tìm mua cái vừa trượt vừa điều khiển luôn máy ảnh cho khỏe.
Còn cần vừa trượt vừa xoay chậm để chụp macro nữa mới tuyệt.

----------


## vopminh

Chơi timelapse chụp phơi sáng thì có cần chạy liên tục ko bác, em nghĩ nên đồng bộ với triger, máy chụp vào khoảng thời gian motor ko chuyển động, hoặc motor ko chuyển động trong thời gian phơi sáng.

----------


## Thangnd

> Cụ cần dừng chính xác ko? Khi chạy có tạm dừng rồi chạy ko. Hay chỉ chạy đơn thuần ... Cụ chơi bộ phát xung + bộ Stép motor là xong. Keke.  Bên shop em có bộ PMC-2HS-USB có thể đáp ứng đủ nhu cầu của cụ


Mình ko cần dừng chính xác, chỉ cần tốc độ di chuyển được fix! Nếu dùng step motor thì cần cái gì nữa để điều khiển tốc độ nhằm đạt tốc độ mong muốn ngoài cái hộp số giảm tốc vậy ah?! Mình dân ngoại đạo nên ko biết gì!!!
Tks!

----------


## Thangnd

> Nếu chụp ảnh thì nên tìm mua cái vừa trượt vừa điều khiển luôn máy ảnh cho khỏe.
> Còn cần vừa trượt vừa xoay chậm để chụp macro nữa mới tuyệt.


Mình ko phải dùng cho máy ảnh b ơi!

----------


## Thangnd

Ko cụ nào giúp em phương án ngon bổ rẻ ah! :Frown:

----------


## Gamo

> Mình ko cần dừng chính xác, chỉ cần tốc độ di chuyển được fix! Nếu dùng step motor thì cần cái gì nữa để điều khiển tốc độ nhằm đạt tốc độ mong muốn ngoài cái hộp số giảm tốc vậy ah?! Mình dân ngoại đạo nên ko biết gì!!!
> Tks!


Dùng step motor là 1 phương án. Ko cần hộp số giảm tốc. Bác kiếm 1 bộ motor/driver + bộ phát xung. Bộ phát xung có thể mua tại đây: http://hshop.vn/products/mach-tao-xung-ne555-2

Sau đó bác chỉ cần nối chân ra từ mạch phát xung vào chân pulse của driver, cắm motor vào driver là chiến thôi

----------

khoa.address, Thangnd

----------


## Thangnd

> Dùng step motor là 1 phương án. Ko cần hộp số giảm tốc. Bác kiếm 1 bộ motor/driver + bộ phát xung. Bộ phát xung có thể mua tại đây: http://hshop.vn/products/mach-tao-xung-ne555-2
> 
> Sau đó bác chỉ cần nối chân ra từ mạch phát xung vào chân pulse của driver, cắm motor vào driver là chiến thôi


Cảm ơn cụ nhiều nhé!!

----------


## Thangnd

> Dùng step motor là 1 phương án. Ko cần hộp số giảm tốc. Bác kiếm 1 bộ motor/driver + bộ phát xung. Bộ phát xung có thể mua tại đây: http://hshop.vn/products/mach-tao-xung-ne555-2
> 
> Sau đó bác chỉ cần nối chân ra từ mạch phát xung vào chân pulse của driver, cắm motor vào driver là chiến thôi


Bác cho em hỏi cụ thể hơn tí ah: Nếu em mua 2 cái theo links bên dưới đã đủ lắp chưa, và liệu có phù hợp với mong muốn của em ko ah??
http://hshop.vn/products/mach-dieu-k...ong-co-buoc-5v
http://hshop.vn/products/mach-tao-xung-ne555-2
Cám ơn b rất nhiều! :Confused:

----------


## Thangnd

Thêm 1 ý nữa là, khi nó chạy hết hành trình theo tốc độ chậm đó, nếu em muốn nó chạy ngược lại với tốc độ nhanh hơn (cho đỡ phải chờ) thì có thể điều chỉnh 2 chiều tốc độ khác nhau được không ah?
Nếu em hỏi những câu ngô nghê thì các bác hết sức thông cảm vì em dân ngoại đạo, mong được chỉ giáo! :Embarrassment:

----------


## garynguyen

:Cool:  Cụ muốn rẻ mà bài toán thì cũng đâu có rẻ được

----------

Thangnd

----------


## Gamo

Hix...

Bộ step driver ULN2003 chỉ là đồ dành cho con nít chơi thui bác. Chạy được mấy cái motor bé kiểu unipolar thôi bác. Giá chót cũng phải TB6560.

Nếu bác muốn nó tự động đảo chiều, chạy nhanh chạy chậm thì tốt nhất dẹp bộ phát xung luôn. Viết 1 bộ phát xung riêng bằng Arduino. Chi tiết cụ thể thì phải nhờ các tín đồ Arduino như CKD xấu trai chỉ.

Cụ thể bác muốn làm cái gì thì phải nói rõ thì sẽ dễ tư vấn hơn

----------

Thangnd

----------


## Diyodira

> Thêm 1 ý nữa là, khi nó chạy hết hành trình theo tốc độ chậm đó, nếu em muốn nó chạy ngược lại với tốc độ nhanh hơn (cho đỡ phải chờ) thì có thể điều chỉnh 2 chiều tốc độ khác nhau được không ah?
> Nếu em hỏi những câu ngô nghê thì các bác hết sức thông cảm vì em dân ngoại đạo, mong được chỉ giáo!


bác liệt kê hết những chức năng mà mình cần cho dự án để tư vấn đúng hướng, chứ mất công ae rồi cuối cùng bác không có được kết quả như ý.

----------

Thangnd

----------


## Thangnd

Theo như pix này: Em muốn nó chạy từ B tới A với vận tốc cố định (trong thời gian 18 phút), khi chạy xong thì muốn cho nó về lại vị trí B với vận tốc lớn hơn chỉ để nó đỡ phải chờ lâu!
Kính các bác!  :Frown:

----------


## Thangnd

Có giải pháp cho cái chạy về từ A tới B là tắt động cơ, lắp trục quay tay, nhưng nếu dùng motor có giảm tốc thì lại ko quay tay đc!  :Smile:

----------


## Thangnd

Thằng TÂY nó dùng cái này, nhưng ko rõ dùng kiểu gì các cụ ah!

----------


## Diyodira

> Có giải pháp cho cái chạy về từ A tới B là tắt động cơ, lắp trục quay tay, nhưng nếu dùng motor có giảm tốc thì lại ko quay tay đc!


bác dùng nó để di chuyển cartridge hả?

----------


## Thangnd

Để đi chuyển cutter head ah

----------


## Diyodira

> Để đi chuyển cutter head ah


thu analog trên lp hả bác, đoán vậy? giải pháp cho bác không khó và rẽ thôi.
Tks

----------

Thangnd

----------


## Thangnd

Vâng, e vẫn đang luẩn quẩn bước này  :Smile: )

----------


## Diyodira

https://www.youtube.com/watch?v=jhnQEogFI4k

----------

Thangnd

----------


## Diyodira

> Vâng, e vẫn đang luẩn quẩn bước này )



bác kiếm bộ motor brushless dc tầm vài w là ổn, thường motor của nó có giảm tốc luôn và chậm lắm, nếu chưa đủ chậm thì bác qua tiếp puly-đai.
tks

----------

Thangnd

----------


## garynguyen

:Embarrassment:  Cụ chơi bộ đièukhieenrn động cơ bước và một bộ driver + động cơ bước là xong. cụ kiếm bộ DKC-1A thử xem, nếu ko chơi được thì chơi bộ như em pót bên em, set vận tốc đến, thời gian dừng, vận tốc về, quãng đường đi, gốc tọa độ...

----------

Thangnd

----------


## anhcos

Làm đĩa than hả bác chủ, trông hay phết nhỉ, chả biết độ nông sâu họ tính như thế nào theo giai điệu.

----------

Thangnd

----------


## Thangnd

Chắc e thử cái động cơ bước xem sao, có lẽ là giải pháp khả thi nhất! Nếu dùng động cơ brushless phải căn chỉnh theo puli cũng loằng ngoằng phết, nhất là muốn tăng giảm tí thì khó! Vấn đề là e nên dùng motor gì, driver gì, đk gì?? (cái này e mù tịt)

----------


## Thangnd

E mua mớ này về đang ngâm cứu  :Smile:

----------


## CKD

Hic! L298
Sao bác không mua hẵn cái driver step rồi kết nối với Arduino thì việc nghiên cứu lập trình nhanh chóng có kết quả hơn.

Với cái này thì bác vọc AccelStepper --> https://github.com/adafruit/AccelStepper là nhanh và đơn giản nhất.

----------

Thangnd

----------


## Thangnd

Chắc em nhờ bên bán hàng code giúp, thấy bảo là code theo nhu cầu của em thì ko khó! Tks bác!

----------


## Gamo

> Đính kèm 46816
> Theo như pix này: Em muốn nó chạy từ B tới A với vận tốc cố định (trong thời gian 18 phút), khi chạy xong thì muốn cho nó về lại vị trí B với vận tốc lớn hơn chỉ để nó đỡ phải chờ lâu!
> Kính các bác!


Ui giời, bác chủ máu me audio quá. 

Nếu chỉ như thế thì con unipolar với driver ULN2003 xài được. Mua con L298 cũng được. Có điều thằng viết code Arduino hơi cực & chất lượng khi chạy chưa biết ra sao. Bác chủ cứ yêu cầu shop code cho chạy trước, ko ngon thì post lên đây tiếp. Rồi shop họ tính phí code là bao nhiêu?

Lẽ ra mua hẳn con step thường + driver đàng hoàng thì sẽ dễ làm hơn.

----------

Thangnd

----------


## Thangnd

Em đã có giải pháp tạm thời (chỉ là tạm thời vì nó chỉ cho 1 tốc độ, mà thực tế khi vào hoạt động em cần tùy chỉnh tốc độ) nên quyết định dùng step motor. Qua tư vấn em mua cái stepper 42 (nema17) cũ, cái mạch arduino uno, stepper driver TMC2100 (loại này bọn nước ngoài nó tư vấn em dùng vì cho chế độ vi bước và rất êm, và nó cũng dùng cái này rồi, mà cái của em lại cần phải cực êm mới được), mua cái Socket Module A4988 DRV8825 để cắm con TMC2100 vào (lỡ mua rồi, nhưng có nên thay bằng con Module CNC Shield V3 ???)
Em có xin 1 thằng tây cái code arduino nó đang dùng cho con TMC2130, arduino nano,... Các bác biết về arduino xem giúp em cần sửa cái gì, đấu nối ra sao, vì em nối thử thì nó đek quay motor gì hết. (EM MÙ TỊT).
Code đây ah:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

*/
#define ENPin    11  // Nano v3:  16 Mega:  38  //enable (CFG6)
#define dirPin   10  //     19      55  //direction
#define stepPin  8  //     18      54  //step
#define CSPin    3  //     17      64  //chip select

#include <TMC2130Stepper.h>
TMC2130Stepper TMC2130 = TMC2130Stepper(ENPin, dirPin, stepPin, CSPin);

 // const int stepPin = 8;
  //const int dirPin = 7;
  const int startPin = 5;
  const int stopPin = 6;
  const int limitPin = 2;
  int i = 0;

// the setup function runs once when you press reset or power the board
void setup() {
  Serial.begin(9600);
  TMC2130.begin();      // Initiate pins and registeries
  TMC2130.rms_current(1200);  // Set stepper current to 1200mA. The command is the same as command TMC2130.setCurrent(1200, 0.11, 0.5);
  TMC2130.stealthChop(1);   // Enable extremely quiet stepping

  digitalWrite(ENPin, LOW);
  // initialize digital pins as an outputs/inputs.
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  pinMode(startPin, INPUT);
  pinMode(stopPin, INPUT);
  pinMode(limitPin, INPUT);

  digitalWrite(dirPin, LOW);
}


// the loop function runs over and over again forever
void loop() {
  digitalWrite(startPin, HIGH);
  digitalWrite(stopPin, HIGH);
  digitalWrite(limitPin, HIGH);

  if (digitalRead(startPin) == LOW) // Lead In starts when lead in button pressed.
  {
    while (i < 1250)
    {
    digitalWrite(8, HIGH);
    delayMicroseconds(1);
    digitalWrite(8, LOW);
    delayMicroseconds(2500);
    i++;
    }

    i = 0;
    while (digitalRead(stopPin) == HIGH) // While Leadout button isn't pressed, bring cutter head to centre of the disk.
    {
  digitalWrite(8, HIGH);   // turn the LED on (HIGH is the voltage level)
  delayMicroseconds(1);                       // wait for a second
  digitalWrite(8, LOW);    // turn the LED off by making the voltage LOW
  // delayMicroseconds(6000); //Defines groove width @ <3mins
  //delayMicroseconds(9500); //Defines groove width @ <3mins3sec
  //delayMicroseconds(12500); //Defines groove width @ <3mins
  delay(17); //Defines groove width @ 33rm
    }

  while (digitalRead(limitPin) == HIGH)
  {
  digitalWrite(8, HIGH);   // turn the LED on (HIGH is the voltage level)
  delayMicroseconds(1);                       // wait for a second
  digitalWrite(8, LOW);    // turn the LED off by making the voltage LOW
  delayMicroseconds(1500); 
  }
  // wait for a second
}
}

}

Nhu cầu của em là:
- Tốc độ quay ~ 2.5 rpm, có nút tăng tốc, có nút về tốc độ cũ, có nút đảo chiều quay (nếu có thêm được màn hình hiển thị nữa thì tốt)
Thêm cái clip giải pháp tạm thời, cũ kỹ cần sửa của em đây ah - motor 24vac 1rpm, combo mua của bác Trung BắcNinh  :Smile:  




Thêm cái sản phẩm em làm cho xôm  :Smile: 


Mong các bác giúp em, chân thành cảm ơn!!!
Hoặc bác nào nhận viết code và tính phí cho em ah!!! Dài dòng qúa mong các bác bỏ qua!

----------


## CKD

Đã tự động hóa thì bạn mô tả cái nhu cầu tối đa mà bác cần, càng cụ thể, chi tiết càng tốt.
Chứ chỉ chạy tốc độ như vầy không thì nó cũng chưa đi tới đâu cả, và còn nhiều giải pháp khác vừa nhanh gọn và đơn giản hơn nhiều.

Ví dụ như chỉ cần chạy & kiểm soát tốc độ thì dùng motor thường (DC/AC) kết hợp bộ kiểm soát tốc độ (speed control) có hồi tiếp (feedback) là Ok.
Việc bác muốn tăng giảm, trở về tốc độ mặc định cũng đơn giản thôi.

Thấy bác dùng cho mục đích âm thanh, nhưng con step khi chạy nó không có tuyến tính, lại bị run khi chuyển bước thì không biết việc này có ảnh hưởng đến việc ghi đĩa hay không?

Phải hiểu rỏ nhu cầu thì mới có hướng đi chính xác và hiệu quả nhất được. Việc bác nghĩ nó phải vậy chưa chắc là vậy vì nhiều cái đầu tích cực + lại thì nó mở ra rất nhiều vấn đề khác  :Big Grin: . Khi đó dễ dàng so sánh và tìm giải pháp tối ưu nhất cũng dể hơn.

Việc viết code tính phí thì rất đơn giản. Như những gì bác đã làm ở trên thì chắc chỉ cần 1 buổi là viết & tối ưu Ok. Nhưng nếu vẫn chưa đáp ứng được hết nhu cầu thì chi phí bỏ ra không tối ưu.
Còn giới thiệu cho bác vài em SV, lập trình arduino như bỡn cũng dễ. Nhưng các em ấy chưa có nhiều kinh nghiệm thực tế nên để trải nghiệm thì mất nhiều thời gian hơn  :Big Grin: .

Như ý trên, bác cần đặt nhu cầu tối đa mà bác muốn làm, không chỉ riêng gì con step mà cả hệ thống máy của bác. Sau đó sẽ xem xét xem và tối ưu chi phí thế nào.
Nếu bác vẫn giữ ý định như ở chủ đề, không cải tiến gì thêm, muốn nhờ hổ trợ code. Bác để lại hoặc inbox em sdt, facebook gì để em có thể forward cho mấy đứa em SV. Tụi nó tối ưu giải pháp thì không dám chắc, chứ viết code cho arduino theo nhu cầu của bác thì em tin là tụi nó làm được.

----------

Thangnd

----------


## Thangnd

Bác CKD nói hoàn toàn đúng ah,
Vì em mày mò nên tới đâu sửa tới đó, ko có gì để tham chiếu hay so sánh.
Đúng ra nó dùng cái motor này và dùng cái gì để đk thì em chịu.

Nhưng em ko tìm được cũng như không có kiến thức để điều khiển động cơ DC/AC theo như nhu cầu, vì thế tìm tới giải pháp dùng con motor AC24v như trong clip để làm giải pháp tạm thời cho việc test những bộ phận khác.
Stepper motor + driver TMC2100 em thấy đã có người dùng, tuy nhiên em ko biết nên nhờ các Pro tư vấn giúp ah.
Contact của em: https://www.facebook.com/thangdcx
Tk uuu!

----------


## nhatson

step dkhiển dễ nhất rồi, rung động thì em nghĩ cách li bằng belt là okies

----------

Thangnd

----------


## anhcos

Cách ly step với đế bằng mấy cục cao su, miềng hay tháo ra trong ổ quang ấy, chống rung tốt.

----------

Thangnd

----------


## Thangnd

Em đã mò mẫm làm được cái này, mò mẫm tiếp để nó show trong LCD screen tốc độ mô tơ (hoặc đoạn đường mà trục vitme gắn vào motor đi được/phút - cái này khoai), trạng thái làm việc - Bác nào có kinh nghiệm chỉ em với!!!
Driver TMC2100 có vẻ rất hiệu quả, stepper chạy mượt mà, ko ồn tí nào.








Cheers!

----------


## Phantan74

> Bạn nên dùng step Motor để giảm chi phí, Trượt 10cm trong 18 phút thì khá chậm có thể gắn thêm puly giảm tốc.ở Đà nẵng mình biết chỗ này bán thiết bị rẻ nè:https://3ddanang.net/


HCM bạn biết chỗ nào kg, chỉ mình với. Thanks

----------


## barbosa

Nếu chụp ảnh thì nên tìm mua cái vừa trượt vừa điều khiển luôn máy ảnh cho khỏe.
Còn cần vừa trượt vừa xoay chậm để chụp macro nữa mới tuyệt.

----------

