Thông báo

Collapse
No announcement yet.

KN chống nhiễu của ATMEGA8 ở 1Mhz và 8Mhz OSC

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

  • KN chống nhiễu của ATMEGA8 ở 1Mhz và 8Mhz OSC

    Tui muốn chạy ATMEGA8 ở 8MHz, nhưng đang lo ngại không biết khả năng chống nhiễu ở 8MHz so với chế độ chuẩn 1MHz, như thế nào. Bạn nào có kinh nghiệm với ATMEGA chỉ cho tui với.
    Hơn nữa không biết dao động internal có sai số so với dùng thạch anh dao động ngoài như thế nào.

  • #2
    Để chống nhiễu có hiệu quả:
    1- Nguồn phải được ổn áp tốt, lọc kỹ, lắp thêm tụ 104
    2- Nếu dùng dao động ngoài: Thạch anh chuẩn, hàn càng gần chân IC càng tốt. Theo tôi dùng dao động nội thì tốt hơn, dùng Atmega8-L
    3- Nên bọc cả mạch trong hộp nhôm, vỏ hộp nối với Gnd
    4- Điều khiển các thiết bị cách ly qua Op*** hạn chế dùng Relay
    Last edited by vanco; 26-04-2008, 00:11.

    Comment


    • #3
      Dao động trong nhiều lúc ko chính xác lắm! Có lần em chỉ dùng để truyền uart mà nó cũng sai Sửa mãi ko được, dùng thạch anh ngoài mới biết là con chip bị tắc ngơ

      Comment


      • #4
        Tui xem 1 bộ điều khiển tủ làm lạnh ở cái máy nhà tui của bọn TQuoc, nó dùng P87C52, dùng watchdog ngoài (HA17555), đóng ngắt dơ le, XTAL 12MHz, vỏ hộp nó làm bằng nhựa (70mm X 70mm X 100mm ) , dùng biến thế sơ cấp, thứ cấp bình thường, đâu có cần hộp nhôm, nối mát, hay gì đâu, sơ đồ đi dây của nó cũng khá chằng chịt, ko hiểu sao nó chạy ngon ơ trong môi trường đầy mô tơ, máy hút chân ko công suất lớn, đóng ngắt bằng khởi động từ liên tục ( tao tia lửa điện liên tục ). Tui cũng thử cái mạch AT89C52 của tui trong môi trương đó thì khi tui để nó gần cái khởi động từ, đóng ngắt cái khởi động từ ( cho máy hút chân ko ) thì cứ khoảng 10 phát thì chíp của mình chết 1 phát, còn cái bộ của nó không hề gì . hay là dòng Phillip tốt hơn, mạch của tui tui cũng lắp tụ, cuộn cảm trống nhiễu ... khá cẩn thận. Còn 1 chiêu tui chưa thử đó là thay con của mình vào cái mạch P87C52 ấy, nhưng mà chắc nó lock rồi ko đọc ra được đâu, mà con P89C52 ko biết datasheet sao, chưa xem được, thôi mất thời gian lắm.

        Bạn vutricongbka nói dao động trong ko chính xác lắm, nhưng ko chính xác là ở 1Mhz hay 8MHz, có thể 1MHz chính xác hơn ko, đỡ bị kẹt hơn ko.
        Thỉnh thoảng kẹt ít xung nhịp cũng ko sao, chớ nếu kẹt liên tục, quét led7 đoạn sẽ bị flick. Tui đang muốn dùng internal osc ở 8MHz, kô biết nó có hay bị kẹt hơn 8Mhz ko, tui dùng ATMEGA8 ?????????????????
        Last edited by GabiMilito; 26-04-2008, 11:35.

        Comment


        • #5
          - Dòng 8051 core của Philips có khả năng chống nhiễu rất tốt, không chỉ như trong ví dụ bạn nói mà nó còn dùng trong cân điện tử, CAN bus...
          Khả năng chống nhiễu của 1 IC ngoài việc thiết kế mạch, cấu trúc chân linh kiện cũng đóng một vai trò lớn. Loại linh kiện DIP là chống nhiễu thấp nhất, và trong các mạch có độ nhiễu cao người ta thường dùng loại BGA hoặc TQFP.

          - Khi thiết kế chống nhiễu, có nhiều yêu cầu khác nhau. Và độ rộng đường mạch, hay nói khác đi trở kháng, cảm kháng, dung kháng luôn luôn tồn tại trong bất cứ thành phần điện tử nào. Bởi thế, ngoài việc lắp thêm tụ 104 lọc nguồn vào cho IC, (càng gần Vcc pin càng tốt - do nếu để xa sẽ sinh ra dòng điện chạy vòng gây nhiễu điện áp); lắp cuộn cảm 10uH lọc dòng, thì việc nối đất cũng có nhiều điều phải chú ý. Không phải cứ tất cả GND nối lại rồi nối vô vỏ nhôm hoặc tiếp đất là giải pháp chống nhiễu cao nhất. Bởi trong một mạch điện luôn có thành phần dòng xoay chiều và 1 chiều. Việc nối tất cả với nhau khiến thành phần dòng xoay chiều sẽ chạy qua bên 1 chiều, và gây nhiễu.

          Vv...v..v.. Tóm lại, thiết kế mạch chống nhiễu là 1 nghệ thuật .

          Đối với atmega8 hay một IC dòng AVR nào đó, Internal OSC là chế độ cấp xung default, có khả năng chính xác kém nhất. Và Internal OSC không có chế độ xung medium tức từ 8Mhz trở lên. Thường là 1Mhz hoặc 2 Mhz. Nếu muốn sử dụng internal thì bạn phải hiệu chỉnh nó - calibration - theo điều kiện nhiệt độ trước (có thể search atmel.com để tìm appnotes thích hợp).

          Dùng thạch anh ngoài luôn là phương án lựa chọn thông dụng, nhưng bình thường người ta chỉ nối với 2 tụ 22pF hoặc 33pF là nghĩ rằng ổn. Tuy nhiên, để có một khối thạch anh xịn, thì ngoài chọn thạch anh (loại có chân GND - 3 hay 4pin), đổ đất khối dao động tách khỏi khối GND chung, cần nối song song thêm 1 trở có giá trị được tính toán hợp lý theo từng giá trị của thạch anh.
          Và dĩ nhiên, nên tham khảo atmel.com để biết thêm chi tiết
          Mồm chó vó ngựa

          Comment


          • #6
            Bổ xung thêm ý của bác yankazaz

            Một điểm đặc biệt chú ý đối với AVR là khi sử dụng dao động nội bắt buộc phải calibration bằng phần mềm (chỉ trừ tần số mặc định 1MHz đã được calib từ trước), do đó một số bạn sẽ gặp phải hiện tượng AVR chạy lung tung (thực ra là chạy ở tần số ngẫu nhiên khi khởi động) mà kết quả rõ ràng nhất là UART không còn hoạt động đúng.
            Vì vậy nếu không hiểu rõ về phương thức calib dao động nội thì tốt nhất là các newbie nên sử dụng thạch anh ngoài cho an toàn .

            Về kỹ thuật thiết kế mạch cho AVR, mời các bác tham khảo chi tiết trong App note của chính hãng Atmel: AVR042: AVR Hardware Design Considerations

            Tài liệu này cung cấp chi tiết về phương thức thiết kế Digital Supply, Analog Supply, phương thức Decoupling, Reset Circuit, và Layout Guide.

            Một App Note khác về Calibration dao động nội AVR053: Calibration of the internal RC oscillator
            Last edited by sphinx; 28-04-2008, 16:07.
            PNLab
            Mạch nạp/debug ULink2, Jlink ARM USB
            Mạch nạp AVR, PIC, 8051, MSP430 USB
            Mạch phát triển STM32, ARM9, ARM11
            more...www.pnlabvn.com

            Comment


            • #7
              dao động nội không đủ ổn định để xài rs-232 đâu dùng thạch anh ấy (dao động nội xài rc mà chỉ có sai số +- 1% thoi mà o.1 là đủ chết rồi)
              Từ chối trách nhiệm:
              Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
              Blog: http://mritx.blogspot.com

              Comment


              • #8
                Đồng ý với bạn. Bộ điều khiển của KSB cho bơm công suất lớn. Tôi vừa tháo ra xem, nó dùng con 80C552 của Phillips, dùng ROM ngoài 1M bit, có cả OS luôn, dùng với CANbus SJA1000, chạy cực ổn định, có khởi mềm, công tắc tơ...đủ thứ bên cạnh. Mà đấy là của bọn Đức làm, chúng nó cần hoạt động ổn định và bền bỉ. Tôi cũng đang xem mọi người nhận xét con ATMega thế nào để dùng cho RTU, đang lo là khả năng chống nhiễu của nó tồi. Tôi tháo bộ nạp PLC S7 của Siemens ra thấy nó dùng ATMega32, chắc cái này thỉ thoảng dùng nên dùng con này. Tôi vẫn chưa thấy tài liệu nào dẫn chứng về khả năng chống nhiễu của con AtMega cả. Bạn nào biết post lên cho bà con tham khảo.
                MUỐN ĐÀO MỘT CÁI LỖ SÂU TRƯỚC TIÊN PHẢI ĐÀO NÓ ĐỦ RỘNG.

                Comment


                • #9
                  Nguyên văn bởi kengoaidao Xem bài viết
                  Đồng ý với bạn. Bộ điều khiển của KSB cho bơm công suất lớn. Tôi vừa tháo ra xem, nó dùng con 80C552 của Phillips, dùng ROM ngoài 1M bit, có cả OS luôn, dùng với CANbus SJA1000, chạy cực ổn định, có khởi mềm, công tắc tơ...đủ thứ bên cạnh. Mà đấy là của bọn Đức làm, chúng nó cần hoạt động ổn định và bền bỉ. Tôi cũng đang xem mọi người nhận xét con ATMega thế nào để dùng cho RTU, đang lo là khả năng chống nhiễu của nó tồi. Tôi tháo bộ nạp PLC S7 của Siemens ra thấy nó dùng ATMega32, chắc cái này thỉ thoảng dùng nên dùng con này. Tôi vẫn chưa thấy tài liệu nào dẫn chứng về khả năng chống nhiễu của con AtMega cả. Bạn nào biết post lên cho bà con tham khảo.
                  Tôi có 1 thí nghiệm thế này về 1 số dòng các MCU tôi đã dùng ( chưa thử hết những dòng khác ) ... chỉ mới thử ở các dòng có bộ nhớ 2 - 96K bộ nhớ .

                  --- Thí nghiệm được tạo và sử dụng ở môi trường cao tần , có rơ le hoạt động đóng mở . tần số là 335Mhz , xung điều biên có tần số 2Khz , rơ le đóng mở 2 lần /s
                  Đầu tiên là anh 89C51 --> mới thử rơle ... đã có vẻ loạc choạc ... PIC16F876A ( đóng mở rơ le tốt ... cao tần loạc choạc ... treo và reset liên tục... Tín hiệu điều biên ra bị méo ==> bị tác động vào Clock ) ...
                  ATMEGA8 ( role tốt , tín hiệu xung tốt , chạy có vẻ ổn định... lúc kích hoạt hơi bị méo dạng tín hiệu ( có vẻ đã bị ảnh hưởng) ) Holtek 46R48 ( rơle tốt , RF tốt , chạy êm không thấy hiện tượng ) ==> tăng tần suất rơle ( thấy tạm ổn ) ... Motorolla 68HC ... tốt , chạy OK .

                  --- Nói chung mấy vụ này ngoài việc kinh nghiệm , chip tốt , muốn tốt hơn còn phải có 1 thiết kế chuẩn nữa ! Nhiều khi phải bọc sắt , bọc đồng chống nhiễu là chuyện thường !

                  --- Tôi đánh giá cao mấy chip 8 bit của motorola , holtek , zilog , analog và philips về độ ổn định và chống nhiễu tốt ... gây ít nhiễu , ồn cho mạch ( nhất là những mạch xử lý cần tạp âm thấp ).
                  Đánh giá thấp dòng 89C của atmel vì chống nhiễu kém , độ phát xạ, nhiễu ồn lớn ... AVR có độ ồn lớn , tiêu nhiều năng lượng !
                  Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                  Comment


                  • #10
                    Nhưng sao dân lập trình ko cầy dòng chip của Motorolla nhỉ? Cứ 89 với pic với avr mà đào xới . E cũng đang lăn tăn sau vụ thử nghiệm này của anh Dương. E đang định làm cái đồng hồ hiển thị bằng matrix trên modul 16x32 của TQ+ Modul thu/phát RF(315MHz) sử dụng PIC16 mà thấy chùn quá. Ko bit RF này có làm ảnh hưởng gì tới con thạch anh 32.768KHz cấp cho DS1307 hay ko? Vì thấy datasheet nó bảo rằng gần nguồn cao tần thì các phần tử khác như cái angten. Nối GND cho vỏ thạch anh 32.768KHz liệu đã triệt để với bài toán của em ở trên? Rất mong lời khuyên và giải pháp từ các đại ca. Thanks!


                    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                    Tel: 031 518648 Phone: 0904 283 505

                    Comment


                    • #11
                      Nguyên văn bởi hoangdai Xem bài viết
                      Nhưng sao dân lập trình ko cầy dòng chip của Motorolla nhỉ? Cứ 89 với pic với avr mà đào xới . E cũng đang lăn tăn sau vụ thử nghiệm này của anh Dương. E đang định làm cái đồng hồ hiển thị bằng matrix trên modul 16x32 của TQ+ Modul thu/phát RF(315MHz) sử dụng PIC16 mà thấy chùn quá. Ko bit RF này có làm ảnh hưởng gì tới con thạch anh 32.768KHz cấp cho DS1307 hay ko? Vì thấy datasheet nó bảo rằng gần nguồn cao tần thì các phần tử khác như cái angten. Nối GND cho vỏ thạch anh 32.768KHz liệu đã triệt để với bài toán của em ở trên? Rất mong lời khuyên và giải pháp từ các đại ca. Thanks!
                      Bạn thử mấy cái công suất nhỏ thì không thấy gì đâu , khi công suất cao hơn , độ nhiễu cao hơn ( nhất là khi phối hợp trở kháng anten không tốt ) ( có thể anten không rút hết hoặc không duỗi thẳng ..v.v và v..v ( nói chung là việc thoát tần , phát xạ không thuận lợi ) ... do bị sóng dội lại ==> gây ra nhiễu trong mạch ... lúc đó ta biết loại nào có thể kháng nhiễu tốt hơn trong môi trường cao tần ! ).

                      Tôi chỉ thí nghiệm , thực nghiệm được vậy ... và biết loại nào có khả năng chịu được tốt hơn ( trong 1 bài toán cụ thể ) .... Còn ( với công suất nhỏ như của bạn chỉ <100mW thì cứ vô tư mà làm ).

                      --- Thiết kế làm sao để cho tiết kiệm mà vẫn đạt hiệu quả là vấn đề ng ta đã nói từ lâu ( không phải bàn ) .

                      Còn chip Moto thì nó đã nổi tiếng từ xưa rồi ( có điều các bạn ít tiếp xúc nên không chú ý thôi ) ... việc lập trình nó cũng không khác nhưng dòng khác ... chip của holtek , analog cũng vậy , còn zilog, dòng 80, 87 của intel ... mấy MCU đều nổi tiếng cả ... nếu tiếp xúc với những thiết bị công nghiệp nhiều sẽ va chạm thôi .

                      nhiều thiết bị đều sử dụng MCU 4 bit , 8 bit ... chứ đâu cần cao cấp ! Mà sử dụng cái gì đó là cả 1 qua trình đúc kết và làm việc ( đó là mánh nhà nghề ) ... có lẽ ng ta ít phổ biến !
                      Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                      Comment


                      • #12
                        Nguyên văn bởi hoangdai Xem bài viết
                        Nhưng sao dân lập trình ko cầy dòng chip của Motorolla nhỉ? Cứ 89 với pic với avr mà đào xới . E cũng đang lăn tăn sau vụ thử nghiệm này của anh Dương. E đang định làm cái đồng hồ hiển thị bằng matrix trên modul 16x32 của TQ+ Modul thu/phát RF(315MHz) sử dụng PIC16 mà thấy chùn quá. Ko bit RF này có làm ảnh hưởng gì tới con thạch anh 32.768KHz cấp cho DS1307 hay ko? Vì thấy datasheet nó bảo rằng gần nguồn cao tần thì các phần tử khác như cái angten. Nối GND cho vỏ thạch anh 32.768KHz liệu đã triệt để với bài toán của em ở trên? Rất mong lời khuyên và giải pháp từ các đại ca. Thanks!
                        Do ở mình từ xưa đã xài quen 89,AVR của Atmel rồi, hỗ trợ cho dòng này nhiều, còn chip của Motorolla thì ở mình ít có người làm=> ít hỗ trợ nên ko làm.Bây giờ xu hướng đang chuyển dần qua dòng ARM ,mình thấy bắt đầu trào lưu lập trình ARM ở VN đang lên rồi.

                        :

                        Comment


                        • #13
                          Dùng mấy dòng ARM tốc độ xử lý rất nhanh và tích hợp đủ thứ nhưng chỉ không khoái cái là nó dùng I/O điện áp 3.3V. Khi giao tiếp mấy con IC khác phải chuyển mức Logic.
                          n
                          ĐT: 0986 492 489

                          Tham khảo:

                          Comment


                          • #14
                            mình thấy quen dùng 89s52 trong các thiết kế nhỏ thấy rất ổn định
                            nhưng khi mình làm đồ án về inverter 12V sang 220V do phải dùng về analog lên đa phải dùng tới AVR. mình thấy khả năng chông nhiễu của AVR là không tốt lắm. khi mình hiển thị bằng led không thì không sao, nhưng khi sử dụng thêm LCD để hiển thị thì bị đơ khi thực hiện nghịch lưu.

                            Comment


                            • #15
                              có thể là do AVR xử lý trong bộ inverter của bạn không đủ nhanh nên nó không đủ xử lý những cái khác như LCD nên nó bị đơ. chứ nếu nhiễu thì nó treo luôn. những lệnh nhân chia trong AVR xử lý rất tốn tài nguyên máy mình dùng mấy lệnh nhân chia và gán biến mà nó đã mất 50us chạy ở thạch anh 10Mhz.
                              Never forget who you are!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X