Welcome & Happy Holidays!
Trang 4 của 5 Đầu tiênĐầu tiên ... 2345 CuốiCuối
Kết quả 31 đến 40 của 41
  1. #31
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    cho mình hỏi động cơ của bạn có tích hộp sẵn giảm tốc,encoder không?

  2. #32
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình thấy con này chạy rất ổn định. Mình đang làm 1 đề tài cũng liên quan đến cảm biến 6 trục này. Bạn có thế chia sẻ cho mình code để đọc và lọc dữ liệu không? Nếu được xin gửi vào mail: lvdinh.tvtsth@gmail.com. Cám ơn bạn rất nhiều.

  3. #33
    Ngày tham gia
    Feb 2016
    Bài viết
    0
    Lâu lắm rồi mình mới lên diễn đàn. Mình cứ tưởng thread này bị lãng quên rồi, không ngờ vẫn có nhiều người quan tâm vậy. Bạn nào có câu hỏi gì cứ đăng lên, nếu trả lời được thì mình sẽ trả lời, hỗ trợ ...

  4. #34
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    Trích dẫn Gửi bởi lon888
    Mình thấy con này chạy rất ổn định. Mình đang làm 1 đề tài cũng liên quan đến cảm biến 6 trục này. Bạn có thế chia sẻ cho mình code để đọc và lọc dữ liệu không? Nếu được xin gửi vào mail: lvdinh.tvtsth@gmail.com. Cám ơn bạn rất nhiều.
    Phần đọc giá trị từ cảm biến, tính toán ra góc và lọc được góc đúng là rất phức tạp và tốn thời gian. Mình tốt nghiệp cũng lâu rồi, bây giờ code thì cũng hơi khó tìm (máy tính mình bây giờ là một mớ hỗn độn ). Mình có thể giúp bạn giải quyết các vấn đề như sau:

    - Đọc giá trị từ cảm biến: gyro_x, gyro_y, gyro_z, acc_x, acc_y, acc_z
    - Sử dụng các công thức toán, vật lý tính ra giá trị góc
    + Với gyro thì tính giá trị gyro_x_rate, gyro_y_rate, gyro_z_rate (lần lượt là vận tốc góc trên 3 trục)

    gyro_x_rate = (gyro_x-gyro_x_zeo)/sensitivity (gyro_x_zero: là giá trị cố định đo 1 lần của cảm biến, sensitivity là độ nhạy của cảm biến-đọc datasheet)

    + Với gia tốc thì tính giá trị acc_x_angle, acc_y_angle, acc_z_angle (lần lượt là giá trị góc trên 3 trục)

    acc_x_angle = acc_x_angle=(180/PI)*atan(acc_y/sqrt(acc_x*acc_x+acc_z*acc_z));

    Sau khi tính được như vậy sử dụng bộ lọc Kalman để lọc lấy giá trị góc tham khảo bộ lọc kalman tại đấy nhé:
    Example-Sketch-for-IMU-including-Kalman-filter/IMU6DOF/MPU6050/Kalman.h at master · TKJElectronics/Example-Sketch-for-IMU-including-Kalman-filter · GitHub

    Sử dụng hàm getAngle của bộ lọc để lọc lấy góc:
    getAngle(acc_x_angle, gyro_x_rate, dtime);

    acc_x_angle: là góc tính được từ trục x của gia tốc
    gyro_x_rate: là tốc độ góc tính được từ trục x của gyro
    dtime : là thời gian lấy mẫu, thời gian đáp ứng của MPU6050 là 100Hz tương ứng 10ms (sử dụng timer tạo ra 1 vòng lặp 10ms để đưa vào lọc góc)

    Ví dụ 1 vòng lặp 10ms như sau:



    Mã:
    float system_loop_time(void)
    {
            /*********************** Timing Kalman Filter **************************/
            lastLoopUsefulTime = milis() - loopStartTime;//[ms]
            while(lastLoopUsefulTime < STD_LOOP_TIME)
            {
                _delay_ms(STD_LOOP_TIME-lastLoopUsefulTime); //[ms]
            }
            dtime = (float)(milis() - loopStartTime)/1000; //
            loopStartTime = milis();
         
            return dtime;
    }
    Đấy là tất cả phần hướng dẫn liên quan tới code tính góc và lọc lấy góc ...
    =============
    BQT: bạn cần cho code vào thẻ code

  5. #35
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cám ơn bạn đã hướng dẫn. Mình sẽ tìm hiểu theo cách của bạn xem sao

  6. #36
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kim jong
    bạn nên xem thuật Sliding và LQR sẽ hiểu tại sao lại cân bằng được.
    mình có tìm hiểu về backstepping sliding mode và LQR(điều chỉnh toàn phương tuyến tính) nhưng khi áp dụng vào mô hình thực tế thi mình chưa thấy có sự liên kết.
    giải thích giup mình được không!
    thanks ban!

  7. #37
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    có thể gửi cho mình xin tài liệu của cậu đã làm rồi không?
    mail của mình la: nguyenthietmta@gmail.com

  8. #38
    Ngày tham gia
    Jan 2016
    Bài viết
    0
    Chào bạn, bạn có thể cho mình xin code được không ?? cám ơn nhiều.

  9. #39
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi dragon1991
    gyro_x_rate = (gyro_x-gyro_x_zeo)/sensitivity (gyro_x_zero: là giá trị cố định đo 1 lần của cảm biến, sensitivity là độ nhạy của cảm biến-đọc datasheet)
    Anh dragon1991 cho em hỏi . giá trị cố định đo 1 lần mà anh ghi có phải là offset của gyro không anh. Em chỉ đọc tín hiệu thô từ cảm biến rồi lấy giá trị trung bình. X ra tới -819 . có bình thường hay ko anh

  10. #40
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Giá trị của gyro_x_zero được mình lấy trung bình khoảng 500 lần, và mình cố định nó luôn như vậy (ví dụ: sau khi lấy trung bình 500 lần giá trị của gyro_x thì mình gán cho gyro_x_zero bằng luôn giá trị đó)

 

 
Trang 4 của 5 Đầu tiênĐầu tiên ... 2345 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 04:35 AM. Diễn đàn sử dụng vBulletin® Phiên bản 4.2.5.
Bản quyền của 2025 vBulletin Solutions, Inc. Tất cả quyền được bảo lưu.
Ban quản trị không chịu trách nhiệm về nội dung do thành viên đăng.