help me em sáp nộp đồ an rùi but chua bit cach làm có anh nào bit chi em cách lập trình đi .khi lấy signal tu encoder rồi xủ lí nó nhu thế nào đây có ai bit giúp dùm đi
Thông báo
Collapse
No announcement yet.
có ai giúp em cách lập trình điều khiển dc dùng encoder ko?
Collapse
X
-
Hiện tôi có cả schematic, PCB lẫn mã nguồn (asm) để chạy con AT89S52.
Mạch gồm 3 cái SW: Chạy tới, dừng và chạy lui; 3 số LED 7 đoạn hiển thị
xung trong 1 giây. Đão chiều motor bằng relay, điều chỉnh tốc độ motor
theo cách điều rộng khổ xung (PWM). Mạch đơn giản không có hồi tiếp
để ổn định tốc độ và không có giải mã cho bộ encoder (quadrature clock
converter).
Nếu cần thì cho biết.
-
bạn haidien oi! có thể gửi cho mình ct điều chỉnh tốc độ motor theo cách điều rộng khổ xung đc ko? tks nhiều lắm đang cần gấp lắm... có gì send cho tui nhé ( ms.cuong@gmail.com)
Comment
-
Nguyên văn bởi zhiliang Xem bài viếthelp me em sáp nộp đồ an rùi but chua bit cach làm có anh nào bit chi em cách lập trình đi .khi lấy signal tu encoder rồi xủ lí nó nhu thế nào đây có ai bit giúp dùm đi
1. Thứ nhất bạn đưa chân tin hiệu vào chân ngắt ngoài của vi điều khiển (thường được kí hiệu là INT0, INT1, ...)
2. Enable ngắt, có một biến đếm là biến toàn cục, tăng giá trị biến đếm trong chương trình ngắt.
3. Sử dụng một timer, mỗi lần timer ngắt tràn thực hiện xử lý giá trị xung đếm được, gán biến đếm bằng 0 để bắt đầu chu ký mới.
Chúc bạn thành cônghttp://techpal.vn
Chia sẻ công nghệ, cùng thành công
Comment
-
Xử lý tín hiệu encoder? Nếu chỉ làm 1 nhiệm vụ giải mã thì không cần bất cứ ngắt nào
cả. Vấn đề quan trọng ở đây là phase của 2 xung clock từ bộ encoder mà theo lý thuyết
là lệch nhau 90 độ. Người ta phân biệt được chiều chuyển động cũng dựa vào yếu tố
lệch phase này. Thí dụ nếu clk A sớm phase hơn clk B thì chuyển động theo chiều kim
đồng hồ và ngược lại. Mà đã nói đến sớm trễ phase thì phải nói đến thời gian, thời gian
ở đây bao gồm cả quá khứ, hiện tại và tương lai. Phải thỏa đủ 3 điều kiện về thời gian
như trên mới giải mã 1 cách chính xác.
Chương trình điều rộng khổ xung (PWM):
Ta chia chu kỳ của tín hiệu điều rộng xung ra làm 2 phần: Có xung và không có xung.
Ta bắt đầu với độ rộng xung nhỏ nhất là 1/255 (8 bit), phần không có xung là 254/255.
Giờ ta tăng độ rộng xung thêm 1 là 2/255 thì phần khong có xung là 253/255. Cứ thế
mà tiếp tục. Hai phần của một chu kỳ ta nạp vào TH0 hoặc TH1 (tùy theo sử dụng timer
nào). Thí dụ ta đang xử lý ngắt timer_x trong phần có xung của chu kỳ thì ta nạp giá trị
của phần không có xung vào THx (lưu ý là timer phải chạy mode 8 bit auto reload) để
timer chạy đến giá trị nạp trong THx thì nó tạo ra 1 interrupt. Ngược lại thì giá trị có xung
vào THx. Sau đây là đoạn chương trình viết bằng hợp ngữ (nhớ khai báo các
biến, ...):
IsrTimer0:
PUSH ACC
PUSH PSW
JNB RunFlag, MotorOff
MotorOn:
JB MotorFlag, MotorOff ; Nếu motor đang on thì off
CLR PWM ; Ngược lại thì on
MOV TH0, DutyCycleComp ; Giá trị nạp lại cho thời gian ngừng
SETB MotorFlag ; kích hoạt motor (tắt)
POP PSW
POP ACC
RETI
MotorOff:
SETB PWM ;
MOV TH0, DutyCycle ; Giá trị nạp lại cho thời gian kích
CLR MotorFlag ; hoạt motor (chu trình tác động)
POP PSW
POP ACC
RETI
Nếu bạn nào có gì hay hơn thì góp vào cho vui
Comment
-
Cho em xin phan mem voi
Em cung đang làm đồ án như vậy đó
Bác cho em xin giải thuật nhé
mail của em là thanh_ffx@yahoo.com
Comment
-
Theo tôi biết thì chỉ cần nối 2 dây tín hiệu của Encoder vào 2 chân bất kỳ của VDK rồi dùng timer để đếm số xung và tính tốc độ động cơ mà không cần đưa vào ngắt .
Bây giờ nếu muốn biết chiều của động cơ ta phải làm j???
Tôi đưa ra thuật toán thế này các bạn xem có được ko nhé :
- trong Timer ta sẽ đếm số xung (khỏang 1ms chẳng hạn thì kiểm tra các chân tín hiệu một lần)
- trong Timer ta cũng kiểm tra xem xung A , B xung nào có trước rồi set một cái cờ để nhớ kết quả (gọi là cờ chiều quay)
Ai đã làm rồi thì cho ý kiến nhé và nhớ post chương trình lên cho anh em tham khảo
Comment
-
Tôi cũng đang quan tâm về phần điều độ rộng xung để đk motor 1 chiều, bạn haidien có thể send cho tôi cả code asm và schematic được kô? Thank nhiều nhiều !!!!!
Mai: npgiang@gmail.com
Comment
-
Điều khiển tốc độ động cơ DC
Nguyên văn bởi gpsvn Xem bài viếtTôi cũng đang quan tâm về phần điều độ rộng xung để đk motor 1 chiều, bạn haidien có thể send cho tôi cả code asm và schematic được kô? Thank nhiều nhiều !!!!!
Mai: npgiang@gmail.com
Comment
-
Tôi đã từng làm qua mạch đếm xung encoder bằng cách đếm mức cao thấp của xung A và B, kết quả là chạy một chiều thì được nhưng khi đảo chiều nhiều lần (nhất là cần giữ vị trí của servo) thì đếm bị sai.
Tôi đã làm mạch khác đếm theo cạnh xung A, B. Kết quả có thể nói đúng tuyệt đối. Tôi đã ứng dụng để làm bo điều khiển cữ NC cho máy cắt tôn, máy chấn tôn, máy đột dập CNC. Bo có thể điều khiển DC servo hay AC dùng Inverter đều được. Ai quan tâm thì mail cho tôi thi221096@yahoo.comCái gì không mua được bằng tiền thì có thể mua được bằng ... nhiều tiền
Comment
-
Mình cũng đang tìm hiểu cách lập trình điều khiển dc dùng encoder, bạn haidien hoặc ai có bài này có thể gửi cho mình được ko? cám ơn nhiều.
mail: phutuanhd@gmail.com
Comment
-
Không biết là bạn quan tâm cụ thể khâu nào. Khâu điều khiển tốc độ (servo driver) hay là khâu điều khiển vị trí?
Bộ driver mình chỉ sử dụng hàng có sẵn thôi chứ chưa tự làm bộ nào. Nếu bạn thích hãy tham khảo sơ đồ nguyên lý DC Servo driver của Fanuc.
Trong sơ đồ này, bộ F-V converter có thể thay bằng tachometer gắn ở đuôi motor.
Mình chỉ làm được bộ điều khiển vị trí thôi, sử dụng lại DC servo motor và DC servo driver cũ.Cái gì không mua được bằng tiền thì có thể mua được bằng ... nhiều tiền
Comment
-
Nguyên văn bởi haidien Xem bài viếtHiện tôi có cả schematic, PCB lẫn mã nguồn (asm) để chạy con AT89S52.
Mạch gồm 3 cái SW: Chạy tới, dừng và chạy lui; 3 số LED 7 đoạn hiển thị
xung trong 1 giây. Đão chiều motor bằng relay, điều chỉnh tốc độ motor
theo cách điều rộng khổ xung (PWM). Mạch đơn giản không có hồi tiếp
để ổn định tốc độ và không có giải mã cho bộ encoder (quadrature clock
converter).
Nếu cần thì cho biết.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về test hipot cao ápbởi nguyendinhvanCách nghĩ của bạn là theo duy tâm thôi. Còn trong công việc thì phải theo duy lý.
Bạn vào goggle và gõ từ : tiêu chuẩn an toàn cách điện.
Bạn sẽ thấy vô vàn các quy định, VN cũng có , quốc tế cũng có. Mỗi vùng , mỗi khu vực,...-
Channel: Điện tử dành cho người mới bắt đầu
02-11-2024, 20:04 -
-
bởi lamvu0677Chào mọi người, ai làm về điện, đặc biệt biến áp xung, mâý con nho nhỏ gắn vào mạch nguồn, cho e hỏi tí ą, e cũng làm trong ty về biển áp thì đo kiểm thành phẩm sẽ kiểm cao áp, tức là kiểm xem có phóng điện giữa các cuộn dây với...
-
Channel: Điện tử dành cho người mới bắt đầu
01-11-2024, 21:05 -
-
bởi AaaabbbbbEm chào các anh chị ,cô chú . Em đang có 1 đề tài: Mô phỏng điều khiển động cơ 1 chiều và bộ điều khiển điện áp tự động (AVR) sử dụng MATLAB/Simulink và Arduino . Anh chị có thế giải thích hoặc định hướng giúp em với được không ạ . Em xin cảm ơn !!...
-
Channel: Vi điều khiển AVR
30-10-2024, 16:38 -
-
bởi 2embeyeuem mới nhập môn, bác nào có sơ đồ của mạch này và cách cắm mạch trên panel cho em xin với, em cảm ơn ạ
-
Channel: Điện tử dành cho người mới bắt đầu
30-10-2024, 15:52 -
-
bởi dqt21091997Hi mọi người,
Team mình hiện là đối tác phân phối cho 1 dịch vụ Proxy US chuẩn bị mở mang tên Proxy Compass. Mọi người có thể trải nghiệm ở đây: https://proxycompass.com/vi/free-trial/
Điểm mạnh của Proxy Compass là:
- 50 địa chỉ IP proxy
...-
Channel: Tổng quan về ngành viễn thông
30-10-2024, 14:46 -
-
Trả lời cho Thắc mắc về kiến thức điện xoay chiềubởi SteinsKMình nhớ là do điện AC không có chia cực cố định như DC, thêm vào đó thì ổ điện loại mà 2 lỗ thì cũng không có phân biệt chiều cắm, thành ra mình cắm chiều nào cũng được. Đây là em hiểu như vậy, có bác nào có ý kiến khác không ạ....
-
Channel: Điện tử dành cho người mới bắt đầu
30-10-2024, 09:57 -
-
bởi tivungvechào mọi người, em là sinh viên mới tìm hiểu về điện em có thắc mắc là tại sao điện AC ở nhà dùng có phích cắm khi cắm vào ổ điện thì cắm chiều nào cũng được, mà em đọc trên mạng thấy điện AC có dây trung tính và dây pha mà nhỉ...
-
Channel: Điện tử dành cho người mới bắt đầu
27-10-2024, 14:25 -
Comment