APP下载

透射电镜表征晶体结构的程序设计原理

2024-03-02任令祺陈亮维

关键词:透射电镜晶面晶体结构

任令祺,陈亮维,梁 琦,李 毅,虞 澜

(昆明理工大学 材料科学与工程学院,云南 昆明 650093)

通过衍射方法测定晶体的结构,能够详细地了解晶体内部原子及分子水平上的微观结构信息[1-2].检测单晶体的晶体结构对于中国制造业有着重要意义,特别是以生产高纯度单晶硅片和锗单晶为主的芯片行业.针对所需单晶体高纯度、高品质这一要求,检测其晶体结构是否存在缺陷是必不可少的质量检测环节.未知新相的单晶衍射结构表征方法主要有四圆单晶衍射法、透射电子衍射法以及电子背散射衍射[3-6].在四圆单晶衍射仪中样品处于大气环境中,在透射电镜中样品则处于高真空环境中,探头都是面探,两者的衍射花样性质和特征完全相同,只是光源不同.但这2 个仪器对样品的要求完全不同,四圆单晶衍射仪要求样品的大小10~200 μm,样品观察自由度高,然而透射电镜要求样品厚度不超过30 nm,样品观察自由度低.用四圆单晶衍射仪表征未知新相的晶体结构时,获得的实验数据很多,但真正用于晶体结构解析的数据却不多.四圆单晶衍射实验数据的分析完全可以借鉴透射电镜电子衍射的数据分析,其方法基本相同.电子背散射衍射的光路与透射衍射的光路完全不同,衍射花样也完全不同.目前电子背散射衍射分析软件的智能化水平较高,四圆单晶衍射分析软件和透射电镜电子衍射分析软件主要由仪器厂家提供.国内的透射电镜设备研制目前基本停止,辽宁丹东通达科技公司成功研制了四圆单晶衍射仪,但实验数据分析软件仍是进口的.国内大型科学仪器的数据分析操作系统的研发目前处于蓬勃发展阶段[7-11].本文从晶体结构和衍射原理出发,对自主设计透射衍射数据采集程序和数据分析程序作初步的探索.

1 单晶衍射数据采集程序设计

在四圆单晶衍射仪中,样品的旋转自由度和信号探测器运动自由度非常大.采集实验数据的方式可以分为样品不动,信号探测器有规律地运动和信号探测器不动,样品台有规律地运动,或者两者的组合.有商用的数据采集操作系统和衍射数据分析程序.在透射电镜中电子观察屏是固定的,样品台只能做有限的旋转运动,沿水平轴可以转动±40°,有实现智能化操作的前景,可以按下面的构想做一些智能化改进.

(1) 样品台可以自动前后左右平移,调整观察范围,直至出现单一物相单一晶体的类似平行四边形的一套衍射斑花样,实现智能化识别,并自动记录样品观察处的坐标,定义该条件下样品台转动的起始角α为0°;

(2) 旋转样品台,改变检测面(B晶带轴),当重新获得的衍射斑点网格为正方形、长方形和等边三角形等高对称性图形时,自动记录α值和保存新获得的衍射花样.即在同一观察区内,旋转样品台至少2~3 次,拍下2~3 套衍射花样,并记下前次拍照与后次拍照样品旋转的角度,旋转角度α值反映了2 个晶带轴的夹角;

(3) 重复上述步骤,采集新的实验数据.对任意单晶体,当检测面是{001}、{110}和{111}等低指数的晶面时,或晶带轴B是<001>、<110>和<111>等对称性最高的方向时,衍射斑点形成的网格对称性最高.在实践中是边旋转样品台,边观察衍射花样的网格,当出现对称性最高的衍射花样时拍照并记下样品台的位置,操作过程就是寻找{001}、{110}和{111}等低指数检测面的衍射花样的过程.记录旋转角度α值,反映了2 个晶带轴的夹角,是表征晶体结构的重要参数,传统的表征方法忽略了这个参数.获得低指数检测面的衍射花样和样品旋转角度α值,能极大地简化新相晶体结构的表征过程,甚至可以直接获得晶格点阵常数的信息.一个检测面的衍射花样不能揭示立体的三维信息,即不能解析出三维的晶体结构信息.值得注意的是,目前透射电镜样品台沿水平轴只有80°的转动余地.从单晶衍射花样与晶体结构及取向的数理关系可知,基本晶带轴<100>、<110>和<111>之间的夹角都在80°内.在实际操作过程中,尽管TEM 本身的限制,旋转角在80°范围内,样品在亚微米以内,这个方案是完全可以实施的.

2 单晶衍射数据分析程序设计及功能

2.1 单晶衍射花样分析的数学模型任意单晶透射电子衍射斑点花样遵守共同的规律,除中心斑点O外,每一个斑点都对应一个产生衍射的晶面及其晶面指数(hkl),衍射晶面要满足所在晶系和点阵的衍射指数规律,结构因子F≠ 0,同时还要满足晶带轴定律,hu+kv+lw=0,其中B代表晶带轴[uvw],中心斑指向衍射斑点是一个倒易矢量,其模是中心斑点O与衍射斑点间的长度,其大小与对应的(hkl)晶面距的倒数成正比,其比值就是相机常数,因设备和工作条件而变化,在程序中设计时由操作者输入相应的相机常数.任意2 个衍射斑点A(h1k1l1)和B(h2k2l2),与O组成的夹角∠AOB等于晶面(h1k1l1)和(h2k2l2)之间的夹角,可根据其所在晶系晶面夹角公式计算得到;根据平行四边形法则或矢量加法,必然存在一个衍射斑点C(h3k3l3),其中h3=h1+h2,k3=k1+k2,l3=l1+l2.所有的衍射斑点对应的晶面有一条共同的晶带轴B[uvw],B也可理解为样品检测面的法向,B等于任意2 个不同方向的衍射斑点对应的倒易矢量的矢量叉积[12-13].利用上述规则可以绘制分析任意晶系、任意点阵和任意晶带轴B的单晶标准衍射斑点图.

2.2 程序功能在程序的主菜单中添加了理论衍射花样的计算功能,设计有花样计算图标,点击时出现下拉菜单,列出了七大晶系名称,选择其中1个时又出现1 个下拉子菜单,列出了对应的点阵符号,当选择一种点阵后,出现了1 个参数输入对话框,要求输入晶胞参数、相机常数和晶带轴B,输入完成后,点确认就自动列出计算结果,在文件菜单的下拉菜单中可以输出计算结果,同时自动更新了标准数据库中对应的值.例如计算面心立方晶体的B=[001]的透射衍射花样,如图1 (a)所示.在图1 (a)中衍射斑点(200)和(020)到中心斑的距离都等于2/a,其中假定相机常数为1,它们与中心斑连线的夹角为90°,同样B=[011]的衍射花样如图1 (b)所示.

图1 面心立方晶体透射衍射花样Fig.1 The transmission electron diffraction pattern of face center cubic crystal

在主菜单中设置帮助功能,该功能介绍程序的使用和透射衍射知识,例如把立方、四方、正交、六方和菱方晶系单晶衍射花样特征经前面的计算功能计算汇编成表1~5 所示.表中a、b、c和γ是表示对应晶胞的晶格点阵常数,B表示样品检测面的法线方向.用户可以根据这5 个表,自我验证实测衍射斑点花样程序输出结果的正确与否.

表1 立方晶系单晶衍射花样特征 (1 表示长方形的面心有衍射斑点)Tab.1 Characteristics of single crystal diffraction patterns in the cubic system (1 showing diffraction spots in the face center of rectangle)

表2 四方晶系单晶衍射花样特征 (1 表示正方形或长方形的面心有衍射斑点)Tab.2 Characteristics of single crystal diffraction patterns in the tetragonal system (1 showing diffraction spots in square or rectangular faces)

表3 正交晶系单晶衍射花样特征 (1 表示长方形的面心有衍射斑点)Tab.3 Characteristics of single crystal diffraction patterns in the orthorhombic system (1 showing diffraction spots in the face center of rectangle)

表4 六方晶系单晶衍射花样特征Tab.4 Diffraction pattern characteristics of hexagonal single crystal

表5 菱方晶系单晶衍射花样特征 (γ=60°)Tab.5 Diffraction pattern characteristics of rhombohedral single crystal system (γ=60°)

在主菜单中设计了一般对比功能,图标为S/M1,该功能只适合于材料成分信息是己知的.点击时出现对话框,输入所测材料可能存在的晶系、点阵类型、晶胞参数及相机常数等参数后,实测衍射花样与标准衍射花样自动对照,然后输出结果,给出了晶带轴值和各斑点的指标化和晶格点阵参数等信息,可以保存成多种图片格式,这是寻找结果最简单的方法.

在主菜单中设计了特殊比对功能,图标为S/M2,该功能只针对被检测材料晶体结构和成分都是未知的.由表1~5 可知,晶带轴变化,衍射花样也随之变化.输入同一个观察区域内2 至3 个透射电子衍射花样及相邻2 个衍射花样对应的晶带轴B之间的夹角,进行智能化比较,由此获得比较准确的晶体结构信息及衍射花样指标化的信息.在Python 语言中要多次用到条件语句,虽然看似很复杂,实际上晶系有7 种,点阵只有14 种,用来计算的基本晶带轴只考虑<100>、<110>和<111>等3 种,对称的衍射斑点花样与晶体结构关系对应的条件是非常有限的,可以编成程序使特殊比较功能变简单化.

例如某单晶体在透射电子衍射观察时假若出现了正方形的网格斑点,小心把样品台旋转45°(α2值),若出现长宽比是的长方形网格,并且其中心也有斑点的衍射花样.输出的结果表明该晶体就是面心立方结构,斑点的指标化如图1(a)和1(b)所示.如果其中心没有出现衍射斑点,输出结果提示该晶体是简单立方结构或体心立方结构,需要进一步实验.

本方法仅适用于单晶分析,光源可以是电子、X 光射线,甚至是中子,衍射光路是透射,即光源和探测器分布在样品的两侧.多晶透射衍射的花样是多个同心圆,在此不介绍,2 颗或2 颗以上的单晶衍射透射衍射花样比较复杂,目前软件分析尚不能解决此类问题.相比较传统的粉末衍射法,即利用多条衍射的d值就可以反推出晶胞参数及各个衍射峰的Miller 指数,在TEM 视野内选尽可能多的晶体颗粒,首先不能保证这些颗粒是同一个物相,其次非常耗时间,如果想利用透射衍射测出的多个晶面间距值,输入到粉末衍射指标化软件,计算晶体结构信息,不可能获得满意的结果,从理论分析可知,可以得出符合条件的很多解.在实践中观察同一颗单晶,通过在80°范围内旋转,理论和实际上很容易找到3 个基本晶带轴的衍射花样特征,对照本文中的表,及操作时转动的角度,即直接可知该晶体的结构参数.

3 结论

本文根据透射电子衍射单晶表征法求解未知晶体结构的原理,利用Python 语言设计透射衍射实验数据的智能化分析方法,若材料名称和晶体结构已知,只需用一般的检索S/M1,就可以自动标定实测衍射花样;若材料名称和晶体结构皆未知,就需要用特殊检索S/M2.列举了面心立方结构衍射花样晶体结构解析过程,简化了单晶结构表征.软件中添加了常见晶体在特定晶带轴下的衍射花样特征的计算功能,在帮助功能中列表汇总了多数晶体在基本晶带轴下的衍射花样特征的计算结果.这对初学者掌握单晶结构表征的核心知识和促进单晶结构表征技术的推广具有重要的参考意义.软件工程师根据此方法可设计并不断完善单晶衍射智能分析软件,促进整个晶体结构分析检测行业的技术进步.

猜你喜欢

透射电镜晶面晶体结构
乙酸乙酯与ε-CL-20不同晶面的微观作用机制
电子显微学专业课的透射电镜样品制备实习课
化学软件在晶体结构中的应用
透射电子显微镜在实验教学研究中的应用
NaCl单晶非切割面晶面的X射线衍射
基于大数据的透射电镜开放共享实践与探索
(100)/(111)面金刚石膜抗氧等离子刻蚀能力
不同硅晶面指数上的类倒金字塔结构研究与分析∗
透射电镜中正空间—倒空间转换教学探讨
镍(II)配合物{[Ni(phen)2(2,4,6-TMBA)(H2O)]·(NO3)·1.5H2O}的合成、晶体结构及量子化学研究