受信側コイルに磁性体シートを貼るってかんじでOpenEMSで効果あるかどうかやってみる。
磁性体シートはあたかも磁束を集めるような効果があるので(たぶん)、受信側コイルの内側に配置すると通信距離が伸びるのではないか?って試み。
nfc_trx_analysis_main.mに磁性体シートを追加すると、こんな感じ
- function [freq s11 s21 s12 s22]=nfc_trx_analysis_main(
- port_direction,
- tx_coil_width,tx_coil_height,tx_coil_nturn,
- rx_coil_width,rx_coil_height,rx_coil_nturn,
- trx_distance,
- disgeomplot
- )
-
- physical_constants;
- unit=1e-3;
-
- FDTD=InitFDTD('NrTS',6e6,'EndCriteria',1e-3);
- f0=14e6;
- fc=12e6;
- FDTD=SetGaussExcite(FDTD,f0,fc);
- BC={'MUR','MUR','MUR','MUR','MUR','MUR'};
- FDTD=SetBoundaryCond(FDTD,BC);
-
- CSX=InitCSX();
- if port_direction>0
- txport_excite=false;
- rxport_excite=true;
- else
- txport_excite=true;
- rxport_excite=false;
- endif
- [CSX port1]=gen_small_loop_coil(
- CSX,
- 'tx',
- tx_coil_width,tx_coil_height,tx_coil_nturn,
- 0.2,0.4,0,
- 0.2,
- 1,1e-18,1,txport_excite,
- 0,0,trx_distance/2
- );
- [CSX port2]=gen_small_loop_coil(
- CSX,
- 'rx',
- rx_coil_width,rx_coil_height,rx_coil_nturn,
- 0.2,0.4,0,
- 0.2,
- 1,1e-18,2,rxport_excite,
- 0,0,-trx_distance/2
- );
-
- ## magnetic material
- CSX = AddMaterial(CSX, 'mag_material');
- CSX = SetMaterialProperty(CSX, 'mag_material', 'Mue',140);
- x_mag=rx_coil_width/2-(rx_coil_nturn-1)*0.4-0.2-1;
- y_mag=rx_coil_height/2-(rx_coil_nturn-1)*0.4-0.2-1;
- z_mag=0.2/2;
- mag_origins=[0 0 -trx_distance/2];
- CSX=AddBox(CSX,'mag_material',1,[-x_mag -y_mag z_mag-0.05]+mag_origins,[x_mag y_mag z_mag+0.05]+mag_origins);
- ##
-
- air_box=16;
- mesh_box_size=[20 20 16];
- mesh_box_resolution=16;
- mesh=DetectEdges(CSX);
- mesh.x=[-mesh_box_size(1) mesh.x +mesh_box_size(1)];
- mesh.y=[-mesh_box_size(2) mesh.y +mesh_box_size(2)];
- mesh.z=[-mesh_box_size(3) mesh.z +mesh_box_size(3)];
-
- mesh=SmoothMesh(mesh,mesh_box_resolution);
-
- mesh.x=[-air_box+mesh.x(1) mesh.x mesh.x(end)+air_box];
- mesh.y=[-air_box+mesh.y(1) mesh.y mesh.y(end)+air_box];
- mesh.z=[-air_box+mesh.z(1) mesh.z mesh.z(end)+air_box];
-
- mesh=SmoothMesh(mesh,c0/(f0+fc)/unit/10,1.5,'algorithm',1);
-
- mesh=AddPML(mesh,4);
-
- disp(['number of cells: ' num2str(1e-6*numel(mesh.x)*numel(mesh.y)*numel(mesh.z)) 'Mcells'])
-
- CSX=DefineRectGrid(CSX,unit,mesh);
-
- Sim_Path=['tmp_' mfilename];
- Sim_CSX=[mfilename '.xml'];
- confirm_recursive_rmdir(0);
- [status,message,messageid]=rmdir(Sim_Path,'s');
- [status,message,messageid]=mkdir(Sim_Path);
- WriteOpenEMS([Sim_Path '/' Sim_CSX],FDTD,CSX);
- if disgeomplot==0
- CSXGeomPlot( [Sim_Path '/' Sim_CSX],['--export-polydata-vtk=' Sim_Path ' --RenderDiscMaterial -v']);
- endif
- RunOpenEMS(Sim_Path,Sim_CSX);
-
- port={port1 port2};
-
- freq=linspace(f0-fc,f0+fc,10001);
- port_calc=calcPort(port,Sim_Path,freq,'RefImpedance',50);
-
- s11=port_calc{1}.uf.ref./port_calc{1}.uf.inc;
- s21=port_calc{2}.uf.ref./port_calc{1}.uf.inc;
- s12=port_calc{1}.uf.ref./port_calc{2}.uf.inc;
- s22=port_calc{2}.uf.ref./port_calc{2}.uf.inc;
-
- ##[fid,msg]=fopen('out.s2p','w');
- ##wdata=[freq' real(s11)' imag(s11)' real(s21)' imag(s21)' real(s12)' imag(s12)' real(s22)' imag(s22)'];
- ##dlmwrite(fid,wdata,'delimiter','\t');
- ##fclose(fid);
-
- endfunction
磁性体シートに厚みをもたせたせいでシミュレーション時間がめっちゃ伸びたー;受信側コイルの等価回路を出してみると
記号 | 磁性体あり | 磁性体なし |
L[nH] | 721.038592 | 644.510935 |
Rs[ohm] | -3.89987876 | 0.683139303 |
Cp[pF] | -5.81069019 | 1.61053898 |
Rp[ohm] | 674.748742 | 4262222.68 |
(Cpadd)[pF] | 196 | 213 |
んで、結合係数を出してみる。
コイル間距離[mm] | 磁性体あり | 磁性体なし |
2 | 0.1708 | 0.1616 |
4 | 0.1534 | 0.1448 |
12 | 0.0819 | 0.0775 |
20 | 0.0426 | 0.0403 |
0 件のコメント:
コメントを投稿