Thông báo

Collapse
No announcement yet.

TỰ LÀM 600W PURESINE INVERTER 12VDC - 220VAC (Mở lại chủ đề của thanhfdc bị xóa nhầm)

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • developerv E tạo 4 xung như bên dưới để điều khiển cầu H có vấn đề gì ko bác . Mà có cần quan tâm tới dead time cho fet ở cầu H ko vậy ??

    Comment


    • E có một câu đố vui muốn hỏi các bác đó là phần dc/dc với mạch chạy acquy 12v nhưng e muốn phần điều khiển luôn ở 15v cho dù acquy có sụt áp dưới 12v thì ta làm như thế nào?. Đương nhiên là ko dùng nguồn phụ, ko dùng mạch boost.

      Comment


      • Bác dùng cuộn sơ cấp phụ lên 25vdc rồi qua 7815. Accu là nguồn mồi ban đầu nhé.

        Comment


        • Nguyên văn bởi quocviet253 Xem bài viết
          TP_Electro thank bac! developerv Em dùng at8 thạch anh 16M time 1(16bit) . 1/2 chu kỳ chia 100 khoảng thì mỗi khoảng hết 0,1ms =>> thanh ghi ICR1=1600 và OCR1A =(giá trị bảng sin) phải không bác?? . Mà làm sao để chia cái PWm thành 2 để cấp cho 2 bên cầu H vậy ???
          0,1ms nếu chu ki máy 1us thì cũng ko đủ time để thực hiện mấy phép tính * va /

          Comment


          • Nguyên văn bởi TP_Electro Xem bài viết
            Bác dùng cuộn sơ cấp phụ lên 25vdc rồi qua 7815. Accu là nguồn mồi ban đầu nhé.
            Chính xác hehe, cách ly nguồn acquy cấp cho phần điều khiển bằng một con diode khi đó thì ta đưa thẳng 15v đó nhập vào lun khỏi mòi

            Comment


            • Vfb áp ac có thể điều chỉnh full rang 0-100℅ vout.
               

              Comment


              • Nguyên văn bởi TP_Electro Xem bài viết

                0,1ms nếu chu ki máy 1us thì cũng ko đủ time để thực hiện mấy phép tính * va /
                ở avr dùng thạch anh 16Mhz thì 1us thực hiện dc 16 chu kỳ máy đó bạn. mình dùng qua pic và 8051(trước dùng vì mấy con at89c2051 nó nhỏ với rẻ) rồi giờ chuyển snag avr dùng thấy thích hẳn luôn. cơ bản tốc độ nhanh.mất 1 2 hôm để nghiien cứu cách lập trình thôi vì cơ bản đã biết 1 dòng vdk rồi thì dòng khác dùng đơn giản

                Comment


                • Nguyên văn bởi quocviet253 Xem bài viết
                  TP_Electro thank bac! developerv Em dùng at8 thạch anh 16M time 1(16bit) . 1/2 chu kỳ chia 100 khoảng thì mỗi khoảng hết 0,1ms =>> thanh ghi ICR1=1600 và OCR1A =(giá trị bảng sin) phải không bác?? . Mà làm sao để chia cái PWm thành 2 để cấp cho 2 bên cầu H vậy ???
                  sao bạn lại phải làm phức tạp vậy nhỉ. dùng ngay pwm8 bit thôi. đâu cần 16 bit. bạn chia nửa chu kỳ ra làm 100 khoảng tính toán ra bảng sin ra dc 100 giá trị (cái này là giá trị %). bây giờ bạn cần thêm1 timer để cứ mỗi khoảng trong 100 khoảng đó thì timer nó ngắt 1 lần và nó cập nhật giá trị pwm tương ứng với khoảng đó. giá trị pwm tính như sau giả sử bạn cho chu kỳ pwm là 256 xung chẳng hạn thì có nghĩa là 256 tương ứng với 100% đến khoảng a giá trị sin là a% thì bạn tính ra giá trị ghi vào pwm là 256*a/100. bạn tính toán sao cho khoảng chia thời gian nó tròn để dễ tính. mình lấy timer 8bit và f timer mình chia 64 chứ để mặc định lầy f của timer bằng với f của vdk là 16mhz thì tính mệt lắm. cộng đến bao nhiêu ngắt mới dc 0.1ms
                  nói rõ thêm chút là bảng sin mình tính luôn cho pwm chứ k phải lấy bảng sin gốc. như vậy mỗi khi ngắt timer chỉ cần cập nhật giá trị pwm theo mảng trong bảng sin thôi. chú ý 1 chút là tốc độ chạy timer nó nhanh nên bạn tính chia tần sao cho hợp lý. ví dụ 100 lần ngắt timer sẽ dc 0.1ms để cập nhật pwm chẳng hạn thì bạn làm 1 biến mỗi lần ngắt timer sẽ tăng lên 1 đến 100 thì cập nhật pwm và lại cho biến đó về 0

                  Comment


                  • Nguyên văn bởi TP_Electro Xem bài viết

                    0,1ms nếu chu ki máy 1us thì cũng ko đủ time để thực hiện mấy phép tính * va /
                    cái này tại bạn phải lập trình cả pwm nên chương trình chạy pwm đã mệt rồi. ccác chip hỗ trợ pwm thì bạn chỉ cần setup ban đầu cho nó và mỗi lần cần cập nhật bảng sin thì bạn ghi giá trị vào thanh ghi là xong. phần cứng nó khác chạy đúng theo duty bạn đặt như vậy code bạn sẽ thoải mái làm gì thì làm. vì vậy mà gần như trương trình bạn chưa phải chạy gì cả nếu cập nhật mỗi pwm. mà thời gian cập nhật pwm thì cũng k phải là nhiều cho lắm. ví dụ chia bảng sin 100 thì 0.1ms mới cập nhật 1 lần mà với avr 16mhz thì bạn biết rồi đấy. nói chung là tài nguyên chip còn rất nhiều.

                    Comment


                    • Nguyên văn bởi developerv Xem bài viết

                      cái này tại bạn phải lập trình cả pwm nên chương trình chạy pwm đã mệt rồi. ccác chip hỗ trợ pwm thì bạn chỉ cần setup ban đầu cho nó và mỗi lần cần cập nhật bảng sin thì bạn ghi giá trị vào thanh ghi là xong. phần cứng nó khác chạy đúng theo duty bạn đặt như vậy code bạn sẽ thoải mái làm gì thì làm. vì vậy mà gần như trương trình bạn chưa phải chạy gì cả nếu cập nhật mỗi pwm. mà thời gian cập nhật pwm thì cũng k phải là nhiều cho lắm. ví dụ chia bảng sin 100 thì 0.1ms mới cập nhật 1 lần mà với avr 16mhz thì bạn biết rồi đấy. nói chung là tài nguyên chip còn rất nhiều.
                      Mcu mình dùng có sẵn pwm module rồi bạn. Có thể bạn chưa hiểu chổ minhd nói. Nếu chạy spwm mà ko code để hồi tiếp biên độ sin ra thì đơn giản, nó chỉ tốn vài dòng lệnh và hoàn toàn nằm trong 45us (f=22khz) của chu kì pwm kia. Nên mình có thể chạy đc cả sóng mang Fspwm lên 50khz. Còn nếu có code thêm tính năng hồi tiếp biên độ sin ra để dùng cho BAT chẳng hạn thì 45us của f 22khz kia ko đủ để tính toán và update giá trị duty. Cho nên chỉ còn cách là hạ fspwm xuống để tăng chu kì pwm lên nhằm đủ thời gian thực hiện các lệnh tính toán % và update duty cho mỗi chu ki pwm. Còn một cách nữa là chọn mcu có ram 512b là đủ cho Fpwm 20khz.

                      Comment


                      • Nguyên văn bởi TP_Electro Xem bài viết
                        Vfb áp ac có thể điều chỉnh full rang 0-100℅ vout.
                        Sin đẹp wá bác Sơn, vậy xong phần mềm rồi còn phần cứng nửa là ok hả bác Sơn

                        Comment


                        • mình không biết gì về vụ lập trình lên hàng ngày chỉ vào hóng kết quả của bác Sơn vậy

                          Comment


                          • Nguyên văn bởi quanhao2406 Xem bài viết
                            mình không biết gì về vụ lập trình lên hàng ngày chỉ vào hóng kết quả của bác Sơn vậy
                            mềm xong rồi bạn, chỉ có điều là chỉ có tạo được có 60 mẫu trên 1 sườn sin; 1 chu kì có 120 mẫu. Hơi thấp nghe cũng chưa ưng ý. Bình thường chạy ở Fpwm 22khz mẫu là 220 luôn. Để xem có loại mcu nào mình nghiên cứu thêm. Cái này chạy BAT thì ok rồi. Nếu chạy DC-DC riêng thì tăng giá trị cuộn L và C lọc lên tí đỉnh. Tụ cở 3-5uf (bình thường chạy 2,2uf)

                            Comment


                            • Nguyên văn bởi TP_Electro Xem bài viết

                              Mcu mình dùng có sẵn pwm module rồi bạn. Có thể bạn chưa hiểu chổ minhd nói. Nếu chạy spwm mà ko code để hồi tiếp biên độ sin ra thì đơn giản, nó chỉ tốn vài dòng lệnh và hoàn toàn nằm trong 45us (f=22khz) của chu kì pwm kia. Nên mình có thể chạy đc cả sóng mang Fspwm lên 50khz. Còn nếu có code thêm tính năng hồi tiếp biên độ sin ra để dùng cho BAT chẳng hạn thì 45us của f 22khz kia ko đủ để tính toán và update giá trị duty. Cho nên chỉ còn cách là hạ fspwm xuống để tăng chu kì pwm lên nhằm đủ thời gian thực hiện các lệnh tính toán % và update duty cho mỗi chu ki pwm. Còn một cách nữa là chọn mcu có ram 512b là đủ cho Fpwm 20khz.
                              à bạn thử dùng avr đi. với thạch anh 16mhz thì 1us chạy dc 16 chu kỳ máy. vậy 45us sẽ chạy dc 16*45 = 720 chu kỳ máy, tầm này thì mình nghĩ đủ để bạn tính toán và cập nhật dc giá trị bảng sin.

                              hiện tại mình đang dùng mất 5 chân vdk để dk cầu h. 1 chân ra pwm 2 chân dk 4066 để lấy ra 2 tín hiệu pwm kết hợp với 2 chân còn lại ra 4 chân dk cầu h nhưng giờ nghĩ lại thì chỉ cần 3 chân vdk là đủ. 1 chân pwm 2 chân còn lại vừa điều khiển cầu h và vừa điều khiển mở khóa 4066 để ra dc 2 pwm nữa. như vậy vẫn có 4 chân ra. còn vấn đề deatime thì trong bảng sin mình có 1 đoạn cuối hoặc đầu mang giá trị 0 nó cũng k ảnh hưởng gì đến dnagj sóng sin cả vì vẫn tính từ bảng sin ra mà. đoạn này là đoạn 0 chuyển giao giữa 2 nửa chu kỳ

                              Comment


                              • Nguyên văn bởi developerv Xem bài viết

                                à bạn thử dùng avr đi. với thạch anh 16mhz thì 1us chạy dc 16 chu kỳ máy. vậy 45us sẽ chạy dc 16*45 = 720 chu kỳ máy, tầm này thì mình nghĩ đủ để bạn tính toán và cập nhật dc giá trị bảng sin.

                                hiện tại mình đang dùng mất 5 chân vdk để dk cầu h. 1 chân ra pwm 2 chân dk 4066 để lấy ra 2 tín hiệu pwm kết hợp với 2 chân còn lại ra 4 chân dk cầu h nhưng giờ nghĩ lại thì chỉ cần 3 chân vdk là đủ. 1 chân pwm 2 chân còn lại vừa điều khiển cầu h và vừa điều khiển mở khóa 4066 để ra dc 2 pwm nữa. như vậy vẫn có 4 chân ra. còn vấn đề deatime thì trong bảng sin mình có 1 đoạn cuối hoặc đầu mang giá trị 0 nó cũng k ảnh hưởng gì đến dnagj sóng sin cả vì vẫn tính từ bảng sin ra mà. đoạn này là đoạn 0 chuyển giao giữa 2 nửa chu kỳ
                                Sorry cacs bac, may nay ko gox dc tieng Viet thong cam.

                                Banj dang dung loi avr gi the?. Cach dieu khien do sao ban ko dung them 1 chan pwm ma phai qua ic 4066 lam gi cho roi. Cau h chay mode do khong biet co du time de nap dien cho tu bootrap ko. No chi nap 1/2 chu ki sin va xa may tram lan theo duty pwm. Neu chay mode giong nhu mach dau luong minh post thi no co nap bu ap cho tu trong qua trinh pwm, nen tu BT luon du dien de lai mos high. Nhung deadtime phuc tap hon.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X