Thông báo

Collapse
No announcement yet.

Dung 89C51 de tao dong ho do toc do dong co

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

  • Dung 89C51 de tao dong ho do toc do dong co

    Mình đang làm một đồng hồ đo tốc độ động cơ sử dụng AT89C51 không biết có bạn nào quan tâm vấn đề này không chúng ta cùng thảo luận.
    Hiện tại mình đang dùng led hồng ngoại đề làm cảm biến để chiếu vào trục động cơ nhưng do phải đo ngoài nắng nên bị nhiễu nhiều lắm, không biết phải khắc phục nó bằng các nào, có ai có cách nào không chỉ cho mình với.

  • #2
    Dong co cua ban co toc do lon ko ? CAi encoder cua ban co do phan giai bao nhieu vay ? Minh cung dang quan tam den van de nay . Ban dinh hien thi bang Led 7 doan hay truyen len may tinh .
    Theo minh dinh dua tin hieu tu Encoder vao chan ngat ngoai de dem tan so xung f trong 1s
    dung cong thuc : toc do( Vong/phut) n = f*60/Do phan giai cua encoder
    chi can do f la xong . dung ko ?

    Comment


    • #3
      Hiện tại mình đang dùng led hồng ngoại đề làm cảm biến để chiếu vào trục động cơ nhưng do phải đo ngoài nắng nên bị nhiễu nhiều lắm, không biết phải khắc phục nó bằng các nào, có ai có cách nào không chỉ cho mình với.
      Thành thật khuyên các hạ không nên tìm cách chế tạo cảm biến làm gì. Có làm ra đạt tiêu chuẩn để sử dụng được thì cũng già mất rồi. Hay chú ý đến nhiệm vụ chính là đo tốc độ như thế nào.
      Có rất nhiều cách để đo tốc độ động cơ, các hạ có thể dùng máy phát tốc hoặc tiện nhất là dùng encoder. Mấy bảo đao này tất nhiên phải mua rồi, không tự rèn được đâu. Máy phát tốc thì đưa ra điện áp analog xoay chiều hoặc một chiều và ở nhiều dải cao thấp, do vậy đo cần phải có mạch đo lường, chuẩn hóa bên ngoài. Encoder thì cho xung ra có tần số tỷ lệ với tốc độ, tuy nhiên lưu ý chuẩn hóa xung trong một số trường hợp xung không vuông hoặc biên độ không tương thích với mức lôgic 0-5V.

      Giang hồ hiểm ác, bảo trọng.

      Comment


      • #4
        đo tốc độ động cơ thường dung cac phương pháp sau
        -dùng cảm biến hồng ngoại hương pháp này thường được thấy trong cac rotary encoder bản chất là dùng một đĩa tròn gắn vào trục động cơ trên đĩa có các rãnh xẻ khoảng một đến vài trăm rãnh để tạo độ chính xác cao cho việc đếm.vì dùng cam r biến hồng ngoại nên nó cần được che chắn kĩ( thường thấy ở đằng sau các động cơ một chiều.có thể dùng chống nhiễu tốt nếu dùng cảm biến hồng ngoại có phát xung nhưng cách này làm cho mạch trở nên cồng kênh.Để đếm vòng quay cho động cơ lây xung vuông xuât ra từ cảm biến cho vào chân ngắt ngoài của VDK chọn chế độ kích khởi cạnh âm,lấy một biến dung dể đếm số lần xung âm xuất hiện và dùng timer để dịnh thời tạo ngắt trong khoang 10s-1phut và lấy biến đếm chia cho số rãnh của encoder va nhân với thời gian bạn chọn thì ra số vòng quay dc trong 1 phút
        - dùng bước ren của ốc (phương pháp này thường dùng trong công nghiệp nên khó chế tạo )cũng như trên tạo ngắt trong 10 giay và tính số bước ốc đã đi được thì ra số vòng
        -ngoài ra còn máy phát tốc như đã nói ở trên ...
        đó là những cách bạn có thể tham khảo
        chúc bạn thành công
        Gạo cho vào giã bao đau đớn
        Gạo giã xong rồi trắng tựa bông
        Sống ở trên đời người cũng vậy
        Gian nan rèn luyện mới thành công!
        :cafe:

        Comment


        • #5
          hê hê cài này tui đang làm đây ,là bài tập lớn môn học của tui
          làm xong roài chạy ầm ầm .
          NHưng tôi có làm thêm phần điều khiển tốc độ động cơ nữa
          làm thêm cái cầu H điều khiển động cơ .Tôi dùng con encoder 100 xung
          chạy rất tốt ,sensor tự chế cũng được nhưng che chắn kĩ vì nhiẽu
          SHARE KHO PHIM LỚN

          Comment


          • #6
            Nguyên văn bởi Vu Quang Duy
            Mình đang làm một đồng hồ đo tốc độ động cơ sử dụng AT89C51 không biết có bạn nào quan tâm vấn đề này không chúng ta cùng thảo luận.
            Hiện tại mình đang dùng led hồng ngoại đề làm cảm biến để chiếu vào trục động cơ nhưng do phải đo ngoài nắng nên bị nhiễu nhiều lắm, không biết phải khắc phục nó bằng các nào, có ai có cách nào không chỉ cho mình với.
            Ban hay qua ben dien dan sinh vien va tim den bai viet cua "duyphi" o do co san 2 sourcode ma toi da dung 89c51 lap trinh bang ASM va kiel C .
            No da duoc Test va chay thu va hoan toan tu do chinh sua chuong trinh neu ban muon mo rong project cua minh !

            Comment


            • #7
              sẵn đây hỏi các cao thủ luôn,hơi sai luồng một tí nhé.
              tôi muốn dùng bộ couter của timer0 làm ngõ vào để đếm xung nhưng không biết làm sao để đưa ra led 7 đoạn được bởi vì số đếm nằm trong thanh ghi TH0 và TL0 tới 2byte. Trong ASM đâu có thanh ghi hay địa chỉ nào để lưu được số 16bit để chuyển thành BCD hiển thị led 7SEG .Bác nào có cao kiến help giùm nha
              Thanks indeed
              Ai nên khôn mà chẳng dại đôi lần.

              Comment


              • #8
                Số mà các hạ lượm được trong các thanh ghi của timer0 chỉ là số xung, phải chia số này cho đơn vị thời gian và số xung của một vòng thì mới ra được tốc độ. Tất nhiên tốc độ có giá trị vượt quá 8bit là chuyện bình thường. Để hiển thị ra thì phải convert sang BCD trước.
                Nếu dùng C thì đơn giản rồi, có thể có sẵn thư viện bin2bcd. Nếu không thì sẽ phải convert bằng tay (chia lần lượt cho 1000, 100, 10; phần nguyên là hàng nghìn, trăm, chục; phần dư dùng cho lần chia sau). Ví dụ muốn hiển thị số 1234 vòng/phút, các hạ chia cho 1000 trước tiên được 1 dư 234, vậy 1 là BCD hàng nghìn, lấy 234 chia cho 100 được 2 dư 34, vậy 2 là BCD hàng trăm...
                Nếu dùng hợp ngữ thì sẽ mệt hơn ở các khoản chia chác 16 bit.
                Giang hồ hiểm ác, bảo trọng.

                Comment


                • #9
                  Đồng ý với tiền bối blackmoon về khoản này. Tuy nhiên nếu muốn hiển thị ra toàn bộ số xung đếm lên LED 7 đoạn thì 16bit có tối đa giá trị là 65536 như vậy cần 5 led. Nếu trong C ta chỉ cần khai báo một biến int16 rồi tha hồ gán giá trị này và tính toán trên đó.Nhưng trong hợp ngữ thì làm sao mà gán số 16bit này vào một ô nhớ nào được. Tôi muốn xuất thẳng số xung trong thanh ghi TH0 và TL0 ra led thì phải làm sao .Tiền bối vui lòng truyền cho tại hạ chút ít tuyệt kỹ nhé.
                  Linh kiện dòng ít,cháy nổ thường tình. Chủ yếu làm sao luyện thành chánh quả.
                  Ai nên khôn mà chẳng dại đôi lần.

                  Comment


                  • #10
                    Nhưng trong hợp ngữ thì làm sao mà gán số 16bit này vào một ô nhớ nào được. Tôi muốn xuất thẳng số xung trong thanh ghi TH0 và TL0 ra led thì phải làm sao .
                    Tất nhiên là không gán vào một ô nhớ được, int trong C cũng phải dùng 2 ô nhớ mà, chỉ có điều việc sử dụng tài nguyên trong C gần như ẩn với user nên các hạ không biết đấy thôi. Trong hợp ngữ thì tài nguyên sử dụng thế nào hoàn toàn do các hạ định đoạt. Các hạ sẽ phải viết module chia 16bit bằng phần mềm. Chia cái gì cho cái gì thì tại hạ đã nói ở trên. Các kết quả BCD thu vẫn lưu trong các biến 8bit bình thường.
                    Bảo trọng.

                    Comment


                    • #11
                      Đúng là thất khó để mà chia 1 số 16 bit phải không? mình đã làm rồi và chạy phép toán này rất tốt, giải thuất của mình như thể này: trước tiên ta dùng 2 thanh ghi nào đó lưu giá trị của th0 và tl0 làm số bị chia và dùng 2 thanh ghi khác lưu số chia. sau đó bạn viết 1 chương trình con trừ 2 số 16 bit và tiến hành trừ 2 số đó cho nhau, một lần trừ như thế bạn dùng một biến khác đếm số lần trừ cho đến khi nào số bị trừ nhỏ hơn số trừ (khi này thì cờ C lên 1), khi đó biến đếm cho chúng ta kết quả là thương của 2 số đó. ở đây mình chưa tính tới phần dư của phép chia. chương trình con trừ 16 bit thì quá dễ rồi phải không? đó chỉ là chương trình chia mà thôi. được kết quả thì sẽ được một số 8 bit, thì số này có thể hiển thị ra led 7 đoạn được rồi. chúc bạn thành công. nếu có gì không được thì liên hệ mail cho mình nhé: chipmickey@yahoo.com
                      hãy cố gắng dù vướn phải thất bại!!!!!!!!

                      Comment


                      • #12
                        cac cao thu cho e hoi chut

                        em dang lam bo do va hien thi toc do dong co dung encoder.ve phan mach thi ok rui nhung em lai mac pai van de lap trinh.
                        va theo nhu trên dien dan moi nguoi noi thi do toc do dong co theo jai thuat PID dung 89V51 cua philip.cac bac co the noi do cho em giai thuat PID do toc do dong co nhu the nao k?cam on cac bac.

                        Comment


                        • #13
                          minh muon so do nguyen ly
                          Ngày mai bắt đầu từ ngày hôm nay!!!

                          Comment


                          • #14
                            Yêu cầu viết bài bằng tiếng Việt có dấu, viết thế dịch mỏi mắt lắm!
                            Trần Đức Sơn

                            tel:0934691385

                            Comment


                            • #15
                              Nguyên văn bởi MicroDuyphi Xem bài viết
                              Ban hay qua ben dien dan sinh vien va tim den bai viet cua "duyphi" o do co san 2 sourcode ma toi da dung 89c51 lap trinh bang ASM va kiel C .
                              No da duoc Test va chay thu va hoan toan tu do chinh sua chuong trinh neu ban muon mo rong project cua minh !
                              Dien dan sinh vien la o dau vay anh?

                              Comment

                              Về tác giả

                              Collapse

                              Vu Quang Duy Tìm hiểu thêm về Vu Quang Duy

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

                              Collapse

                              Đang tải...
                              X