Thông báo

Collapse
No announcement yet.

Giao tiếp AVR với PC

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giao tiếp AVR với PC

    Hi , chào các bác

    Hì hì, em kết nối được con AVR của em với máy tính rồi. đọc số liệu tốt. Nhưng nó lại nẩy sinh ra một vấn đề khác mong các bác hỗ trợ em :

    1/ Em cho nó truyền sang máy tính chữ "Hello". Nhưng có lúc PC bắt đầu nhận thì lúc nhận được chữ "Hello". Nhưng có lúc khi bắt đầu nhận thì lại ra các ký khác.
    2/ Em muốn khi truyền sang PC thì sau 1 giá trị "Hello" chẳng hạn, thì làm sao để PC biết chữ "Hello" đó đã đầy đủ. Nhỡ nó chỉ có chữ "Hel" không thì sao.

    Các báo giúp em với

    Cảm ơn các bác nhé
    Em vẫn đang học và thấy cần phải học.
    Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

  • #2
    Oài bác nhiều topic quá chạy theo trả lời mà mệt
    1. Chọn tần số thạch anh để sai số =0; ví dụ: 3,6864Mhz; 7,3728Mhz; 11,0592Mhz; 14,7456Mhz
    2. Theo mình các quá trình truyền dữ liệu nên lấy 1 ký tự đặc biệt đánh dấu bắt đầu truyền và kết thúc. Ví dụ lấy @, cứ thấy @ là bắt đầu đưa vào chuỗi nhận còn thấy @ là biết là hết
    Last edited by RedRose; 02-08-2006, 00:58.
    chunhanhoabattu :rose:

    Comment


    • #3
      Chào bác RedRose

      Bác nói đúng quá, đúng hết cả. em làm thử rồi chạy rất ok, hì hì, bác giỏi quá. Tiện đây em muốn hỏi bác. Cái đo nhiệt độ này em định dùng đo cái nhiệt độ trong lò sấy gỗ của ông anh em. Nhưng ngặt một nỗi cái Container dùng làm lò sấy phải để ngoài đồi ( môi trường mà ). Từ đó vào tới xưởng tới gần 300m. ban đầu em định dùng môdem nhưng phải kéo thêm một đường điện thoại và dùng liên tục cả ngày chắc không đủ tiền trả điện thoại. Có cách nào kết nối xa như vậy với PC mà không cần dùng qua modem không hả bác. mong bác cho em lời chỉ dẫn với. Hì hì, phiền bác quá nhưng em muốn học, càng làm càng thấy khoái mới chết chứ.

      Cảm ơn bác nhiều
      Em vẫn đang học và thấy cần phải học.
      Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

      Comment


      • #4
        Hì càng làm càng khoái là tốt rồi , con đường điện tử gian nan chứ chả phải chơi đâu.
        Về vấn đề truyền xa thì bác nghiên cứu chuẩn RS422 hoặc RS485 là áp dụng chuẩn theo yêu cầu như trên của bác. Khoảng cách truyền lên tới 1200m (có thể xa hơn). Về IC thì bác có thể dùng con Max485 hoặc rẻ hơn là dùng con 75176 giá ~5000đ.
        Về 2 chuẩn kia thì bác tìm trong diễn đàn có vài topic bàn bạc rất kỹ. Rùi down datasheet của IC về xem cách kết nối. IC mua ở 17A Hàn Thuyên.

        Làm xong bác có thể post sơ đồ + kinh nghiệm lên cho mọi người xem với và góp cho diễn đàn có nhiều tri thức hơn.

        Chúc thành công!
        chunhanhoabattu :rose:

        Comment


        • #5
          Hì hì, tạm ổn rồi bác Redrose ơi. mặc dù chưa được mỹ mãn lắm. Em nối thêm 2 con 24C64 ( song song ). Nhưng nó chỉ ghi lên con thứ nhất. làm sao để VXL nhận ra bộ nhớ của 24C64 đã đầy rồi để nó chuyển sang ghi vào con thứ 2 nhỉ. Mà còn một vấn đề nữa là khi tắt điện và bật lại thì nó lại ghi đè lên số liệu cũ ( mặc dù bộ nhớ của 24C64 vẫn còn nhiều ). Làm sao cho nó nhận biết để ghi tiếp chứ không ghi đè lên hả bác.
          Em cố hoàn thiện nốt rồi post lên diễn đàn cho mọi người cùng xem, mong bác hỗ trợ em nhé. Hì hì, đã quá bác ạ
          Em vẫn đang học và thấy cần phải học.
          Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

          Comment


          • #6
            Chán quá bác RedRose ơi, cắm ra cắm vào nhiều quá bị chập cháy mất bộ nạp rồi. Nghe nói, nạp theo ISP tốt hơn phải không bác. Bác có cái sơ đồ và phần mềm của nó không cho em với. Buồn quá bác ạ.
            Em vẫn đang học và thấy cần phải học.
            Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

            Comment


            • #7
              Uh, theo mình cũng nên nạp ISP vừa tiện vừa nhanh đỡ mất thời gian tháo lắp.
              Bác lên trang www.lancos.com nhé
              Dùng cái mạch nạp cổng máy in ý. Phần cứng chỉ cần có 1 con 74HC244 là tốt rồi.
              Down phần mềm PonyProg để nạp hoặc nạp trực tiếp bằng CodeVision cũng được.
              chunhanhoabattu :rose:

              Comment


              • #8
                Về mạch nạp và chương trình nạp thì RedRose tư vấn vậy là ổn. Bạn chỉ cần có giao tiếp ISP là bạn có thể nạp ko cần tháo IC ra khỏi mạch
                Do khoảng cách khá xa, theo tôi bạn chi_co_nui nên dùng con MAX485 ( 2 con nhé ) . Con thứ nhất dùng chuyển đổi RS232 của máy tính ra RS485 , con thứ hai dùng chuyển RS485 về dạng RS232 thường ( ra Tx và Rx ) nối với vi diều khiển AVR. Hai board chuyển đổi này nối với nhau bằng 2 dây tín hiệu hoặc có thêm 2 đường nguồn (+) và (-) 12 V đi theo. Tốt nhất vẫn là cấp nguồn riêng cho 2 mô đun.
                Chúc bạn thành công

                Comment


                • #9
                  Cảm ơn bác RedRose và bác hoang_csa nhé. Em sẽ làm theo cách các bác hướng dẫn. Có gì mong hai bác hỗ trợ em nhé
                  Em vẫn đang học và thấy cần phải học.
                  Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

                  Comment


                  • #10
                    Bác RedRose và bác hoang_csa ơi.

                    Cái nạp ISP phần mạch ISP của con ATmega có cần làm điện trở treo vào các chân MISO, MOSI, CLK ... không hả các bác. Nếu có thì điển trở khoảng báo nhiêu K thì vừa.
                    Em vẫn đang học và thấy cần phải học.
                    Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

                    Comment


                    • #11
                      Hi chi_co_nui,

                      Không cần phải có điện trở treo cho các chân này đâu.
                      Trong các trường hợp thiết kế hệ vi xử lý với điện trở treo cao (pull-up), người ta thường dùng 4K7 hoặc 10K.

                      Thân mến,
                      blackmoon.

                      Comment


                      • #12
                        Nguyên văn bởi hoang_csa
                        Về mạch nạp và chương trình nạp thì RedRose tư vấn vậy là ổn. Bạn chỉ cần có giao tiếp ISP là bạn có thể nạp ko cần tháo IC ra khỏi mạch
                        Do khoảng cách khá xa, theo tôi bạn chi_co_nui nên dùng con MAX485 ( 2 con nhé ) . Con thứ nhất dùng chuyển đổi RS232 của máy tính ra RS485 , con thứ hai dùng chuyển RS485 về dạng RS232 thường ( ra Tx và Rx ) nối với vi diều khiển AVR. Hai board chuyển đổi này nối với nhau bằng 2 dây tín hiệu hoặc có thêm 2 đường nguồn (+) và (-) 12 V đi theo. Tốt nhất vẫn là cấp nguồn riêng cho 2 mô đun.
                        Chúc bạn thành công
                        Đồng ý với bác là khỏng cách xa thì phải chuyển thành RS485 để truyền.
                        Nhung từ trước tới giờ em toàn xài theo phương thức sau có gì thức không hả bac:
                        - AVR (Tx và Rx) ---> 75176 x 2 (1 gưiử/1nhận)----> 75176 x 2 -------> max232 ----> máy tính.
                        Bác cho em cái cách tối ưu hơn được không
                        Nguy hiểm của tuổi già là cháy nổ gì chả có phản ứng!

                        Comment


                        • #13
                          Nguyên văn bởi phd31183
                          Đồng ý với bác là khỏng cách xa thì phải chuyển thành RS485 để truyền.
                          Nhung từ trước tới giờ em toàn xài theo phương thức sau có gì thức không hả bac:
                          - AVR (Tx và Rx) ---> 75176 x 2 (1 gưiử/1nhận)----> 75176 x 2 -------> max232 ----> máy tính.
                          Bác cho em cái cách tối ưu hơn được không
                          Thêm mấy con opto 4N35 vào sau khi phát và trước khi thu sẽ tối ưu hơn chút nửa. Dùng dây bọc kim sẽ tối ưu thêm chút chút nửa. Mua của bọn siemens chắc là tối ưu nhất.

                          Comment


                          • #14
                            trời, bác bảo mua mấy bộ chuyển từ 485 sang 232 của Siemens hả. tính toàn chục đô.
                            ý khiến xài opto quả là hay, bác có thể post sơ đồ được không.
                            Nguy hiểm của tuổi già là cháy nổ gì chả có phản ứng!

                            Comment


                            • #15
                              Các bác ạ, em nghe nói nếu nạp theo ISP mà Set sai SPIEN thì con AVR đi tong. vậy là thế nào hả các bác. Em đang định nạp theo ISP nghe thấy mà toát mồ hôi. Các bác giải thích cho em cái SPIEN là cái gì vậy, em chưa nghe thấy cái này bao giờ
                              Em vẫn đang học và thấy cần phải học.
                              Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

                              Comment

                              Về tác giả

                              Collapse

                              chi_co_nui Tìm hiểu thêm về chi_co_nui

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X