Cần giúp - Điều khiển độ sáng đèn xoay chiều 220vac

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • hoxuanson
    Thành viên mới
    • Nov 2010
    • 24

    #1

    Cần giúp - Điều khiển độ sáng đèn xoay chiều 220vac

    chào 4room...mọi người cho em hỏi là có thể dùng chức năng xung PWM có sẵn trong PIC16f877a để điều khiển độ sáng của bóng đèn 220VAC không ạ...????
  • nhanh0112
    Thành viên tích cực
    • May 2006
    • 201

    #2
    PWM thích hợp cho việc điều khiển điện 1 chiều. Với điều xoay chiều thì nên dùng cách cắt pha (1 dạng của PWM) kết hợp với mạch dò điểm 0 (zerocrossing) của nguồn (lưới).

    Comment

    • Đặng Văn Tài
      Thành viên tích cực
      • Aug 2012
      • 149

      #3
      em cũng đang thử viết đoạn code cho mạch phát hiện điểm không này mà sao nó chỉ ngắt được chỗ sườn lên mà ko làm được ở sườn xuống, mọi người xem qua cho em với
      (chỗ này là em thử nó đếm bằng led mà mỗi chu kỳ sin nó mới đếm 1 lần, cái e muốn là cứ có sườn là đếm thôi, em mới xem pic thôi, híc )
      #include <16F877A.h>
      #fuses HS, NOWDT, NOLVP, XT
      #use delay(clock=2000000)

      int8 mode;
      int1 d=1;
      // khai bao ma led 7 doan anode chung
      int8 cONst seg7[10]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };

      //bat dau chuong trinh ngat
      #int_ext
      void ext_isr()
      {
      mode++;
      d=~d;
      if (mode==10) mode = 0;
      }
      //bat dau chuong trinh chinh
      void main()
      {
      set_tris_d(0x00);
      set_tris_b(0xff);
      output_d(0xff);
      enable_interrupts(int_ext);
      enable_interrupts(global);
      if(d==0)
      {
      ext_int_edge(H_TO_L);
      }
      else
      if(d==1)
      {
      Ext_int_edge(L_To_H);
      }
      mode = 0;
      while(1)
      {
      output_d(seg7[mode]);
      }
      }
      TaiDangAtm

      Comment

      • nhanh0112
        Thành viên tích cực
        • May 2006
        • 201

        #4
        Nguyên văn bởi Đặng Văn Tài Xem bài viết
        em cũng đang thử viết đoạn code cho mạch phát hiện điểm không này mà sao nó chỉ ngắt được chỗ sườn lên mà ko làm được ở sườn xuống, mọi người xem qua cho em với
        (chỗ này là em thử nó đếm bằng led mà mỗi chu kỳ sin nó mới đếm 1 lần, cái e muốn là cứ có sườn là đếm thôi, em mới xem pic thôi, híc )
        Trong code đâu cần bắt các cạnh làm gì hả bạn. Ở phần mạch, bạn chỉnh lưu toàn kỳ thì đâu ra của mạch sẽ là một chuỗi xung liên tục (bắt đầu và kết thúc ở điểm 0). Nên ở phần code bạn lựa chọn bắt cạnh lên hoặc cạnh xuống theo nhu cầu thôi.
        ps: nếu ở điện lưới nước ta (50Hz) thì sau mạch chỉnh lưu này sẽ là (100Hz). Nghĩa là sẽ có 100 cạnh lên hoặc cạnh xuống cho bạn bắt (chỉ cần bắt 1 trong 2 thôi)

        Comment

        • hoangtam741
          Thành viên tích cực
          • Apr 2009
          • 1701

          #5
          Nguyên văn bởi nhanh0112 Xem bài viết
          PWM thích hợp cho việc điều khiển điện 1 chiều. Với điều xoay chiều thì nên dùng cách cắt pha (1 dạng của PWM) kết hợp với mạch dò điểm 0 (zerocrossing) của nguồn (lưới).
          Nắn AC về DC không lọc rồi PWM là được, đúng với bản chất hơn là điều khiển góc mở của triac.
          Chuyển điện điều hòa Nhật, nồi cơm IH ... từ 100V sang 220V
          Hoàng Thanh Tâm- Km32, QL32 Hà Nội - Sơn Tây-ĐT:0912242352

          Comment

          • Đặng Văn Tài
            Thành viên tích cực
            • Aug 2012
            • 149

            #6
            Nguyên văn bởi nhanh0112 Xem bài viết
            Trong code đâu cần bắt các cạnh làm gì hả bạn. Ở phần mạch, bạn chỉnh lưu toàn kỳ thì đâu ra của mạch sẽ là một chuỗi xung liên tục (bắt đầu và kết thúc ở điểm 0). Nên ở phần code bạn lựa chọn bắt cạnh lên hoặc cạnh xuống theo nhu cầu thôi.
            ps: nếu ở điện lưới nước ta (50Hz) thì sau mạch chỉnh lưu này sẽ là (100Hz). Nghĩa là sẽ có 100 cạnh lên hoặc cạnh xuống cho bạn bắt (chỉ cần bắt 1 trong 2 thôi)
            cảm ơn bạn, chỉnh lưu cầu để bắt xung thì mình biết nhưng sợ không chính xác, mình muốn bắt xung chính xác ( chỉ dùng 1 trở đưa thẳng vào vdk ) chứ chỉnh lưu cầu thì đoạn điện áp thấp nó ko dẫn nữa, mà mình cần chính xác ở khúc này lắm
            TaiDangAtm

            Comment

            • nhanh0112
              Thành viên tích cực
              • May 2006
              • 201

              #7
              Nguyên văn bởi Đặng Văn Tài Xem bài viết
              cảm ơn bạn, chỉnh lưu cầu để bắt xung thì mình biết nhưng sợ không chính xác, mình muốn bắt xung chính xác ( chỉ dùng 1 trở đưa thẳng vào vdk ) chứ chỉnh lưu cầu thì đoạn điện áp thấp nó ko dẫn nữa, mà mình cần chính xác ở khúc này lắm
              Sửa lại qua lại đoạn code của bạn. Code cũ của bạn, những giá trị đổi trạng thái bắt sườn nằm ngoài vòng while hay ngắt thì sao nó chạy đc.
              PS: Nếu số đếm xung của bạn đẩy ra led luôn thì xung đầu vào của bạn phải thật chậm, nếu ko bạn sẽ ko nhìn thấy gì ở LED đâu
              Code:
              //bat dau chuong trinh ngat
              #int_ext
              void ext_isr()
                {
                [i]static int1 edge;
                if(edge)
                  {
                  edge=0;
                  ext_int_edge(H_TO_L);
                  }
                else
                  {
                  edge=1;
                  Ext_int_edge(L_To_H);    
                  }[/i]
                  
                mode++;
                d=~d;
                if (mode==10) mode = 0;
                }
              //bat dau chuong trinh chinh
              void main()
              {
              set_tris_d(0x00);
              set_tris_b(0xff);
              output_d(0xff);
              enable_interrupts(int_ext);
              enable_interrupts(global);
              mode = 0;
              while(1)
              {
              output_d(seg7[mode]);
              }
              }

              Comment

              • Đặng Văn Tài
                Thành viên tích cực
                • Aug 2012
                • 149

                #8
                cảm ơn bạn nhiều, nó chạy rồi
                TaiDangAtm

                Comment

                • rikimaru1293
                  Thành viên mới
                  • Feb 2014
                  • 2

                  #9
                  bạn cho mình xin cái mạch nguyên lý của bạn vs đc ko ạ !

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...