1. Chú ý: Các bạn nên tham khảo Nội quy trước khi viết bài (click vào liên kết bên dưới).
    * Nội quy và Thông báo diễn đàn CNCProVN.com
    * Nếu bạn thấy hứng thú với bài viết. Hãy dùng chức năng Share to facebook để chia sẻ bài viết lên facebook.

          
Kết quả 1 đến 20 của 40

Chủ đề: Hỏi về điều khiển tốc độ mô tơ

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Thợ bậc 3
    Ngày tham gia
    Sep 2017
    Bài viết
    72
    Cám ơn
    17
    Được cám ơn 0 lần
           ở 0 bài viết
    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.

  2. #2
    Thợ bậc 6 CKD's Avatar
    Ngày tham gia
    Nov 2013
    Bài viết
    6,680
    Cám ơn
    1,737
    Được cám ơn 5,330 lần
           ở 2,595 bài viết
    Đã 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

  3. Thành viên đã cám ơn CKD cho bài viết hữu ích này:


Các Chủ đề tương tự

  1. Xin hỏi về cách nhập tốc độ quay dao (S) và tốc độ tiến dao (F) trong phần mềm cimco
    Bởi nguyendiep19 trong diễn đàn Phần mềm CAD, CAM và các tiện ích
    Trả lời: 7
    Bài viết cuối: 05-08-2017, 01:30:52 AM
  2. Board điều khiển máy chấn 2 trục tốc độ cao
    Bởi dungcnc trong diễn đàn Gian hàng hết hiệu lực
    Trả lời: 0
    Bài viết cuối: 13-10-2015, 10:34:24 AM
  3. Bộ điều khiển máy đột 2 trục tốc độ cao
    Bởi dungcnc trong diễn đàn Gian hàng hết hiệu lực
    Trả lời: 0
    Bài viết cuối: 11-09-2015, 08:57:07 AM
  4. cần mua spindle 500w cu có bo điều khiển tốc độ
    Bởi viet tran trong diễn đàn Cần mua
    Trả lời: 8
    Bài viết cuối: 07-08-2015, 03:18:39 PM
  5. Bộ điều khiển nội suy 2 trục tốc độ cao
    Bởi dungcnc trong diễn đàn Gian hàng hết hiệu lực
    Trả lời: 0
    Bài viết cuối: 21-07-2015, 10:42:32 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •