View Full Version : Giao tiếp giữa hai con 16f877a qua max485
pictd03
27-05-2008, 06:12 PM
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
namqn
27-05-2008, 06:37 PM
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,
pictd03
28-05-2008, 05:32 PM
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.
david
28-05-2008, 09:15 PM
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
rongluavt7
20-05-2010, 07:51 AM
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.
sit_alone76816
30-05-2010, 01:10 PM
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 !
nhanh0112
01-06-2010, 05:32 PM
@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:
http://www.sharps.lv/Informacija/PIC%20MCU/PIC/09_files/rs485.gif
sit_alone76816
02-06-2010, 01:33 AM
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 đỡ !
nhanh0112
02-06-2010, 10:50 AM
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.
sit_alone76816
02-06-2010, 11:31 PM
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 !
nhanh0112
03-06-2010, 12:00 AM
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 :)
sit_alone76816
04-06-2010, 10:43 AM
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ỉ ?
nhanh0112
05-06-2010, 10:55 AM
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)
http://2.bp.blogspot.com/_CvxN91KM3Rc/SlDDhWo2LUI/AAAAAAAAALg/4Zkw-kR9ojs/s400/RS232_to_RS485_converter.JPG
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ò :D
Chúc thành công!
sit_alone76816
05-06-2010, 12:55 PM
Đú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)
http://2.bp.blogspot.com/_CvxN91KM3Rc/SlDDhWo2LUI/AAAAAAAAALg/4Zkw-kR9ojs/s400/RS232_to_RS485_converter.JPG
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ò :D
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 ?
nhanh0112
05-06-2010, 05:29 PM
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.
sit_alone76816
05-06-2010, 06:24 PM
Bạn nói thế thì thôi vậy ! Cảm ơn bạn !
Anfet
22-04-2011, 10:33 AM
Chào các anh(chị)!
Hiện em đang làm một mạch giao tiếp máy tính(một phần sơ đồ nguyên lý như bên dưới).Mạch dùng 1 max232 và 4 max485 để truyền song công.Tuy nhiên em có chút vấn đề sau mong anh(chị) chỉ giúp em:
+ con max485 có chân số 2 và 3 nối lên nguồn để phát dữ liệu bị nóng khi được cấp nguồn.Điện áp giữa chân 6 và 7 của con này khi chưa có tín hiệu truyền là 2.3V trong khi đó em thiết kế cặp điện trở phân cực(680ohm) cho nó để đảm bảo Vab>0.2V một chút thôi.
+con max485 còn lại(chân 2 3 nói mass) thì bình thường
Em thử nối chân 2 3 của max phát lên nguồn thông qua trở 33k hoặc lớn hơn cũng đều không có tác dụng j cả.
Anh(chị)nào hiểu chổ này giải thích giúp em với.Em cám ơn nhiều.
hthang1988
11-12-2011, 10:05 PM
mach nay co chay ko vay,hay chi de choi thoi
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.