# Hệ thống Điện > Driver Step motor >  xin code điều khiển động cơ bước

## DuongHuy0077

Mình hiện tại là sinh viên nam nhất, hiện mình đang làm đồ án, mình dùng Arduino UNO , driver A4988 để điều khiển động cơ bước nhưng mình không biết về lập trình, tìm trên mạng thì không hiểu nó viết cái gì hết, mọi người ai có thể cho mình xin code để điều khiển mình xin cảm ơn nhiều, có thể điều chỉnh góc bằng cách nhập dữ liệu vào từ máy tính thông qua serial monitor thì càng tốt, thanks hi

----------


## CKD

Dùng thư viện accelstepper.
Còn dùng thế nào thì chịu khó mở cái code mẫu của nó ra mà edit lại theo ý mình.

----------

katerman

----------


## Diyodira

Xin trân trọng mời ông CKD, Gamo ... Hợp tác lập 1 topic arduino chỉnh chu cho ae học hỏi với.
Thanks

----------


## katerman

cảm ơn anh CKD đã truyền cảm hứng arduino, em lọ mọ được cái đồng hồ không kim không số này:

----------

CKD, Diyodira, Gamo, ppgas

----------


## Gamo

> Xin trân trọng mời ông CKD, Gamo ... Hợp tác lập 1 topic arduino chỉnh chu cho ae học hỏi với.
> Thanks


Huhu... chỉ có các đại da mới chơi Arduino thui... cty em nghèo, phải xài ARM nên Arduino là em điếc

----------

Diyodira

----------


## anhcos

Nước mắt cá sấu hả Gamo.
Sắp tới phải học món này thôi, nhiều ứng dụng quá.

----------


## CKD

Lão gà biết quái gì về Arduino đâu? Lão chỉ chém gió thôi.

----------


## DuongHuy0077

> Dùng thư viện accelstepper.
> Còn dùng thế nào thì chịu khó mở cái code mẫu của nó ra mà edit lại theo ý mình.


Trùi đã nói là không biết lập trình rùi mà kêu vậy thì điếc luôn rồi

----------


## CKD

Không biết lập trình thì sao lại lầm đồ án có lập trình? Mua cái phát xung dùng ic 555 có 2-3 chục K đấu vào là chạy ngay ý mà

----------


## Diyodira

> Không biết lập trình thì sao lại lầm đồ án có lập trình? Mua cái phát xung dùng ic 555 có 2-3 chục K đấu vào là chạy ngay ý mà


cái này gọi là dấu đầu lòi đuôi phải không?  :Big Grin:

----------

Gamo

----------


## CKD

Cũng có thể đồ án cần chạy step. Nhưng không cần phải lập trình. Miễn sao chạy là được. Nếu không lập trình mà chạy được thì phải hỏi lão Tuấn hói.. lão ấy hay dùng cách này.
Còn lập trình.. không phải cứ khơi khơi điều khiển step là biết và lập trình giúp được. Cần phải biết yêu cầu cụ thể.. không thì cứ chung chung thư viện là ok.

----------


## Gamo

Thui, để cho chú ấy vọc Arduino tí đi. Thằng cháu của tau còn vọc Arduino được, chẳng lẽ sinh viên năm nhất còn thua đứa nhóc cấp 1 sao?
Còn ko thì để chú Tạ Hoàng Bảo Việt lớp 10 chỉ  :Wink:

----------


## DuongHuy0077

Vấn đề là vì đang ôn thi giữa kì thì ông thầy kêu làm đồ án, mấy thằng trong nhóm thì biết vẽ 3D hết nên mình bị kêu lo phần code. Tình hình vậy chắc là phải cày rồi. Nhân tiện cho mình hỏi mấy bác vài vấn đề thế này. Đồ án của nhóm mình thế này, 1 máy bắn đá sử dụng lực đàn hồi của cánh cung, có khả năng điều khiển được bằng máy tính và tự nạp đạn. Phần cơ cấu thì gồm có 3 động cơ, 2 step motor, 1 điều khiển góc bắn và 1 điều khiển góc quay ( hướng bắn), 1 động cơ thường để giương cung. Như vậy thì dùng 1 arduino ( như UNO chẳng hạn) có điều khiển được cả 3 động cơ hay ít nhất là 2 cái step motor không? Còn lập trình thì em xem trên mạng có cổng serial monitor gì đó để giao tiếp giữa arduino và máy tính, vậy cho mình hỏi là nó có cái hàm để gán giá trị cho một biến bằng tay không? ( Giống như hồi học THCS trong Pascal có hàm read(x) để gán 1 giá trị cho biến x vậy, mình định dùng một hàm như thế để nhập thông số khoảng cách vào). Thanks các bác nhiều.

----------


## CKD

Thật sự không có cảm tình với vụ xin/cho kiểu mấy lão n² quan liêu hách dịch ấy. Hoặc kiểu lười biếng chờ xung rụng.

Bác chủ có ý nghiên cứu thì mình cũng xin trả lời theo khã năng.
1. Dùng thư viện accelstpper.
Có thể điều khiển trưc tiếp step, có thể xuất xung kiểu A/B, có thể xuất xung kiểu Step/Dir.
Có thể điều khiển cùng lúc nhiều step.

Nhược điểm là khá chậm.

2. Dùng thư viện Serial.
Có thể truyền chuổi ký tự, tất nhiên là có ký số. Còn ứng dụng và sử dụng thế nào thì chịu khó xem các hàm có liên quan.
Vì là chuổi ký tự nên muốn đọc giá trị số thì phải qua thao tác đọc & phân tích.

Ngon nhất là dùng modbus protocol. Sẽ đảm bảo nội dung lệnh luôn đúng.

----------

DuongHuy0077, Tạ Hoàng Bảo Việt

----------


## lekimhung

Muốn đơn giản mà không cần lập trình thì cứ cài GRBL cho cái arduino UNO mà chiến thôi.

Có 2 motor, 1 cái điều chỉnh góc quay thì tương ứng với X, motor điều chỉnh góc bắn thì tương ứng với Y. Cái motor thường còn lại kết nối với chân spindle.

kết nối phần cứng xong thì config giới hạn, vận tốc, gia tốc, stepper.

Dùng mấy phần mềm gcode-sender , hoặc đơn giản cứ dùng putty hay minicom mà giao tiếp bằng lệnh gcode.

Muốn bắn hướng nào thì cứ gõ lệnh  G0 X[xxx] Y[yyyy] [enter], nhớ quy đổi góc ra khoảng cách nha. 

Muốn kéo cung kéo cò thì cứ lệnh M3/M5 là được.

Chỉ gợi ý vậy thôi, muốn biết rõ hơn thì google nhé  bạn sinh viên lười hiếu học.

----------

CKD

----------

