PIC Vietnam

Go Back   PIC Vietnam > Robotics > Thực hành

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Thực hành Bắt đầu làm một robot như thế nào? Mẹo vặt? Kỹ thuật? Công nghệ?... Hãy bắt tay vào việc...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 13-09-2006, 06:29 PM   #1
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi scentoflove View Post
Em muốn làm phần phản hồi dòng điện luôn anh namqn giúp em phần này
Trong mạch F dùng L298N vừa post có Rs dùng cho phản hồi dòng điện đó, em tham khảo thêm phần trả lời của anh để chọn giá trị cho điện trở cảm nhận dòng và mạch lọc cho nó.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-09-2006, 08:16 PM   #2
scentoflove
Đệ tử 6 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 129
:
Rs mắc giữa chân isenA và mass, mạch cầu H thì mình sẽ mắc Rs như thế nào anh
scentoflove vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-09-2006, 10:18 PM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi scentoflove View Post
Rs mắc giữa chân isenA và mass, mạch cầu H thì mình sẽ mắc Rs như thế nào anh
Trong L298N cũng là một mạch cầu H mà em.

Mắc Rs giữa âm nguồn và điểm nối các chân S của các MOSFET phía thấp.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-09-2006, 10:14 AM   #4
bluepine
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 53
:
anh Namqn ơi, có thể giải thích rõ hơn vai trò của chân sens trong mạch cầu được không ? ta đã dùng encoder để hồi tiếp tốc độ động cơ rồi thì thêm chân sens có ý nghĩa gì vậy anh. Em đọc trong datasheet của cầu LM18200 thì thấy nó nói rằng độ nhạy là 377uA/1A, để tối ưu độ chính xác và tuyến tính thì phải chọn điện trở giữa chân sens này với mas sao cho điện áp giới hạn giữa chân sens này với mas là 5V, và trong thiết kế đó thì nó chọn điện trở 2K. em mắc thử thì thấy mạch vẫn chạy tốt. mong anh giải thích thêm,
mến

bluepine vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-09-2006, 07:24 PM   #5
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi bluepine View Post
anh Namqn ơi, có thể giải thích rõ hơn vai trò của chân sens trong mạch cầu được không ? ta đã dùng encoder để hồi tiếp tốc độ động cơ rồi thì thêm chân sens có ý nghĩa gì vậy anh. Em đọc trong datasheet của cầu LM18200 thì thấy nó nói rằng độ nhạy là 377uA/1A, để tối ưu độ chính xác và tuyến tính thì phải chọn điện trở giữa chân sens này với mas sao cho điện áp giới hạn giữa chân sens này với mas là 5V, và trong thiết kế đó thì nó chọn điện trở 2K. em mắc thử thì thấy mạch vẫn chạy tốt. mong anh giải thích thêm,
mến

Post này đọc rồi mà lại quên trả lời.

Chân sense để phản hồi giá trị dòng điện, có thể dùng để bảo vệ quá tải, ngắn mạch, cũng có thể dùng để tính toán trong một số phương pháp điều khiển, vì dòng điện qua động cơ tỷ lệ với mômen điện từ sinh ra trong động cơ.

Giải thích về chân sense của LMD18200: có 2 cảm biến dòng điện sẽ cảm nhận dòng điện qua 2 MOSFET phía cao, sau đó đưa vào mạch ổn định và tạo dòng ở chân sense của vi mạch. Chúng ta sẽ mắc một điện trở chuẩn vào giữa chân này và 0V để tạo áp rơi tỷ lệ với dòng điện (dùng cho các mạch điều khiển, giới hạn dòng).

Với LMD18200 thì chân sense của nó cho phép chúng ta chọn ngưỡng dòng để tác động, vì giá trị điện trở khác nhau sẽ tạo ra áp rơi khác nhau. Nguyên tắc cảm nhận dòng điện của LMD18200 khác với cách chúng ta làm ở đây (có lẽ nó đang dùng cảm biến Hall, do đó mới có thông số độ nhạy 377 uA/A). Nếu chúng ta dùng điện trở Rs như trong các mạch cầu H đang được thực hiện ở đây thì độ nhạy sẽ là 1A/1A (chúng ta dùng giá trị thực của dòng điện).

Giá trị 2k mà họ dùng đảm bảo điều kiện áp rơi không quá 5V so với GND, do đó mạch chạy tốt là đương nhiên.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-09-2006, 09:01 AM   #6
bluepine
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 53
:
anh trả lời rất thuyết phục. cảm ơn anh nhiều.
mến
bluepine vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-09-2006, 10:28 AM   #7
bluepine
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 53
:
Smile

em đã vẽ xong phần mạch điều khiển động cơ servo dùng cầu LM18200, các anh tham khảo góp ý cho nhé.
mến
Hình Kèm Theo
File Type: jpg hinh mach cau.JPG (97.1 KB, 250 lần tải)
bluepine vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-09-2006, 01:36 PM   #8
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Phần mạch cầu H, anh Nam sẽ comment thêm cho em nếu cần. Còn phần thiết kế, anh có mấy điểm chú ý:

1) Phần RS232, em sử dụng chuẩn bootloader của picvietnam (tìm lại bài báo cáo này do Chính cung cấp) Hồi trước Chính làm cái hình bé xíu, anh không nhớ Chính đã gửi báo cáo lên và sửa lại chưa. Em nên thiết kế theo chuẩn đó.

2) Phần nạp trình cho PIC trên board, với chuẩn đó, em cũng nên thiết kế header theo chuẩn ICSP-BLD của picvietnam, như vậy sẽ có thể phát triển và hỗ trợ công cụ một cách thống nhất.

>> Như vậy, chúng ta sẽ thống nhất chuẩn thiết kế cho mạch chạy PIC ở phần này luôn.

3) Về phần encoder, theo anh, em kô cần làm quá phức tạp, chỉ cần em cấp trực tiếp vào chân vi điều khiển là xong. Rất nhiều thiết kế dùng các con FF đưa vào để tạo xung tốt hơn, nhưng anh thấy với PIC không cần thiết phải làm vậy. Nếu em có osc, em có thể lấy quan sát thử, nó chả mất xung đâu (nhớ tính phần chu kỳ ngắt cho tốt là được).

4) Nếu để tăng độ mịn, anh nghĩ em nên dùng cả hai ngắt trên hai chân. Như vậy, lợi thế nhất là em dùng interrupt onchange trên portb. Vì như vậy, em có thể đọc được độ mịn lên gấp 4 lần, khi đọc encoder.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-09-2006, 09:38 AM   #9
bluepine
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 53
:
Smile

Chào mọi người,
1/ Phần mạch RS232 em sẽ đọc lại phần botloader để sửa.
2/ Chuẩn ICSP-BLD của picvietnam ở luồng nào vậy anh F, anh gửi cho em được không.
3/ "Nếu để tăng độ mịn, anh nghĩ em nên dùng cả hai ngắt trên hai chân. Như vậy, lợi thế nhất là em dùng interrupt onchange trên portb. Vì như vậy, em có thể đọc được độ mịn lên gấp 4 lần, khi đọc encoder." Phần này, em chưa hiểu rõ lắm, chức năng interrupt on change thì em biết, nhưng từ 2 tín hiệu xung đưa về thì làm sao tăng độ nhạy lên 4 lần, anh giải thích thêm cho em.
bluepine vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-09-2006, 04:28 PM   #10
bluepine
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 53
:
Question cho em hỏi về tốc độ động cơ

Khi em điều rộng xung với tần số 19500Hz, dutycycle = 100% để điều khiển không tải động cơ, nhưng em đếm số vòng động cơ hồi tiếp về không ổn định.
khi chu kì lấy mẫu càng giảm thì độ dao động càng cao , đây là các giá trị tốc độ đưa về (vòng/phút) (em dùng RS232 để đưa tốc độ về hiển thị trên máy tính, chu kì láy mẫu là 0.8s, nếu giảm xuống sai lệch còn lớn hơn nhiều )
50 1750 2000 1750 2000 1750 1750 2000 1750 1750 2
000 1750 1750 2000 1750 1750 2000 1750 1750 1750 2
000 1750 1750 2000 1750 1750 1750 1750 1750 1750 1
750 1750 1750 1750 1750 1750 2000 1750 1750 1750 1
750 1750 1750 2000 1750 1750 1750 1750 1750 2000 1
750 1750 1750 1750 1750 1750 1750 2000 1750 1750 1
750 1750 1750 1750 2000 1750 1750 1750 1750 1750 1
750 1750 1750 2000 1750 1750 1750 1750 1750 1750 1
750 2000 1750 1750 1750 1750 1750 1750 1750 2000 1
750 1750 1750 1750 1750 1750 1750 1750 1750
các anh có thể giải thích được không?
mến
bluepine vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-09-2006, 06:00 PM   #11
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi bluepine View Post
Khi em điều rộng xung với tần số 19500Hz, dutycycle = 100% để điều khiển không tải động cơ, nhưng em đếm số vòng động cơ hồi tiếp về không ổn định.
khi chu kì lấy mẫu càng giảm thì độ dao động càng cao , đây là các giá trị tốc độ đưa về (vòng/phút) (em dùng RS232 để đưa tốc độ về hiển thị trên máy tính, chu kì láy mẫu là 0.8s, nếu giảm xuống sai lệch còn lớn hơn nhiều )
50 1750 2000 1750 2000 1750 1750 2000 1750 1750 2
000 1750 1750 2000 1750 1750 2000 1750 1750 1750 2
000 1750 1750 2000 1750 1750 1750 1750 1750 1750 1
750 1750 1750 1750 1750 1750 2000 1750 1750 1750 1
750 1750 1750 2000 1750 1750 1750 1750 1750 2000 1
750 1750 1750 1750 1750 1750 1750 2000 1750 1750 1
750 1750 1750 1750 2000 1750 1750 1750 1750 1750 1
750 1750 1750 2000 1750 1750 1750 1750 1750 1750 1
750 2000 1750 1750 1750 1750 1750 1750 1750 2000 1
750 1750 1750 1750 1750 1750 1750 1750 1750
các anh có thể giải thích được không?
mến
Anh không nhớ encoder của em có bao nhiêu xung, nhưng kết quả như vậy chắc chắn là có vấn đề (có nhiều khâu cần xem xét: tín hiệu encoder đưa về, thuật toán tính tốc độ).

Ngày trước sinh viên của anh làm với encoder 100 xung/vòng cũng chỉ có sai lệch 60 vòng/phút khi đọc tốc độ không tải (thời gian lấy mẫu là 100 ms thì phải, không nhớ rõ lắm).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-09-2006, 10:42 AM   #12
bluepine
Đệ tử 3 túi
 
Tham gia ngày: Jun 2006
Bài gửi: 53
:
Encoder của em 500 xung, còn về giải thuật đếm thì em dùng timer0 để đọc xung về (hệ số chia 2), em đặt giá trị đầu timer0 là 6, khi đếm đến 250 thì timer0 tràn (tức là 500 xung) em tăng giá trị xung lên 1.
em dùng timer1 để làm chu kì lấy mẫu, khi hết chu kì lấy mẫu (timer1 ngắt) thì em cho hiển thị giá trị đếm về máy tính.
Em cũng nghĩ có thể do tín hiệu từ encoder đưa về có vấn đề nhưng em thắc mắc sao giá trị đưa về chỉ thay đổi ở 2 giá trị thôi (như ví dụ trên là 2000 và 1750) và vài chu kì lấy mẫu thì nó mới thay đổi 1 lần (vì nhiễu thì phải gây thay đổi tín hiệu trong mỗi chu kì chứ)
em gửi kèm theo file chương trình viết trên CCsc , các anh xem hộ
mến
File Kèm Theo
File Type: rar PICvietnam.rar (2.1 KB, 505 lần tải)
bluepine vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-09-2006, 01:27 PM   #13
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Giá trị của timer là từ 0 đến 255. Nếu em đặt giá trị đầu là 6, thì nó chỉ đếm được đến 249 là tràn rồi, chứ không phải 250!. Vì 256 là tổng số 2^8, nhưng mà từ 0 đến 255 là 256 số.

Anh không biết em viết cụ thể thế nào, nhưng con số em đưa ra là có vấn đề rồi. Như vậy, nó chạy đến 255 là tràn, hay có nghĩa là đến 249 thì sẽ tràn.

Em có thể post chương trình đoạn đọc encoder lên đây để mọi người cùng quan sát.

Ngoài ra, khi làm các phần test về hoạt động, em cần thực hiện việc truyền số liệu ở dạng nguyên gốc. Có nghĩa là em nên truyền về dạng số xung, chứ không nên truyền về dạng đã tính toán thành vận tốc, như vậy rất khó theo dõi sự đúng sai.

Điểm thứ ba, đó là em phải hiểu, khi em điều khiển độ rộng xung như vậy, em đặt một giá trị fix nào đó của pwm để điều khiển, thì nó có sự lên xuống về tốc độ, cũng không có gì lạ. Nhưng hiện tượng mà chỉ có sai đúng 2 số như vậy, rõ ràng em lập trình sai rồi.

Em kiểm tra lại điểm thứ nhất anh nói, về con số đặt, và post chương trình lên cho mọi người cùng xem.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:09 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam