2025年8月27日水曜日

NFCアンテナ(9)というかOpenEMS

受信側コイルに磁性体シートを貼るってかんじでOpenEMSで効果あるかどうかやってみる。


磁性体シートはあたかも磁束を集めるような効果があるので(たぶん)、受信側コイルの内側に配置すると通信距離が伸びるのではないか?って試み。
nfc_trx_analysis_main.mに磁性体シートを追加すると、こんな感じ
  1. function [freq s11 s21 s12 s22]=nfc_trx_analysis_main(
  2.   port_direction,
  3.   tx_coil_width,tx_coil_height,tx_coil_nturn,
  4.   rx_coil_width,rx_coil_height,rx_coil_nturn,
  5.   trx_distance,
  6.   disgeomplot
  7. )
  8.  
  9. physical_constants;
  10. unit=1e-3;
  11.  
  12. FDTD=InitFDTD('NrTS',6e6,'EndCriteria',1e-3);
  13. f0=14e6;
  14. fc=12e6;
  15. FDTD=SetGaussExcite(FDTD,f0,fc);
  16. BC={'MUR','MUR','MUR','MUR','MUR','MUR'};
  17. FDTD=SetBoundaryCond(FDTD,BC);
  18.  
  19. CSX=InitCSX();
  20. if port_direction>0
  21.   txport_excite=false;
  22.   rxport_excite=true;
  23. else
  24.   txport_excite=true;
  25.   rxport_excite=false;
  26. endif
  27. [CSX port1]=gen_small_loop_coil(
  28.   CSX,
  29.   'tx',
  30.   tx_coil_width,tx_coil_height,tx_coil_nturn,
  31.   0.2,0.4,0,
  32.   0.2,
  33.   1,1e-18,1,txport_excite,
  34.   0,0,trx_distance/2
  35. );
  36. [CSX port2]=gen_small_loop_coil(
  37.   CSX,
  38.   'rx',
  39.   rx_coil_width,rx_coil_height,rx_coil_nturn,
  40.   0.2,0.4,0,
  41.   0.2,
  42.   1,1e-18,2,rxport_excite,
  43.   0,0,-trx_distance/2
  44. );
  45.  
  46. ## magnetic material
  47. CSX = AddMaterial(CSX, 'mag_material');
  48. CSX = SetMaterialProperty(CSX, 'mag_material', 'Mue',140);
  49. x_mag=rx_coil_width/2-(rx_coil_nturn-1)*0.4-0.2-1;
  50. y_mag=rx_coil_height/2-(rx_coil_nturn-1)*0.4-0.2-1;
  51. z_mag=0.2/2;
  52. mag_origins=[0 0 -trx_distance/2];
  53. 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);
  54. ##
  55.  
  56. air_box=16;
  57. mesh_box_size=[20 20 16];
  58. mesh_box_resolution=16;
  59. mesh=DetectEdges(CSX);
  60. mesh.x=[-mesh_box_size(1) mesh.x +mesh_box_size(1)];
  61. mesh.y=[-mesh_box_size(2) mesh.y +mesh_box_size(2)];
  62. mesh.z=[-mesh_box_size(3) mesh.z +mesh_box_size(3)];
  63.  
  64. mesh=SmoothMesh(mesh,mesh_box_resolution);
  65.  
  66. mesh.x=[-air_box+mesh.x(1) mesh.x mesh.x(end)+air_box];
  67. mesh.y=[-air_box+mesh.y(1) mesh.y mesh.y(end)+air_box];
  68. mesh.z=[-air_box+mesh.z(1) mesh.z mesh.z(end)+air_box];
  69.  
  70. mesh=SmoothMesh(mesh,c0/(f0+fc)/unit/10,1.5,'algorithm',1);
  71.  
  72. mesh=AddPML(mesh,4);
  73.  
  74. disp(['number of cells: ' num2str(1e-6*numel(mesh.x)*numel(mesh.y)*numel(mesh.z)) 'Mcells'])
  75.  
  76. CSX=DefineRectGrid(CSX,unit,mesh);
  77.  
  78. Sim_Path=['tmp_' mfilename];
  79. Sim_CSX=[mfilename '.xml'];
  80. confirm_recursive_rmdir(0);
  81. [status,message,messageid]=rmdir(Sim_Path,'s');
  82. [status,message,messageid]=mkdir(Sim_Path);
  83. WriteOpenEMS([Sim_Path '/' Sim_CSX],FDTD,CSX);
  84. if disgeomplot==0
  85.   CSXGeomPlot( [Sim_Path '/' Sim_CSX],['--export-polydata-vtk=' Sim_Path ' --RenderDiscMaterial -v']);
  86. endif
  87. RunOpenEMS(Sim_Path,Sim_CSX);
  88.  
  89. port={port1 port2};
  90.  
  91. freq=linspace(f0-fc,f0+fc,10001);
  92. port_calc=calcPort(port,Sim_Path,freq,'RefImpedance',50);
  93.  
  94. s11=port_calc{1}.uf.ref./port_calc{1}.uf.inc;
  95. s21=port_calc{2}.uf.ref./port_calc{1}.uf.inc;
  96. s12=port_calc{1}.uf.ref./port_calc{2}.uf.inc;
  97. s22=port_calc{2}.uf.ref./port_calc{2}.uf.inc;
  98.  
  99. ##[fid,msg]=fopen('out.s2p','w');
  100. ##wdata=[freq' real(s11)' imag(s11)' real(s21)' imag(s21)' real(s12)' imag(s12)' real(s22)' imag(s22)'];
  101. ##dlmwrite(fid,wdata,'delimiter','\t');
  102. ##fclose(fid);
  103.  
  104. 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
うおー結合係数が上がっているーって言いたいけど、等価回路計算結果とOpenEMS結果の一致度がイマイチなんよねー、、、
ってのと、結合係数で比較したらざっくり1mmちょっとの改善くらいかなー;

0 件のコメント:

コメントを投稿