Технологическое обеспечение равномерности покрытий для деталей гироскопических приборов на установках магнетронного напыления (1026305), страница 25
Текст из файла (страница 25)
2465554РФ / Курбатов А.М., Курбатов Р.А.; заявл. 29.04.2011; опубл. 27.10.2012. Бюлл.№30.83. БогдановичВ.И.,электронагревателиБарвиноксВ.А.,КирилиннаноструктурнымА.Н.Тонкопленочныерезистивнымслоемдлятерморегулирования бортовой аппаратуры космических аппаратов // Проблемымашиностроения и автоматизации, №3. М.: Машиностроение, 2010. С. 111-117.84. Применение нанотехнологических методов для изготовления пластинымаятникового акселерометра / Шишлов А.В.
[и др.] // Инженерный журнал: наукаи инновации. 2013. Вып. 6. URL http://engjournal.ru/catalog/nano/hidden/805.html(дата обращения 01.09.2015).85. ВолковА.В.,КазанскийН.Л.,КолпаковВ.А.Расчетскоростиплазмохимического травления кварца // Сборник Компьютерная оптика. 2001.Вып.
21. С. 121-125.86. ВарданянЭ.Л.,БудиловВ.В.,КиреевР.М.Технологиянанесениякомпозиционных покрытий на основе интерметаллидов системы TiAl из плазмывакуумного дугового разряда // Пленки и покрытия-2015: Труды 12-й междунар.конф. (19 мая - 22 мая 2015) / Под ред. д-ра техн. наук В.Г. Кузнецова.СПб.: Изд-во Политехн. ун-та, 2015. С.243-245.87. Odinokov S.B., Sagatelyan H.R. The design and manufacturing of diffractionoptical elements to form a dot-composed etalon image within the optical systems// Optics and Photon.
J. 2013. Vol. 3, №1. P. 102-111.88. Технология тонких пленок: Учеб. пособие / С.В. Антоненко. М.: МИФИ, 2008.104 с.89. Волков А.В., Казанский Н.Л., Рыбаков О.Е. Разработка технологии получениядифракционного оптического элемента с субмикронными размерами рельефа вкремниевой пластине // Сборник Компьютерная оптика. 1998. Вып.
18. С. 133-138.19390. КалининВ.Н.,ПоповаМ.Г.,БеликовА.И.Технологиянанесениянанокомпозитных тонкопленочных покрытий методом магнетронного распыленияпрессованныхмишеней//Молодежныйнаучно-техническийвестник:электронный журнал. URL http://sntbul.bmstu.ru/doc/752798.html (дата обращения29.09.2015).91. ПВГМ.048.000.00РЭ. Вакуумная установка нанесения нанокомпозитныхпокрытий UNICOAT-600+: руководство по эксплуатации. НПФ Элан-Практик.Дзержинск, 2008.
37 с.92. Сочугов Н.С. Ионно-плазменное оборудование и процессы нанесениятонкопленочных функциональных покрытий на подложки большой площади:автореферат дис. … док. техн. наук. Томск. 2012. 43 с.93. Установка карусельного типа для магнетронного напыления многослойныхпокрытий и способ магнетронного напыления равнотолщинного нанопокрытия:заявка на изобретение 2015120001 РФ / С.Б.
Одиноков [и др.]; заявл. 27.05.15.94. Новоселов К.Л., Сагателян Г.Р. Формирование макрорельефа пластиныплазмохимическимтравлениемприизготовлениипластиныакселерометра // Научное обозрение. 2013. № 2. С. 168-173.маятникового194ПриложениеПриложение 1. Листинг программы расчета равномерности напыления придуальном напыленииfunction [H_A_L,H_A_R,H_A] =FThickness_dual(R,r,D,n,theta_R,chi_Omega_R1,chi_Omega_R2,theta_L,chi_Omega_L1,chi_Omega_L2,KL,hmL,KR,hmR,x_A)x_chi_Omega_R1=chi_Omega_R1*cos(theta_R);y_chi_Omega_R1=chi_Omega_R1*sin(theta_R);x_chi_Omega_R2=chi_Omega_R2*cos(theta_R);y_chi_Omega_R2=chi_Omega_R2*sin(theta_R);x_chi_Omega_L1=chi_Omega_L1*cos(theta_L);y_chi_Omega_L1=chi_Omega_L1*sin(theta_L);x_chi_Omega_L2=chi_Omega_L2*cos(theta_L);y_chi_Omega_L2=chi_Omega_L2*sin(theta_L);delta_t=1;delta_beta=0.01;beta_max=2*3.14;H_A_R(1:length(x_A))=0;H_A_L(1:length(x_A))=0;H_A(1:length(x_A))=0;for i=1:length(x_A)for beta=-beta_max:delta_beta:beta_maxalpha=beta/n;xz=R*cos(alpha-pi/2);yz=R*sin(alpha-pi/2)+D;xm=r*cos(-beta-pi/2);ym=r*sin(-beta-pi/2);x0=xz+xm;y0=yz+ym;x=xz+xm+x_A(i)*cos(-beta);y=yz+ym+x_A(i)*sin(-beta);крщ_К1=ыйке((ч_срш_Щьупф_К1-ч):2+(н_срш_Щьупф_К1-н):2)жphi_R1=acos((-sin(theta_R)*(x-x_chi_Omega_R1)+cos(theta_R)*(yy_chi_Omega_R1))/sqrt((x-x_chi_Omega_R1)^2+(y-y_chi_Omega_R1)^2));eps_R1=acos(((x0-xz)*(x_chi_Omega_R1-x)+(y0-yz)*(y_chi_Omega_R1y))/(sqrt((x0-xz)^2+(y0-yz)^2)*sqrt((x_chi_Omega_R1-x)^2+(y_chi_Omega_R1y)^2)));Delta_xi_R1=KR*hmR*cos(phi_R1)*cos(eps_R1)/rho_R1^2;if (abs(phi_R1)<=pi/2)&&(abs(eps_R1)<=pi/2)H_A_R(i)=H_A_R(i)+Delta_xi_R1*delta_t;endкрщ_К2=ыйке((ч_срш_Щьупф_К2-ч):2+(н_срш_Щьупф_К2-н):2)жphi_R2=acos((-sin(theta_R)*(x-x_chi_Omega_R2)+cos(theta_R)*(yy_chi_Omega_R2))/sqrt((x-x_chi_Omega_R2)^2+(y-y_chi_Omega_R2)^2));eps_R2=acos(((x0-xz)*(x_chi_Omega_R2-x)+(y0-yz)*(y_chi_Omega_R2y))/(sqrt((x0-xz)^2+(y0-yz)^2)*sqrt((x_chi_Omega_R2-x)^2+(y_chi_Omega_R2y)^2)));Delta_xi_R2=KR*hmR*cos(phi_R2)*cos(eps_R2)/(rho_R2)^2;if (abs(phi_R2)<=pi/2)&&(abs(eps_R2)<=pi/2)H_A_R(i)=H_A_R(i)+Delta_xi_R2*delta_t;endrho_L1=sqrt((x_chi_Omega_L1-x)^2+(y_chi_Omega_L1-y)^2);195phi_L1=acos((sin(theta_L)*(x-x_chi_Omega_L1)+cos(theta_L)*(yy_chi_Omega_L1))/sqrt((x-x_chi_Omega_L1)^2+(y-y_chi_Omega_L1)^2));eps_L1=acos(((x0-xz)*(x_chi_Omega_L1-x)+(y0-yz)*(y_chi_Omega_L1y))/(sqrt((x0-xz)^2+(y0-yz)^2)*sqrt((x_chi_Omega_L1-x)^2+(y_chi_Omega_L1y)^2)));Delta_xi_L1=KL*hmL*cos(phi_L1)*cos(eps_L1)/rho_L1^2;if (abs(phi_L1)<=pi/2)&&(abs(eps_L1)<=pi/2)H_A_L(i)=H_A_L(i)+Delta_xi_L1*delta_t;endrho_L2=sqrt((x_chi_Omega_L2-x)^2+(y_chi_Omega_L2-y)^2);phi_L2=acos((sin(theta_L)*(x-x_chi_Omega_L2)+cos(theta_L)*(yy_chi_Omega_L2))/sqrt((x-x_chi_Omega_L2)^2+(y-y_chi_Omega_L2)^2));eps_L2=acos(((x0-xz)*(x_chi_Omega_L2-x)+(y0-yz)*(y_chi_Omega_L2y))/(sqrt((x0-xz)^2+(y0-yz)^2)*sqrt((x_chi_Omega_L2-x)^2+(y_chi_Omega_L2y)^2)));Delta_xi_L2=KL*hmL*cos(phi_L2)*cos(eps_L2)/(rho_L2)^2;if (abs(phi_L2)<=pi/2)&&(abs(eps_L2)<=pi/2)H_A_L(i)=H_A_L(i)+Delta_xi_L2*delta_t;endendH_A(i)=H_A_L(i)+H_A_R(i);endendfunction varargout = FF_Dual(varargin)gui_Singleton = 1;gui_State = struct('gui_Name',mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @FF_Dual_OpeningFcn, ...'gui_OutputFcn', @FF_Dual_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback',[]);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});endfunction FF_Dual_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = FF_Dual_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;function D_Callback(hObject, eventdata, handles)doublefunction D_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction theta_L_Callback(hObject, eventdata, handles)doublefunction theta_L_CreateFcn(hObject, eventdata, handles)% hObjecthandle to theta_L (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB196% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction r_Callback(hObject, eventdata, handles)% hObjecthandle to r (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of r as text%str2double(get(hObject,'String')) returns contents of r as adouble% --- Executes during object creation, after setting all properties.function r_CreateFcn(hObject, eventdata, handles)% hObjecthandle to r (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction R_Callback(hObject, eventdata, handles)% hObjecthandle to R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of R as text%str2double(get(hObject,'String')) returns contents of R as adouble% --- Executes during object creation, after setting all properties.function R_CreateFcn(hObject, eventdata, handles)% hObjecthandle to R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction n_Callback(hObject, eventdata, handles)% hObjecthandle to n (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of n as text%str2double(get(hObject,'String')) returns contents of n as adouble% --- Executes during object creation, after setting all properties.function n_CreateFcn(hObject, eventdata, handles)% hObjecthandle to n (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))197set(hObject,'BackgroundColor','white');endfunction x_A_Callback(hObject, eventdata, handles)% hObjecthandle to x_A (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of x_A as text%str2double(get(hObject,'String')) returns contents of x_A as adouble% --- Executes during object creation, after setting all properties.function x_A_CreateFcn(hObject, eventdata, handles)% hObjecthandle to x_A (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction chi_Omega_L2_Callback(hObject, eventdata, handles)% hObjecthandle to chi_Omega_L2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of chi_Omega_L2 as text%str2double(get(hObject,'String')) returns contents of chi_Omega_L2as a double% --- Executes during object creation, after setting all properties.function chi_Omega_L2_CreateFcn(hObject, eventdata, handles)% hObjecthandle to chi_Omega_L2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction chi_Omega_R1_Callback(hObject, eventdata, handles)% hObjecthandle to chi_Omega_R1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of chi_Omega_R1 as text%str2double(get(hObject,'String')) returns contents of chi_Omega_R1as a double% --- Executes during object creation, after setting all properties.function chi_Omega_R1_CreateFcn(hObject, eventdata, handles)% hObjecthandle to chi_Omega_R1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction chi_Omega_R2_Callback(hObject, eventdata, handles)% hObjecthandle to chi_Omega_R2 (see GCBO)198% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of chi_Omega_R2 as text%str2double(get(hObject,'String')) returns contents of chi_Omega_R2as a double% --- Executes during object creation, after setting all properties.function chi_Omega_R2_CreateFcn(hObject, eventdata, handles)% hObjecthandle to chi_Omega_R2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction theta_R_Callback(hObject, eventdata, handles)% hObjecthandle to theta_R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of theta_R as text%str2double(get(hObject,'String')) returns contents of theta_R as adouble% --- Executes during object creation, after setting all properties.function theta_R_CreateFcn(hObject, eventdata, handles)% hObjecthandle to theta_R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction chi_Omega_L1_Callback(hObject, eventdata, handles)% hObjecthandle to chi_Omega_L1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of chi_Omega_L1 as text%str2double(get(hObject,'String')) returns contents of chi_Omega_L1as a double% --- Executes during object creation, after setting all properties.function chi_Omega_L1_CreateFcn(hObject, eventdata, handles)% hObjecthandle to chi_Omega_L1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction k_L_Callback(hObject, eventdata, handles)% hObjecthandle to k_L (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of k_L as text199%str2double(get(hObject,'String')) returns contents of k_L as adouble% --- Executes during object creation, after setting all properties.function k_L_CreateFcn(hObject, eventdata, handles)% hObjecthandle to k_L (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction h_m_L_Callback(hObject, eventdata, handles)% hObjecthandle to h_m_L (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of h_m_L as text%str2double(get(hObject,'String')) returns contents of h_m_L as adouble% --- Executes during object creation, after setting all properties.function h_m_L_CreateFcn(hObject, eventdata, handles)% hObjecthandle to h_m_L (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction k_R_Callback(hObject, eventdata, handles)% hObjecthandle to k_R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of k_R as text%str2double(get(hObject,'String')) returns contents of k_R as adouble% --- Executes during object creation, after setting all properties.function k_R_CreateFcn(hObject, eventdata, handles)% hObjecthandle to k_R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction h_m_R_Callback(hObject, eventdata, handles)% hObjecthandle to h_m_R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of h_m_R as text%str2double(get(hObject,'String')) returns contents of h_m_R as adouble% --- Executes during object creation, after setting all properties.function h_m_R_CreateFcn(hObject, eventdata, handles)200% hObjecthandle to h_m_R (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesempty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.%See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in Button_Thick.function Button_Thick_Callback(hObject, eventdata, handles)% hObjecthandle to Button_Thick (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)D=str2double(get(handles.D,'String'));r=str2double(get(handles.r,'String'));R=str2double(get(handles.R,'String'));n=str2double(get(handles.n,'String'));theta_L=str2double(get(handles.theta_L,'String'))*pi/180;theta_R=str2double(get(handles.theta_R,'String'))*pi/180;chi_Omega_R1=str2double(get(handles.chi_Omega_R1,'String'));chi_Omega_R2=str2double(get(handles.chi_Omega_R2,'String'));chi_Omega_L1=str2double(get(handles.chi_Omega_L1,'String'));chi_Omega_L2=str2double(get(handles.chi_Omega_L2,'String'));k_L=str2double(get(handles.k_L,'String'));h_m_L=str2double(get(handles.h_m_L,'String'));k_R=str2double(get(handles.k_R,'String'));h_m_R=str2double(get(handles.h_m_R,'String'));if get(handles.rb_unidirect,'Value')n=-n;endx_A=-20:0.1:20;[H_A_L,H_A_R,H_A] =FThickness_dual(R,r,D,n,theta_R,chi_Omega_R1,chi_Omega_R2,theta_L,chi_Omega_L1,chi_Omega_L2,k_L,h_m_L,k_R,h_m_R,x_A);figuremaximize(gcf)plot(x_A,H_A_R,'r',x_A,H_A_L,'b',x_A,H_A,'g')set(gca,'YLim',[0 1.1*max(H_A)]);grid onH_min=min(H_A);H_max=max(H_A);H_mean=sum(H_A)/length(H_A);sigma_H=(H_max-H_min)/H_mean;H_R_min=min(H_A_R);H_R_max=max(H_A_R);H_R_mean=sum(H_A_R)/length(H_A_R);sigma_H_R=(H_R_max-H_R_min)/H_R_mean;H_L_min=min(H_A_L);H_L_max=max(H_A_L);H_L_mean=sum(H_A_L)/length(H_A_L);sigma_H_L=(H_L_max-H_L_min)/H_L_mean;xlabel('x_{A}, мм')ylabel('H_{A}, мкм')title({'Распределение толщины покрытия:';['H_{мин}=',num2str(H_min),' мкм, H_{макс}=',num2str(H_max),' мкм,H_{сред}=',num2str(H_mean),' мкм, \sigma_H=',num2str(sigma_H)];201['H_{лев мин}=',num2str(H_L_min),' мкм, H_{левмакс}=',num2str(H_L_max),' мкм, H_{лев сред}=',num2str(H_L_mean),'мкм,\sigma_{Hлев}=',num2str(sigma_H_L)];['H_{прав мин}=',num2str(H_R_min),' мкм, H_{правмакс}=',num2str(H_R_max),' мкм, H_{прав сред}=',num2str(H_R_mean),'мкм,\sigma_{Hправ}=',num2str(sigma_H_R)]})legend('Слой от правого магнетрона','Слой от левого магнетрона','Суммарныйслой')% --- Executes on button press in Button_Anim.function Button_Anim_Callback(hObject, eventdata, handles)% hObjecthandle to Button_Anim (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)D=str2double(get(handles.D,'String'));r=str2double(get(handles.r,'String'));R=str2double(get(handles.R,'String'));n=str2double(get(handles.n,'String'));theta_L=str2double(get(handles.theta_L,'String'))*pi/180;theta_R=str2double(get(handles.theta_R,'String'))*pi/180;chi_Omega_R1=str2double(get(handles.chi_Omega_R1,'String'));chi_Omega_R2=str2double(get(handles.chi_Omega_R2,'String'));chi_Omega_L1=str2double(get(handles.chi_Omega_L1,'String'));chi_Omega_L2=str2double(get(handles.chi_Omega_L2,'String'));x_A=str2double(get(handles.x_A,'String'));if get(handles.rb_unidirect,'Value')n=-n;endx_chi_Omega_R1=chi_Omega_R1*cos(theta_R);y_chi_Omega_R1=chi_Omega_R1*sin(theta_R);x_chi_Omega_R2=chi_Omega_R2*cos(theta_R);y_chi_Omega_R2=chi_Omega_R2*sin(theta_R);x_chi_Omega_L1=chi_Omega_L1*cos(theta_L);y_chi_Omega_L1=chi_Omega_L1*sin(theta_L);x_chi_Omega_L2=chi_Omega_L2*cos(theta_L);y_chi_Omega_L2=chi_Omega_L2*sin(theta_L);delta_beta=0.05;beta_max=2*pi;beta=-beta_max:delta_beta:beta_max;alpha=beta/n;xz=R*cos(alpha-pi/2);yz=R*sin(alpha-pi/2)+D;xm=r*cos(-beta-pi/2);ym=r*sin(-beta-pi/2);x0=xz+xm;y0=yz+ym;x=xz+xm+x_A*cos(-beta);y=yz+ym+x_A*sin(-beta);figuremaximize(gcf)plot(x_chi_Omega_R1,y_chi_Omega_R1,'ro')text(x_chi_Omega_R1,y_chi_Omega_R1,'R1')hold onplot(x_chi_Omega_R2,y_chi_Omega_R2,'ro')text(x_chi_Omega_R2,y_chi_Omega_R2,'R2')hold onplot(x_chi_Omega_L1,y_chi_Omega_L1,'ro')text(x_chi_Omega_L1,y_chi_Omega_L1,'L1')hold on202plot(x_chi_Omega_L2,y_chi_Omega_L2,'ro')text(x_chi_Omega_L2,y_chi_Omega_L2,'L2')line([0 200*cos(theta_R)],[0 200*sin(theta_R)],'Color','red')line([0 -200*cos(theta_L)],[0 200*sin(theta_L)],'Color','red')plot(x,y,'r',x0,y0,'r--',xz,yz,'b')grid onaxis([-200 200 0 400])angle=0:0.2:2*pi;plot(0,D,'ko','MarkerSize',5,'MarkerFaceColor',[0 0 0]);S=plot(xz(1),yz(1),'ko','MarkerSize',5,'MarkerFaceColor',[0 0 0]);Arr1=arrow3([0,D],[xz(1),yz(1)]);O=plot(x0(1),y0(1),'ko','MarkerSize',5,'MarkerFaceColor',[0 0 0]);for j=1:numel(angle)Satt(j)=plot(xz(1)+r*cos(angle(j)),yz(1)+r*sin(angle(j)));endArr2=arrow3([xz(1),yz(1)],[x0(1),y0(1)]);P=line([x0(1),y0(1)],[x(1),y(1)]);B=text(190,400,['\beta=',num2str(abs(beta(1)*180/pi)),'\circ'],'VerticalAlignment','top','BackgroundColor',[.7 .9 .7]);A=text(190,370,['\alpha=',num2str(abs(alpha(1)*180/pi)),'\circ'],'VerticalAlignment','top','BackgroundColor',[.7 .9 .7]);for i=1:numel(beta)delete(Arr1)delete(Arr2)delete(Satt)delete(P)delete(B)delete(A)set(S,'XData',xz(i),'YData',yz(i))Arr1=arrow3([0,D],[xz(i),yz(i)]);set(O,'XData',x0(i),'YData',y0(i))Arr2=arrow3([xz(i),yz(i)],[x0(i),y0(i)]);for j=1:numel(angle)Satt(j)=plot(xz(i)+r*cos(angle(j)),yz(i)+r*sin(angle(j)));endP=line([x0(i),x(i)],[y0(i),y(i)]);B=text(190,400,['\beta=',num2str(abs(beta(i)*180/pi)),'\circ'],'VerticalAlignment','top','BackgroundColor',[.7 .9 .7]);A=text(190,370,['\alpha=',num2str(abs(alpha(i)*180/pi)),'\circ'],'VerticalAlignment','top','BackgroundColor',[.7 .9 .7]);pause(0.0001)endfor i=numel(beta):-1:1delete(Arr1)delete(Arr2)delete(Satt)delete(P)delete(B)delete(A)set(S,'XData',xz(i),'YData',yz(i))Arr1=arrow3([0,D],[xz(i),yz(i)]);set(O,'XData',x0(i),'YData',y0(i))Arr2=arrow3([xz(i),yz(i)],[x0(i),y0(i)]);for j=1:numel(angle)203Satt(j)=plot(xz(i)+r*cos(angle(j)),yz(i)+r*sin(angle(j)));endP=line([x0(i),x(i)],[y0(i),y(i)]);B=text(190,400,['\beta=',num2str(abs(beta(i)*180/pi)),'\circ'],'VerticalAlignment','top','BackgroundColor',[.7 .9 .7]);A=text(190,370,['\alpha=',num2str(abs(alpha(i)*180/pi)),'\circ'],'VerticalAlignment','top','BackgroundColor',[.7 .9 .7]);pause(0.0001)end% --- Executes on button press in Button_Params.function Button_Params_Callback(hObject, eventdata, handles)% hObjecthandle to Button_Params (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA)D=str2double(get(handles.D,'String'));r=str2double(get(handles.r,'String'));R=str2double(get(handles.R,'String'));n=str2double(get(handles.n,'String'));theta_L=str2double(get(handles.theta_L,'String'))*pi/180;theta_R=str2double(get(handles.theta_R,'String'))*pi/180;chi_Omega_R1=str2double(get(handles.chi_Omega_R1,'String'));chi_Omega_R2=str2double(get(handles.chi_Omega_R2,'String'));chi_Omega_L1=str2double(get(handles.chi_Omega_L1,'String'));chi_Omega_L2=str2double(get(handles.chi_Omega_L2,'String'));kL=str2double(get(handles.k_L,'String'));hmL=str2double(get(handles.h_m_L,'String'));kR=str2double(get(handles.k_R,'String'));hmR=str2double(get(handles.h_m_R,'String'));x_A=str2double(get(handles.x_A,'String'));if get(handles.rb_unidirect,'Value')n=-n;end%Координаты источниковx_chi_Omega_R1=chi_Omega_R1*cos(theta_R);y_chi_Omega_R1=chi_Omega_R1*sin(theta_R);x_chi_Omega_R2=chi_Omega_R2*cos(theta_R);y_chi_Omega_R2=chi_Omega_R2*sin(theta_R);x_chi_Omega_L1=chi_Omega_L1*cos(theta_L);y_chi_Omega_L1=chi_Omega_L1*sin(theta_L);x_chi_Omega_L2=chi_Omega_L2*cos(theta_L);y_chi_Omega_L2=chi_Omega_L2*sin(theta_L);delta_beta=0.01;beta_max=2*3.14;% Траекторияbeta=-beta_max:delta_beta:beta_max;alpha=beta/n;xz=R*cos(alpha-pi/2);yz=R*sin(alpha-pi/2)+D;xm=r*cos(-beta-pi/2);ym=r*sin(-beta-pi/2);x0=xz+xm;y0=yz+ym;x=xz+xm+x_A*cos(-beta);y=yz+ym+x_A*sin(-beta);% Вычисление расстояния между источником и точкой напыленияrho_R1=sqrt((x_chi_Omega_R1-x).^2+(y_chi_Omega_R1-y).^2);204rho_R2=sqrt((x_chi_Omega_R2-x).^2+(y_chi_Omega_R2-y).^2);rho_L1=sqrt((x_chi_Omega_L1-x).^2+(y_chi_Omega_L1-y).^2);rho_L2=sqrt((x_chi_Omega_L2-x).^2+(y_chi_Omega_L2-y).^2);figuresubplot(2,2,1)plot(beta*180/pi,rho_R1)grid onxlabel('\beta,\circ');ylabel('\rho_{R1},мм')subplot(2,2,2)plot(beta*180/pi,rho_R2)grid onxlabel('\beta,\circ');ylabel('\rho_{R2},мм')subplot(2,2,3)plot(beta*180/pi,rho_L1)grid onxlabel('\beta,\circ');ylabel('\rho_{L1},мм')subplot(2,2,4)plot(beta*180/pi,rho_L2)grid onxlabel('\beta,\circ');ylabel('\rho_{L2},мм')% Вычисление угла направленности (угол распыления)phi_R1=acos((-sin(theta_R).*(x-x_chi_Omega_R1)+cos(theta_R).*(yy_chi_Omega_R1))./sqrt((x-x_chi_Omega_R1).^2+(y-y_chi_Omega_R1).^2));phi_R2=acos((-sin(theta_R).*(x-x_chi_Omega_R2)+cos(theta_R).*(yy_chi_Omega_R2))./sqrt((x-x_chi_Omega_R2).^2+(y-y_chi_Omega_R2).^2));phi_L1=acos((sin(theta_L).*(x-x_chi_Omega_L1)+cos(theta_L).*(yy_chi_Omega_L1))./sqrt((x-x_chi_Omega_L1).^2+(y-y_chi_Omega_L1).^2));phi_L2=acos((sin(theta_L).*(x-x_chi_Omega_L2)+cos(theta_L).*(yy_chi_Omega_L2))./sqrt((x-x_chi_Omega_L2).^2+(y-y_chi_Omega_L2).^2));figuresubplot(2,2,1)plot(beta*180/pi,phi_R1*180/pi)grid onxlabel('\beta,\circ');ylabel('\phi_{R1},\circ')subplot(2,2,2)plot(beta*180/pi,phi_R2*180/pi)grid onxlabel('\beta,\circ');ylabel('\phi_{R2},\circ')subplot(2,2,3)plot(beta*180/pi,phi_L1*180/pi)grid onxlabel('\beta,\circ');ylabel('\phi_{L1},\circ')subplot(2,2,4)plot(beta*180/pi,phi_L2*180/pi)grid onxlabel('\beta,\circ');ylabel('\phi_{L2},\circ')% Вычисление угла падения (угол конденсации)eps_R1=acos(((x0-xz).*(x_chi_Omega_R1-x)+(y0-yz).*(y_chi_Omega_R1y))./(sqrt((x0-xz).^2+(y0-yz).^2).*sqrt((x_chi_Omega_R1x).^2+(y_chi_Omega_R1-y).^2)));205eps_R2=acos(((x0-xz).*(x_chi_Omega_R2-x)+(y0-yz).*(y_chi_Omega_R2y))./(sqrt((x0-xz).^2+(y0-yz).^2).*sqrt((x_chi_Omega_R2x).^2+(y_chi_Omega_R2-y).^2)));eps_L1=acos(((x0-xz).*(x_chi_Omega_L1-x)+(y0-yz).*(y_chi_Omega_L1y))./(sqrt((x0-xz).^2+(y0-yz).^2).*sqrt((x_chi_Omega_L1x).^2+(y_chi_Omega_L1-y).^2)));eps_L2=acos(((x0-xz).*(x_chi_Omega_L2-x)+(y0-yz).*(y_chi_Omega_L2y))./(sqrt((x0-xz).^2+(y0-yz).^2).*sqrt((x_chi_Omega_L2x).^2+(y_chi_Omega_L2-y).^2)));figuresubplot(2,2,1)plot(beta*180/pi,eps_R1*180/pi)grid onxlabel('\beta,\circ');ylabel('\epsilon_{R1},\circ')subplot(2,2,2)plot(beta*180/pi,eps_R2*180/pi)grid onxlabel('\beta,\circ');ylabel('\epsilon_{R2},\circ')subplot(2,2,3)plot(beta*180/pi,eps_L1*180/pi)grid onxlabel('\beta,\circ');ylabel('\epsilon_{L1},\circ')subplot(2,2,4)plot(beta*180/pi,eps_L2*180/pi)grid onxlabel('\beta,\circ');ylabel('\epsilon_{L2},\circ')% Скорость напыленияDelta_xi_R1=kR*hmR.*cos(phi_R1).*cos(eps_R1)./(rho_R1).^2;Delta_xi_R2=kR*hmR.*cos(phi_R2).*cos(eps_R2)./(rho_R2).^2;Delta_xi_L1=kL*hmL.*cos(phi_L1).*cos(eps_L1)./(rho_L1).^2;Delta_xi_L2=kL*hmL.*cos(phi_L2).*cos(eps_L2)./(rho_L2).^2;figuresubplot(2,2,1)plot(beta*180/pi,Delta_xi_R1)grid onxlabel('\beta,\circ');ylabel('\Delta\xi_{R1}')subplot(2,2,2)plot(beta*180/pi,Delta_xi_R2)grid onxlabel('\beta,\circ');ylabel('\Delta\xi_{R2}')subplot(2,2,3)plot(beta*180/pi,Delta_xi_L1)grid onxlabel('\beta,\circ');ylabel('\Delta\xi_{L1}')subplot(2,2,4)plot(beta*180/pi,Delta_xi_L2)grid onxlabel('\beta,\circ');ylabel('\Delta\xi_{L2}')ОТЗЫВнаучного руководителя на диссертационную работу Шишлова АндреяВладимировича «Технологическое обеспечение равномерности покрытий длядеталей гироскопических приборов на установках магнетронного напыления»,представленную на соискание ученой степени кандидата технических наук поспециальности 05.11.14 – Технология приборостроенияШишлов Андрей Владимирович с отличием окончил МГТУ им.Н.Э.Баумана в 2004 году по специальности «Системы и приборы ориентации,стабилизации и навигации» с присвоением квалификации инженера.