1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

[HELP] Giúp đỡ hiển thị tốc độ động cơ trên LED 7 đoạn hay LCD

Thảo luận trong 'Kỹ thuật Điện - Điện tử' bắt đầu bởi vancu, 20 Tháng chín 2009.

  1. vancu New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
    có anh em nào bít hiển thị tốc độ động cơ trên led 7 đoạn hay lcd ko?khi dùng vdk 8051 và sensor quang ,cho mình xin
  2. chau_2007 New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
    Re: một trang web chuyên dành cho dân điện-điện tử

    bỏ cái đĩa đục lỗ lên trục dc, rồi đếm xung led nhận được trong một thời gian nhất đinh( 1s chẳng hạn). Tra bảng dữ liệu quy ước (ví dụ 100pps =100rpm, 150pps =150rpm....), cái này phải nhờ thiết bị chuẩn đo trước thôi. Lập trình 8051 thì chỉ đếm xung, tra bảng rồi hiển thị thôi
  3. cindar New Member

    Số bài viết: 105
    Đã được thích: 0
    Điểm thành tích: 0
    Re: Hiển thị tốc độ động cơ trên led 7 đoạn hay lcd

    dùng encoder đọc thông số từ bánh xe như bạn chau-2007 vừa nêu đó....bạn có thể xuống kht để hỏi thêm...các anh làm robo đều dùng encoder để đếm tốc hết đó^^
  4. Kidosa New Member

    Số bài viết: 9
    Đã được thích: 0
    Điểm thành tích: 0
    Re: Hiển thị tốc độ động cơ trên led 7 đoạn hay lcd

    Mình đã từng làm đồ án 2 đề tài này rồi, nói chung khi làm việc quan trọng là tìm mua được một động cơ có gắn sẵn Encoder phía sau, độ phân giải càng cao càng tốt, vì khi đó ta có thể định thời đo trong khoảng thời gian ngắn và chính xác hơn, ngoài ra update tốc độ cũng nhanh hơn. Việc nhân chia và định thời trong VDK 8051 hơi phức tạp vì tốc độ thường có giá trị vài nghìn vòng trên phút, vì vậy bạn phải có 1 giải thuật tối ưu để hạn chế việc tính toán đó, các ô nhớ không đủ để lưu một số lớn như vậy nên thường phải dùng 16 bit để lưu. Khi mình làm thì động cơ có tốc độ tầm 3000 vòng/phút, encoder độ phân giải 200xung/vòng. mình không thể nào đo trong một khoảng thời gian tùy ý rồi nhân chia ra tốc độ vòng/phút hiển thị ra led 7 đoạn được vì tốc độ như vậy chỉ cần nhân chia ko tốt là sai số nhân lên rất lớn. Vì vậy mình đã tính để chia ra khoảng thời gian là 0.3s cho mỗi lần update tốc độ, lấy xung trực tiếp từ bộ Counter sau mỗi 0.3s rồi chuyển từ 16 bit đó thành số BCD sau đó hiển thị, ko hề nhân chia nữa, sai số là ko có. Còn tại sao lại là 0.3s thì bạn tự suy nghĩ và rút ra nhé, tùy vào độ phân giải của Encoder mà có khoảng thời gian khác nhau, ko nên quá lớn vì khi đó update tốc độ sẽ chậm. Tốc độ hiển thị cuối cùng là vòng/phút. Giải thuật chuyển đổi từ số nhị phân 16bit thành số BCD viết bằng ngôn ngữ Assembly thầy Chương có dạy đấy, bạn có thể xin code.
  5. tuyendatngoc New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này