Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Tôi thấy có nhiều bạn hỏi tôi về lập trình điều khiển động cơ bước bằng AVR. Nên tôi xin post lên đây 1 project đơn giản để cùng thảo luận:
Các bạn xem file mô phỏng và kết quả ở kế dưới:
Ghi chú:
Trong project này tôi dùng Led-bargraph để mô phỏng tác động của stepper-motor lên đối tượng điều khiển.
Ví dụ: dùng motor để điều khiển vị trí của băng truyền, hoặc điều khiển vị trí tờ giấy trong máy in ... Khi đó, góc quay của stepper-motor sẽ tương ứng với vị trí của đối tượng điều khiển.
Code C cho chương trình được viết trên CodeVisionAVR như sau:
/**********************************************
Project : Stepper-motor
Version : 1.0
Date : 26.03.2009
Author : Pavo_lusa
Chip type : ATmega16
Program type : Application
Clock frequency : 1,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
************************************************** ***/
Ghi chú:
- Blue, Black, Red, Yellow là 4 đầu ra của động cơ.
- Để chương trình làm việc, bạn phải có file io.h và delay.h (bạn có thể tải file kèm theo của tôi kèm theo dưới đây)
Đi sâu vào phân tích tín hiệu điều khiển stepper-motor, tôi xin post lên đây Code và kết quả mô phỏng(hình kế dưới) bằng phần mềm VMLAB - một phần mềm rất hữu dụng để mô phỏng tín hiệu điều khiển:
; ************************************************** **********
; project for Driving stepper motor with a ATmega16
; Author : pavo_lusa
; ************************************************** *********
.MICRO "ATmega16"
.TOOLCHAIN "GENERIC"
.TARGET "stepper.hex" ;
.COFF "stepper.cof" ;
.SOURCE "stepper.c" ;
;.TRACE
.CLOCK 1meg
.POWER VDD = 5 VSS = 0
; ================================================== ========
; LP Filter
;R1 DAC PD5 500k; filter resistor
;C10 DAC VSS 10n; filter CAP
D1 vDD A;
R1 A Pd0 100;
D2 Vdd B;
R2 B PD1 100;
D3 Vdd C;
R3 C PD2 100;
D4 Vdd D;
R4 D PD3 100;
D5 Vdd E;
R5 E PD4 100;
D6 Vdd F;
R6 F PD5 100;
D7 Vdd G;
R7 G PD6 100;
D8 Vdd H;
R8 H PD7 100;
; ================================================== =
; Windows Terminal simulation in VMLAB CONTROL Panal
;X1 TTY(115200 8) PD0 PD1
; ================================================== =
; Signals that will be ploted in SCOPE window
.plot v(PB0) V(PB1) V(PB2) V(PB3)
.plot v(PD0) v(PD1) v(PD2) v(PD3) v(PD4) v(PD5) v(PD6) v(PD7)
Lưu ý :khi thiết kế mạch thực tế: Cần cách ly mạch logic khỏi mạch công suất. Lý do: Mạch logic làm việc với tín hiệu dưới 5V, trong khi đó mạch công suất của động cơ có thể làm việc với 12V, 15V hay 32V ... Điện áp này và dòng dội ngược của động cơ có thể làm hỏng mạch logic. Giải pháp: Bạn có thể lắp mạch cách ly động cơ dùng L297 và L298 như hình kế dưới. (trong thư viện ví dụ của Proteus cũng có 1 ví dụ về phần này).Bạn có thể download file mô phỏng kế dưới
Dưới đây là tất cả các file cần thiết để thực hiện project này. Các bạn download về, giải nén rồi thực hiện thử. Có vấn đề gì thì cứ nêu ra, tôi sẽ giải đáp cặn kẽ sau.
Chúc các bạn thành công!
Pavo_lusa
Chào các bạn.
Mình có ý tưởng như thế này. Mình nhập số bước quay của động cơ bước vào 1 mãng (ví dụ a[i+1]-a[i] để có số bước), tùy theo số bước mà điều khiển tốc độ quay nhanh hay chậm. Bạn nào hứng thú thì góp ý cho mình với.
Mấy ông tín đồ Adruino có kit có thể làm thử xem thế nào !
————————————————————————
skysmotor.co.uk bán các sản phẩm sau trực tuyến: động cơ bước, động cơ servo, trình điều khiển động cơ bước, hộp số hành tinh và có thể mua trực tuyến nếu cần.
Trong quy trình sản xuất rượu, việc lựa chọn thiết bị chưng cất phù hợp không chỉ ảnh hưởng đến chất lượng thành phẩm mà còn quyết định hiệu quả kinh doanh lâu dài của mỗi xưởng sản xuất. Đặc biệt với các xưởng nhỏ, thách...
Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
Để check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...
Việc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...
Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
Comment