Смекни!
smekni.com

Контроллер связываемых объектов (стр. 10 из 12)

Mk = Q d, (4.10)

где

d - величина смещения центра тяжести от оси симметрии платы

(4.11)

где

b - ширина платы

Находим напряжение, вызываемое в плате крутящим моментом :

(4.12),

где

h - толщина платы

- коэффициент прочности, равный 0.333.

Проверяем выполнение равенства

(4.13)

где

- максимально допустимое напряжение в плате

Если неравенство (4.13) выполняется, то следует заключить, что приложенные нагрузки не приведут к повреждению платы. В случае, если неравенство (4.13) не выполняется, нужно предусмотреть меры, необходимые для дополнительного крепления платы.

4.3. Методика расчета собственных колебаний блока

Расчет частоты собственных колебаний блока можно привести, заменив конструкцию его эквивалентной расчетной схемой в виде блочной схемы /5/.

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

, (4.14)

где

а - длина пластины, м;

D - цилиндрическая жесткость пластины

, (4.15)

Е - модуль упругости;

- коэффициент Пуассона;

q - ускорение свободного падения;

- плотность материала

- коэффициент, значение которого зависит от способа закрепления сторон пластины

Для удобства пользования выражение (4.14) приведем к виду :

, (4.16)

где

В - частотная постоянная, зависящая от способа закрепления пластины

Если пластина не стальная, а выполнена из какого-либо другого материала, то в (4.16) вводится поправочный коэффициент kMна материал

где

Е и

- модуль упругости и плотность применяемого материала;

ЕС и

С - модуль упругости и плотность стали.

Для учета нагрузки при распределенной нагрузке вводят поправочный коэффициент массы элементов

,

где

QЭи QЭ - масса пластины и масса элементов, равномерно распределенных по пластине ;

Таким образом выражение (4.14) для определения частоты собственных колебаний приобретает вид

(4.17)

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

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

, (4.18)

где

jmax - вибрационные перегрузки

b - размер короткой стороны платы

- безразмерная постоянная, числовое значение которой зависит от значений частоты собственных колебаний и воздействующих ускорений.

4.5. Расчетная часть

В расчетной части проекта в качестве примера конструкторского расчета какой-либо конструкторской единицы представим конструкторский расчет платы усилителя импульсов (УИ).

Текст программы

‘*****************************

‘ Main Module Code

‘*****************************

Option Explicit

Option Base 0

Public MenuFrom As Integer

Public Canceled As Boolean

Public SelectOn As Boolean

Public SelectIs As Boolean

Public ImageCo As Integer

Public MouseX As Integer

Public MouseY As Integer

Public TotalDocCo As Integer

Public TotalFunCo As Integer

Public TotalRegCo As Integer

Public CurDocument As Integer

Public CurFunction As Integer

Public DocumentIsChanged As Boolean

Public Type RegistrationType

TotalNumber As Long

Discription As String

FileName As String

NameApp As String

FileMask As String

End Type

Public Registrations() As RegistrationType

Public RegistrationCo As Integer

Public Type DocumentType

TotalNumber As Long

FileName As String

CreateDateTime As String

UsedProgramm As Long

Discription As String

ImageIcon As String

ImageText As String

X As Integer

Y As Integer

OutputFunPoints() As Integer

OutputFunPointCo As Integer

OutputDocPoints() As Integer

OutputDocPointCo As Integer

End Type

Public Documents() As DocumentType

Public DocumentCo As Integer

Public Type FunctionType

TotalNumber As Long

FileName As String

CreateDateTime As String

Path As String

UsedProgramm As String

AutomatFunction As String

AutoExeFlag As Boolean

AskBeforeExe As Boolean

Discription As String

ImageIcon As String

ImageText As String

X As Integer

Y As Integer

DocumentsAndFunctionsLink As String

InputDocPoints() As Integer

InputDocPointCo As Integer

OutputDocPoints() As Integer

OutputDocPointCo As Integer

InputFunPoints() As Integer

InputFunPointCo As Integer

OutputFunPoints() As Integer

OutputFunPointCo As Integer

End Type

Public Functions() As FunctionType

Public FunctionCo As Integer

Public Sub ShowDocumentProperty(DocNumber As Integer)

On Error GoTo Err1

MakeDocForm.Label4(0).Caption = FileLen(Documents(DocNumber).FileName)

MakeDocForm.Label4(1).Caption = FileDateTime(Documents(DocNumber).FileName)

MakeDocForm.Label4(2).Caption = Documents(DocNumber).CreateDateTime

MakeDocForm.IconText.Text = Documents(DocNumber).ImageText

MakeDocForm.IconImage.Picture = LoadPicture(Documents(DocNumber).ImageIcon)

MakeDocForm.ImageIconText.Caption = Documents(DocNumber).ImageIcon

MakeDocForm.Discrip.Text = Documents(DocNumber).Discription

MakeDocForm.DocumentName = Documents(DocNumber).FileName

If Documents(DocNumber).UsedProgramm = -1 Then

MakeDocForm.Combo1.ListIndex = RegistrationCo + 1

Else

MakeDocForm.Combo1.ListIndex = GetREGIndex(Documents(DocNumber).UsedProgramm)

End If

Exit Sub

Err1:

Select Case MsgBox("Ïðîèçîøëà îøèáêà ïðè ïîïûòêå ñ÷èòàòü ôàéë.", vbAbortRetryIgnore + vbCritical)

Case vbAbort

End

Case vbRetry

Resume 0

Case vbIgnore

End Select

End Sub

Public Sub SaveRegCards()

Dim FileNumber As Integer

Dim a As Integer

On Error GoTo Err1

FileNumber = FreeFile

Open App.Path & "\RegisterCards" For Output As FileNumber

Write #FileNumber, TotalRegCo, RegistrationCo

For a = 0 To RegistrationCo

With Registrations(a)

Write #FileNumber, .TotalNumber, .Discription, .FileName, .NameApp, .FileMask

End With

Next a

Close FileNumber

Exit Sub

Err1:

Select Case MsgBox("Ïðîèçîøëà îøèáêà ïðè ïîïûòêå çàïèñàòü ôàéë ðåãèñòðàöèè." _

& Chr(13) & Chr(10) & Err.Number & Chr(13) & Chr(10) & _

Err.Description, vbAbortRetryIgnore + vbCritical)

Case vbAbort

End

Case vbRetry

Resume 0

End Select

End Sub

Public Sub MemberDocumentProperty(DocNumber As Integer)

Documents(DocNumber).ImageText = MakeDocForm.IconText.Text

Documents(DocNumber).ImageIcon = MakeDocForm.ImageIconText.Caption

Documents(DocNumber).Discription = MakeDocForm.Discrip.Text

Documents(DocNumber).FileName = MakeDocForm.DocumentName.Text

Documents(DocNumber).CreateDateTime = MakeDocForm.Label4(0).Caption

If MakeDocForm.Combo1.ListIndex = RegistrationCo + 1 Then

Documents(DocNumber).UsedProgramm = -1

Else

Documents(DocNumber).UsedProgramm = Registrations(MakeDocForm.Combo1.ListIndex).TotalNumber

End If

End Sub

Public Sub SaveProject(ProjectName As String)

Dim FileNumber As Integer

Dim a As Integer

Dim b As Integer

On Error GoTo Err1

FileNumber = FreeFile

Open ProjectName For Output As FileNumber

Write #FileNumber, TotalDocCo, TotalFunCo, DocumentCo, FunctionCo

For a = 0 To DocumentCo

With Documents(a)

Write #FileNumber, .TotalNumber, .FileName, .CreateDateTime, .UsedProgramm, _

.Discription, .ImageIcon, .ImageText, .X, .Y, .OutputFunPointCo, _

.OutputDocPointCo

For b = 0 To .OutputFunPointCo

Write #FileNumber, .OutputFunPoints(b)

Next b

For b = 0 To .OutputDocPointCo

Write #FileNumber, .OutputDocPoints(b)

Next b

End With

Next a

For a = 0 To FunctionCo

With Functions(a)

Write #FileNumber, .TotalNumber, .FileName, .CreateDateTime, .UsedProgramm, _

.AutomatFunction, .AutoExeFlag, .AskBeforeExe, .Discription, _

.ImageIcon, .ImageText, .X, .Y, .DocumentsAndFunctionsLink, _

.OutputFunPointCo, .OutputDocPointCo, .InputFunPointCo, _

.InputDocPointCo

For b = 0 To .OutputFunPointCo

Write #FileNumber, .OutputFunPoints(b)

Next b

For b = 0 To .OutputDocPointCo

Write #FileNumber, .OutputDocPoints(b)

Next b

For b = 0 To .InputFunPointCo

Write #FileNumber, .InputFunPoints(b)

Next b

For b = 0 To .InputDocPointCo

Write #FileNumber, .InputDocPoints(b)

Next b

End With

Next a

Close FileNumber

Exit Sub

Err1:

Select Case MsgBox("Ïðîèçîøëà îøèáêà ïðè ïîïûòêå çàïèñàòü ôàéë ïðîåêòà." _

& Chr(13) & Chr(10) & Err.Number & Chr(13) & Chr(10) & _

Err.Description, vbAbortRetryIgnore + vbCritical)

Case vbAbort

End

Case vbRetry

Resume 0

End Select

End Sub

Public Sub LoadRegCards()

On Error GoTo Err1

Dim FileNumber As Integer

Dim a As Integer

FileNumber = FreeFile

Open App.Path & "\RegisterCards" For Input As FileNumber

Input #FileNumber, TotalRegCo, RegistrationCo

If RegistrationCo = -1 Then

Close FileNumber

Exit Sub

End If

ReDim Registrations(RegistrationCo)

For a = 0 To RegistrationCo

With Registrations(a)

Input #FileNumber, .TotalNumber, .Discription, .FileName, .NameApp, .FileMask

End With

Next a

Close FileNumber

Exit Sub

Err1:

Select Case MsgBox("Ïðîèçîøëà îøèáêà ïðè ïîïûòêå ñ÷èòàòü ôàéë ðåãèñòðàöèè." _

& Chr(13) & Chr(10) & Err.Number & Chr(13) & Chr(10) & _

Err.Description, vbAbortRetryIgnore + vbCritical)

Case vbAbort

End

Case vbRetry

Resume 0

Case vbIgnore

RegistrationCo = -1

End Select

End Sub

Public Sub LoadProject(ProjectName As String)

On Error GoTo Err1

Dim FileNumber As Integer

Dim a As Integer

Dim b As Integer

FileNumber = FreeFile

Open ProjectName For Input As FileNumber

Input #FileNumber, TotalDocCo, TotalFunCo, DocumentCo, FunctionCo

If DocumentCo <> -1 Then

ReDim Documents(DocumentCo)

For a = 0 To DocumentCo

With Documents(a)

Input #FileNumber, .TotalNumber, .FileName, .CreateDateTime, .UsedProgramm, _

.Discription, .ImageIcon, .ImageText, .X, .Y, .OutputFunPointCo, _

.OutputDocPointCo

If .OutputFunPointCo <> -1 Then

ReDim .OutputFunPoints(.OutputFunPointCo)

For b = 0 To .OutputFunPointCo

Input #FileNumber, .OutputFunPoints(b)