Thông báo

Collapse
No announcement yet.

Tự làm mạch nạp AVR-ISP giao tiếp USB

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Tự làm mạch nạp AVR-ISP giao tiếp USB

    Đây là tổng hợp của mình sau một thời gian nghiên cứu về AVR, các bạn có thể tự làm một mạch nạp qua USB với chi phí thấp và khả năng mềm dẽo:
    có thể thay đổi firmware mạch nạp trong vài chục giây (dùng BootLoader) để tham khảo các giao thức nạp. Các giao thức nạp ISP hỗ trợ: AVR910, STK500v2, ASPUSB.

    Tốc độ nạp khá nhanh so với nhu cầu của mình.

    Schema

    Eagle

    Hardware (khoảng 50k):

    AVR ATMega8 (20K)
    Dây USB-A (9k)
    Jack USB-A cái (5k)
    Hộp đấu dây thoại (5k)
    Mạch in khoan lỗ sẵn (2k)
    Các linh kiện linh tinh khác (9k)
    Jack cắm (4pin + 3x2) lấy từ CD-ROM


    Firmware

    Bootloader (hiệu chỉnh dựa trên code tham khảo tại www.fischl.de)
    STK500v2-ISP (hiệu chỉnh dựa trên code tham khảo tại www.ullihome.de)
    AVR910-USB (lấy của PROTOSS -> prottoss@mail.ru)
    ASPUSB (hiệu chỉnh dựa trên code tham khảo tại www.fischl.de)

    Software + driver

    Phần nạp
    AVRProg (nằm trong bộ AVR Studio, có thể chạy độc lập)
    AVR Studio
    CodeVision
    AVRdude

    Phần Bootloader
    Tự viết bằng Delphi, sử dụng bộ thư viện libusb-win32

    Các bước thực hiện làm:
    1. Thực thi phần cứng (có thể cắm trên testboard trước cho chắc ăn).
    2. Nạp firmware bootloader cho con ATMega8 (nhờ người khác nạp giùm hoặc lắp một mạch nạp đơn giản qua COM hoặc LPT).
    3. Cái jump màu xanh trong hình dùng để nạp con ATMega8 trên mạch từ một mạch nạp khác.
    4. Gắn cái jump màu đen (cho phép bootloader), cắm bộ nạp vào cổng USB máy tính. Máy tính sẽ hỏi driver, chỉ đến thư mục driver của bootloader.
    5. Sau khi cài xong driver, PC sẽ nhận ra 1 thiết bị BootLoader trong nhánh LibUsb-Win32 (xem trong Device Manager) .
    6. Chạy chương trình bootloader.exe, chọn file firmware mạch nạp (.hex) trong thư mục firmware. Click nút Upload, trong vài giây bạn đã có một mạch nạp USB-ISP để xài. Nút Start App để chạy thử mạch nạp.
    7. Nếu muốn đổi sang mạch nạp loại khác, chạy lại bootloader.exe để upload lại firmware khác cho bộ nạp.
    8. Rút cái Jump màu đen để chạy mạch nạp bình thường (không chạy bootloader).
    9. Led trong mạch dùng led 2 màu (xanh-đỏ) để tiết kiện diện tích.
    Attached Files
    Last edited by tintintin; 26-02-2008, 11:06.

  • #2
    giá như bạn xuất sơ đồ hay layout ra pdf (máy in ảo )luôn thì tiện nhỉ , là vì trong này xài toàn orcad ,dc voi đòi tiên .
    Chuyên bán online :mạch dk từ xa RF,module RF, ARM NXP ,linh kiện,nhiều loại,nhiều tầm xa,nhiều kích cỡ. Nhận thực hiện theo yêu cầu.

    Comment


    • #3
      Nguyên văn bởi minhtienbk Xem bài viết
      giá như bạn xuất sơ đồ hay layout ra pdf (máy in ảo )luôn thì tiện nhỉ , là vì trong này xài toàn orcad ,dc voi đòi tiên .
      Của bạn đây.
      Trong rar có 4 file:
      sch: mạch nguyên lý;
      Ast: mạch linh kiện;
      bot: mặt dưới;
      top: mặt trên.
      Attached Files

      Vote hộ tớ với. Thanks!

      Comment


      • #4
        Mạch này em làm nhưng sao ko ổn định lắm, lúc dc lúc không. Có phải tại vì 2 con zener ko hàn vào không hay do cáp USB, ơ mà em xem schematic của mạch thấy 2 con zener 2,5V nhưng mà tìm ở Hàn Thuyên và chợ trời ko có,thế là hàn 2 con 3V vào nhưng mạch ko chạy---> tháo ra lại thấy như cũ tậm tịt lắm.

        Comment


        • #5
          Nguyên văn bởi Auto_engine Xem bài viết
          Mạch này em làm nhưng sao ko ổn định lắm, lúc dc lúc không. Có phải tại vì 2 con zener ko hàn vào không hay do cáp USB, ơ mà em xem schematic của mạch thấy 2 con zener 2,5V nhưng mà tìm ở Hàn Thuyên và chợ trời ko có,thế là hàn 2 con 3V vào nhưng mạch ko chạy---> tháo ra lại thấy như cũ tậm tịt lắm.
          2 con Zener 3V6 trong mạch để hạn mức tín hiệu vào chân D+ và D- của cống USB. Đối với một số mainboard nếu k hông có 2 con Zener này máy sẽ không nhận ra thiết bị.

          Bạn có thể cho biết không ổn định ở đây là như thế nào: máy không nhận ra thiết bị USB hay đã nhận rồi nhưng lúc nạp được lúc không?

          Bạn có thể tham khảo các thông tin trên link mình đưa, mọi thứ mình đều làm theo từ đó.

          Comment


          • #6
            Em dùng AVR910 và AVRProg để nạp , nhưng trong list của nó ko có con Attiny2313 nhỉ ? em chọn AT90s2313 thì ko nạp được ?
            Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

            Comment


            • #7
              Đúng là máy của em đã nhận ra thiết bị USB rồi nhưng lúc nạp được lúc không, xem trong Device Manager thì có lúc mất luôn thiết bị, hiện tại em hàn con Zener 3V vào thì tình trạng có khá hơn, tuy nhiên vẫn có vài lúc mất thiết bị USB, như vậy là em nên thay = 2 con zener 3,6V chắc là ổn nhỉ. Àh quên em muốn hỏi là nếu nạp Firmware AVR910 thì hình như LED trong mạch ko sáng dc đúng ko ạh ??? vì em xem schematic của AVR910 của Protoss thì mấy con LED lắp ở PortD ko phải PortC như trong schematic.

              Comment


              • #8
                Nếu dùng firmware của Prottoss thì LED không sáng, mình sẽ post lên firmware đã fix lỗi này. Nhưng theo mình bạn nên dùng giao thức STK500 là nhanh nhất.

                Comment


                • #9
                  Em dùng AVR910 và AVRProg để nạp , nhưng trong list của nó ko có con Attiny2313 nhỉ ? em chọn AT90s2313 thì ko nạp được ?

                  Bạn thử chọn attiny26 để nạp tập tin .hex vào attiny2313.

                  Comment


                  • #10
                    Nguyên văn bởi vietuni Xem bài viết
                    Em dùng AVR910 và AVRProg để nạp , nhưng trong list của nó ko có con Attiny2313 nhỉ ? em chọn AT90s2313 thì ko nạp được ?

                    Bạn thử chọn attiny26 để nạp tập tin .hex vào attiny2313.
                    Bạn thử chưa ? Mình cũng ko dám thử , sợ nó toi, chắc là phải nạp bằng Codedivision vậy
                    Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

                    Comment


                    • #11
                      Rất tiếc là em nạp firmware của STK500 vào nó ko chạy, thế là dùng tạm AVR910 vậy, không hiểu sao firmware của STK500 nạp vào nó nhận ra ngay thiết bị, cài driver ổn lắm, nhưng máy tính nó cứ báo lỗi thiết bị này không hoạt động dc (lỗi code 10). Ngoài ra có lúc máy cũng báo lỗi của AVR910 giống như với STK500, thế là em nạp lại firmware lại chạy, cái này hơi khó hiểu???? Nhưng mà phải công nhận AVRprog nạp siêu tốc thật, cấp kì hơn Codevision nhiều, chỉ có điều nó hỗ trợ hơi ít chíp.

                      Comment


                      • #12
                        Chào các bạn,mình xem luồng về AVR đã lâu.
                        có thể còn nhiều bạn bỡ ngỡ về mạch nạp cũng như bỏad diều khiển.Minh giớ thiệu với các bạn một mạch mà mình dùng lâu nay,có thể nó 'ruồi' với các cao thủ nhưng hi vọng sẽ giúp cho ban nào mới bước vào AVR.

                        Mạch này mình đã tự làm và cũng đem lại nhiều thành phẩm.Các bạn nên làm thì sẽ học hỏi được nhiều kinh nghiệm.
                        Chỉ rắc rối một điều là atmega8,để nạp cho nó thì trước mắt các bạn có thể tham khảo AVR910.có thể tải bên luồng Board AVR của saigontech.Mình tìm cách hướng dẫn cho các bạn sau.
                        Attached Files
                        Hôm nay phải hơn hôm qua và thua ngày mai!

                        Comment


                        • #13
                          Em làm thử một con rồi, chạy STK500 không được, chỉ chạy được con 910 thôi. Nhưng con này chạy nói chung là chậm. Và đúng là 2 con led trong mạch không sáng.
                          Nếu dùng firmware của Prottoss thì LED không sáng, mình sẽ post lên firmware đã fix lỗi này. Nhưng theo mình bạn nên dùng giao thức STK500 là nhanh nhất.
                          ==> Bên cạnh file hex, bác có thể gửi cả soure code lên cho anh em tự edit, tự sướng được không? Thank's!
                          Attached Files

                          Comment


                          • #14
                            mình sẽ post lên firmware đã fix lỗi này.
                            Các bác nói xong là bỏ đấy để chạy à?

                            Comment


                            • #15
                              Nguyên văn bởi hiodong Xem bài viết
                              Bạn thử chưa ? Mình cũng ko dám thử , sợ nó toi, chắc là phải nạp bằng Codedivision vậy
                              Không sao đâu bạn ơi, mình thử rồi, mình nạp cho con ATtiny45 nhưng trong list của AVRProg không có nên mình để đại là ATMEGA8 luôn nạp vẫn tốt, fusebit vẫn được không có vấn đề gì.
                              Hướng dẫn cụ thể cho AVR tại đây :
                              Hãy nhấn vào nút "Cảm ơn" để em biết rằng em đã giúp được một ai đó.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X