Thông báo

Collapse
No announcement yet.

Hỏi về IC chuyển tần số ra điện áp

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

  • #16
    Mình đã làm được trên Proteus , mình đọc ICR1L trước , rồi đọc ICR1H sau :
    dem=ICR1L+ICR1H*256

    TCNT1H=0
    TCNT1L=0
    end.

    Chạy trên proteus rất tốt , tuy nhiên thuực tế chạy trên board thực nó lại thực hiện
    dem=TCNT1L . Có ai bị như vậy chưa ? ( mình đã test thử thì đúng là nó đọc TCNT1L thay vì đọc ICR1L ) .Hu ..hu .... kỳ quá .

    Comment


    • #17
      Nguyên văn bởi hoacucvang Xem bài viết
      Mình đã làm được trên Proteus , mình đọc ICR1L trước , rồi đọc ICR1H sau :
      dem=ICR1L+ICR1H*256

      TCNT1H=0
      TCNT1L=0
      end.

      Chạy trên proteus rất tốt , tuy nhiên thuực tế chạy trên board thực nó lại thực hiện
      dem=TCNT1L . Có ai bị như vậy chưa ? ( mình đã test thử thì đúng là nó đọc TCNT1L thay vì đọc ICR1L ) .Hu ..hu .... kỳ quá .
      À..cái dzụ này...Nguyên tắc của bộ input capture là khi có xung vào chân ICP thì nó sẽ thực hiện copy giá trị TCNTH:TCNTL vào ICRH:ICRL.

      Do vậy nếu đo thời gian giữa 2 xung liên tiếp thì trong trình ngắt của Input capture bạn phải reset lại TCNTH:TCNTL về 0, còn giá trị để tính toán ta sẽ lấy từ cặp thanh ghi ICRH:ICRL.

      Khi đọc thì phải đọc byte thấp trước cao sau, ghi thì ghi byte cao trước,thấp sau
      Mấy ai định nghĩa được tình yêu.
      Có gì đâu một buổi chiều.
      Kề dao lên cổ yêu hay chết .
      Gật đầu cái rụp thế là yêu.

      --------
      Apple

      Comment


      • #18
        Vấn đề ở đây là trên proteus thì đọc ok ,thực tế thì nó lại sai , đọc TCNT1L thay vì ICR1L ( câu lệnh mình chỉ cho đọc ICR1L+ICR1H*256)

        Comment


        • #19
          Bạn nên đọc kỹ lại bài của tôi, khi ngắt xảy ra nếu ta đọc ICR thì cũng như ta đọc TCNT mà thôi.

          chú ý dung lương biến dem của bạn (2byte mới đủ). Bộ input capture hoạt động rất tốt, ko có chuyện proteus hoạt động đúng mà thực tế lại sai được (ngoại trừ xung thực tế bị nhiễu cao)...

          Bạn nên chú ý đến nguồn dao động cho Timer và giới hạn bắt xung ứng với tần số dao động đó, cái này rất quan trọng khi dùng input capture
          bạn xem lại code xem có lộn chỗ nào ko...Chúc bạn thành công
          Mấy ai định nghĩa được tình yêu.
          Có gì đâu một buổi chiều.
          Kề dao lên cổ yêu hay chết .
          Gật đầu cái rụp thế là yêu.

          --------
          Apple

          Comment


          • #20
            Vấn đề ở đây là động cơ tăng giảm rất nhanh và không ổn định , mình muốn hiển
            thị giá trị ngay lập tức .
            Chứ nếu chỉ đơn giản đếm 1 giây để tính ra RPM thì chậm mất rồi , vì trong 1s đó có lúc nó tăng nhanh rồi có lúc giảm đột ngột , không chính xác bạn ạ .
            Bạn nào có thể giúp mình tìm thuật toán ko ?
            Mình dùng thuật toán là mỗi khi có ngắt ngoài thì sẽ tính bao nhiêu thời gian ( tính tốc độ giữa 2 xung liên tiếp) . Ví dụ mỗi ngắt là 0.00001 giây chẳng hạn thì lập tức sẽ đổi ra tần số và xuất ra LCD . Tuy nhiên AVR lại bị treo vì không xử lý nổi .
            Mình cần tìm 1 thuật toán xử lý tức thời .
            Mỗi ngắt là 0.00001 giây, sao lưu dữ liệu thì còn được, chứ hiển thị LCD liên tiếp trong khoảng thời gian này thì LCD có đủ nhanh để đáp ứng với yêu cầu của VDK không? Thuật toán xử lý tức thời thì bạn có rồi đấy, dùng 1 encoder có độ chia cao và dùng inputcapture của vi điều khiển để đo, nhưng để hiển thị tức thời thì........

            Comment


            • #21
              Nguyên văn bởi apple Xem bài viết
              Bạn nên đọc kỹ lại bài của tôi, khi ngắt xảy ra nếu ta đọc ICR thì cũng như ta đọc TCNT mà thôi.

              chú ý dung lương biến dem của bạn (2byte mới đủ). Bộ input capture hoạt động rất tốt, ko có chuyện proteus hoạt động đúng mà thực tế lại sai được (ngoại trừ xung thực tế bị nhiễu cao)...

              Bạn nên chú ý đến nguồn dao động cho Timer và giới hạn bắt xung ứng với tần số dao động đó, cái này rất quan trọng khi dùng input capture
              bạn xem lại code xem có lộn chỗ nào ko...Chúc bạn thành công
              Cái chuyện tính toán thì mình biết . Vấn đề là Proteus in ra đúng , thực tế mạch ngoài nó lại sai . Vấn đề ở đây là hàm read ICR1 lại bị hiểu là read TCNT1
              Khi xảy ra ngắt bạn thử in ra giá trị ICR1 và TCNT1 thử xem, 2 giá trị nó khác nhau . ICR1 chỉ là biến tạm của TCNT1.

              Comment


              • #22
                Nguyên văn bởi hoacucvang Xem bài viết
                Cái chuyện tính toán thì mình biết . Vấn đề là Proteus in ra đúng , thực tế mạch ngoài nó lại sai . Vấn đề ở đây là hàm read ICR1 lại bị hiểu là read TCNT1
                Khi xảy ra ngắt bạn thử in ra giá trị ICR1 và TCNT1 thử xem, 2 giá trị nó khác nhau . ICR1 chỉ là biến tạm của TCNT1.
                Tất nhiên là ICR và TCNT ko thể bằng nhau ngay chóc được , TCNT phải > ICR (nếu timer ko bị tràn) nếu đọc ngay sẽ thấy chúng ko cách nhau là bao nhiêu, còn trong trình ngắt mà bạn đọc ngay 2 cái này vẫn thấy chúng khác nhau quá lớn, mình bảo đảm code có vấn đề.

                Ngộ nhỉ, mình thấy pan này của bạn hơi lạ. Code đúng mà thực tế lại đọc sai, ko bít con AVR của bạn có tèo ko nhỉ ... Mình cũng từng dùng input capture để đo cảm biến điện từ trên oto (loại 24 răng từ) nó chỉ bị sai số hơi lớn chút xíu ở tốc độ thấp (do kết cấu cơ khí tự chế gây ra thôi) còn lên tốc độ cao thì đo khá tốt ... mình potay.com pan của bạn rùi đó ... có lẽ code sai hoặc avr tèo roài ...
                Last edited by apple; 06-11-2008, 14:43.
                Mấy ai định nghĩa được tình yêu.
                Có gì đâu một buổi chiều.
                Kề dao lên cổ yêu hay chết .
                Gật đầu cái rụp thế là yêu.

                --------
                Apple

                Comment


                • #23
                  Tức vậy nè , mình đo tần số điện lưới 50 HZ ở nhà thử . Mình in ra 2 giá trị là ICR1L và TCNT1L.
                  Trong Proteus : ICR1=9 ( rất đúng)
                  TCNT1=200

                  Trong thựa tế khi in ra LCD :
                  ICR1=200 ( sai)
                  TCNT1=200

                  Không hiểu tại sao luôn ? Em thử cả 2 con ATMEGA 32 , cả 2 đều sai giống nhau.
                  Last edited by hoacucvang; 06-11-2008, 15:17.

                  Comment


                  • #24
                    mấy anh ơi,em không phải là dân điện tử nhưng rất thích làm đồ điện tử,em muốn làm mach tachometer (đèn led sáng theo ga xe máy) ,em nghe nói chức năng 331 giống 2907/2917 nhưng em k biết nếu thay thế thì nối chân như thế nào..nhờ anh vẽ ra thì tốt quápdfFactory Pro.pdf

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    • tuyennhan
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi tuyennhan
                      Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                      Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                      hôm nay, 07:44
                    • vi van pham
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi vi van pham
                      Cám ơn những lời chúc tốt đẹp của em.

                      Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                      Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                      hôm nay, 02:00
                    • nhathung1101
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi nhathung1101
                      Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                      Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                      Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                      Hôm qua, 22:18
                    • dinhthuong80
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi dinhthuong80
                      Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                      Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                      Hôm qua, 14:51
                    • dinhthuong80
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi dinhthuong80
                      Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                      Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                      Hôm qua, 14:39
                    • dinhthuong80
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi dinhthuong80
                      Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                      Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                      Hôm qua, 14:28
                    • bqviet
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi bqviet
                      Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                      21-02-2025, 20:26
                    • mèomướp
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi mèomướp
                      Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                      21-02-2025, 12:32
                    • vi van pham
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi vi van pham
                      Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                      Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                      20-02-2025, 21:31
                    • bqviet
                      Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                      bởi bqviet
                      Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                      20-02-2025, 17:22
                    Đang tải...
                    X