•Lý thuyết Matlab Simulink, xử lý hình ảnh – biểu đồ trên Matlab•Lý thuyết hệ thống điện cảm•Lý thuyết mô phỏng mô hình toán học và mô hình hóa•Lý thuyết về điều khiển tự động•Phương pháp chuyển đổi từ các phương trình vi phân của hệ thống thành các hàm truyền để mô phỏng trong phần mềm Matlab Simulink.•Biên soạn thuyết minh
Bộ Giáo Dục Đào Tạo ĐH Sư Phạm Kỹ Thuật Tp HCM Khoa Đào Tạo Chất Lượng Cao Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam Độc lập - Tự - Hạnh phúc NGHIÊN CỨU KHOA HỌC TÊN ĐỀ TÀI: NGHIÊN CỨU, MƠ HÌNH HĨA VÀ MƠ PHỎNG HỆ THỐNG NĂNG LƯỢNG ĐIỆN CẢM BẰNG MATLAB SIMULINK GIÁO VIÊN HƯỚNG DẪN: SINH VIÊN THỰC HIỆN: I Nội dung: • Lý thuyết Matlab Simulink, xử lý hình ảnh – biểu đồ Matlab • Lý thuyết hệ thống điện cảm • Lý thuyết mơ mơ hình tốn học mơ hình hóa • Lý thuyết điều khiển tự động • Phương pháp chuyển đổi từ phương trình vi phân hệ thống thành hàm truyền để mơ phần mềm Matlab Simulink • Biên soạn thuyết minh II Trình bày: 01 thuyết minh đề tài 01 poster Nghiên cứu khoa học III Thời gian thực hiện: Ngày bắt đầu: Ngày hoàn thành: Tp Hồ Chí Minh, ngày……, tháng……, năm 2020 TRƯỞNG BỘ MÔN GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Tp Hồ Chí Minh, ngày……, tháng……, năm 2020 GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Tp Hồ Chí Minh, ngày……, tháng……, năm 2020 GIÁO VIÊN PHẢN BIỆN LỜI CẢM ƠN Trải qua năm học tập rèn luyện Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh, bảo giảng dạy nhiệt tình q thầy cơ, đặc biệt q thầy khoa Cơ Khí Động Lực khoa Đào Tạo Chất Lượng Cao, dạy cho chúng em đạo đức, cách sống lẫn kiến thức lý thuyết chuyên môn kiến thức thực tế để chúng em áp dụng vào công việc sống sau tốt nghiệp Trong trình học tập trường , chúng em có hội tiếp thu kiến thức chun mơn lập trình mơ phỏng, tảng giúp chúng em hồn thành đề tài này.Trong q trình thực đồ án, nổ lực làm việc thân, chúng em nhận giúp đỡ nhiệt tình từ phía gia đình, thầy tập thể bạn bè Từ kết đạt được, chúng em xin chân thành cám ơn: - Quý thầy khoa Cơ Khí Động Lực khoa Đào Tạo Chất Lượng Cao truyền đạt kiến thức chun mơn bổ ích qua mơn học suốt thời gian qua Và đặc biệt chúng em xin gửi lời cảm ơn tới Thầy Phan Nguyễn Quí Tâm tận tình giúp đỡ, ln theo sát nhóm, trực tiếp bảo quan tâm hướng dẫn chúng em suốt trình làm đồ án tốt nghiệp, giúp chúng em hoàn thành báo cáo thời hạn - Ban Giám Hiệu nhà trường tạo điều kiện tốt từ sở vật chất đến chất lượng giảng dạy để chúng em có mơi trường học tập tốt - Thầy trưởng ngành quan tâm, theo sát giúp đỡ sinh viên ngành CNKT Ô Tô trực tiếp ủng hộ chúng em thực đề tài - Tập thể lớp ln đồn kết dành cho chúng em tình cảm yêu thương, động viên khích lệ chúng em thời điểm khó khăn năm Đại học Đề tài nghiên cứu đạt số kết định, nhiên kiến thức hạn hẹp, thời gian cịn hạn chế nên khơng thể tránh khỏi thiếu sót Rất mong nhận đóng góp quý thầy cô, anh chị trước bạn để báo cáo hoàn thiện Chúng em xin chân thành cám ơn Nhóm sinh viên thực đề tài: TĨM TẮT Nội dung luận văn thực nghiên cứu hệ thống luợng điện cảm, mơ hình hóa mơ luợng điện cảm bobine, kim phun, relay solenoid Sau đánh giá kết đạt dựa kết thực nghiệm xe Toyota Innova 2007 Luận văn tập trung nghiên cứu mơ hình hóa luợng điện cảm bobine hệ thống đánh lửa Nội dung luận văn theo trình tự: từ mơ hình hệ thống đánh lửa thực tế xe mơ hình hóa thành mơ hình đơn giản để thuận tiện cho việc tính tốn nghiên cứu, mơ hình tốn học thành phương trình vi phân định luật Kirchoff phép biến đổi Laplace, lập giao diện liên kết mô giao điện để người dùng sử dụng để mô cách dễ dàng Kết mô cho ta giao diện xuất đồ thị miêu tả hệ thống lượng điện cảm thông số đầu Phần mềm dùng để mô luận văn Matlab/Simulink phần mềm thiết kế giao diện Matlab/Gui (Graphical User Interface) ABSTRACT The main content of this thesis is research about self-induced energy , modeling and simulation of self-induced energy on bobine and injector Then, assess of the achieved results based on experiment results on Toyota Innova 2007 This thesis will focus on researching and modeling the self-induced energy on ignition system The content of the thesis will follow the sequence: from the actual igintion system model car modeled into a simple model to calculate and research, mathematical model into differential equations by Kirchhoff’s circuit laws and Laplace transforms, create the interface link between the simulation and the interface to help user who can simulate easily The simulation results show that a simulation interface can output graphs describing the self-induced energy system and outpt parameters The software for conducting simulation in this thesis is Matlab/Simulink and Matlab/Gui (Graphical User Interface) to design the interface MỤC LỤC DANH MỤC CÁC BẢNG BIỂU DANH MỤC HÌNH ẢNH Chương 1: NGHIÊN CỨU TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề Hiện nay, công nghiệp ô tô ngày phát triển, xe tơ địi hỏi phải đáp ứng nhiều yêu cầu người sử dụng kiểu dáng thiết kế, cơng suất, tính an tồn tiện nghi ngồi tính tiết kiệm nhiên liệu thân thiện với môi trường coi mối quan tâm hàng đầu Để giải vấn đề này, bên cạnh việc cải tiến hệ thống cũ xe ô tô, tận dụng nguồn lượng hao phí để tái sử dụng cho nhiều mục đích khác xu hướng mới, thành công bật xu hướng phanh tái sinh xe Hybrid, hệ thống i-Loop Mazda,… Trong trình tìm hiểu hệ thống điện tơ, nhóm làm đề tài nhận thấy hệ thống đánh lửa điện cảm, transistor công suất ngắt, cuộn sơ cấp bobine sinh sức điện động khoảng 100-500V Sức điện động tự cảm gây hư hỏng thiết bị đóng ngắt, ảnh hưởng đến q trình tăng trưởng dịng sơ cấp gây nhiễu đến thiết bị khác xe Gần có cơng trình nghiên cứu phương pháp thu hồi lượng điện cảm nhằm tái sử dụng nguồn lượng cho chu kỳ đánh lửa sử dụng cho mục đích khác xe Đánh giá kết bước đầu khả tiết kiệm lượng đánh lửa cải thiện chất lượng tia lửa điện chu kỳ Qua thời gian tìm hiểu nhóm định chọn hoàn thiện ý tưởng thu hồi lượng điện cảm để tái sử dụng Vì chúng tơi thực đề tài: “Nghiên cứu, mơ hình hóa mô hệ thống lượng điện cảm Matlab Simulink” 1.2 Mục tiêu nhiệm vụ nghiên cứu 1.2.1 Mục tiêu nghiên cứu Mục tiêu nghiên cứu: - Nghiên cứu trình hình thành tồn sức điện động tự cảm Đánh giá độ ổn định trình Đánh giá khả thu hồi điện cảm 1.2.2 Nhiệm vụ nghiên cứu Nhiệm vụ nghiên cứu đề tài là: - Tìm hiểu lý thuyết hệ thống điện tơ Tìm hiểu lý thuyết Matlab Simulink, xử lý hình ảnh – biểu đồ Matlab Tìm hiểu lý thuyết hệ thống điện cảm Tìm hiểu lý thuyết mơ hình hóa mơ số Tìm hiểu lý thuyết điều khiển tự động Tìm hiểu phương pháp chuyển đổi từ phương trình vi phân hệ thống thành hàm truyền để mô phần mềm Matlab Simulink 1.3 Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Hệ thống điện ô tô Phạm vi nghiên cứu: Nghiên cứu lượng điện cảm bobine, kim phun, relay, solenoid,… 1.4 Phương pháp nghiên cứu - Phương pháp phân tích tổng hợp lý thuyết - Phương pháp mơ hình hóa mơ - Phương pháp lập giao diện - Phương pháp phân tích tổng kết 1.5 Các nghiên cứu lượng điện cảm nước 1.5.1 Các nghiên cứu nước Bài báo “ Nghiên cứu, thi cơng hệ thống tích lũy lượng điện dạng cảm kháng hệ thống điện ô tơ” nhóm tác giả Phan Nguyễn Q Tâm, Đỗ Văn Dũng, Đỗ Quốc Ấm, Nguyễn Bá Hải đăng tạp chí Khoa học Giáo dục Kỹ thuật số 32 Nhóm tác giả thiết kế, thi cơng thiết bị thu hồi lượng tự cảm, thiết bị điều khiển lưu trữ lượng tái sinh vào siêu tụ điện Bài báo “Tính tốn sức điện động tự cảm hệ thống đánh lửa lai” nhóm tác giả Đỗ Quốc Ấm, Đỗ Văn Dũng, Phan Nguyễn Quí Tâm, Lê Khánh Tân đăng tạp chí Khoa học Giáo dục Kỹ thuật số 32 Từ thông số hệ thống đánh lửa tác giả mô tăng trưởng dòng điện sơ cấp sức điện động tự cảm tạo từ cuộn sơ cấp bô bin Bài báo “Ảnh hưởng thơng số R, L, C đến khả tích lũy lượng tự cảm hệ thống đánh lửa hybrid” nhóm tác giả Đỗ Văn Dũng, Đỗ Quốc Ấm, Nguyễn Tấn Ngọc Bài báo xem xét ảnh hưởng thông số điện trở, điện dung độ tự cảm đến lượng tích lũy hệ thống đánh lửa Hybrid Các kết mô thực nghiệm xác định ảnh hưởng thông số đến lượng tích lũy, đồng thời để hiệu chỉnh phương trình sức điện động tự cảm cường độ dòng sơ cấp 1.5.2 Các nghiên cứu nước Nghiên cứu “Electromagnetic Induction, AC Circuits, and Electrical Technologies ” sách College Physics nhóm tác giả OSCRice University để tính độ tự cảm cuộn cảm, tính lượng lưu trữ cuộn cảm, tính tốn sức điện động tạo cuộn cảm Nghiên cứu “Energy Stored in a Magnetic Field” từ trang web “Lumen Learning” để mô tả ảnh hưởng cuộn cảm dòng điện thay đổi biểu thị lượng lưu trữ từ trường dạng phương trình 10 plot(t_test1,Wdt_test1,'color','b') ylabel('Nang luong(J)','color','k','fontsize',11) xlabel('Thoi gian (s)','color','k','fontsize',11) grid on Wsum=sum(Wdt_test1(:,1)); Wsum=round(Wsum,4); capa = get(handles.capa,'String'); capa=str2num(capa); time=(capa*6.5/Wsum); time=round(time,1); Wsum=num2str(Wsum); time=num2str(time); set(handles.Wsum,'String',Wsum) set(handles.t_max,'String',time) set(handles.tendt,'string','Do thi: Nang luong co kha nang thu hoi theo chu trinh ECE R15'); else plot(0,0) set(handles.Wsum,'String',0) set(handles.t_max,'String',0) set(handles.tendt,'string','Do thi:') end function wltp_Callback(hObject, eventdata, handles) axes(handles.axes1) if get(handles.wltp,'value')==1 set(handles.ece,'value',0); sim('WLTPCLASS3'); set_param('WLTPCLASS3/Energy_Storage/Input/U','Value',get(handles.U,'stri ng')) set_param('WLTPCLASS3/Energy_Storage/Input/L','Value',get(handles.L1,'str ing')) set_param('WLTPCLASS3/Energy_Storage/Input/R','Value',get(handles.R,'stri ng')) plot(t_test2,Wdt_test2,'color','b') ylabel('Nang luong(J)','color','k','fontsize',11) xlabel('Thoi gian (s)','color','k','fontsize',11) grid on Wsum=sum(Wdt_test2(:,1)); Wsum=round(Wsum,4); capa =get(handles.capa,'String'); capa=str2num(capa); time=(capa*60/Wsum); time=round(time,1); Wsum=num2str(Wsum); time=num2str(time); set(handles.Wsum,'String',Wsum) set(handles.t_max,'String',time) set(handles.tendt,'string','Do thi: Nang luong co kha nang thu hoi theo chu trinh WLTP Class3'); else plot(0,0) set(handles.Wsum,'String',0) set(handles.t_max,'String',0) set(handles.tendt,'string','Do thi:') end function ne_Callback(hObject, eventdata, handles) ne = get(handles.ne,'Value'); set(handles.ne_txt,'String',ne) yd=0.0625; Z=4; T=120./(ne*Z); td=T.*yd; set(handles.tng,'String',td) function ne_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function popupmenu1_Callback(hObject, eventdata, handles) selectedIndex = get(handles.popupmenu1, 'value'); if selectedIndex == set(handles.dauvaokp,'visible','off'); set(handles.daurakp,'visible','off'); set(handles.dothikp,'visible','off'); set(handles.dauvao_sl,'visible','off'); set(handles.daura_sl,'visible','off'); set(handles.dothi_sl,'visible','off'); set(handles.dauvao_rl,'visible','off'); set(handles.daura_rl,'visible','off'); set(handles.dothi_rl,'visible','off'); set(handles.dauvaodl,'visible','on'); set(handles.dauradl,'visible','on'); set(handles.dothidl,'visible','on'); elseif selectedIndex == 2; set(handles.dauvaodl,'visible','off'); set(handles.dauradl,'visible','off'); set(handles.dothidl,'visible','off'); set(handles.dauvao_sl,'visible','off'); set(handles.daura_sl,'visible','off'); set(handles.dothi_sl,'visible','off'); set(handles.dauvao_rl,'visible','off'); set(handles.daura_rl,'visible','off'); set(handles.dothi_rl,'visible','off'); set(handles.dauvaokp,'visible','on'); set(handles.daurakp,'visible','on'); set(handles.dothikp,'visible','on'); elseif selectedIndex == 3; set(handles.dauvaokp,'visible','off'); set(handles.daurakp,'visible','off'); set(handles.dothikp,'visible','off'); set(handles.dauvaodl,'visible','off'); set(handles.dauradl,'visible','off'); set(handles.dothidl,'visible','off'); set(handles.dauvao_sl,'visible','off'); set(handles.daura_sl,'visible','off'); set(handles.dothi_sl,'visible','off'); set(handles.dauvao_rl,'visible','on'); set(handles.daura_rl,'visible','on'); set(handles.dothi_rl,'visible','on'); elseif selectedIndex == 4; set(handles.dauvaokp,'visible','off'); set(handles.daurakp,'visible','off'); set(handles.dothikp,'visible','off'); set(handles.dauvaodl,'visible','off'); set(handles.dauradl,'visible','off'); set(handles.dothidl,'visible','off'); set(handles.dauvao_rl,'visible','off'); set(handles.daura_rl,'visible','off'); set(handles.dothi_rl,'visible','off'); set(handles.dauvao_sl,'visible','on'); set(handles.daura_sl,'visible','on'); set(handles.dothi_sl,'visible','on'); end function popupmenu1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function Ibox_Callback(hObject, eventdata, handles) if get(handles.Ibox,'value')==1 set(handles.sddbox,'value',0); set(handles.Wbox,'value',0); set(handles.Wnebox,'value',0); set(handles.Wtbox,'value',0); end function sddbox_Callback(hObject, eventdata, handles) if get(handles.sddbox,'value')==1 set(handles.Ibox,'value',0); set(handles.Wbox,'value',0); set(handles.Wnebox,'value',0); set(handles.Wtbox,'value',0); end function Wbox_Callback(hObject, eventdata, handles) if get(handles.Wbox,'value')==1 set(handles.sddbox,'value',0); set(handles.Ibox,'value',0); set(handles.Wnebox,'value',0); set(handles.Wtbox,'value',0); end function Wnebox_Callback(hObject, eventdata, handles) if get(handles.Wnebox,'value')==1 set(handles.sddbox,'value',0); set(handles.Wbox,'value',0); set(handles.Ibox,'value',0); set(handles.Wtbox,'value',0); end function Wtbox_Callback(hObject, eventdata, handles) if get(handles.Wtbox,'value')==1 set(handles.sddbox,'value',0); set(handles.Wbox,'value',0); set(handles.Ibox,'value',0); set(handles.Wnebox,'value',0); end function Ibox_kp_Callback(hObject, eventdata, handles) if get(handles.Ibox_kp,'value')==1 set(handles.sddbox_kp,'value',0); set(handles.Wbox_kp,'value',0); set(handles.Wnebox_kp,'value',0); set(handles.Wtbox_kp,'value',0); end function Wnebox_kp_Callback(hObject, eventdata, handles) if get(handles.Wnebox_kp,'value')==1 set(handles.sddbox_kp,'value',0); set(handles.Wbox_kp,'value',0); set(handles.Ibox_kp,'value',0); set(handles.Wtbox_kp,'value',0); end function Wbox_kp_Callback(hObject, eventdata, handles) if get(handles.Wbox_kp,'value')==1 set(handles.sddbox_kp,'value',0); set(handles.Wnebox_kp,'value',0); set(handles.Ibox_kp,'value',0); set(handles.Wtbox_kp,'value',0); end function sddbox_kp_Callback(hObject, eventdata, handles) if get(handles.sddbox_kp,'value')==1 set(handles.Wnebox_kp,'value',0); set(handles.Wbox_kp,'value',0); set(handles.Ibox_kp,'value',0); set(handles.Wtbox_kp,'value',0); end function Wtbox_kp_Callback(hObject, eventdata, handles) if get(handles.Wtbox_kp,'value')==1 set(handles.Wnebox_kp,'value',0); set(handles.Wbox_kp,'value',0); set(handles.Ibox_kp,'value',0); set(handles.sddbox_kp,'value',0); end function Wbox_rl_Callback(hObject, eventdata, handles) if get(handles.Wbox_rl,'value')==1 set(handles.sddbox_rl,'value',0); set(handles.ibox_rl,'value',0); set(handles.Wtbox_rl,'value',0); end function sddbox_rl_Callback(hObject, eventdata, handles) if get(handles.sddbox_rl,'value')==1 set(handles.Wbox_rl,'value',0); set(handles.ibox_rl,'value',0); set(handles.Wtbox_rl,'value',0); end function ibox_rl_Callback(hObject, eventdata, handles) if get(handles.ibox_rl,'value')==1 set(handles.sddbox_rl,'value',0); set(handles.Wbox_rl,'value',0); set(handles.Wtbox_rl,'value',0); end function Wtbox_rl_Callback(hObject, eventdata, handles) if get(handles.Wtbox_rl,'value')==1 set(handles.Wbox_rl,'value',0); set(handles.ibox_rl,'value',0); set(handles.sddbox_rl,'value',0); end function Wbox_sl_Callback(hObject, eventdata, handles) if get(handles.Wbox_sl,'value')==1 set(handles.sddbox_sl,'value',0); set(handles.ibox_sl,'value',0); set(handles.Wtbox_sl,'value',0); end function sddbox_sl_Callback(hObject, eventdata, handles) if get(handles.sddbox_sl,'value')==1 set(handles.Wbox_sl,'value',0); set(handles.ibox_sl,'value',0); set(handles.Wtbox_sl,'value',0); end function ibox_sl_Callback(hObject, eventdata, handles) if get(handles.ibox_sl,'value')==1 set(handles.sddbox_sl,'value',0); set(handles.Wbox_sl,'value',0); set(handles.Wtbox_sl,'value',0); end function Wtbox_sl_Callback(hObject, eventdata, handles) if get(handles.Wtbox_sl,'value')==1 set(handles.Wbox_sl,'value',0); set(handles.ibox_sl,'value',0); set(handles.sddbox_sl,'value',0); end function vedothi_Callback(hObject, eventdata, handles) selectedIndex = get(handles.popupmenu1, 'value'); if selectedIndex == sim('mophongok'); set_param('mophongok/U','Value',get(handles.U,'string')) set_param('mophongok/L1','Value',get(handles.L1,'string')) set_param('mophongok/R','Value',get(handles.R,'string')) set_param('mophongok/r','Value',get(handles.r,'string')) set_param('mophongok/C','Value',get(handles.C,'string')) set_param('mophongok/tng','Value',get(handles.tng,'string')) set_param('mophongok/Subsystem1/ka','Value',get(handles.ka,'string')) set_param('mophongok/Subsystem1/kb','Value',get(handles.kb,'string')) set_param('mophongok/Subsystem1/kc','Value',get(handles.kc,'string')) axes(handles.axes1) if get(handles.Ibox,'value')==1 sim('mophongok'); plot(t1,I,t3,n,'b','linewidth',1.5) ylabel('Cuong dong dien(A)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Cuong dong dien sinh tren bobine'); elseif get(handles.sddbox,'value')==1 sim('mophongok'); tng= get(handles.tng,'string'); tng=str2num(tng); t2=0.004+tng; tsdd=[0 0.004 0.004 t2 t2]; Ux1=[12.54 12.54 0 20]; plot(tsdd,Ux1,t,v,'b','linewidth',1.5) ylabel('Dien ap (V)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Suat dien dong sinh tren bobine'); elseif get(handles.Wbox,'value')==1 sim('mophongok'); plot(t1,wdt,t3,wdt1,'b','linewidth',1.5) ylabel('Nang luong(J)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong du tru tren bobine'); elseif get(handles.Wnebox,'value')==1 sim('mophongok'); R = get(handles.R,'String'); R = str2num(R); L1 = get(handles.L1,'String'); L1 = str2num(L1); U = get(handles.U,'String'); U = str2num(U); ne = linspace(750,6000); yd=0.0625; Z=4; T=120./(ne*Z); theta=L1*(10^-3)/R; td=T.*yd; Wdl=(1/2)*L1*(10^-3)*((U/R)*(1-exp(-td./theta))*1.2).^2 + 0.03; plot(ne,Wdl,'b','linewidth',1.5) ylabel('Nang luong dien cam (J)','color','b','fontsize',11) xlabel('So vong quay dong co (vong/phut)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong du tru tren bobine theo toc dong co'); elseif get(handles.Wtbox,'value')==1 R = get(handles.R,'String'); R = str2num(R); L1 = get(handles.L1,'String'); L1 = str2num(L1); U = get(handles.U,'String'); U = str2num(U); ne = linspace(750,6000); Z=4; T=120./(ne*Z); theta=L1*(10^-3)/R; td=linspace(0.0025,0.0003125); y=linspace(0.03,0.015); k=linspace(0.2,0.05); Wdl=(1/2)*L1*(10^-3)*((U/R)*(1-exp(-td./theta))*1.2).^2 + 0.03; Wdl2 =(60./T).*4.*(Wdl-y-k.*Wdl); plot(ne,Wdl2,'b','linewidth',1.5) ylabel('Nang luong dien cam (J)','color','b','fontsize',11) xlabel('So vong quay dong co (vong/phut)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong co kha nang thu hoi cua bobine'); Wdl2_max=max(Wdl2); set(handles.Wth,'string',Wdl2_max); end elseif selectedIndex == sim('simulink_kimphun2'); set_param('simulink_kimphun2/U','Value',get(handles.U_kp,'string')) set_param('simulink_kimphun2/L','Value',get(handles.L_kp,'string')) set_param('simulink_kimphun2/R','Value',get(handles.R_kp,'string')) set_param('simulink_kimphun2/R1','Value',get(handles.R1_kp,'string')) set_param('simulink_kimphun2/C','Value',get(handles.C_kp,'string')) set_param('simulink_kimphun2/tng','Value',get(handles.tng_kp,'string')) set_param('simulink_kimphun2/transistor_off/ka','Value',get(handles.ka_kp ,'string')) set_param('simulink_kimphun2/transistor_off/kb','Value',get(handles.kb_kp ,'string')) set_param('simulink_kimphun2/transistor_off/kc','Value',get(handles.kc_kp ,'string')) if get(handles.Ibox_kp,'value')==1 sim('simulink_kimphun2'); plot(t1_kp,I_kp,t2_kp,i_kp,'b','linewidth',1.5) ylabel('Cuong dong dien(A)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Cuong dong dien sinh tren kim phun'); elseif get(handles.sddbox_kp,'value')==1 sim('simulink_kimphun2'); tng= get(handles.tng_kp,'string'); tng=str2num(tng); t2=0.004+tng; tsdd_kp=[0 0.004 0.004 t2 t2]; Ux1_kp=[12.54 12.54 0 35]; plot(tsdd_kp,Ux1_kp,t4_kp,E2,'b','linewidth',1.5) ylabel('Dien ap (V)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Suat dien dong sinh tren kim phun'); elseif get(handles.Wbox_kp,'value')==1 plot(t1_kp,W_kp,t2_kp,W1_kp,'b','linewidth',1.5) ylabel('Nang luong (J)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong du tru tren kim phun'); elseif get(handles.Wnebox_kp,'value')==1 R = get(handles.R_kp,'String'); R = str2num(R); L1 = get(handles.L_kp,'String'); L1 = str2num(L1); U = get(handles.U_kp,'String'); U = str2num(U); ne = linspace(750,6000); yd=0.0625; Z=4; T=120./(ne*Z); theta=L1*(10^-3)/R; td=T.*yd; k=linspace(1.14*10^-3,0.03738*10^-4); Wdl=(1/2.1)*L1*(10^-3)*((U/R)*(1-exp(-td./theta))).^2-k ; plot(ne,Wdl,'b','linewidth',1.5) ylabel('Nang luong dien cam (J)','color','b','fontsize',11) xlabel('So vong quay dong co (vong/phut)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong du tru tren kim phun theo toc dong co'); elseif get(handles.Wtbox_kp,'value')==1 R = get(handles.R_kp,'String'); R = str2num(R); L1 = get(handles.L_kp,'String'); L1 = str2num(L1); U = get(handles.U_kp,'String'); U = str2num(U); ne = linspace(750,6000); Z=4; T=120./(ne*Z); theta=L1*(10^-3)/R; td=linspace(0.0025,0.0003125); k=linspace(1.14*10^-3,0.03738*10^-4); Wdl=(1/2)*L1*(10^-3)*((U/R)*(1-exp(-td./theta))).^2-k; Wdl2 =(60./T).*Wdl; plot(ne,Wdl2,'r','linewidth',1.5) ylabel('Nang luong(J)','color','k','fontsize',11) xlabel('So vong quay dong co(vong/phut)','color','k','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong co kha nang thu hoi cua kim phun'); Wdl2_max=max(Wdl2); set(handles.Wth4_kp,'string',Wdl2_max); end elseif selectedIndex == 3; sim('relay'); set_param('relay/U','Value',get(handles.U_rl,'string')) set_param('relay/L1','Value',get(handles.L_rl,'string')) set_param('relay/R','Value',get(handles.R_rl,'string')) set_param('relay/r','Value',get(handles.r_rl,'string')) set_param('relay/C','Value',get(handles.C_rl,'string')) set_param('relay/tng','Value',get(handles.tng_rl,'string')) sim('relay'); axes(handles.axes1) if get(handles.ibox_rl,'value')==1 sim('solenoid'); plot(t1,I_rl,t3,n_rl,'b','linewidth',1.5) ylabel('Cuong dong dien(A)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Cuong dong dien sinh tren relay'); elseif get(handles.sddbox_rl,'value')==1 sim('solenoid'); tng= get(handles.tng_rl,'string'); tng=str2num(tng); t2=0.004+tng; tsdd=[0 0.004 0.004 t2 t2]; Ux1=[12.54 12.54 0 9]; plot(tsdd,Ux1,t,v_rl,'b','linewidth',1.5) ylabel('Dien ap (V)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Suat dien dong sinh tren relay'); elseif get(handles.Wbox_rl,'value')==1 sim('solenoid'); plot(t1,wdt_rl,t3,wdt1_rl,'b','linewidth',1.5) ylabel('Nang luong(J)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong du tru tren relay'); elseif get(handles.Wtbox_rl,'value')==1 sim('solenoid'); n_rl=linspace(0,100); Imax=max(I_rl); Imax=round(Imax,2); L=get(handles.L_rl,'string'); L = str2num(L); Wdt_rl=(n_rl.*L*10^(-3)*Imax^2)/2; W_rl=0.45.*Wdt_rl; Wn_rl=Wdt_rl-W_rl; plot(n_rl,Wn_rl,'b','linewidth',1.5) ylabel('Nang luong(J)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong co kha nang thu hoi theo N tren relay'); Wrl_max=max(Wn_rl); set(handles.Wthrl,'string',Wrl_max); end elseif selectedIndex == 4; sim('solenoid'); set_param('solenoid/U','Value',get(handles.U_sl,'string')) set_param('solenoid/L1','Value',get(handles.L_sl,'string')) set_param('solenoid/R','Value',get(handles.R_sl,'string')) set_param('solenoid/r','Value',get(handles.r_sl,'string')) set_param('solenoid/C','Value',get(handles.C_sl,'string')) set_param('solenoid/tng','Value',get(handles.tng_sl,'string')) axes(handles.axes1) if get(handles.ibox_sl,'value')==1 sim('solenoid'); plot(t1,I_sl,t3,n_sl,'b','linewidth',1.5) ylabel('Cuong dong dien(A)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Cuong dong dien sinh tren solenoid'); elseif get(handles.sddbox_sl,'value')==1 sim('solenoid'); tng= get(handles.tng_sl,'string'); tng=str2num(tng); t2=0.004+tng; tsdd=[0 0.004 0.004 t2 t2]; Ux1=[12.54 12.54 0 18]; plot(tsdd,Ux1,t,v_sl,'b','linewidth',1.5) ylabel('Dien ap (V)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Suat dien dong sinh tren solenoid'); elseif get(handles.Wbox_sl,'value')==1 sim('solenoid'); plot(t1,wdt_sl,t3,wdt1_sl,'b','linewidth',1.5) ylabel('Nang luong(J)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong du tru tren solenoid'); elseif get(handles.Wtbox_rl,'value')==1 sim('solenoid'); n_sl=linspace(0,100); Imax=max(I_sl); Imax=round(Imax,2); L=get(handles.L_sl,'string'); L = str2num(L); Wdt_sl=(n_sl.*L*10^(-3)*Imax^2)/2; W_sl=0.45.*Wdt_sl; Wn_sl=Wdt_sl-W_sl; plot(n_sl,Wn_sl,'b','linewidth',1.5) ylabel('Nang luong(J)','color','b','fontsize',11) xlabel('Thoi gian (s)','color','b','fontsize',11) grid on set(handles.tendt,'string','Do thi: Nang luong co kha nang thu hoi theo N tren solenoid'); Wsl_max=max(Wn_sl); set(handles.Wthsl,'string',Wsl_max); end end function pushbutton2_Callback(hObject, eventdata, handles) selectedIndex = get(handles.popupmenu1, 'value'); if selectedIndex == sim('mophongok'); set_param('mophongok/U','Value',get(handles.U,'string')) set_param('mophongok/L1','Value',get(handles.L1,'string')) set_param('mophongok/R','Value',get(handles.R,'string')) set_param('mophongok/r','Value',get(handles.r,'string')) set_param('mophongok/C','Value',get(handles.C,'string')) tng=0.0025; tng=num2str(tng); set_param('mophongok/tng','Value',tng) h=0.1; gha=2; ghb=20; ghc=10; for a1=1.7:h:gha; a2=num2str(a1); set_param('mophongok/Subsystem1/ka','Value',a2); for b1=14.8:h:ghb; b2=num2str(b1); set_param('mophongok/Subsystem1/kb','Value',b2); for c1=9.5:h:ghc; c2=num2str(c1); set_param('mophongok/Subsystem1/kc','Value',c2); sim('mophongok'); vmax=max(v); if (vmax>390&&vmax390&&vmax390&&vmax117&&vmax117&&vmax117&&vmax