Thông báo

Collapse
No announcement yet.

Điều khiển robot bằng tay

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

  • Điều khiển robot bằng tay

    Con robot của mình tới 10 động cơ, mình dùng ATmega32 để điều khiển bằng pwm, nhưng con ATmega32 có 4 ngõ ra pwm. muốn sử dụng nhiều hơn thì ngoài cách kết nối nhiều con vi điều khiển lại thì làm thế nào đc.hix

  • #2
    Chia PWM này ra đê_nhưng mỗi thời điểm chỉ đc đk 1 động cơ thuộc 1 kênh PWM đó thôi


    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
    Tel: 031 518648 Phone: 0904 283 505

    Comment


    • #3
      pwm 2 động cơ chạy thôi, mấy cái chỉnh cơ cấu thì cho nó max 100%

      Comment


      • #4
        Nguyên văn bởi bqhoang Xem bài viết
        Con robot của mình tới 10 động cơ, mình dùng ATmega32 để điều khiển bằng pwm, nhưng con ATmega32 có 4 ngõ ra pwm. muốn sử dụng nhiều hơn thì ngoài cách kết nối nhiều con vi điều khiển lại thì làm thế nào đc.hix
        cái này bạn phải dùng giải thuật thôi, các thế hệ trước kia đã dùng rất nhiều vì hồi đó chủ yếu là dùng 89, cách này điều xung tất cả các chân cũng dc.

        bạn cần dùng ngắt của 1 timer 8 bit (tần số pwm phụ thuộc vào bộ chia hoặc giá trị đặt ban dầu của bộ đếm)
        code như sau:

        unsigned char xx=0;
        unsigned char pwm_0=0; //chân P0.0 chẳng hạn
        unsigned char pwm_1=0; //chân P0.1 chẳng hạn
        unsigned char pwm_2=0; ...
        //xxxxxxxxxxxxxxxxxxxxxxxxxxxx
        void main(){
        pwm_0=100; pwm_1=200; //pwm_x: 0->255
        while(1);
        }
        //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        interrupt_timer0(){
        xx++;
        if(pwm_0!=0 && xx==0) P0.0=0; //on
        if(pwm_1!=0 && xx==0) P0.1=0; //on
        //...
        if(xx==pwm_0) P0.0=1; //off
        if(xx==pwm_1) P0.1=1; //off
        //...
        }
        good lucky
        |

        Comment


        • #5
          tớ biết 1 cách điều chế PWM ra 1 chân bất kì.đó là chọn chế độ normal sau đó kích hoạt 2 ngắt tràn và so sánh.khi viết chương trình ở 2 ngắt.vdu ta muốn điều chế PWM ra chân PORTA.0 thì ta làm như sau
          ở ngắt tràn cho PORTA.0 =1
          ở ngắt so sánh cho PORTA.0=0:sau đó thay đổi thanh ghi OCR0 ở hàm main thế là xong.rất đơn giản!mình hơi bận lên không làm ví dụ được cái nè cũng không khó mình hướng dẫn sơ qua vậy thôi mong các bạn làm tốt.chúc thành công!!

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X