Để đi chuyển cutter head ah
Vâng, e vẫn đang luẩn quẩn bước này )
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 độ...
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.
Viết phần mềm CADCAM theo yêu cầu o913 6o3 939.
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)
Lần sửa cuối bởi Thangnd, ngày 24-09-2017 lúc 09:11:51 PM.
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.
DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM
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!
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.
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
Thêm cái sản phẩm em làm cho xôm
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!
Lần sửa cuối bởi Thangnd, ngày 26-12-2017 lúc 11:22:29 AM.
Đã 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 . 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 .
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.
DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM
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!
step dkhiển dễ nhất rồi, rung động thì em nghĩ cách li bằng belt là okies
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.
Viết phần mềm CADCAM theo yêu cầu o913 6o3 939.
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!
Lần sửa cuối bởi Thangnd, ngày 28-12-2017 lúc 12:21:41 PM.
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.