BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KH&CN CẤP TRƯỜNG
NGHIÊN CỨU THIẾT KẾ PHẦN MỀM
TRỢ GIÚP CHẾ TẠO PHẦN MỀM TRỢ CẢM
S
K
C
0
0
3
9
2
5
7
9
4
MÃ SỐ: T2009 - 09
ĐỐI TƢỢNG NGHIÊN CỨU
Đề tài nghiên cứu phương thức và mối quan hệ giữa các thành phần trong
cuộn dây từ đó hỗ trợ tính tốn cũng như thiết kế cuộn dây phục vụ sinh
viên, kỹ sư ngành điện, điều khiển tự động, cơ điện tử.
II.
TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGỒI NƢỚC
Đã có một số phần mềm tính tốn phần tử điện cảm nhưng còn đơn giản
chưa đáp ứng tốt được nhu cầu thực tế.
III.
NHỮNG VẤN ĐỀ CỊN TỒN TẠI
Phần tử điện cảm là phần tử quan trọng trong mạch điện, đặc biệt
trong ngành viễn thông. Hiện nay thò trường không có bán sẵn linh
kiện này nên các kỹ sư cũng như sinh viên khi thiết kế thi công mạch
đều phải mày mò tự chế tạo phần tử này. Công việc chế tạo này đòi
hỏi phài tính toán phức tạp vì vậy việc thiết kế xây dựng phần
mềmtrợ giúp chế tạo phần tử điện cảm là rất cần thiết..
Trang 2
PHẦN II: GIẢI QUYẾT VẤN ĐỀ
MỤC ĐÍCH CỦA ĐỀ TÀI
I)
Trang 3
cuộn dây. Đây cũng chính là khuyết điểm khi ta cần một cuộn dây có cảm
kháng ổn định. Để khắc phục khuyết điểm này sau khi thực hiện xong cuộn
dây và cân chỉnh được giá trị phù hợp ta đổ sáp lên cuộn dây để cố định
khoảng cách giữa các vòng dây.
1.2 Cuộn dây đa lớp
Hình dưới đây mô tả cuộn dây đa lớp.
Kiểu cuộn dây này rất phổ biến vì nó có thể dễ dàng được quấn bởi máy
quấn dây kết hợp với một cái lõi quấn. Điều quan trọng ở đây là kiểu hình
dạng nào của cuộn dây cho hiệu quả cao nhất.
Tỉ số giữa độ dày và chiều dài cuộn dây c/b gần bằng 1. Vì thế cuộn dây có
phần giao nhau theo hình vuông. Bởi vì hình vuông sẽ giữ các vòng dây gần
nhau để duy trì hệ số ghép từ tính.
Trang 4
Trong hình 2 chúng ta thấy 3 cuộn dây theo mặt cắt phần giao nhau. Mỗi
cuộn dây đều có chung chiều dài nhưng đường kính cuộn dây thì khác nhau.
Cảm kháng của một vòng dây tỉ lệ tuyến tính với đường kính của nó. Vì thế
chúng ta muốn đường kính cuộn dây lớn để đạt được cảm kháng lớn. Và
chúng ta cũng cần các vòng dây này gần nhau. Cuộn dây phía bên trái thỏa
mãn được điều này, nhưng vấn đề ở đây là chúng ta sẽ không đủ dây để
quấn nhiều vòng.
Ta đặt S1 = (c/2a)2 thì cảm kháng được tính như sau:
L = 4×10-7πa N2((0.5+S1/12)ln(8/S1) -0.84834+0.2041S1)
Trong đó bán kính cuộn dây đo bằng mm.
Nếu chúng ta sử dụng phương pháp Brooks để quấn cuộn dây thì ta có thể
name
symbol
coercivity
Hc
core factor
Σl/A
effective area
Ae
effective length
le
effective permeability
μe
flux linkage
λ
induced voltage
magnetization
M
magnetic field
strength
magnetic flux
density
magnetic moment
magnetic
susceptibility
magnetomotive
force
H
B
m
χ
Fm
Trang 6
permeability
μ
Effective core area
Ae
19.4×10-6 m2
Relative permeability
μr
2490
Inductance factor
Al
2200 nH
saturation flux density
Bsat
360 mT
Giả sử ta muốn tính cảm kháng cuộn dây trong trường hợp số vòng dây là 2:
Σl/A = le / Ae = 27.6×10-3 / 19.4×10-6 = 1420 m-1
μ = μ0 × μr = 1.257×10-6 × 2490 = 3.13×10-3 Hm-1
Rm = (Σl/A) / μ = 1420 / 3.13×10-3 = 4.55×105 A-t Wb-1
Al = 109 / Rm = 109 / 4.55×105 = 2200 nH per turn2
Hysteresis?
Example
?
Diamagnetic
No
No
No
water
Paramagnetic
No
Yes
No
Aluminium
Ferromagnetic
Yes
Quantity name
Quantity symbol
Unit name
Unit symbols
Base units
χ
permeability
alias absolute permeability
μ
henrys per metre
H m-1
kg m s-2 A-2
Duality with the Electric World
Quantity
Unit
Formula
Permeability
henrys per metre
μ = L/d
Permittivity
tính toán.
μr = μ / μ0
Thông thường khi nói đến độ từ thẩm thì có thể hiểu ngầm đó là từ thông
tương đối.
Trang 10
Approximate maximum permeabilities
Material
μ/(H m1
μr
)
Application
Ferrite U 60
1.00E-05
8
UHF chokes
Ferrite M33
9.42E-04
10000
Broadband transformers
Silicon GO steel
5.03E-02
40000
supermalloy
1.26
1000000
Nickel (99%
pure)
Dynamos, mains
transformers
Recording heads
Trang 11
2.
Thiết kế chƣơng trình
// standard constructor
Trang 12
float m_l;
float m_l2;
float m_induct;
float m_induct2;
int
m_n;
int
m_n2;
float m_a3;
float m_a4;
float m_induct3;
float m_induct4;
float m_l3;
float m_l4;
int
m_n3;
int
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately
before the previous line.
#endif //
!defined(AFX_COILDLG_H__15352B27_1D45_4EAB_9758_2CBD5CC5
2C02__INCLUDED_)
Trang 14
coilDlg.cpp : implementation file
//
#include "stdafx.h"
#include "coil.h"
#include "coilDlg.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DDX/DDV
Trang 16
// CCoilDlg dialog
CCoilDlg::CCoilDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCoilDlg::IDD, pParent)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCoilDlg)
DDX_Text(pDX, IDC_A, m_a);
DDX_Text(pDX, IDC_A2, m_a2);
DDX_Text(pDX, IDC_B, m_b);
DDX_Text(pDX, IDC_B2, m_b2);
DDX_Text(pDX, IDC_L, m_l);
DDX_Text(pDX, IDC_L2, m_l2);
DDX_Text(pDX, IDC_INDUCT, m_induct);
DDX_Text(pDX, IDC_INDUCT2, m_induct2);
DDX_Text(pDX, IDC_N, m_n);
DDX_Text(pDX, IDC_N2, m_n2);
DDX_Text(pDX, IDC_A3, m_a3);
DDX_Text(pDX, IDC_A4, m_a4);
DDX_Text(pDX, IDC_INDUCT3, m_induct3);
DDX_Text(pDX, IDC_INDUCT4, m_induct4);
DDX_Text(pDX, IDC_L3, m_l3);
DDX_Text(pDX, IDC_L4, m_l4);
DDX_Text(pDX, IDC_N3, m_n3);
DDX_Text(pDX, IDC_N4, m_n4);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCoilDlg, CDialog)
//{{AFX_MSG_MAP(CCoilDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING,
IDM_ABOUTBOX, strAboutMenu);
}
}
Trang 19
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);
// Set big icon
SetIcon(m_hIcon, FALSE);
// Set small icon
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CCoilDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CCoilDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CCoilDlg::OnCalinduct()
Trang 21
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if (!(m_n*m_a*m_l)) MessageBox(" Please input parameters!",
MB_OK);