Module Điều Khiển Động Cơ L293D

Quay 2 hai động cơ bước stepper 57x57x57 thuộc 1 lúc đặt ở cả hai port khác nhau; Quay 2 động cơ bước, hộp động cơ 1 quay liên tục, sau 1s bộ động cơ 2 quay 1 vòng và ngừng, động cơ 1 vẫn quay;

Với những ứng dụng thực hiện mặt khác điều này, áp dụng RTOS để giúp đỡ xử lý vấn đề

I.

Bạn đang xem: Module điều khiển động cơ l293d

Phần cứng với kết nối:

01 MCU: sinh hoạt bài này mình lựa chọn Arduino Uno để điều khiển;

01 driver: Mình lựa chọn module L293D;

02 Động cơ bước: em áp dụng 02 hộp động cơ bước 57x57x57;

Tại trên đây mình hỗ trợ cách liên kết nhỏng sau: Tài liệu tham khảo về Arduino + module L293; https://www.openimpulse.com/blog/wp-content/uploads/wpsc/downloadables/Motor-Shield-V12-Schematic-Diagram.png?fbclid=IwAR1HM-vO6_vvwRxde-UKKqiH7LGP30NZDpXVNQUE1w96iaBzo0f4kTfYTpo Lúc liên kết thì ta đang rút ít jachồng PWR ra; Trong trường hợp cung cấp mối cung cấp vào Module L293D to hơn 5V- 13V;

*

Ngay tiếng họ cho cùng với phần 2;

II. Soure code:.

Quý Khách nên thiết lập driver cho module L293D

https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master

Giải mê say soure code:

Hàm:AF_Stepper steppername(step, portnumber)

Tại phía trên vào bài xích toán thù này mình sử dụng tên Stepper1, Stepper2, port 1 bên trên kênh 1 với 2; step: Số bước bên trên mỗi vòng của đụng cơ;

AF_Stepper Stepper1(255, 1); // A 255-step-per-revolution motor on channels 1 & 2AF_Stepper Stepper2(255, 2); // A 255-step-per-revolution motor on channels 3 và 4Stepper1.setSpeed(255); // Set motor 1 speed 100%Stepper2.setSpeed(255); // Set motor 2 tốc độ lớn 100%Tốc độ con quay là pwm của hàm là từ bỏ 0-255 tùy các bạn cấu hình thiết lập, 255 là tốc độ max;

step(step,direction, style);

step: Số bước quay của rượu cồn cơ;

direction: Hướng xoay của động cơ, gồm tảo thuận và tảo ngược; (FORWARD or BACKWARD)

style: kiểu dáng quay của động cơ bước;

SINGLE – Một cuộn dây được cấp cho năng lượng tại một thời điểm;

DOUBLE - Hai cuộn dây được cung cấp tích điện tại một thời điểm để có thêm mô-men xoắn;INTERLEAVE - Ttuyệt cố thân 1-1 cùng song nhằm sản xuất nửa bước ở giữa. Như vậy rất có thể dẫn cho vận động trơn tru tru hơn, nhưng bởi vì thêm nửa bước, vận tốc cũng trở nên giảm một nửaMICROSTEP - Các cuộn dây gần kề được dốc lên với xuống để tạo nên một số "bước khôn xiết nhỏ" thân từng bước một rất đầy đủ. Điều này dẫn mang lại độ phân giải tốt rộng cùng luân phiên mềm mịn rộng, cơ mà mất mô-men xoắn.#include int i=0;AF_Stepper Stepper1(255, 1); // A 48-step-per-revolution motor on channels 1 & 2AF_Stepper Stepper2(255, 2); // A 200-step-per-revolution motor on channels 3 và 4void setup()Stepper1.setSpeed(255); // Set motor 1 tốc độ 100%Stepper2.setSpeed(255); // Set motor 2 speed to lớn 100%void loop(){for(i=0; iDưới đây là hiệu quả thu được:

https://youtu.be/wWfb4wHP-RE

2. Source tảo động cơ 1 tiếp tục, hộp động cơ 2 sau 1s rồi cù 1 vòng;

Ở trên đây bản thân bao gồm 2 giải pháp cho chúng ta tmê man khảo:

 Cho bộ động cơ 1 con quay tiếp tục, sau đó dùng ngắt timer để ngắt sau 1s , lúc kia cho động cơ 1 với hộp động cơ 2 thuộc quay; Dùng FreeRTOS bên trên arduino, quá trình cũng giống như vậy;

#include #include int i=0;int count=0;AF_Stepper Stepper1(200, 1); // A 48-step-per-revolution motor on channels 1 & 2AF_Stepper Stepper2(200, 2); // A 200-step-per-revolution motor on channels 3 & 4// define two tasks for Blinks & AnalogReadvoid TaskBlink( void *pvParameters );void TaskAnalogRead( void *pvParameters );// the thiết lập function runs once when you press reset or power the boardvoid setup() // initialize serial communication at 9600 bits per second:Serial.begin(9600);Stepper1.setSpeed(255);Stepper2.setSpeed(255);while (!Serial) ; // wait for serial port lớn connect.

Xem thêm: Văn Học Truyện Cả Nhà Ăn Dưa Hấu ", Truyện: Cả Nhà Ăn Dưa Hấu

Needed for native USB, on LEONARDO, MICRO, YUN, and other 32u4 based boards.// Now mix up two tasks khổng lồ run independently.xTaskCreate(TaskBlink, (const portCHAR *)"Blink" // A name just for humans, 128 // This stack size can be checked & adjusted by reading the Staông xã Highwater, NULL, 2 // Priority, with 3 (configMAX_PRIORITIES - 1) being the highest, & 0 being the lowest., NULL );xTaskCreate(TaskAnalogRead, (const portCHAR *) "AnalogRead", 128 // Staông chồng kích thước, NULL, 3 // Priority, NULL );// Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.void loop()// Empty. Things are done in Tasks./*--------------------------------------------------*//*---------------------- Tasks ---------------------*//*--------------------------------------------------*/void TaskBlink(void *pvParameters) // This is a task.{(void) pvParameters;/*BlinkTurns on an LED on for one second, then off for one second, repeatedly.Most Arduinos have an on-board LED you can control. On the UNO, LEONARDO, MEGA, & ZERO it is attached khổng lồ digital pin 13, on MKR1000 on pin 6. LED_BUILTIN takes care of use the correct LED pin whatever is the board used.The MICRO does not have a LED_BUILTIN available. For the MICRO board please substitutethe LED_BUILTIN definition with either LED_BUILTIN_RX or LED_BUILTIN_TX.e.g. pinMode(LED_BUILTIN_RX, OUTPUT); etc.If you want to know what pin the on-board LED is connected to on your Arduino model, checkthe Technical Specs of your board at https://www.arduino.cc/en/Main/ProductsThis example code is in the public domain name.modified 8 May 2014by Scott Fitzgeraldmodified 2 Sep 2016by Arturo Guadalupi*/// initialize digital LED_BUILTIN on pin 13 as an output./*pinMode(LED_BUILTIN, OUTPUT);*/for (;;) // A Task shall never return or exit.{//Stepper2.step(1, BACKWARD, MICROSTEP);//for(i=0; i Serial Plotter menu)Attach the center pin of a potentiometer to pin A0, & the outside pins to +5V & ground.This example code is in the public domain.*/for (;;){// Stepper1.step(1, BACKWARD, MICROSTEP);// read the đầu vào on analog pin 0:for(count=0; countDưới đây là tác dụng mình thu được;

https://youtu.be/8szHu4WpnTg

Nhận xét:

Nếu để số bước Stepper1.step(1, BACKWARD, MICROSTEP); là 100; thì bộ động cơ sẽ tảo hết 100 bước sau new tới lượt bộ động cơ B được quay;

Kết luận:

Module L293 chiều cảm thấy không được dũng mạnh nhằm tinh chỉnh 2 động cơ bước, lúc con quay 2 hộp động cơ bước thuộc 1 thời điểm chip vượt nóng cần phải có tản nhiệt

ko sẽ cháy chip;

Quý Khách yêu cầu sử dụng L298 or, tb6600, drrv8825; ….

Sourse code: https://github.com/t2-cuongvuong/Arduino_new/blob/master/Arduino_Stepper.rar