vả lại nếu bạn sử dụng chân vdk để dk hướng truyền nhậ thì khi truyền dữ liệu đi thì bạn phải đợi một khoảng thời gian dủ sao cho toàn bộ byte bạn truyền được gởi lên đường truyền thì mới cp nó nhận dữ liệu.nếu không dữ liệu ko dc truyền hết thì đã cấm 75176 truyền->dl sẽ sai
Thông báo
Collapse
No announcement yet.
Xin chỉ chỗ sai trong chương trình test giao tiếp máy tính qua r485
Collapse
X
-
bạn nói rõ hơn tí đi mình chưa hiểu rõ lắm ! có nghĩa tại slave atmega8 mình sẽ thêm một cổng not vào đường tx:
pin Tx (atmega8) ---------------------------> Di (pin 4 _75176)
......................................... |
......................................... |...................... cổng not ..........> pin (2_3) của 75176.
-- khi data ( tx = 0) --> pin(2_3) cao tức cho phép truyền. được bít 0 đi.
-- Nhưng trong data truyền đi có bít 1 ( tx =1) --> pin(2_3) thấp tức cấm truyền ( trạng thái trờ kháng cao ở (pin AbB_ bus của 485) vậy sao mình truyền được bít 1 đi vậy bạn ? mình không hiểu chỗ nè.
Comment
-
Nguyên văn bởi newbie_avr Xem bài viếtmục đích của tín hiệu RTC ( điều khiển từ giao diện vb) là để máy tính có thể sau khi gủi data sẽ trở về trạng thái nhận dữ liệu tức con 485 nối với max 232 rồi nối với máy tính phải được tích cực mức thấp . Mức thấp này mình dùng chân số 7 (RTS của cổng com để điều khiển).
Mscomm.Enable = True ==> ~ (10v) tại pin 7 qua 232 thành ~(0 v) == >(nếu kết hợp với 485 thêm thì sẽ có nghĩa là đưa máy tính về trạng thái nhận dữ liệu - 485 mỗi thời điểm chỉ có thể truyền hoặc nhận)
Nhưng vấn đề bạn đã thấy là trong chương trình khi mình chỉ test pc <->232 thôi mà có lệnh Mscomm.Enable = True đã thấy xuất hiện vấn đề rồi mà không hiểu tại sao
Code:code không chạy ( không có giá trị trả về test box nhân hoặc trả về tùm lum) Code: MSComm1.RTSEnable = True MSComm1.Output = Text2.Text
Comment
-
Nguyên văn bởi newbie_avr Xem bài viếtvậy sao mình truyền được bít 1 đi vậy bạn ? mình không hiểu chỗ nè.
còn phần AT truyền bít 1 lên như đã nói ở trên.khi xuất bít 1 ra TXD như vậy DE,DI có mức 0,75176 nhận dữ liệu hay ở trạng thái trở kháng cao,khi đó trên đường truyền luôn có mức logic 1(bạn dọc lại datasheet của 75176) như vậy bên nhận sẽ nhận được logic 1 mà bạn truyền.
khi kết thúc một byte truyền là bít stop(1) do vậy DI,DE bên truyền ở mức 0,luôn cp nhận dl.còn bên nhận luôn nhận logic 1.
như vậy trạng thái truyền nhận của 75176 luôn thay đổi theo bít dữ liệu bạn truyền là 1 or 0 nên trên đường truyền cũng có các mức logic thay đổi theohãy quý những j hiện tại mình đang có
Comment
-
Nguyên văn bởi dt_love Xem bài viếtbạn cẩn thận với dòng này... lâu rồi mình ko đụng tới VB nên ko nhớ rõ. nhưng hình như cái này là để bật tính năng bắt tay phần cứng chứ ko phải chỉ đơn thuần là set chân IO đâu, bạn coi lại thử chỗ này nhé..
ta vẫn có thể cho chân RTS lên 1 hay xuog 0 được mà.
mà khi bắt tay phần cứng thì ta cũng phải true hay false tín hiệu này mà.hãy quý những j hiện tại mình đang có
Comment
-
Bạn làm lại từ từ, đùng một cái quất vừa hardware software firmware như kia thì làm sao mò ra nổi.
-Trước hết nên dùng hyperterminal hoặc Codevision Terminal test trước với rs232
-Test tiếp tục với rs485. Chân 2-3 MAX485 bên phần avr bạn đấu chung và chỉ cho mức 0 thì code sẽ không trả ngược lại PC được vì tín hiệu chỉ có một chiều. Cũng vậy MAX485 bên phía PC bạn điều khiển chiều tín hiệu làm sao?
Code lên xuống ok nghĩa là không sai baudrate, chân cẳng đấu đúng đâu đó mới tiếp tục phát triển software.Đã bỏ nghề về quê chăn gà...
Comment
-
uh trước đây mình làm cái quang báo 2 lớp bằng tay cũng phải test từ từ vì lỗi nhiều . giờ làm cái này do thời gian gấp quá mà lại phải cái chưa làm bao giờ (avr và vb) nên còn nhiều bỡ ngỡ được các bạn góp ý chỉ bảo thấy rất vui. nhiều khi mò cả ngày không giải quyết được gì cũng chán lắm.
Chân 2-3 MAX485 bên phần avr bạn đấu chung và chỉ cho mức 0 thì code sẽ không trả ngược lại PC được
Comment
-
Nguyên văn bởi xl09 Xem bài viếttrong này có sử dụng chúc năng bắt tay phần cứng đâu hả bạn.
ta vẫn có thể cho chân RTS lên 1 hay xuog 0 được mà.
mà khi bắt tay phần cứng thì ta cũng phải true hay false tín hiệu này mà.
Comment
-
bạn ko post mạch lên nên mình ko bit nó ra sao.
ở đây, trong phần mềm bạn set tốc độ baud là 9600 thì tốn khoảng 104us cho một bit truyền đi,mà ở trên,trong phần mềm cả bên vb lẫn bên avr, bạn vừa set chế độ truyền đi, đưa data ra bộ đệm, sau đó lại chuyển hướng sang chế độ nhận, thời gian này chắc nó chưa kịp gửi được bit start lên đường truyền đâu, như vậy data của bạn chỉ dừng lại ở chỗ con 75176 thôi. bạn check lại chỗ này nhé,
Comment
-
Uh ! phần vb nè phải điều khiển hướng truyền nên có lẽ code chỗ xử lý đó kô hợp lý. Bạn có đoạn code mẫu nào xử lý vấn đề đó không ! ví dụ mình truyền đi một frame (gồm một số byte cho slave) sau đó mình sẽ đợi bao lâu rồi mới cho 75176 trở về chế độ nhận.. nếu đợi thì phải dùng vòng lặp hay gì đó cách tính thời gian trong vb.?
Comment
-
Nguyên văn bởi newbie_avr Xem bài viếtUh ! phần vb nè phải điều khiển hướng truyền nên có lẽ code chỗ xử lý đó kô hợp lý. Bạn có đoạn code mẫu nào xử lý vấn đề đó không ! ví dụ mình truyền đi một frame (gồm một số byte cho slave) sau đó mình sẽ đợi bao lâu rồi mới cho 75176 trở về chế độ nhận.. nếu đợi thì phải dùng vòng lặp hay gì đó cách tính thời gian trong vb.?
có thể làm như cách bạn j đó đã nói ở trên, nếu bạn ko rõ thì có thể search mạch convert rs232-->rs485 nó sẽ có mạch cho chỗ dk này.
Comment
-
uh, thôi làm theo cách tự tín hiệu điều khiển hướng nó để soft khỏi phải bận tâm đến vân đề này nữa cũng đươc.
- Không hiểu sao cái board mình mới làm mới đầu hàn com rồi hàn 4 tụ và max 232 mình test rồi nôi tắt hai Pin_11_12 của max 232 thì nó gửi liền tín hiệu về : vd test box send nhập (123) thì test box receive nhận về (123). nhưng khi mình để hở 2 chân Pin_11_12 này rồi send thử thì có hiện tượng sau ( 1: nhận kí tự nhưng tùm lum, 2 : không có giá trị xuất ra test box receive) .
-- Lỗi này do đâu nhỉ. ? hoặc cũng có thể kô phải lỗi mà do mình chưa hiểu rõ cơ chế chỗ này ( chỉ khi có sự kiện oncome là có dữ liệu trong bô đệm nhận thì mói xuất ra test box receive mà).
-- tiếp đó mình bỏ qua và hàn tiếp đến hai con led để hiển thì khi có tín hiệu xuất hay nhận.
rồi lại nối tắt hai pin_11_12 của 232 và test như trên thì kết quả là không thu được bất kì kí tư nào ỏ test box nhận (kể cả nối tắt hoặc để hở ) kô hiểu nguyên nhân.
- Đây là 2 hình mà mình đã ráp mạch đến đâu test đến đó. còn thêm phần 485 chưa ráp.
mà sao kô up được hình chán thế gửi qua web nhé.
http://www.mediafire.com/?dw4txyhit0d
http://www.mediafire.com/?mmmzmnmry4z
Comment
-
ban lam như vay thì làm sao mà nó nhận dc dl.
chan 12 của max 232 của bạn chính là tín hiệu TXD (pc) theo mức TTL.
chân 11(max232) chính là tín hiệu vào RXD(pc) theo chuẩn TTL.
khi xuất tín hiệu (-12V or 12V ra (chan TXD),qua max232 chuyển đổi tín hiệu theo mức TTL(0 or 5V). phía nhận dữ liệu thì ngược lại.
bạn phải dọc lại chuẩn RS232.
bạn có thể tham khảo tài liệu này. http://www.2shared.com/file/9227785/...iep_RS232.htmlhãy quý những j hiện tại mình đang có
Comment
-
Bạn nói gì mình không hiểu. việc này chỉ đơn thuần <=> muốn test cổng com của máy tính thì nối tắt chân 2 và 3 của cổng com rồi gửi ở test bos truyền sẽ có tín hiệu trả về ở test box nhận. Mình đã test kiểu này và thấy nó đúng như vậy. ==> cổng com của mình vẫn tốt và chương trình test vb không có vấn đề gì.
---- bây giời mình muốn test xem con max232 của mình có hoạt động được không thì mình phải nối tắt hai chân 11 và chân 12 ở phía TLL của max232 là đúng chứ sao lại sai vậy bạn ?
http://www.mediafire.com/?2erknjxydcu
Comment
-
Nguyên văn bởi xl09 Xem bài viếtDúng rùi.
còn phần AT truyền bít 1 lên như đã nói ở trên.khi xuất bít 1 ra TXD như vậy DE,DI có mức 0,75176 nhận dữ liệu hay ở trạng thái trở kháng cao,khi đó trên đường truyền luôn có mức logic 1(bạn dọc lại datasheet của 75176) như vậy bên nhận sẽ nhận được logic 1 mà bạn truyền.
khi kết thúc một byte truyền là bít stop(1) do vậy DI,DE bên truyền ở mức 0,luôn cp nhận dl.còn bên nhận luôn nhận logic 1.
như vậy trạng thái truyền nhận của 75176 luôn thay đổi theo bít dữ liệu bạn truyền là 1 or 0 nên trên đường truyền cũng có các mức logic thay đổi theo
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
-
Channel: Điện tử công suất
Hôm qua, 13:11 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanSửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
-
Channel: Điện tử công suất
Hôm qua, 09:25 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanĐúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....-
Channel: Điện thanh
Hôm qua, 09:10 -
-
bởi Ng.Phuong.5Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
Mấy con...-
Channel: Cadence ORCAD
09-01-2025, 19:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhBác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...-
Channel: Điện thanh
09-01-2025, 18:12 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
Cách đơn giản...-
Channel: Điện thanh
09-01-2025, 00:04 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
-
Channel: Điện tử công suất
08-01-2025, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
-
Channel: Điện tử công suất
08-01-2025, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
08-01-2025, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
08-01-2025, 11:44 -
Comment