Ừ, như vậy thì phải gắn công tắc on/off rồi. Mình đang tính cách dùng mạch để khi dưới 10,2V thì ngắt luôn nguồn cho bo EGS và 3525 chứ quên tắt công tắc thì cạn bình mất!
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
-
Code:/***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Professional Automatic Program Generator © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 8/31/2016 Author : NeVaDa Company : Comments: Chip type : ATmega8L Program type : Application AVR Core Clock frequency: 16.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include <mega8.h> #include <delay.h> #define A PORTD.0 #define B PORTD.1 #define C PORTD.2 #define D PORTD.3 unsigned int sin_tab[100]={0, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 23, 23, 23, 22, 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 16, 15,15, 14, 13, 13, 12, 11, 11, 10, 9, 8, 8, 7, 6, 5, 5, 4, 3, 2, 2, 1}; // Timer1 overflow interrupt service routine unsigned int i; interrupt [TIM1_OVF] void timer1_ovf_isr(void) { OCR1A= sin_tab[i]; i++; if (i==100) { i=0; A=~A;B=~B; C=~A;D=~B; } } void main(void) { PORTB=0x00; DDRB=0x02; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0xff; TCCR0=0x00; TCNT0=0x00; TCCR1A=0x82; TCCR1B=0x1B; // time 1 : 0,25Mhz TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x19; // gia tri TOP=25 OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; TIMSK=0x04; UCSRB=0x00; ACSR=0x80; SFIOR=0x00; ADCSRA=0x00; SPCR=0x00; TWCR=0x00; // Global enable interrupts #asm("sei") while (1) { } }
Comment
-
đây là code e viết tren codevision dùng time1 chế độ fast PWM top=ICR1 . trong 1/2 chu kỳ (10ms) chia 100 khoảng (mỗi khoảng 0,1ms) .Em sử dụng thạch anh 16M chia 64 =0.25Mhz , =>> cứ 4us thì TCNT1 tăng 1 vậy 0,1ms thì TCNt1 đếm 25 lần =>> set giá trị TOP : (ICR1L=0x19 )còn duty thì dùng cập nhật bảng sin OCR1A= sin_tab[i] không biết như vậy có đúng ko nhỉ ???? tín hiệu ABCD dùng để kết hợp với 74hc08 rồi đưa vào cầu H
Comment
-
Nguyên văn bởi quocviet253 Xem bài viếtđây là code e viết tren codevision dùng time1 chế độ fast PWM top=ICR1 . trong 1/2 chu kỳ (10ms) chia 100 khoảng (mỗi khoảng 0,1ms) .Em sử dụng thạch anh 16M chia 64 =0.25Mhz , =>> cứ 4us thì TCNT1 tăng 1 vậy 0,1ms thì TCNt1 đếm 25 lần =>> set giá trị TOP : (ICR1L=0x19 )còn duty thì dùng cập nhật bảng sin OCR1A= sin_tab[i] không biết như vậy có đúng ko nhỉ ???? tín hiệu ABCD dùng để kết hợp với 74hc08 rồi đưa vào cầu H
Comment
-
Hnay cúp điện e lấy cái inveter ra xài quạt máy, wên dặn bà chị nên bả mở máy nước nóng thì cái quạt máy quay rề rề ko nổi đồng thời e nghe cái inveter nó kêu è...è. Hoảng wá lại tắt kịp thời.
E ko hỉu sao con Rshunt e thiết kế cho 600w, đág lý mở máy nước nóng nó phải báo ngắt wá dòng nhưng tại sao nó ko ngắt mà nó kêu è...è và tuột áp ra ạ. E xem lại board EGS thì thấy nó thiếu con R27 như board của bác dinhthuong80, vậy đó có phải là nguyên nhân?. Các bác bắt mạch giúp e với
Comment
-
Nguyên văn bởi Nguyenson318 Xem bài viếtNếu quá tải là EGS ngắt ngay chứ bạn.
Comment
-
Nguyên văn bởi TP_Electro Xem bài viếtTăng 250 lần thì được 1ms vậy nếu chọn độ phân giải duty của pwm là 250 thì 1/2 chu kì sin chỉ tạo được có 10 mẫu (khoảng )là quá ít. => sin xấu. Nếu chia 133 khoảng thì được số bậc mẫu duty là 150 với thạch anhh 16Mhz/8 nhưng Fspwm lúc này được có 13.3khz. Nếu clock 16Mhz/8 thì ICR1=100 và có 200 khoảng (mẫu, nhưng có sự trùng lặp 2 lần 1 mẫu thực ra chỉ có 100 mẫu) và Fspwm = 20khz cũng tạm đc. Còn nếu muốn tăng thêm độ phân giải mà tần số cao thì e là phải tạo bảng sin 16bit. độ phân giải 86 bậc thì có 232 khoảng.
Còn code của mình mới là chia 250 bậc sin.tuy nhiên mình chọn chu kỳ pwm lớn hơn mỗi khoảng.vì vậy trong 1 khoảng thì pwm nhiều lần nên tần số song mang của mình cũng cao hơn.đến tận 62khz.trước mình dùng bo egs cuộn lọc kêu e e nhưng dùng avr lập trình với tần số vậy thì cuộn lọc k kêu,fet mình chưa tản nhiệt chạy bóng 75w thử thì chỉ hơi ấm ấm
Còn code mình thì minhfvdungf avrstudio7.
Comment
-
Nguyên văn bởi dinhthuong80 Xem bài viếtĐây là thành quả lao động nè, sin ra không được 100% nhưng đảm bảo hơn điện lưới rồi, cảm giác tự chế thật thú vị biết bao! Đúng là EGS cũng không đến nỗi khó chịu như mình nghĩ.
BAX mình dùng lõi EỊ33 của PSU, sơ 3 vòng, thứ 92vòng, chỉnh áp ra 360V, dòng không tải 0.2A, chạy tải 50W fet 3205 tản nhiệt 25x22x12 ấm ấm, hiệu suất chỉ đạt >82% chắc cũng ổn vì mới tải 50W nhỉ?
Có khúc mắc là khi áp 10.2V ngắt mạch rồi sau đó áp bình tăng lên mà đợi hoài không thấy mạch DC-DC không hoạt động, phải ngắt nguồn cấp lại mới chạy tiếp, như vậy là bình thường phải không các bạn?
Comment
-
Nguyên văn bởi moto Xem bài viếtVậy chắc là nó wá, để mai rãnh e hàn xem sao, nó làm e một vố hết hồn. Lấy về e đống vô chứ cũng ko xem lại sơ đồ xem thiếu đủ ra sao nửa. Hnay mới xem kỹ lại thì bị thiếu, nhưng board của bác giá trị bao nhiu ạ.
Comment
-
Nguyên văn bởi developerv Xem bài viết
Hình như bạn nhầm rồi.bạn đấy chia 100 khoảng mà.và chu kỳ pwm bạn đấy chọn là đúng bằng 1 khoảng luôn nên chỉ cần dùng 1 timer 1 để vừa tạo pwm vừa cập nhật bảng sin.
Còn code của mình mới là chia 250 bậc sin.tuy nhiên mình chọn chu kỳ pwm lớn hơn mỗi khoảng.vì vậy trong 1 khoảng thì pwm nhiều lần nên tần số song mang của mình cũng cao hơn.đến tận 62khz.trước mình dùng bo egs cuộn lọc kêu e e nhưng dùng avr lập trình với tần số vậy thì cuộn lọc k kêu,fet mình chưa tản nhiệt chạy bóng 75w thử thì chỉ hơi ấm ấm
Còn code mình thì minhfvdungf avrstudio7.
Comment
-
Độ phân giải pwm chỉ có 25 cho biên áp là quá thấp.
bạn TP_Electro cái câu in đậm này mình thấy thật sự là k có ý nghĩa. timer nó tăng đến 25 thì nó xảy ra ngắt tràn timer và cập nhật giá trị bảng sin mới cho pwm. cho dù cái này có là 250 hay 1000 cũng vẫn như nhau. bởi vì ở đây bạn đấy chọn timer để ngắt cũng là tạo pwm luôn nên nếu muốn tăng tần số thì tăng khoảng chia. chứ cái con số 25 ở đây k có ý nghĩa gì cả. cái chính ảnh hưởng chỉ là tần số pwm và số khoảng chia. còn cái 25 này là bạn đấy chọn để thời gian ngắt timer nó bằng đúng 1 khoảng sin đã chia để cập nhật pwm. nếu ở đây bạn chọn click timer chia 2 chẳng hạn thì con số 25 sẽ phải là 50 và mọi thứ k hề thay đổi. tần số pwm vẫn vậy. giá trị sin vẫn là 100 khoảng. nên mình nói cái số 25 này chỉ là tính toán sao cho nó khớp thời gian cập nhật. chứ k có ý nghĩa gì khác.
mình nghĩ bạn đang hiểu nhầm còn số này với cái gì đó. ở đây nếu nói rõ ràng thì chia nửa chu kỳ sin cho 100 như vậy là 0.1ms 1 khoảng. và theo như code này thì trong 0.1ms đó chân pwm chỉ on và off đúng 1 lần vừa khít khoảng 0.1ms đó(chu kỳ pwm =0.1ms). và sau mỗi 0.1ms thì phải cập nhật giá trị mới cho pwm khớp với bảng sin. và cái 25 này là để tính thời gian vừa khít 0.1ms để thay đổi giá trị pwm chứ ngoài ra k có ý gì khác nghĩa khác,nếu mình chọn chia tần timer khác đi thì con số 25 này nó khác đi. nhưng nó vẫn phải tính đến 0.1ms để cập nhật pwm. và đếm bao nhiêu k quan trọng quan trọng là đếm đủ đến 0,1ms.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment