Главная » Просмотр файлов » Диссертация

Диссертация (1025147), страница 21

Файл №1025147 Диссертация (Идентификация параметров моделей динамики сложнопрофильных деталей при обработке фрезерованием) 21 страницаДиссертация (1025147) страница 212017-12-21СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 21)

2004. Т. 11. №. 3-4.C. 395-409.118. Tlusty J., Ismail F. Special aspects of chatter in milling // ASME Journal ofVibration, Stress, and Reliability in Design. 1983. Vol. 105. C. 24-32.119. Tlusty, J., Ismail F. Basic non-linearity in machining chatter // Annals of CIRP.1981. Vol.30. C. 229-304.120.

Trends in experimental modal analysis / R. Snoeys [et al.] // Mechanical Systemsand Signal Processing. 1987. Т. 1. №. 1. С. 5-27.121. Two-Stage Least Squares based Iterative Identification Algorithm for BoxJenkins Model / J. Jia [et al.] // Appl. Math. 2014. Т. 8. №. 3. С. 1355-1360.122. Van Overschee P., De Moor B. L. Subspace identification for linear systems:Theory—Implementation—Applications. Berlin: Springer Science & BusinessMedia, 2012. 268 c.123.

Van Overschee P., De Moor B. N4SID: Subspace algorithms for the identificationof combined deterministic-stochastic systems // Automatica. 1994. Т. 30. №. 1.C. 75-93.124. Verboven P. Frequency-domain System Identification for Modal Analysis: PhDthesis. Brussel. 2002. 189 c.125. Voronov S., Kiselev I. Dynamics of flexible detail milling // Proceedings of theInstitution of Mechanical Engineers, Part K: Journal of Multi-body Dynamics.2011. V225.

№4. C. 299-309.164126. Voronov S.A., Gouskov A.M. Dynamic Models Generalization of ManufacturingSystems with Single-Point Cutting Considering Equations of New SurfaceFormation // Proceedings of 2nd Workshop on Nonlinear Dynamics and Controlof Mechanical Processing. Budapest (Hungary). 2001. C. 1-10.127. Yao Z., Mei D., Chen Z.

On-line chatter detection and identification based onwavelet and support vector machine // Journal of Materials ProcessingTechnology. 2010. Т. 210. №. 5. C. 713-719.128. Zhang G., Tang B., Tang G. An improved stochastic subspace identification foroperational modal analysis // Measurement. 2012. Т. 45. № 5. C. 1246-1256.129. Zimmerman A. T. et al. Automated modal parameter estimation by parallelprocessing within wireless monitoring systems // Journal of InfrastructureSystems. 2008.

Т. 14. №. 1. C. 102-113.165ПРИЛОЖЕНИЕП.1. Текст программ в среде Matlab для выбора оптимальных скоростейвращенияинструмента,детектирования«чаттера»порезультатаммноговариантного моделирования динамики фрезерования в ПО 3D CUT ипостроения «карты режимов».Программа для вычисления оптимальных диапазонов скоростивращения фрезы с учетом изменения частот в процессе обработкиMilling_frequency_rangefunction Milling_frequency_rangeclose all;clear all;clc;DATA = load('WPREMESH_FREQ.dat');F1 = DATA(2:end-1,1);F2 = DATA(2:end-1,2);figure(1)hold on; grid on; box on;plot(F1)plot(F2)F = [F1 F2];df = abs(100*((F(end,:) - F(1,:))./F(1,:)));n_freq = 2; %%%% Количество частотn_z = 2;%%%% количество зубьев фрезыn_fold = 3; %%%% Максимальная степень кратностиn_points = length(F1); %%%% Количество изменений СЧfor n_p = 1:n_pointsk = 1;range = [];for j = 1:n_freqfor n = 1:n_fold%%%% Вычисление оптимальных диапазонов скорости вращения фрезы длякаждой СЧomega_min(n,j) = (F(n_p,j)/(n + 0.1))*(60/n_z); % Нижняя границадиапазона omega_min = 1.1*СЧ, об/мин166omega_max(n,j) = (F(n_p,j)/(n + 0.3))*(60/n_z); % Верхняя границадиапазона omega_max = 1.3*СЧ, об/минrange(k, 1) = omega_min(n,j); range(k,2) = 1;% Формированиемассива диапазонов для всх частот и всех степеней кратностиrange(k+1, 1) = omega_max(n,j); range(k+1,2) = 2;k = k + 2;figure(2) %%%% Вывод диапазонов на графикиhold on; grid on; box on;if (j == 1)color = 'bo-';elseif (j == 2)color = 'ro-';elsecolor = 'go-';endplot([n_p+0.01*jn_p+0.01*j],[omega_min(n,j)omega_max(n,j)], color);figure(3) %%%% Вывод диапазонов на графикиhold on; grid on; box on;if (j == 1)color = 'bo-';elseif (j == 2)color = 'ro-';elsecolor = 'go-';endv_rel_min(n,j) = F(1,j)./(omega_min(n,j)*(n_z/60));v_rel_max(n,j) = F(2,j)./(omega_max(n,j)*(n_z/60));plot([n_pv_rel_max(n,j)], color);+0.01*jn_p+endend%%%% Сортировка массива частотных диапазонов %%%%for j = 1:length(range)for i = 1:length(range) - jif (range(i,1) < range(i+1,1))c = range(i,:);range(i,:) = range(i+1,:);range(i+1,:) = c;c = 0;endendendd_flag = abs(diff(range(:,2)));range(:,2) = [0; d_flag];ind = range(:,2)';ind_detect = strfind(ind, [0 1 0]);ind_detect = ind_detect(1:2:end);figure(2)for i = 1:length (ind_detect)0.01*j],[v_rel_min(n,j)167plot([n_p n_p], [range(ind_detect(i),1) range(ind_detect(i)+1,1)], 'b','LineWidth', 2.5);end%%% Нахождение пересечений диапазонов для различных частот %freq_min(n_p, 1) = range(ind_detect(1),1);freq_max(n_p, 1) = range(ind_detect(1) + 1,1);endfigure(2)hold on; grid on;plot(freq_min, 'g-', 'LineWidth', 2.5);plot(freq_max, 'g-', 'LineWidth', 2.5);freq_mean = (freq_min + freq_max)/2;n_rel_mean = F1(1,1)./(freq_mean*(n_z/60));n_rel_min = F1(1,1)./(freq_min*(n_z/60));n_rel_max = F1(1,1)./(freq_max*(n_z/60));save('path.mat', 'n_rel_mean', 'n_rel_min', 'n_rel_max');end________________________________________Программа для детектирования чаттера с помощью преобразования ФурьеMain_chatter_detectionfunction Main_chatter_detecionclc;close all;clear all%%% Первая собственная частота колебаний заготовки до обработкиf_eig = 915;%%% Пороговое значение для детектирования чаттера (в долях от максимальной%%% амплитуды)threshold = 0.25;%%%% Максимальная частота спектра для детектирования чаттераf_max = 4000;%%%% Номер компоненты силы для детектирования (X, Y, или Z)n_comp = 2;%%%% Длина окна для детектирования (в секундах)t_window = 0.25;168%%%% Расстояние между анализируемыми выборками (в секундах)t_step = 3;%%%% Директория, в которой находятся все результаты расчетовdir_name='E:\\3DCUT_projects\\MT1_blade\\nice_grid\\dynamics\\Sergei_eps_0.2_Fk_0.08_w_1.1_1.6\\';list_dir = dir([dir_name 'REZ_*']);n_end = length(list_dir);for i = 1:n_enddir_name_i = [dir_name list_dir(i).name];REZ_chatter_detection(dir_name_i,f_eig,t_window, t_step);endthreshold,f_max,n_comp,endfunction REZ_chatter_detection(str_path_2, f_eig, threshold, f_max, n_comp,t_window, t_step)close all;str_path_2 = [str_path_2 '\'];NMAX_NREZ = 30;%%% Blade results %%%head_file_name = 'REZ_head.bin';file_name = 'REZ.bin';str_path_main = [str_path_2 file_name];str_path_head = [str_path_2 head_file_name];fp2 = fopen(str_path_head,'r');nrez = fread(fp2,1,'int');strlength = fread(fp2,1,'int');flag = zeros(1,NMAX_NREZ);namerenum = zeros(1,nrez);for i = 1:nreznamerenum(1,i) = fread(fp2,1,'int');namerenum(1,i) = namerenum(1,i) + 1;reznames(i,:) = char(fread(fp2,strlength,'char'));endi_final = fread(fp2,1,'int');dt = fread(fp2,1,'float');t_max = dt*i_final;fclose(fp2);fp2 = fopen(str_path_main,'r');flag(1,1)flag(1,2)flag(1,3)flag(1,4)====0;0;0;1;%"Cutter%"Cutter%"Cutter%"WP Fx,Fx, [Н]\0"Fy, [Н]\0"Fz, [Н]\0"[Н]\0"169flag(1,5) = 1; %"WP Fy, [Н]\0"flag(1,6) = 1; %"WP Fz, [Н]\0"flag(1,7) = 0; %"Cutter DispX loc, [мм]\0"flag(1,8) = 0; %"Cutter DispY loc, [мм]\0"flag(1,9) = 0; %"Cutter DispZ loc, [мм]\0"flag(1,10) = 1; %"WP DispX, [мм]\0"flag(1,11) = 1; %"WP DispY, [мм]\0"flag(1,12) = 1; %"WP DispZ, [мм]\0"flag(1,13) = 0; %"RELATIVE DispX, [мм]\0"flag(1,14) = 0; %"RELATIVE DispY, [мм]\0"flag(1,15) = 0; %"RELATIVE DispZ, [мм]\0"flag(1,16) = 0; %"Cutter DispX glob, [мм]\0"flag(1,17) = 0; %"Cutter DispY glob, [мм]\0"flag(1,18) = 0; %"Cutter DispZ glob, [мм]\0"flag(1,25) = 0; %"Max chip thickness, [мм]\0");flag(1,26) = 0; %"Num of Iter\0");flag(1,27) = 0; %"Last Path Point\0");flag(1,28) = 0; %"Vmax\0");flag(1,29) = 0; %"ItWPerr\0");% Считывание данных% REZ = zeros(i_final,nrez);% NUM = zeros(1,i_final);% T = zeros(1,i_final);NUM = zeros(1,i_final);n_rel = str2num(str_path_2(end-5:end-1))/10000freq_main = f_eig/n_rel;l_window = floor(t_window/dt);l_step = floor(t_step/dt);vib = [];t = [];TMP = fread(fp2,[nrez l_window],'float');n_end = floor(t_max/(t_step));disp('Import started')for i = 1:n_endTMP = fread(fp2,[nrez l_window],'float');fseek(fp2,4*nrez*(l_step-l_window),'cof');TMP = TMP';VIB(:,:,i) = TMP(:,10:12);t_start = t_step*(i-1);t_end = t_start + t_window - dt;T(:,i) = t_start:dt:t_end;endfclose(fp2);disp('Import completed')disp(' ');disp('Chatter detection started')for i = 1:length(VIB(1,1,:))%%% Получение полных массивов вибраций и времениt = T(:,i);170x =VIB(:,:,i);vib(1+l_window*(i-1):l_window*i,:) = x;time(1+l_window*(i-1):l_window*i,1) = t;%%% choose componentx1 = x(:,n_comp);amp(i,1) = max(x1);[A, f] = Fourier_transform(t,x1, f_max);[pks, locs] = findpeaks(A, 'MinPeakDistance', 4, 'MinPeakHeight',threshold*max(A));fft_error = 1/t_window;%%% error of FFT in Hz %%%f_harm = f(locs);f_fold_harm=f_harm(((f_harm>(freq_main*(0.5)3*fft_error))&(f_harm < (freq_main*(0.5) + 3*fft_error)))...|((f_harm>(freq_main*(1.0)3*fft_error))&(f_harm < (freq_main*(1.0) + 3*fft_error)))...|((f_harm>(freq_main*(2.0)3*fft_error))&(f_harm < (freq_main*(2.0) + 3*fft_error)))...|((f_harm>(freq_main*(3.0)3*fft_error))&(f_harm < (freq_main*(3.0) + 3*fft_error)))...|((f_harm>(freq_main*(4.0)3*fft_error))&(f_harm < (freq_main*(4.0) + 3*fft_error)))...|((f_harm>(freq_main*(5.0)3*fft_error))&(f_harm < (freq_main*(5.0) + 3*fft_error)))...|((f_harm>(freq_main*(6.0)3*fft_error))&(f_harm < (freq_main*(6.0) + 3*fft_error)))...|((f_harm>(freq_main*(7.0)3*fft_error))&(f_harm < (freq_main*(7.0) + 3*fft_error)))...|((f_harm>(freq_main*(8.0)3*fft_error))&(f_harm < (freq_main*(8.0) + 3*fft_error))));n_chatter_freq(i,1) = length(f_harm) - length(f_fold_harm);n_chat_freq_i =n_chatter_freq(i,1);t_chatter_detection(i,1) = mean(t);if (n_chat_freq_i==0)chat_ind(i,1) = 0;elsechat_ind(i,1) = 1;endenddisp('Chatter detection completed')disp(' ');disp(' ');figure(20)hold on; grid on; box on;plot(t_chatter_detection, chat_ind, 'ro-')f_name = ['chatter_detection_' str_path_2(end-20:end-1) '.mat'];save(f_name, 't_chatter_detection', 'chat_ind', 'amp');figure(30)hold on; grid on; box on171plot(time,vib);xlabel('t,[c]');ylabel('Disp,[mm]');legend({'WP_d_i_s_p X', 'WP_d_i_s_p Y', 'WP_d_i_s_p Z'});endfunction [A, f] = Fourier_transform(t,x, f_max)N = length(t);Nf = round(N/2);dt = mean(diff(t));fe = 1/dt;%%%% Fourier transform %%%%Y = abs(fft(x));%%%% Amplitudes of vibration %%%%A = Y(1:Nf)/Nf;%%%% Frequencies %%%%f = (0:Nf-1)*fe/N;df = f(2) - f(1);%%%% Truncation %%%n_max = floor(f_max/df);A(n_max:end) = 0;end________________________________________Программа для построения цветографической «карты режимов» Milling_mapfunctionMilling_mapclose all;clc;clear all;wd = cd;dir_name = uigetdir('', 'Pick a Directory');cd(dir_name)list = dir('*0.mat');n_end = length(list);for i = 1:n_endf_name = list(i).name;DATA = load(f_name);t(:,i) = DATA.t_chatter_detection;chat_ind(:,i) = DATA.chat_ind;amp(:,i) = DATA.amp;v_rel(i) = str2num(f_name(end-8:end-4))/10000;V(:,i) = v_rel(i)*ones(length(t(:,1)),1);endn_points_detect = length(t(:,1));172%%% Number of points in milling mapn_points_after_reduction = 44; %2*length(v_rel);step_reduce = floor(n_points_detect/n_points_after_reduction);%%%% Relative shift in fold frequencies checkshift = 0.01;%%% If current chatter rate lower than rate_chat_ind_critical_low - no chatter(blue marker)rate_chat_ind_critical_low = 0.35;%%% If current chatter rate is lower than rate_chat_ind_critical_up but greaterthan%%% rate_chat_ind_critical_low - non dangerous chatter (yellow marker)rate_chat_ind_critical_up = 0.55;%%% If current chatter rate is greater than rate_chat_ind_critical_up dangerous chatter (red marker)for i = 1:n_endj = 1;k = 1;t_reduced(:,i) = (linspace(t(1,i), t(end,i), n_points_after_reduction))';V_reduced(:,i) = v_rel(i)*ones(length(t_reduced(:,1)),1);while (j+step_reduce-1 < n_points_detect)chat_ind_i=chat_ind(j:j+step_reduce-1,i);n_chat_ind_i=length(chat_ind_i);chatter_points_i = (chat_ind_i(chat_ind_i>0)); n_chatter_points_i =length(chatter_points_i);if ((n_chatter_points_i/n_chat_ind_i) < rate_chat_ind_critical_low)chat_ind_reduced(k,i) = 0;elseif((n_chatter_points_i/n_chat_ind_i)<rate_chat_ind_critical_up)chat_ind_reduced(k,i) = 1;elsechat_ind_reduced(k,i) = 2;endk = k + 1;j = j + step_reduce;endendFREQ_FE = load('WPREMESH_FREQ.dat');F1 = FREQ_FE(2:end-1,1);F2 = FREQ_FE(2:end-1,2);F_FE = [F1 F2];t_F_FE = linspace(t_reduced(1,1),t_reduced(end,1), length(F_FE(:,1)));F(:,1) = interp1(t_F_FE, F_FE(:,1), t_reduced(:,1));F(:,2) = interp1(t_F_FE, F_FE(:,2), t_reduced(:,1));length(F(:,2))% %%%% Path 1.1 - 1.3 read %%%%path = load('path.mat');n_rel_mean = path.n_rel_mean; n_rel_mean = n_rel_mean(1:19);n_rel_min = path.n_rel_min; n_rel_min = n_rel_min(1:19);n_rel_max = path.n_rel_max; n_rel_max = n_rel_max(1:19);173t_path = linspace(t_reduced(1), t_reduced(end), length(n_rel_mean)); t_path =t_path';v_rel_step = v_rel(2) - v_rel(1);v_rel_2 = v_rel(1):v_rel_step:1*v_rel(end);for i = 1:length(v_rel_2)v_rel_current_1(:,i) = F(:,1)./(F(1,1)./v_rel_2(i));v_rel_current_2(:,i) = F(:,2)./(F(1,1)./v_rel_2(i));end%%%% Milling map plot %%%%figure()hold on;xlim([0 max(t_reduced(:,1))])ylim([min(v_rel) max(v_rel)])title(dir_name(length(wd)+2:end))% plot(t_reduced, v_rel_current_1)% plot(t_reduced, v_rel_current_2)marker_size = 8;for i = 1:length(v_rel)i;for j = 1:length(t_reduced)j;if (chat_ind_reduced(j,i) == 0)color(j,i) = '0'; color_charelseif (chat_ind_reduced(j,i) ==color(j,i) = '1'; color_charelseif (chat_ind_reduced(j,i) ==color(j,i) = '2'; color_charendif1+shift))||...(((v_rel_current_1(j,i)>= 'b';1)= 'y';2)= 'r';1-shift)&&(v_rel_current_1(j,i)<((v_rel_current_1(j,i)>2-shift)&&(v_rel_current_1(j,i)<((v_rel_current_1(j,i)>3-shift)&&(v_rel_current_1(j,i)<((v_rel_current_2(j,i)>1-shift)&&(v_rel_current_2(j,i)<((v_rel_current_2(j,i)>2-shift)&&(v_rel_current_2(j,i)<((v_rel_current_2(j,i)>3-shift)&&(v_rel_current_2(j,i)<2+shift))||...3+shift))||...1+shift))||...2+shift))||...3+shift)))color(j,i) = '2'; color_char = 'r';endplot(t_reduced(j,i),V_reduced(j,i),'MarkerFaceColor',color_char, 'MarkerSize',marker_size)endendplot(t_path, n_rel_min, 'g-', 'LineWidth', 1);plot(t_path, n_rel_max, 'g-', 'LineWidth', 1);plot(t_path, n_rel_mean, 'g--', 'LineWidth', 1);[color_char'o'],174Приложение B.

Характеристики

Список файлов диссертации

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7002
Авторов
на СтудИзбе
261
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}