Ừ, 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
-
bởi nhathung1101Muốn đặt gì thì cũng phải có thông tin cơ bản. Việc nhỏ thế này mà phải dấu giếm thì người lớn không thèm làm đâu.
Cho bạn 3 ngày, không là sẽ xóa.-
Channel: Đặt hàng
Hôm qua, 22:02 -
-
Trả lời cho Hỏi cách điều chế xungbởi nhathung1101Schmit Trigger là chuẩn với điều kiện rise > 0,8V.
Bí thì dùng vi với tích gì đó, miễn đừng nói phân kẻo chó ở đây lại sủa nhặng.-
Channel: Kỹ thuật điện tử tương tự
Hôm qua, 21:57 -
-
bởi trungautMình cần đặt hàng thiết kế chế tạo mạch nghịch lưu 3 pha để cài đặt các thuật toán điều khiển động cơ FOC, DTC, ... Xin liên hệ trungaut@gmail.com để bàn chi tiết. Xin cảm ơn diễn dàn đăng tin!
-
Channel: Đặt hàng
Hôm qua, 14:27 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi tuyennhanCách ly dây điện vào , bộ nguồn và đèn khỏi khung xe thì có rò thật cũng không lo bị giật .
-
Channel: Điện tử dành cho người mới bắt đầu
21-12-2024, 08:56 -
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
Comment