PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

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

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 27-05-2008, 06:12 PM   #1
pictd03
Nhập môn đệ tử
 
pictd03's Avatar
 
Tham gia ngày: Apr 2008
Bài gửi: 8
:
Lightbulb Giao tiếp giữa hai con 16f877a qua max485

Mình đang làm mạch giao tiếp giữa hai con 16f877a qua max485, đã dùng thử một số sơ đồ trên mạng và các tài liệu khác nhưng vẫn không chạy.
Mục đích là gửi một gói dữ liệu từ con này qua con kia, con kia nhận được và sẽ trả lời là nhận được và gửi một gói dữ liệu trả về.Thực tế thì gửi trực tiếp giữa hai con thì kết quả báo đúng.Nhưng khi cho giao tiếp qua max485 (để truyền đi xa) thì hầu như không chạy.Mình củng đã thay đổi nhiều loại điện trở đầu cuối của max485 cho phù hợp với tổng trở của dây dẫn nhưng vẫn không được.
Bạn nào đã từng làm mạch này chạy rồi giúp mình với, hoặc đã từng biết qua mạch này củng được xin cho mình ý kiến, thanks!
đang cấn gấp
pictd03 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-05-2008, 06:37 PM   #2
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 pictd03 View Post
Mình đang làm mạch giao tiếp giữa hai con 16f877a qua max485, đã dùng thử một số sơ đồ trên mạng và các tài liệu khác nhưng vẫn không chạy.
Mục đích là gửi một gói dữ liệu từ con này qua con kia, con kia nhận được và sẽ trả lời là nhận được và gửi một gói dữ liệu trả về.Thực tế thì gửi trực tiếp giữa hai con thì kết quả báo đúng.Nhưng khi cho giao tiếp qua max485 (để truyền đi xa) thì hầu như không chạy.Mình củng đã thay đổi nhiều loại điện trở đầu cuối của max485 cho phù hợp với tổng trở của dây dẫn nhưng vẫn không được.
Bạn nào đã từng làm mạch này chạy rồi giúp mình với, hoặc đã từng biết qua mạch này củng được xin cho mình ý kiến, thanks!
đang cấn gấp
Bạn đã hỏi ở đây, và tôi cũng đã có ý kiến về việc bổ sung thông tin:
http://www.picvietnam.com/forum/showthread.php?p=16521

Bạn không đưa thêm thông tin (sơ đồ mạch) mà lại tạo ra luồng mới này, với cùng nội dung đã hỏi. Đề nghị bạn xem lại cách làm việc.

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 28-05-2008, 05:32 PM   #3
pictd03
Nhập môn đệ tử
 
pictd03's Avatar
 
Tham gia ngày: Apr 2008
Bài gửi: 8
:
sorry,mình không thường xuyên up bài lên các forum nên chưa rành lắm, có gì chỉ bảo mình với.Mình sẽ up sơ đồ nguyên lý lên khi về nhà(hiện tại ko có ở nhà), anh em có gì giúp đỡ.Mình chỉ mới tìm hiểu PIC chủ yếu là tự vọc.
pictd03 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-05-2008, 09:15 PM   #4
david
Đệ tử 4 túi
 
david's Avatar
 
Tham gia ngày: Aug 2006
Bài gửi: 81
:
Giao tiếp giữa 2 con PIC theo RS485 không có vấn đề gì cả !
Vì bản chất vẫn là giao tiếp theo RS232 :
từ PIC1 đến MAX485_1 là RS232
từ MAX485_1 đến MAX485_2 là RS485
từ MAX485_2 đến PIC2 là RS232
Bạn không cần bận tâm đến giữa 2 con MAX nó trao đổi thế nào
Với PIC bạn xuất và nhận theo RS232 bình thường
Chỉ có lưu ý là bạn nối 2 chân RE và DE lại để điều khiển : nhận dữ liệu thì cho chân điều khiển bằng 0 và ngược lại
david vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-05-2010, 07:51 AM   #5
rongluavt7
Nhập môn đệ tử
 
Tham gia ngày: May 2009
Bài gửi: 1
:
Bạn nào cho mình biết Max485 ban ở đâu được không? Mình đi hỏi khắp cả chợ trời và chợ nhật tảo rồi mà chẳng có, Ai biết thì giúp mình nhé. gửi mail cho mình vào địa chỉ
khongquannhandanvietnnam@gmail.com nhé, cám ơn nhiều.
rongluavt7 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-05-2010, 01:10 PM   #6
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
uhm Max485 thì bạn kiếm hổng thấy đâu, có thì cũng có đó, tại bạn chưa hỏi đúng chỗ thôi, tốt nhất bạn hỏi con SN75176 con này tương đương với Max485 mà.

Mình chưa hiểu cách mắc giữa con Max485 với PIC như thế nào, mình có mắc thử, nhưng chăng thấy tín hiệu gì hết. Ai có thi share cho mình với nha. Cảm ơn nhiều !
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2010, 05:32 PM   #7
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
@rongluavt7:Max485 thì ra 17a Hàn Thuyên (Hà nội). Tui vẫn mua ở đó mà.
@sit_alone76816: Chân RO(1) nối vào TX của PIC, Chân DI(4) nối vào TX của PIC, Chân DE(3) và RE(2) nối chung với nhau và nối vào 1 PIN in/out nào đó để điều khiển truyền nhận. Khi phát thì cho chân điều khiển lên 1, khi thu thì cho về 0.
Tham khảo:
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2010, 01:33 AM   #8
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Chân thành cảm ơn bạn nhanh0112, cái này mình tìm hoài mà hổng thấy, cảm ơn bạn đã share.
Cho mình hỏi thêm giả sử mình mắc cho con 89V51 thì cái chân DE của MAX485 mình cũng mắc vào chân R\D\ của 89V51 luôn hay là vào chân khác, mình thấy hình như là mắc vào chân INT1 của 89V51 thì phải ?

Thứ 2 : là mình muốn mắc thêm vài con PIC nữa thì con PIC kia cũng mắc như trên hả, có cần thay đổi gì không vậy ?

Mong được sự giúp đỡ !
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2010, 10:50 AM   #9
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
Chân thành cảm ơn bạn nhanh0112, cái này mình tìm hoài mà hổng thấy, cảm ơn bạn đã share.
Cho mình hỏi thêm giả sử mình mắc cho con 89V51 thì cái chân DE của MAX485 mình cũng mắc vào chân R\D\ của 89V51 luôn hay là vào chân khác, mình thấy hình như là mắc vào chân INT1 của 89V51 thì phải ?

Thứ 2 : là mình muốn mắc thêm vài con PIC nữa thì con PIC kia cũng mắc như trên hả, có cần thay đổi gì không vậy ?

Mong được sự giúp đỡ !
Chân DE bạn mắc vào chân In/out bất kỳ thôi (chân trên port in/out). Trường hợp bạn lắp vào chân INT là khi bạn muốn nhận sự kiện (Module 485 khác gửi đến, khi nào nhận đc dữ liệu thì mới xử lý). Còn tất cả các module mắc song song với nhau vào chân AB thôi.
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2010, 11:31 PM   #10
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Thế vậy chân DE mắc vào chân bất kỳ làm gì vậy bạn, nếu mắc mà không xử lý gì thì mắc làm gì, mong bạn giải thích giùm !
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-06-2010, 12:00 AM   #11
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
Thế vậy chân DE mắc vào chân bất kỳ làm gì vậy bạn, nếu mắc mà không xử lý gì thì mắc làm gì, mong bạn giải thích giùm !
Như tui đã nói ở post #7 là: "Chân DE(3) và RE(2) nối chung với nhau và nối vào 1 PIN in/out nào đó để điều khiển truyền nhận. Khi phát thì cho chân điều khiển lên 1, khi thu thì cho về 0." RS458 chạy ở chế độ bán song công mà (half duplex - 1 thời điểm chỉ có thể hoặc là phát hoặc là nhận), nên việc chọn chế độ thu hay phát là cần thiết.
Tiện đây cũng xin đính chính lại cho post trên là chân này ko cần thiết phải lắp vào chân INT vì chân này là chân bị điều khiển, ngắt để bắt sự kiện chính là ngắt nối tiếp, sorry
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-06-2010, 10:43 AM   #12
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Cảm ơn bạn, Vậy còn việc truyền với máy tính, với shematic ở trên mình có thể truyền qua máy tính tốt đẹp chứ phải không bạn, có cần làm gì nữa không nhỉ ?
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2010, 10:55 AM   #13
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
Cảm ơn bạn, Vậy còn việc truyền với máy tính, với shematic ở trên mình có thể truyền qua máy tính tốt đẹp chứ phải không bạn, có cần làm gì nữa không nhỉ ?
Đúng vậy, phần cứng thì chỉ cần vậy là đủ. Việc còn lại là làm việc với phần mềm thôi. Tìm thêm cho bạn cái hình dùng tranzitor để tự chuyển mạch khi phát hay nhận (giao tiếp với máy tính chỉ cần TX,RX,GND). Việc này giúp bạn tiết kiếm dây (nếu cần)

Như trong hình bạn có thể bỏ dây nối vào chân 12,13 của RS232 (kích điều khiển từ máy tính). Nếu không nó sẽ đc kích bởi chính chân gửi dữ liệu (chân 9).
Mạch đã chạy thử thực tế, chứ ko nói mò
Chúc thành công!
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2010, 12:55 PM   #14
sit_alone76816
Đệ tử 2 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 38
:
Trích:
Nguyên văn bởi nhanh0112 View Post
Đúng vậy, phần cứng thì chỉ cần vậy là đủ. Việc còn lại là làm việc với phần mềm thôi. Tìm thêm cho bạn cái hình dùng tranzitor để tự chuyển mạch khi phát hay nhận (giao tiếp với máy tính chỉ cần TX,RX,GND). Việc này giúp bạn tiết kiếm dây (nếu cần)

Như trong hình bạn có thể bỏ dây nối vào chân 12,13 của RS232 (kích điều khiển từ máy tính). Nếu không nó sẽ đc kích bởi chính chân gửi dữ liệu (chân 9).
Mạch đã chạy thử thực tế, chứ ko nói mò
Chúc thành công!
Chân thành cảm ơn bạn !

Mà sao mình thất 2 mạch có vẻ khác nhau nhiều quá , như sau:

1. + Mạch dưới chân 1(max485) --> chân T2I(10) RS232 --> T2O(7) --> TX của cổng COM.
+ Mạch trên thì khác chân 1(max485) --> chân T2I(10) RS232 --> T2O(7) --> RX của cổng COM
1 cái thì vào TX, 1 cái thì vào RX như vậy là sao ?

Và chân 4 của max485 cũng thế, 2 hình ngược nhau ! Bạn giải thích giùm. Hoặc bạn có thể giải thích cách truyền nhận của Max485 được không vậy ?
sit_alone76816 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2010, 05:29 PM   #15
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi sit_alone76816 View Post
Chân thành cảm ơn bạn !

Mà sao mình thất 2 mạch có vẻ khác nhau nhiều quá , như sau:

1. + Mạch dưới chân 1(max485) --> chân T2I(10) RS232 --> T2O(7) --> TX của cổng COM.
+ Mạch trên thì khác chân 1(max485) --> chân T2I(10) RS232 --> T2O(7) --> RX của cổng COM
1 cái thì vào TX, 1 cái thì vào RX như vậy là sao ?

Và chân 4 của max485 cũng thế, 2 hình ngược nhau ! Bạn giải thích giùm. Hoặc bạn có thể giải thích cách truyền nhận của Max485 được không vậy ?
Hic, so sánh 2 sơ đồ thì cách nối chân la lá như nhau mà bạn (chân 4 của max485 nối vào chân 9 của max232 đó thôi).Còn cổng CN1 trên sơ đồ là cổng kết nối của module convert 232-485 này, chứ ko phải cổng COM trên PC. Việc đấu nối thế nào thì tùy thuộc vào người thiết kế thôi (đấu cáp thẳng hoặc cáp chéo).
Miễn sao đảm bảo: chân 8 (hoặc chân 13) nối vào TX của PC (đây là chân RX của module); và chân 7 (hoặc chân 14) nối vào RX của PC (đây là chân TX của module). Bạn có thể xem datasheet của Max232 thể thấy rõ hơn.
Đại để của việc truyền dữ liệu trên 485 là so sánh sự chêch lệch điện áp trên 2 dây A và B. Nhưng mình ko cần quan tâm đến phần này, chỉ cần qua tâm là đưa dữ liệu vào TX con 1, và nhận lại toàn bộ dữ liệu trên RX con 2 là đc.
nhanh0112 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à 04:10 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