Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы и их программная реализация в задачах моделирования, оптимизации и управления гальваническими процессами. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
882 Кб
Скачать

Рис. 2.2. Изменение концентрации компонентов электролита без учета и с учетом извлечения деталей

Сравнение полученных результатов с экспериментальными данными, показывает, что погрешность расчетов не превышает 0.5%, что говорит о приемлемой для практикиточности математической модели и выбора метода ее решения. Исключение из расчетов уравнения (2.9) приводит к ошибке определения концентрации до 5-6% за месяц односменного режима эксплуатации ванны.

Контрольные вопросы

1.Что такое представляет собой обыкновенное дифференциальное уравнение? Какова роль начальных условий?

2.Приведите примеры параметров гальванических процессов, изменение которых описывается задачей Коши.

3.Перечислите наиболее распространенные численные методы, используемые при решении обыкновенных дифференциальных уравнений. В чем их преимущества и недостатки?

4.В чем заключается способ контроля точности получаемого численного решения по принципу Рунге-Ромберга-Ричардсона?

5.Перечислите основные алгоритмические конструкции, используемые в программной реализациирешения задачи Коши.

30

3. ОП Т ИМИЗАЦИЯ И ИМИТ АЦИОННОЕ МОДЕ Л ИРОВАНИЕ Т Е Х НОЛ ОГ ИЧЕ С К ИХ

П АРАМЕ Т РОВ Г АЛ ЬВАНИЧЕ С К ИХ П РОЦЕ С С ОВ

При нанесении гальванического покрытия количество металла, осаждаемого на катоде или растворенного на аноде, может быть оценено с учетом выхода по току. Выход по току – это отношение плотности электрохимического эквивалентного тока для конкретной реакции на общую плотность прилагаемого тока. В свою очередь выход по току описывает эффективность, с которой происходит перенос заряда (электронов) в результате протекания электрохимической реакции. Катодный выход по

току ηk – это эффективность тока применительно к катодной ре-

акции, а анодный выход по току ηа – эффективность тока в применении к анодной реакции.

Данное явление было первоначально открыто в работе Майкла Фарадея и было выражено в соответствующих законах электролиза:

η = mf , (3.1)

a a mt a

η = mf , (3.2)

k k mt k

где mat , mkt – теоретический массоперенос; mfa , mfk – фак-

тически перенесенная масса на аноде и катоде соответственно. Например, выход по току при нанесении медного покрытия

является важным параметром не только с энергетической точки зрения, но и с точки зрения скорости осаждения покрытия. Известно, что выход по току при меднении уменьшается с увеличением плотности тока, концентрации серной кислоты и увеличивается с увеличением концентрации меди, и температуры раствора электролита. Для большинства гальванических процессов в области допустимых рабочих условий оборудования выходы по

току анода и катода находятся в пределах 0.8≤ ηа 1, 0.8 ≤ ηk 1.

31

Однако известны процессы, для которых ηа > 100% (например, нанесение меди в электролитах аммиака, где выход анодного тока может достигать 3 из-за химического растворения меди). Известны также процессы с низким выходом по току. Таким образом, для процесса хрома 0.03 ≤ ηk 0.15. В любом случае ηa,

ηk > 0.

Предполагая, что покрытие металла равномерно распределено по поверхности катода с площадью Sk, средняя толщина

покрытия δ может быть рассчитана следующим образом:

 

 

 

=

Э

ηkikT ,

(3.3)

 

 

δ

 

 

 

 

ρ

 

 

где

Э – электрохимический эквивалент металла покрытия;

T – длительность процесса электролиза; ρ – плотность металла покрытия; ik – средняя катодная плотность тока.

Согласно закону Ома средняя катодная плотность тока есть отношение силы тока к единице поверхности:

ik =

I

,

(3.4)

 

 

Sk

 

где I – величина силы тока.

Средняя анодная плотность тока определяется из выражения, аналогичного (3.4):

ia =

I

,

(3.5)

 

 

Sa

 

где Sa – площадь анода.

Величина плотности тока (3.4) является основным параметром процесса и оказывает большое влияние на структуру и свойства осадков. Существует минимальная плотность тока для каждого процесса, ниже которого покрытие не осаждается. В случае использования плотности тока выше оптимальных значений, образуются порошкообразные и губчатые осадки. Чтобы увеличить плотность рабочего тока и получить качественное покрытие, необходимо изменить условия осаждения: увеличить температуру электролита, ввести перемешивание, увеличить концентрацию компонентов, поступающих в электролит, и из-

32

менить рН. Изменяя условия осаждения, можно увеличить плотность тока в 2 ... 3 раза и, соответственно, увеличить скорость осаждения.

В свою очередь, для получения высококачественных покрытий требуется соблюдение предельного температурного режима. Увеличение температуры приводит к увеличению выхода по току, осадки становятся более пластичными, наводороживание снижается, а внутренние напряжения уменьшаются. Однако чрезмерно высокая температура электролита и завышенная плотность тока могут вызывать образование рыхлой пленки. Предотвращение перегрева электролита является одним из основных условий получения высококачественного покрытия. Кроме того, температура электролита влияет на стоимость работы и условия работы, так как чем выше температура, тем больше величина тепловой потери гальванической ванны от испарения. Это приводит к необходимости ограничения температуры электролита и увеличения ее только тогда, когда требуется уменьшить твердость осадка.

Реальное же состояние таково, что ηа и ηk зависят от темпе-

ратуры раствора, плотности тока и концентрации компонентов:

ηa = ηa (ia ,t,C1,C2 ,...),

(3.6)

ηk = ηk (ik ,t,C1,C2 ,...),

(3.7)

где t – температура электролита; C1, C2, … – концентрация компонентов раствора.

Обеспечение электролитного состава, указанного в технологии, является необходимым условием для нормального функционирования любого гальванического процесса. Регулирование концентрации, как правило, ограничено стабилизацией значения кислотности рН электролита, значение которой играет важную роль в электроосаждении металлов с величиной электроотрицательного потенциала, большей чем у водорода. Таким образом, при низком значении рН твердость покрытия уменьшается, выход тока уменьшается, а пластичность увеличивается. Высокий уровень pH, напротив, снижает пластичность, повышает твердость и выход по току.

33

Несмотря на большое количество исследований, теоретического обоснования этих зависимостей нет, а функции выхода по току определяются обработкой экспериментальных данных путем аппроксимации.

Пример. Пусть в результате протекания процесса электрохимического цинкования металл покрытия распределился равномерно по поверхности катода с площадью Sk = 2 м2. Требуется найти такие технологические параметры (температуруt* и ток I*), при которых длительность T* процесса получения покрытия

толщиной δ = 50 мкм будет минимальной. Тогда данная задача оптимизации описывается следующей системой уравнений и ограничений:

T(t,I)=

 

 

 

 

 

 

 

δρSk

min

 

 

 

 

 

 

 

 

 

Эηk (t,I)I

 

 

 

 

 

 

 

η

k

(t,I)= 0.01 t2 +0.001 t

,

(3.8)

 

 

 

 

0.0001 I2

 

 

20οC t 30οC

 

 

200A I 400A

Среди методов принятия решения перебор вариантов занимает особое место. Пусть требуется минимизировать функцию двух переменных f(x1,x2) = T(t,I), при этом область ограничений

замкнута. Переменная х1 принимает значения x1 [x1min ;x1max ] , а переменная х2 –значенияx2 [x2min ;x2max ] . Метод сканирова-

ния пытается рассчитать все возможные решения и затем выбрать лучшее из них, при котором значение целевой функции наибольшее или наименьшее. Данный метод применим только для задач с невысокой размерностью варьируемых переменных, так как число возможных значений целевой функции экспоненциально возрастает с уменьшением величины сканирующего шага. Алгоритм метода сканирования для данного случая в виде блок-схемы показан на рисунке 3.1.

34

 

Начало

 

 

 

 

f* = 1010

 

 

 

 

x1 = x1min

 

 

 

 

x2 = x2min

 

 

 

 

f=f(x1,x2)

 

 

 

Да

f < f*

 

 

 

f* = f

Нет

 

 

 

x1* = x1

x2 = x2 +

x2

 

x2* = x2

 

 

 

 

 

x2 < x2max

Да

 

 

 

Нет

 

x1 = x1 +

x1

 

x1 < x1max

Да

 

 

Нет

Вывод f*, x1*, x2*

Конец

Рис. 3.1. Блок-схема метода сканирования при минимизации функции двух переменных

35

Критерием остановки процесса является реализация всех вычислений, число которых определяется по формуле:

 

n

 

 

N = ni ,

(3.9)

 

i=1

 

где

ni – число значений, принимаемых i-й

переменной;

n – количество переменных.

К достоинствам метода сканирования следует отнести наглядность и простоту реализации, а также возможность поиска глобального экстремума для многоэкстремальных целевых функций. Метод эффективен на практике, когда число варьируемых переменных не превышает 5-8 и математическая модель не сложная, в противном случае даже на современных персональных компьютерах затраты времени на поиск результата могут быть очень значительными.

Рассмотрим реализацию метода сканирования на языке программирования С для оптимизации технологических параметров процесса из примера согласно системы (3.8).

Объявляем переменные и инициализируем их исходными данными:

double T_opt,I_opt,tau_opt,tau;

double Tmin=20;//минимальное значение температуры (oC) double Tmax=30; //максимальное значение температуры

(oC)

double Imin=200; //минимальное значение силы тока (А) double Imax=400; //максимальное значение силы тока (А) double tau_opt=1000000000;// //млительность процесса (с)

double

E=3.39e-07; //электрохимический эквивалент

(г/(А*с))

 

double Ro=7133; //плотность металла (кг/м^3) double S=2;//площадь катода (м^2)

Введем функции, задающие выход по току и длительность процесса:

double BT(double T, double I){//выход по току return (0.01*T*T+0.001*T)/(0.0001*I*I);}

double MM(double T,double I){//математическая модель расчета длительности процесса

36

double konst,tolsh,dtau,tau;//требуемые для расчета переменные

dtau=0.1;//величина шага расчета по длительности (с) konst=E*I*1000000*dtau/(Ro*S);//неизменяемая часть

в формуле толщины покрытия tau=0.0;//начальное значение длительности (с) tolsh=0.0;//начальное значение толщины (мкм) do

{

tolsh=tolsh+konst*BT(T,I);//приращение толщины покрытия tau=tau+dtau;//приращение длительности процесса }while(tolsh<50);//пока толщина покрытия меньше 50 мкм return tau;//возвращаем найденную длительность

}

Функция, реализующая процедуру оптимизации методом сканирования, имеет вид:

double Optimize()//функция, реализующая метод сканирования

{

int II,TT;//варьируемые переменные – сила тока и температура

double tau;//величина длительности процесса

for (II=Imin; II<=Imax; II++)//внешний цикл по изменению силы тока

{

for (TT=Tmax; TT<=Tmax; TT++)//внутренний цикл по изменению температуры

{

tau=MM(TT,II);//расчет длительности при заданных температуре и силы тока

if (tau<tau_opt)//если полученная длительность меньше оптимальной

{

tau_opt=tau;//то сохраняем оптимальное значение целевой функции

T_opt=TT;//и значения варьируемых переменных,

37

I_opt=II;//при которых оно найдено

}

}

}

return tau_opt;//возвращаем найденное значение длительности процесса

}

На рисунке 3.2 приводятся результаты решения задачи оптимизации для системы (3.8). Наименьшая длительность

T* = 77.67 мин получена при значениях температуры t* = 30 ο C и силы тока I* = 200 А.

Рис. 3.2. Результаты решения задачи оптимизации

Чаще всего требуемая температура электролита получается путем нагревания его специальными нагревательными устройствами (змеевиками), расположенными на дне ванны или на ее продольных стенках. Когда в качестве хладагента используется насыщенный водяной пар, можно получить температуру электролита до 60°С. Изменяя давление теплоносителя в нагревательном устройстве, температуру нагрева можно отрегулировать довольно точно. При высоких температурах (100оС и выше) и с- пользуются электронагреватели. Однако из-за высокой стоимо-

38

сти электроэнергии этот метод нагрева применим только в и с- ключительных случаях.

В свою очередь, относительно небольшие отклонения в температуре электролита от величины, соответствующей оптимальному осаждению покрытия, приводят к значительному ухудшению качества покрытия. Изменение температуры на 1° C приводит к изменению электропроводности электролита порядка 4%, что, например, при цинковании в кислотном электролите приводит к ошибке в мониторинге и регулировании плотности тока до 15% или более. Промышленные двух- и трехпозиционные регуляторы температуры позволяют регулировать температуру с точностью 3–4оС, что, как правило, достаточно для обработки поверхности деталей, которым не требуется высококачественное покрытие. Низкая точность регулирования температуры обусловлена тем, что регуляторы обычно только отсоединяют или меняют подачу теплоносителя на нагревательные устройства и не оснащены охладителями, поэтому не способны охладить электролит. Кроме того, регуляторы не могут предсказать потерю тепла деталями, погруженными в ванну для обработки, и дополнительным нагревом электролита ванны теплом, выделяемым электрическим током.

В связи с вышесказанным, рассмотрим влияние изменения температуры электролита на толщину гальванического покрытия. Для этого проведем имитационное моделирование гальванического процесса цинкования (3.8). Имитационная система включает генератор случайных процессов, математические модели и блок анализа результата (рисунок 3.3).

Генератор

 

 

 

 

 

Матема-

 

 

Блок

случайных

 

 

Фильтр

 

 

тическая

 

 

 

анализа

 

 

 

 

 

 

чисел

х

 

 

z

 

модель

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Генератор случайных процессов

Рис. 3.3. Схема системы имитационного моделирования

39

Случайным процессом z(τ) называют функцию действительного параметра – времени τ, значения z которой при каждом

τ являются случайными величинами. Основными характеристиками случайных процессов являются математическое ожидание

М, дисперсия σ2 и корреляционная функция К. Большинство реальных процессов имеют постоянные во времени значения М

и σ2. Такие случайные процессы называются стационарными. Будем далее рассматривать стационарные случайные про-

цессы, характеристики которых могут быть оценены следующим образом:

 

 

 

1

 

 

N

 

 

M

 

 

сл zi ,

(3.10)

 

 

 

 

 

 

 

Nсл i=1

 

 

 

 

1

 

 

N

 

 

σ2

 

 

 

сл (zi M)2 ,

(3.11)

 

 

 

 

 

 

 

 

Nсл i=1

 

 

 

1

 

Nсл S

 

K(S)

 

 

 

(zi M)(zs+i M),

(3.12)

Nсл S

 

i=1

 

где zi – значение случайной функции z(τ) в момент времени

τi; Nсл – количество измерений случайной функции.

При моделировании внешних воздействий удобнее вместо

отдельных точек корреляционной функции иметь некоторое аппроксимирующее математическое выражение. Наиболее распространенный тип корреляционных функций, позволяющий аппроксимировать широкий класс процессов, имеет вид:

K(S)= σ2exp(α

 

S

 

),

(3.13)

 

 

где α – параметр аппроксимации.

Построение генератора случайных процессов начинается с экспериментов на рабочем объекте, аналогичным разработанному, и получения ряд экспериментальных значений случайного процесса. После этого полученная серия обрабатывается соглас-

но (3.10), (3.11), (3.13) и вычисляются оценки M0, σ02 , α0 харак-

теристик случайного процесса.

Следующим этапом является построение генератора, на выходе которого должен быть сформирован случайный процесс

40

с заданными характеристиками M0, σ02 , α0. Генератор случай-

ных чисел может быть организован с использованием иррациональных чисел. Метод базируется на свойстве иррациональных чисел, способном сформировать неупорядоченную последовательность цифр дробной части при расчете иррационального числа с достаточно высокой степенью точности. Алгоритм можно записать в виде следующих формул:

x0 ={λ1}0.5 ,

 

xi ={λ2 xi1}0.5(i = 1, 2, …, Nсл),

(3.14)

где λ1, λ2 – иррациональные числа; {} – означают, что из числа, стоящего в скобках, берется только дробная часть.

Тогда случайный процесс z будет выглядеть следующим образом:

 

1

k+N

 

 

σ02

 

 

z(k)

sx(i)

 

A1eA2αo (ik) + Mo , (3.15)

 

2

αo A2

 

Ns i=k

σx

 

 

где Мo, σo2 , αo – требуемый характеристики; А1, А2 – пара-

метры, определяемые для каждого конкретного генератора случайных чисел; Ns – количество суммируемых членов ряда х (показывает, из какого количества членов ряда х получается один член ряда z).

Сформируем случайный процесс согласно (3.15) и проведем исследование в режиме реального времени работы математической модели (3.8) на языке программирования С.

Объявляем переменные и инициализируем их исходными данными:

double X[210];//последовательность случайных чисел double Z[210];//последовательность значений случайного

процесса

double lamda [210];//последовательность иррациональных чисел

double K[20];//значения корреляционной функции

int i,j;//переменные для обхода индексов массивов в циклах double matx, dispx, matz, dispz;//математическое ожидание

и дисперсия для случайных чисел и случайного процесса

41

double lamda1

= sqrt(M_PI);//первое иррациональное число

double

lamda2

= sqrt(2.71);//второе иррациональное число

double

M0

= 30;//математическое ожидание для

температуры электролита (oC)

double d0 = 15;//дисперсия температуры double alfa0 = 0.1;//параметр аппроксимации

int Ns = 10;// количество суммируемых членов ряда х int N = 200;//количество случайных чисел

double A1=1.98;//параметры генератора double A2=1.27;//случайных чисел

Преобразуем функцию для расчета уравнений математической модели к пригодному для имитационного моделирования виду:

double MM2(double T,double I,double dt)

{

double konst,tolsh;

konst=E/Ro*(I/S)*1000000*dt;//толщина покрытия без учета выхода по току

tolsh=konst*BT(T,I); //толщина покрытия с учетом выхода по току

return tolsh;

}

Генератор случайных чисел по методу иррациональных чисел (3.14) будет иметь следующую реализацию:

double GenerRandX()

{

double dnum1, dnum2; int inum; lamda[0]=lamda1; lamda[1]=lamda2;

X[1]=(lamda[0]-floor(lamda[0]))-0.5; for (i=1;i<=N;i++)

{

lamda[i+1]=lamda[1]*X[i] floor(lamda[1]*X[i]); X[i+1]=lamda[i+1]-0.5; //формирование

последовательности случайных чисел по формуле (3.14)

42

}

return 0;

}

Функция для расчета математического ожидания (3.10) имеет вид:

double MatOg(double *X, int kol)

{

double M = 0;

for (i=1;i<=kol;i++) M+= X[i];

return (M/(double)kol);//вычисление значения матожидания по формуле (3.10)

}

Функция для расчета дисперсии (3.11) имеет вид: double Disp(double M, double *X, int kol)

{

double sigma = 0; for (i=1;i<=kol;i++)

sigma += pow((X[i] – M),2);

return (sigma/(double)kol);//вычисление дисперсии по формуле (3.11)

}

Функция, генерирующая случайный процесс согласно (3.15) имеет вид:

double GenerRandZ(double A1, double A2)

{

int k;

for (i=1; i<=N-Ns; i++)

{

for (k=i; k<=i+Ns; k++)

{

Z[i]+=X[k]*A1*sqrt(d0/(dispx*alfa0*A2))*exp(- A2*alfa0*(k-i));

}

Z[i]= Z[i]/Ns + M0;//формирование случайного процесса по формуле (3.15)

43

}

return 0;

}

С использованием созданных функций проведем исследование скорости роста средней толщины цинкового покрытия на поверхности катода из задачи (3.8) в режиме реального времени.

double T_sl,t,dt,I_opt;

for (i= 1;i<N;i++) X[i]=0;//очищаем массив значений случайных чисел

for (i=1;i< N-Ns;i++) Z[i]=0;//очищаем массив значений случайного процесса

for (i=1;i<19;i++) K[i]=0;//очищаем массив значений корреляционной функции

I_opt=200;//величина силы тока соответствуют оптимальному значению

GenerRandX();//генерируем случайные числа matx=MatOg(X,N);//вычисляем матожидание случайных

чисел

dispx=Disp(matx,X,N-Ns); /вычисляем дисперсию случайных

чисел

 

 

GenerRandZ(A1,A2);//формируем

случайный

процесс

с параметрами А1 и А2

 

 

matz=MatOg(Z,N-Ns);//вычисляем матожидание случайного

процесса

dispz=(matz,Z,N-Ns);//вычисляем дисперсию случайного процесса

dt=24.5;//величина приращения длительности процесса tau=0.0;//начальное значение процесса

for (j=1;j< N-Ns;j++)//от 0 до количества значений в сформированном случайном процессе

{

T_sl=Z[j];//случайное значение температуры t=t+MM2(T_sl,I_opt,dt);//полученное значение толщины

покрытия

tau=tau+dt;//приращение длительности процесса

}

44

На рисунке 3.4 демонстрируется случайный процесс изменения температуры электролита в ванне цинкования для Мo = 30 oC,

σo2 = 15 ο C 2.

Рис. 3.4. Случайный процесс изменения температуры электролита во времени

Выходная координата у(τ) (в нашем случае δ), полученная из математической модели, подается в блок анализа, в котором изучается поведение объекта. Следующие итоги имитационного моделирования признаются негативными:

выходная координата монотонно возрастает (уменьшается) во времени и выходит за допустимые пределы ymax (ymin);

выходная координата содержит отдельные выбросы, выходящие за пределы ymax (ymin);

скорость изменения выходной координаты превышает

заданный предел.

Исходя из результатов исследования, проведенного имитационным методом, (рисунок 3.5), делается вывод о работе объекта.

45

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]