Thông báo

Collapse
No announcement yet.

89S52 treo không rõ nguyên nhân

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

  • 89S52 treo không rõ nguyên nhân

    Chào các anh chị. Em đang làm bảng Led sign.
    Bảng của em chạy khoảng vài tiếng là tự nhiên đứng yên không nhấp nháy nữa. Có khi chạy được 18h thì treo.
    Em nghĩ nếu code sai thì không cần chạy đến thời gian đó mà chỉ vài phút là treo. Còn nếu do nguồn thì em làm bộ nguồn 7805 có tụ lọc triệt nhiễu. Nếu do nguồn DC cung cấp thì cũng không phải vì em dùng nguồn máy tính 12V. Nếu do IC 89s52 thì cũng không phải vì em đã thay IC 89s52 khác, nếu do mạch công suất thì cũng không phải vì em dùng 2 tầng khuyếch đại qua c1815 và Tip41. .Thực sự em không hiểu nguyên nhân nữa. Mong các cao thủ chỉ giáo với. Em xin cảm ơn nhiều nhiều.

  • #2
    Thực sự bài toán của bạn nan giải đấy.
    Trước kia mình thường hay gặp trường hợp này với mạch đồng hồ sô dùng 1307. Nó cứ chạy được 2 ngày là đừ ra. Chỉnh sửa mã nguồn thế nào nó cũng "đừ" ra. Về sau hết mọi thuốc chữa mình mới lấy đồng hồ vạn năng đo cắm lung tung thì mình nhận thấy một điều là điện áp ra không đủ 5V. Chỉ khoảng 4,9V thôi, nghĩa là nhỏ hơn một tí. Thực tế thì nếu có một nguồn 4V thì VĐk vẫn hoạt động được. Nhưng ở đây mình phải phán đoán thế này, nguồn 5V xịn của máy tính cấp cho một cái mạch bé tí xíu thì không bao giờ sụt áp dù chỉ một tí. Vậy mà nó sụt áp. Cuối cùng mình hàn lại các điểm tiếp xúc của giắc cắm nguồn và đo lại thì 5V chuẩn. Từ đó mạch không bao giờ bị treo nữa. Mình chỉ có thể lí giải hiện tượng đó bằng suy luận là mặc dù có áp nhưng dòng đi qua rất nhỏ, do vậy mà chú 89 hoạt động một thời gian thì bị "đói".

    Mình không chắc là kinh nghiệm này có áp dụng được cho mạch của bạn hay không nhưng hi vọng là bạn sẽ có một cách nhìn toàn diện về mạch điện: một lỗi có thể xảy ra ở bất kì bộ phận nào của mạch=> kiểm tra tất tần tật
    GTH sản xuất mạch in PCB 1 mặt:
    -phủ xanh: 40.000 đ/dm2
    -không phủ xanh: 30.000 đ/dm2
    -Cung cấp mực cảm quang để làm mạch in
    email:

    Comment


    • #3
      Có thể lắm vì sau 7805 em dùng kích con Tip41 để giảm tải cho 7805 bớt nóng nhưng bù lại điện thế ra chỉ có 4.4v. Hôm qua kiểm tra lại thì thấy P2 nối mass vì dùng con diswitch kéo P2 xuống mass. Tối qua em cách ly port P2 không dùng gì thì thấy chạy lâu, đến giờ vẫn chưa treo. Vậy là sao nhỉ mấy anh chị ? Trong chương trình em dùng 2 ngắt timer0 1ms để tạo tốc độ cho chữ và ngắt timer1 200us để tạo PWM.

      Comment


      • #4
        Em cũng gặp phải 1 trường hợp mà con 89 hâm hâm kiểu như vậy !

        Em dùng con 89 để điều khiển thời gian đóng mở của relay qua transistor. Em điều khiển 6 con relay. Lúc đầu thì chỉ có 3 con đầu hoạt động, lúc sau, em tăng điện áp vào relay, thì cả 6 con đều hoạt động tốt. Nhưng thình thoảng nó lại hâm hâm, cứ cắm nguồn vào là mấy con relay đó kêu tè tè mãi ko thôi, em nghĩ chắc là do nó đóng mở liên tục nên mới phát ra tiếng kêu như vậy.

        Thực sự thì em cũng ko biết nguyên nhân do đâu nữa. Kiểm tra transistor vẫn ok, em cũng đã tháo thử mấy con relay đó ra, vẫn ok, còn con 89 em cũng thử rồi, vẫn ổn. Bác nào có kinh nghiệm gì chỉ cho em với.

        Em cũng không biết có phải là do nhiễu ko, mà có nhiễu thì em cũng ko biết là nhiễu do đâu nữa. Em có dùng 7805 để ổn áp rồi !

        Rất mong nhận được sự chỉ giáo của các bác !

        Comment


        • #5
          Nguyên văn bởi pk178 Xem bài viết
          Em cũng gặp phải 1 trường hợp mà con 89 hâm hâm kiểu như vậy !

          Em dùng con 89 để điều khiển thời gian đóng mở của relay qua transistor. Em điều khiển 6 con relay. Lúc đầu thì chỉ có 3 con đầu hoạt động, lúc sau, em tăng điện áp vào relay, thì cả 6 con đều hoạt động tốt. Nhưng thình thoảng nó lại hâm hâm, cứ cắm nguồn vào là mấy con relay đó kêu tè tè mãi ko thôi, em nghĩ chắc là do nó đóng mở liên tục nên mới phát ra tiếng kêu như vậy.

          Thực sự thì em cũng ko biết nguyên nhân do đâu nữa. Kiểm tra transistor vẫn ok, em cũng đã tháo thử mấy con relay đó ra, vẫn ok, còn con 89 em cũng thử rồi, vẫn ổn. Bác nào có kinh nghiệm gì chỉ cho em với.

          Em cũng không biết có phải là do nhiễu ko, mà có nhiễu thì em cũng ko biết là nhiễu do đâu nữa. Em có dùng 7805 để ổn áp rồi !

          Rất mong nhận được sự chỉ giáo của các bác !
          Hiện tượng của bạn giống hệt hiện tượng trước kia của mình. Không rõ bạn dùng bạn dùng rơ le sử dụng điện áp 12 V hay 5V.
          Để chắc ăn 100% thì bạn cho thêm bộ cách li quang hoặc hai con led hồng ngoại để triệt tiêu hoàn toàn dòng rò từ rơ le sang. Ngoài ra dùng luôn cả nguồn riêng để cung cấp cho rơ le.
          Nguyên nhân là cái chú transito có điện áp ở cực B nó lên xuống thất thường nên dẫn đến nó on off cũng thất thường => rơ le cũng tành tạch thất thường.
          Còn đối với mình, mình đầu tư thêm ít tiền dùng rơ le bán dẫn không phải cách li quang mà cũng chẳng cách li nguồn, chạy ổn định, chuẩn xác 100%, không gây tiếng ồn, không gây nhiễu tẹo nào cả.
          GTH sản xuất mạch in PCB 1 mặt:
          -phủ xanh: 40.000 đ/dm2
          -không phủ xanh: 30.000 đ/dm2
          -Cung cấp mực cảm quang để làm mạch in
          email:

          Comment


          • #6
            Nguyên văn bởi gth_pcb Xem bài viết
            Hiện tượng của bạn giống hệt hiện tượng trước kia của mình. Không rõ bạn dùng bạn dùng rơ le sử dụng điện áp 12 V hay 5V.
            Để chắc ăn 100% thì bạn cho thêm bộ cách li quang hoặc hai con led hồng ngoại để triệt tiêu hoàn toàn dòng rò từ rơ le sang. Ngoài ra dùng luôn cả nguồn riêng để cung cấp cho rơ le.
            Nguyên nhân là cái chú transito có điện áp ở cực B nó lên xuống thất thường nên dẫn đến nó on off cũng thất thường => rơ le cũng tành tạch thất thường.
            Còn đối với mình, mình đầu tư thêm ít tiền dùng rơ le bán dẫn không phải cách li quang mà cũng chẳng cách li nguồn, chạy ổn định, chuẩn xác 100%, không gây tiếng ồn, không gây nhiễu tẹo nào cả.
            Chào bác gth_pcb !

            Em dùng rơ le 12V, em có dùng 1 con diode để chặn ko cho dòng chạy ngược qua rơ le. Ko biết làm thế có giống như cái led hồng ngoại mà bác nói ko ?

            Thằng bạn em chỉ làm với 1 con rơ le thì chạy ngon lắm, mạch của em chỉ cải tiến mạch của nó thêm 1 chút thôi, thế mà ko chạy. Hôm qua em lại thử, nó ko đóng mở luôn.

            Bạn em bảo là do làm mạch in bằng tay nên ko tốt, nó bảo chỉ cần hàn lại các mối hàn là xong. Mạch hiện giờ vẫn đang ở chỗ nó nên em chưa thử.

            Bác cho em hỏi là cái rơ le bán dẫn đó mua bao nhiêu vậy ạ, tên nó là gì ạ, để em đọc datasheet luôn !

            Cám ơn bác đã chỉ giáo !

            Comment


            • #7
              em viết chươg trinh đếm cơ bản từ 44 -88 thì có hiện tượng,nó chạy được liên tục khoảng 10 lần thì treo,led7 hiển thị kí tự lạ ,không biết vì sao.

              Comment


              • #8
                Nguyên văn bởi pk178 Xem bài viết
                Chào bác gth_pcb !

                Em dùng rơ le 12V, em có dùng 1 con diode để chặn ko cho dòng chạy ngược qua rơ le. Ko biết làm thế có giống như cái led hồng ngoại mà bác nói ko ?

                Thằng bạn em chỉ làm với 1 con rơ le thì chạy ngon lắm, mạch của em chỉ cải tiến mạch của nó thêm 1 chút thôi, thế mà ko chạy. Hôm qua em lại thử, nó ko đóng mở luôn.

                Bạn em bảo là do làm mạch in bằng tay nên ko tốt, nó bảo chỉ cần hàn lại các mối hàn là xong. Mạch hiện giờ vẫn đang ở chỗ nó nên em chưa thử.

                Bác cho em hỏi là cái rơ le bán dẫn đó mua bao nhiêu vậy ạ, tên nó là gì ạ, để em đọc datasheet luôn !

                Cám ơn bác đã chỉ giáo !
                Thực sự mình không rành về sóng sánh điện tử lắm. Nên khó có thể cắt ngĩa một cách rõ ràng cho bạn về hiện tượng nhiễu xảy ra khi mà rơ le đóng mở. Cái vấn đề phát xung nhiễu thì chắc bạn nên hỏi cô Hồ Anh Túy hoặc thầy Vương Cộng xem là nguyên nhân, bản chất thế nào.
                Trước kia mình chưa biết cái mạch cách li quang, cũng định dùng diot để ngăn dòng nhưng mà nó không ổn. Vì tín hiệu nhiễu đi theo đường GND bạn à, nó vu hồi lại chú 89 (mà chú 89 thì nổi tiếng là kém chịu nhiễu).
                Còn cái rơ le bán dẫn thì thực sự là mình cũng mua lại của một người quen trong quân đội. Toàn đồ dùng rồi, chúng được dùng trong mạch xe tăng hay là pháo phiếc hay là ra đa gì đấy mình không rõ. Tên tuổi của nó thì bị chàm đen hết rồi, chỉ còn lại kí hiệu + - để biết âm dương thôi.
                Giá mình mua gốc là 25 ngàn/ cái loại 1A và 45 ngàn /cái loại 2A. Nếu bạn muốn mua thì mình để lại cho mỗi loại tương ứng là 30 ngàn và 50 ngàn (!).
                GTH sản xuất mạch in PCB 1 mặt:
                -phủ xanh: 40.000 đ/dm2
                -không phủ xanh: 30.000 đ/dm2
                -Cung cấp mực cảm quang để làm mạch in
                email:

                Comment


                • #9
                  Nguyên văn bởi vodienDT4 Xem bài viết
                  em viết chươg trinh đếm cơ bản từ 44 -88 thì có hiện tượng,nó chạy được liên tục khoảng 10 lần thì treo,led7 hiển thị kí tự lạ ,không biết vì sao.
                  Các lỗi trên có nhiều phần liên quan đến vấn đề nguồn. Mạch của các bạn có thể vì thiết kế hoặc một lý do nào đó thiết kế dòng cung cấp cho mạch bị thiếu dẫn đến điện áp không ổn định. Điện áp không ổn định sẽ dẫn đến treo chip. Ở một số họ khác 89 nó cho phép hoạt động ở dải điện áp thấp khoảng 1.8 đến 2.7V.
                  Ví dụ khi ta thiết kế đếm đến số 88 lúc đó nguồn của chúng ta sử dụng năng lượng rất lớn có thể tụt xuống 3.3V và có thể gây treo. ( có một vài IC dùng để phát hiện ra nguồn bị xuống thấp và tác động vào chân Reset của 89 để thực hiện reset lại mạch thường gọi là IC reset hoặc dùng watchdog ( với họ 89S) để tự reset lại khi bị treo).
                  Nếu điều khiển role DC có thể dùng luôn mấy con IC chuyên dụng như ULN2003, ULN2803...vừa rẻ vừa gọn vừa tương thích. Còn điều khiển với dòng lớn hơn có thể dùng cách ly quang PC817 và kết hợp với MOSFET để có dòng rất lớn...
                  Lỗi lớn nhất đối với người mới làm thường là tính toán các thông số không hợp lý cho mạch của mình và cả code tưởng chừng hợp lý nhưng cũng không hợp lý khi chạy thời gian dài.
                  Có bạn ở trên nói là một Port P2 nối xuống masse qua DIP switch. Nếu bạn cho PORT này = 0xFF tức là toàn bộ xuất ra mức cao. Có thể để lâu sờ thấy ấm ấm IC. Việc này gây tiêu tốn năng lượng rất nhiều và còn có thể gây ra treo IC là đằng khác.
                  Một nguyên nhân nữa là do việc nắm chưa chắc về nguyên lý điều khiển các thiết bị có công suất cao và điện áp khác 5V dẫn đến thiết kế không đúng về mức logic cũng có thể gây treo do điện áp lớn hơn 5V xông vào các chân của V Đ K.
                  Môt lưu ý là các PORT của vi điều khiển xuất ra điện áp từ 0 đến 5V với dòng hút vào tối đa 25mA và dòng đẩy ra khoảng 5-10mA. Các bạn coi các Port này như là tín hiệu dạng áp để có phối hợp điều khiển các linh kiện ngoại vi khác cho hợp lý. Với 89 cần có điện trở kéo.
                  Tóm lại. Các lỗi này thường xảy ra ở người mới làm quen hoặc mới sử dụng vi điều khiển. Các bạn hãy xem lại chủ yếu liên quan đến vấn đề thiết kế chưa hợp lý và code chưa hợp lý thôi.
                  Nếu không liên quan nhiều đến vấn đề bí mật công nghệ, bạn nên post sơ đồ mạch lên hoặc code để các bạn khác biết sẽ hướng dẫn cho bạn.
                  Last edited by minhhieu; 26-10-2009, 13:12.
                  n
                  ĐT: 0986 492 489

                  Tham khảo:

                  Comment


                  • #10
                    chào bác MINHHIEU em vừa đọc bài viết trên của bác. Em cũng đang rất quan tâm đến phần tính toán treo trở cho chân VDK vậy bác có thể nói cho em biết về phần này rõ hơn được không? cảm ơn bác trước nha!

                    Comment


                    • #11
                      oh cái này em gặp lúc làm robot
                      h đã dc giải quyết rất đơn giản chỉ dùng con cách ly quang 521 sẽ ko còn cái j phải lo nữa
                      nếu mua ko có thì dùng led và quang trở kết hợp lại chạy ầm ầm mà ko lo bị treo
                      ai cần call em em send cho cái mạch em chưa vẽ nên chưa up ngay dc
                      8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
                      liên lạc với em qua địa chi email: Mob: 01882.076.989

                      Comment


                      • #12
                        mình mới tìm hiểu về vdk và đang dùng con 89s52 mình sử dụng mạch nạp kit51pl làm giống như hướng dẫn ,còn mạch mô phỏng thì như thế này
                        http://www.mediafire.com/?0164we8xg1kpf94
                        mình đã làm mạch thử nhu sơ đồ
                        http://www.mediafire.com/?p6gslyo23uerqhz
                        nhưng khi chạy thực tế đèn không nhấp nháy mà chỉ sáng liên tục mà thôi bạn giúp mình với
                        mấy cái file đó mình kiếm trên mạng
                        thank ơn bạn nhiều

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X