Thông báo

Collapse
No announcement yet.

Cho em hỏi về PWM!

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

  • Cho em hỏi về PWM!

    Em mới vừa bước chân vô lãnh vực AVR này thui!Em tính xài Atmega8535 đk động cơ DC bằng PWM.Nhưng em đọc datasheet của con này phần Timer/Counter0 with PWM hoài mà ko hiểu(có lẽ do trình độ có hạn ).
    Các bác có có code (bằng C-em xài CodeVision) về phần xuất xung PWM thì giúp em với nhe!Thanks các bác nhiều!


    Mobile: 0906300128

  • #2
    Bạn chèn đoạn code sau vào nhé :

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: 4000.000 kHz // dùng thạch anh 4MHz, PWM tốc độ cao nhất
    // Mode: Fast PWM top=FFh // chon chế độ fast PWM 8bit
    // OC0 output: Inverted PWM // lối ra đảo !
    TCCR0=0x79;
    TCNT0=0x00;
    OCR0=0x00;

    DDRB.3=1 // Portb3 là lối ra PWM

    //Để tạo ra điện áp lối ra PWM theo ý muốn, bạn đặt giá trị cho OCR0

    OCR0=0x7f ; //qua bộ lọc RC tạo ra điện áp Vcc/2 .

    //Nếu lối ra đảo, nếu OCR0=0xff -> V tạo ra là 0V, ngược lại OCR0=0x0 V tạo ra là Vcc.Bạn có thể chọn lối ra không đảo( trong Wizard của CV hoặc nếu dùng ASM thì xem lại trong datasheet để set các bit WGM00,WGM01,COM00,COM01)

    Chúc thành công !

    NVT2
    Tín đồ AVR giáo.

    Comment


    • #3
      Oh em cám ơn Bác nhìu lắm!không ngờ Bác trả lời nhanh như vậy.Em con phải nghiên cứu nhìu nữa! Cố lên


      Mobile: 0906300128

      Comment


      • #4
        Trước tiên bạn phải khởi tao timer0 (vd ta dung Timer0 de dieu che xung) sang chế độ PWM
        Bạn mo datasheet xem thanh ghi dieu khien timer0 la TCCR0 gom co 8 bit sau
        bit 7 : FOCO
        bit 6 : WGM01
        bit 5 : COM00
        bit 4 : COM01
        bit 3 : WGM00
        bit 2 den bit0 : la cac bit chon tan so hoat dong cho timer0
        +de chon che do hoat dong cho timer0 ban dung 2 bit WGM00 va WGM01
        +để chọn kiểu thay đổi mức ( cao sang thap -hay - thap sang cao) o chan dieu che OC0 ban dung 2 bit COM00va COM01
        time0 se so sanh lien tuc thanh ghi gia tri timer0 (TCNTO) voi thanh ghi OCCR0 .
        khi timer dem len bang OCR0 thi se xay ra sự đổi mức logic o chan OC0 (chan ngo ra cua xung duoc dieu che boi timer0)
        do vay muon dieu che xung tai chan OC0 ban phai lam la :
        --thiet lập chân port tuong ung voi chan OC0 la ngo ra
        --dat gia tri cho thanh ghi OCCR0
        --thiet lap timer0 sang che độ dieu chế xung (Fast hoac PhaseCorrect,xem datasheet)
        --ket noi chan OC0 voi mach dieu khien (chang han dieu khien do sang toi cua 1 con led)
        the la xong, ban lam thu di nhe .
        Last edited by apple; 14-11-2007, 10:15.
        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


        • #5
          Bác apple chắc là sành về PWM lắm, bác có thể hướng dẫn anh e mới vô nghề 1 cách chi tiết về PWM ko, chẳng hạn như PWM là gì, ứng dụng của PWM, cách sử dụng.e mới chuyển sang AVR nên mấy cái này ko rành cho lắm, mong bác chỉ cho vài chiêu .

          Comment


          • #6
            Nguyên văn bởi phong25_2 Xem bài viết
            Bác apple chắc là sành về PWM lắm, bác có thể hướng dẫn anh e mới vô nghề 1 cách chi tiết về PWM ko, chẳng hạn như PWM là gì, ứng dụng của PWM, cách sử dụng.e mới chuyển sang AVR nên mấy cái này ko rành cho lắm, mong bác chỉ cho vài chiêu .
            PWM tạm dịch là Điều Chế Độ rộng Xung. Nguyên lý cơ bản đó là thay đổi điện áp TRUNG BÌNH dựa vào thay đổi độ rộng của các mức "LOGIC" "0" và "1" trong một chu kì của xung. Cụ thể hơn bác tìm trên diễn đàn nha!
            Nỏ biết chữ mần răng ký được??!! Thôi nhé.

            Comment


            • #7
              Nguyên văn bởi phong25_2 Xem bài viết
              Bác apple chắc là sành về PWM lắm, bác có thể hướng dẫn anh e mới vô nghề 1 cách chi tiết về PWM ko, chẳng hạn như PWM là gì, ứng dụng của PWM, cách sử dụng.e mới chuyển sang AVR nên mấy cái này ko rành cho lắm, mong bác chỉ cho vài chiêu .
              bác đừng chọc em. Em là thành viên mới và cũng mới tìm hiểu về AVR thôi, mò mò datasheet thấy sao nói vậy và cũng làm thử PWM rồi thấy cũng ổn nên góp chút ý kiến nhỏ thôi. Mong các bác chỉ giáo thêm
              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


              • #8
                các bác cho em hỏi chức năng của biến FOCO trong TCCTR0 là các bác nhỉ?

                Comment


                • #9
                  em mới tìm hiểu về VĐK nên còn nhiều điều chưa hiểu . Nhờ các anh định nghĩa giùm em 1 số kiến thức nền giùm em với :
                  PWM là gì ?
                  USART là gì ?
                  giao tiếp CAN,RS232 là gì?
                  Capture/Comparator ?
                  ADC,...
                  em biết những câu hỏi này thật là ngớ ngẫn đối với những người đã biết nhưng riêng em thì rất cần biết về những kiến thức căn bản này để bắt đầu cho việc học lập trình của mình mong các anh, chị giúp đỡ giùm em.
                  em xin cảm ơn !
                  _______________________________!

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X