用于对交通工具的车载充电器进行预充电的方法和系统与流程

文档序号:16534048发布日期:2019-01-05 11:02阅读:404来源:国知局
用于对交通工具的车载充电器进行预充电的方法和系统与流程

本发明涉及对交通工具的车载充电器(obc)进行预充电。

背景

电动交通工具的车载充电器(obc)用于对交通工具的牵引用电池进行充电。obc使用来自市电电源的电功率为电池充电。来自市电电源的电功率是ac电功率。电池要使用dc电功率进行充电。obc具有输入端,其连接到市电电源,供obc接收来自市电电源的ac电功率。obc将从市电电源接收到的ac电功率转换为dc电功率。obc具有连接到电池的输出端。obc将从ac电功率转换的dc电功率提供给电池,以用于对电池进行充电。

obc具有一个或更多个内部大容量电容器(统一地,“dc侧电容器”)。dc侧电容器使用从ac电功率转换的dc电功率进行充电以具有dc电压(“dc侧电压”)。在obc的稳定操作模式中,dc侧电压是升高的恒定dc电压。dc侧电容器通过dc/dc转换器和一般断开开关连接到牵引用电池。dc/dc转换器用于电压适应,因为牵引用电池电压可以在相对宽的范围(例如200v-400v)内变化,而dc侧电压被预期是恒定的。

在obc的预充电操作模式中,dc侧电容器将被充电为升高的恒定dc电压。在预充电操作开始时,dc侧电压为零伏或低电压(即,dc侧电容器被放电或几乎被放电)。dc侧电容器应逐步被充电,以便避免浪涌电流。浪涌电流可能损坏obc或市电电源的内部部件。

概述

目的是车载充电器(obc)的预充电控制策略。

另一个目的是在交通工具obc中使输入浪涌电流峰值最小化的软启动控制策略。

另一个目的是在交通工具obc中提供对国内网络(即市电电源)噪声的抗扰性的软启动控制策略。

另一个目的是通过受控触发obc的功率开关以避免可能否则损坏国内网络或obc的部件的浪涌电流来提供交通工具obc的内部大容量电容器(即,dc侧电容器)的软充电。

提供了一种obc。该obc包括:被配置为接收具有多个周期的ac电压的开关,每个周期包括奇半周期和偶半周期;连接到开关并且可连接到电动交通工具的牵引用电池的电容器;频率传感器;以及控制器。电容器可以通过具有断开元件的dc/dc转换器或不具有断开元件的dc/dc转换器连接到牵引用电池。频率传感器被配置为在ac电压的第一周期的奇半周期期间基于在第一周期的奇半周期的零电压交叉之间的经过时间且不基于ac电压的任何其他零电压交叉来检测第一周期的ac电压的瞬时频率。控制器被配置为在第一周期的偶半周期期间在取决于第一周期的ac电压的瞬时频率的第一触发时间闭合开关。电容器能够在开关闭合时通过开关用ac电压进行充电。

提供了另一种obc。该obc包括:第一开关,其被配置为接收具有多个周期的ac电压,每个周期包括奇半周期和偶半周期;第二开关,其被配置为接收ac电压;电容器,其连接到第一开关和第二开关并且可连接到电动交通工具的牵引用电池;传感器;以及控制器。电容器可以通过具有断开元件的dc/dc转换器或不具有断开元件的dc/dc转换器连接到牵引用电池。该传感器被配置为在ac电压的第二周期的奇半周期期间基于在ac电压的第二周期的奇半周期的电压峰值和第一周期的偶半周期的电压峰值之间的经过时间来检测第二周期的奇半周期的ac电压的瞬时频率。控制器被配置成在第二周期的奇半周期期间在取决于第二周期的奇半周期的ac电压的瞬时频率的第一触发时间闭合第一开关。电容器能够在第一开关闭合时通过第一开关用ac电压进行充电。

提供了一种用于obc的方法。该obc包括配置为接收具有多个周期的ac电压的开关。每个周期包括奇半周期和偶半周期。该obc还包括连接到开关并且可连接到电动交通工具的牵引用电池的电容器。电容器可以通过具有断开元件的dc/dc转换器或不具有断开元件的dc/dc转换器可连接到牵引用电池。该方法包括在ac电压的第一周期的奇半周期期间基于在第一周期的奇半周期的零电压交叉之间的经过时间且不基于ac电压的任何其他零电压交叉来检测第一周期的ac电压的瞬时频率。该方法还包括在第一周期的偶半周期期间在取决于第一周期的ac电压的瞬时频率的第一触发时间闭合开关,其中该电容器能够在开关闭合时通过开关用ac电压进行充电。

该方法还可以包括在ac电压的第二周期的奇半周期期间基于在第二周期的奇半周期的零电压交叉之间的经过时间且不基于ac电压的任何其他零电压交叉来检测第二周期的ac电压的瞬时频率,以及在第二周期的偶半周期期间在取决于第二周期的ac电压的瞬时频率的第二触发时间闭合开关。

附图说明

图1示出了车载充电器(obc)的电路和框图;

图2示出了在dc侧电容器的预充电操作期间输入到obc的整流器的(经整流的)输入ac电压v输入(t)和obc的输出dc侧电容器的三个不同的产生的电容器电压vc(t)的曲线图,其中obc使用来自输入ac电压的电功率来逐步地对dc侧电容器充电;

图3示出了描绘用于将dc侧电容器充电至升高的恒定dc电压的obc的预充电操作模式的步骤的框图;

图4示出了输入到obc的整流器的(经整流的)输入ac电压v输入(t)的两个周期、整流器的晶闸管在两个周期中被激活用于按照第一预定电容器电压分布对dc侧电容器充电时的第一组时段和晶闸管在两个周期中被激活用于按照第二预定电容器电压分布对dc侧电容器充电时的第二组时段的曲线图;

图5示出了描绘根据本发明的实施例的用于对dc侧电容器进行预充电的顺序测量触发策略的操作的曲线图;

图6示出用于说明在dc侧电容器的预充电期间晶闸管何时闭合和断开的、dc侧电容器的输入ac电压v输入(t)和期望预定电容器电压分布v输出_期望(t)的曲线图;以及

图7示出了描绘根据本发明的实施例的用于对dc侧电容器进行预充电的流水线式测量触发策略的操作的曲线图。

详细描述

本文公开了本发明的详细的实施例;然而,应理解,所公开的实施例仅是本发明的示例,本发明可以以各种形式和可选择形式来实施。附图不一定按比例绘制;一些特征可能被放大或最小化以示出特定部件的细节。因此,本文中所公开的特定的结构细节和功能细节不应被解释为限制性的,而是仅仅作为用于教导本领域中的技术人员以各种方式利用本发明的代表性基础。

现在参考图1,示出了车载充电器(obc)10的电路和框图。obc10是在电动交通工具上车载的。obc10用于给交通工具的牵引用电池12(或其他负载)充电。obc10包括充电器功率级14。充电器功率级14从市电电源(即,国内网络电源)16接收ac电功率,将接收到的ac电功率转换成dc电功率,并且通过dc/dc转换器15和断开元件(即,开关)17用dc电功率对牵引用电池12充电。

充电器功率级14包括输入滤波器18、全桥整流器20、功率因数转换器(pfc)22和dc侧电容器(“c大容量”)24。输入滤波器18在充电器功率级14的输入侧处。整流器20跟随输入滤波器18。pfc22跟随整流器20。dc侧电容器24在充电器功率级14的输出侧处。dc侧电容器24是共同构成dc侧电容器的一个或更多个大容量电容器。

输入滤波器18连接到市电电源16以接收来自市电电源的ac市电电压(v市电(t))。ac市电电压具有例如在100v-240v的范围内的均方根(rms)电压和50或60hz的频率。输入滤波器18对ac市电电压进行滤波以从其剔除高频噪声。输入滤波器18将滤波后的ac市电电压作为输入ac电压(v输入(t))输出到整流器20。

整流器20将输入ac电压整流为输出dc电压(v输出(t))。整流器20包括以全桥(即菱形)配置连接的四个整流元件。整流元件包括第一二极管d1和第二二极管d2以及第一晶闸管tr1和第二晶闸管tr2。晶闸管tr1、tr2分别具有触发输入电压vtr1和vtr2。当晶闸管接通时,电流可以流过晶闸管。也就是说,晶闸管(即开关)闭合。相反,当晶闸管切断时,电流不能流过晶闸管。也就是说,晶闸管断开。

导体将晶闸管连接到pfc22。特别地,第一晶闸管tr1和第二晶闸管tr2的阴极连接到彼此和pfc22。第一二极管d1和第二二极管d2的阳极彼此连接。第一二极管d1的阴极连接到第一晶闸管tr1的阳极,而第二d2的阴极连接到第二晶闸管tr2的阳极。

pfc22并联连接到dc侧电容器24。充电器功率级14还包括第三二极管d3。第三二极管d3将整流器20连接到dc侧电容器24,同时旁路pfc22。如下面所解释的,第三二极管d3在预充电周期期间是旁路。

dc侧电容器24连接到dc/dc转换器15的输入端。因此,dc侧电容器24的电容器电压(vc(t))是到dc/dc转换器15的输入dc电压。dc/dc转换器15的输出端通过断开元件17连接到牵引用电池12。电容器电压因此是从用于对牵引用电池12充电的充电器功率级14提供的dc电功率的dc电压。

obc10有两种操作模式:稳定操作模式和预充电操作模式。在稳定操作模式中,dc侧电容器24保持在升高的恒定dc电压下进行充电。在稳定操作模式期间,pfc22接收来自整流器20的输出dc电压v输出(t)。pfc22改善输出dc电压v输出(t)的ac/dc转换(例如,效率、平滑度等)。如图1所示,pfc22包括用于改善ac/dc转换的功率开关晶体管等。pfc22用输出dc电压给dc侧电容器24充电。dc侧电容器24因此具有由输出dc电压充电得到的电容器电压vc(t)。

在预充电操作模式中,dc侧电容器24将被充电到升高的恒定dc电压。第三二极管d3在预充电周期期间是旁路。在预充电操作开始时,dc侧电容器24的电容器电压为零伏特或低电压(即,dc侧电容器被放电或几乎被放电)。dc侧电容器24将以避免浪涌电流的方式逐步进行充电。当晶闸管tr1或tr2导通时,输入电流i输入(t)是输入ac电压v输入(t)的函数。在这种情况下,充电电流流过第三二极管d3,因为主要是电感性的pfc22阻断任何杂散电流流动。另一方面,为了使晶闸管tr1或tr2导通,必须有在相应晶闸管栅极输入vtr1或vtr2中的脉冲连同在阳极v输入(t)和阴极vc(t)之间的正电压,即(v输入(t)>vc(t))。这意味着,只需要触发晶闸管tr1和tr2导通(闭合),并且每当电容器电压vc(t)电压大于输入ac电压v输入(t)时晶闸管tr1和tr2将切断(断开)。因此,晶闸管将在输入ac电压v输入(t)的任何零交叉(最小电容器电压vc(t)为零伏)处切换到断开。

现在参考图2,继续参考图1,示出了在预充电操作期间的输入到obc10的整流器20的(经整流的)输入ac电压v输入(t)和dc侧电容器24的三个不同的产生的电容器电压vc(t)的曲线图30,其中dc侧电容器使用来自输入ac电压的电功率被逐渐充电。曲线图30包括输入ac电压v输入(t)的曲线32、第一产生的电容器电压vc(t)的曲线34、第二产生的电容器电压vc(t)的曲线36和第三产生的电容器电压vc(t)的曲线38。

在预充电操作期间,因为通过使用输入ac电压v输入(t)的短脉冲来控制对dc侧电容器24的充电,所以根据每个脉冲的持续时间以及在输入ac电压v输入(t)和输出电容器电压vc(t)之间的电压差,将存在电流峰值的不同值。输入ac电压v输入(t)具有以下表达式:

v输入(t)=v市电*sin(2*π*t/t市电)(1)

其中,t市电是输入ac电压的周期,以及v市电是输入ac电压的最大值。在图2中示出的曲线32代表(经整流的)输入ac电压。

可能的策略是使用具有w#i=#i*t市电/(4*nc)的宽度的线性较长的脉冲,其中nc是执行电容器预充电的脉冲的数量。在图2中示出的曲线34表示产生的电容器电压。问题是,该策略产生相对大的电流,尤其是在当电容器24完全放电时的预充电操作开始时。

因此,为了控制和限制电流而不是直接固定脉冲的宽度,根据用于对dc侧电容器24(即,obc10的输出电容器)进行预充电的各种实施例的方法和系统包括预先确定输出电容器电压vc(t)的分布。让该电压被称为v输出_期望(t)。例如,v输出_期望(t)可以被设置为例如:

v输出_期望(t)=v市电*t/tf(2)

其中tf=nc*t市电–t市电/4=t市电/4*[4nc-1]。

输出电容器电压vc(t)的另一个合适的分布可以是:

v输出_期望(t)=v市电*sin2[π/2*t/tf](3)

在图2中所示的曲线36和38分别表示按照表达式(2)和(3)的产生的电容器电压。t市电和tf也在图2的曲线图30中示出。

现在将更详细地描述根据用于对obc10进行预充电的各种实施例的方法和系统。

如图1所示,obc10还包括微控制器(“控制器”)40、晶闸管t1和t2的栅极驱动器42以及国内网络(即市电电源)检测器44。控制器40是被配置为接收传感器信号并基于传感器信号生成控制信号的电子处理器等。栅极驱动器42被配置为分别向晶闸管tr1和tr2提供触发输入电压vtr1和vtr2。

检测器44被配置为检测(即测量)输入ac电压v输入(t)的瞬时频率。检测器44可以检测输入ac电压的零电压交叉时间以确定输入ac电压的频率。检测器44可以基于输入ac电压的紧接的前两个零电压交叉时间来检测输入ac电压的瞬时频率。检测器44还被配置为检测输入ac电压的瞬时电压(例如,最大值或rms值)。

控制器40可以使用检测到的输入ac电压v输入(t)的频率和电压来控制对obc10的预充电。也就是说,控制器40可以基于输入ac电压的频率和电压来控制栅极驱动器42以在被确定为合适的时间触发晶闸管tr1和/或tr2,用于对obc10的预充电。控制器40还可以基于输入ac电压的检测到的频率来预测何时是输入ac电压的下一个零电压交叉时间。控制器40可以使用这样的所预测的下一个零电压交叉时间来进一步控制对obc10的预充电。

现在参考图3,继续参考图1和2,示出了描绘obc10的预充电操作模式的步骤的框图50。预充电操作模式在obc10连接到市电电源16时开始,如由开始点52所指示的。dc侧电容器24具有零伏特或者用相对小的电压进行充电,且因此针对要达到的obc10的稳定操作模式将被预充电到升高的dc电压值。输入ac电压v输入(t)被提供给obc10的整流器20,同时obc被连接到市电电源16。

如由块54所指示的,控制器40最初进行国内网络(即市电电源)特征化。国内网络特征化涉及检测器44检测输入ac电压v输入(t)的电压,如由块56所指示的。国内网络特征化还涉及检测器44检测输入ac电压v输入(t)的频率(平均值),如由块58所指示的。控制器40接收关于输入ac电压v输入(t)的检测电压和频率的信息,以被通知输入ac电压的一般特性(例如,120v/60hz)。

在由块54指示的国内网络特征化之后,控制器40实现控制回路,其中控制器控制dc侧电容器24的逐渐充电,直到电容器电压vc(t)对应于期望升高的dc电压值为止。控制回路的操作包括如由块60所指示的检测电容器电压vc(t)。控制器将这个检测到的电容器电压vc(t)与期望升高的dc电压值进行比较,以确定dc侧电容器24是否被适当地充电,如由判定块62所指示的。当电容器电压vc(t)达到期望升高的dc电压值时,dc侧电容器24被适当地充电。如果dc侧电容器24被适当地充电,则控制回路结束,如由端点64所指示的,并且obc10的稳定操作模式开始。

如果dc侧电容器24还没有被适当地充电,则控制回路的迭代序列出现。如在块66中所指示的,每个迭代都涉及检测器44检测输入ac电压v输入(t)的频率的瞬时值,控制器40确定当晶闸管tr1或tr2被触发时的触发时间,如由块68所指示的,以及栅极驱动器42在触发时间触发晶闸管,如由块70所指示的。控制器40基于输入ac电压的频率的检测到的瞬时值来确定触发时间。除了使用输入ac电压的频率的瞬时值之外,控制器40还可以使用输入ac电压的检测到的电压(例如,最大值或rms值)来确定触发时间。

当晶闸管被触发时,输入ac电压v输入(t)经由所触发的晶闸管通过整流器20和第三二极管d3被提供给dc侧电容器24以对dc侧电容器充电。当输入ac电压v输入(t)大于电容器电压vc(t)时,充电出现,直到输入ac电压v输入(t)达到零电压交叉时间为止。控制回路的迭代序列的当前迭代终止于输入ac电压v输入(t)的零电压交叉时间。重复迭代序列的后续迭代,直到dc侧电容器24被适当地充电为止。

现在参考图4,继续参考图2,示出了输入到整流器20的(经整流的)输入ac电压v输入(t)的两个周期(即,波周期)、整流器的晶闸管在两个周期中被激活用于按照表达式(2)的预定电容器电压分布对dc侧电容器24充电时的第一组时段和晶闸管在两个周期中被激活用于按照表达式(3)的预定电容器电压分布对dc侧电容器充电时的第二组时段的曲线图的曲线图80。曲线82表示(经整流的)输入ac电压v输入(t),曲线84表示按照表达式(2)的预定电容器电压分布v输出_期望(t),以及曲线86表示按照表达式(3)的预定电容器电压分布v输出_期望(t)。(回想v输出_期望(t)是电容器电压vc(t)的预定分布。)

控制器40通过找出在周期的最后部分(t>t市电/4)中v输出_期望(t)>v输入(t)时的时间间隔来计算晶闸管在输入ac电压v输入(t)的每个周期中将被激活时的阶段(tpwm_thy_#i)。图4示出了对表达式(3)由曲线84标记并且对表达式(4)由曲线86标记的v输出_期望(t)的两个连续周期的tpwm_thy_#i。每个tpwm_thy可以由控制器40在obc10的运行时间期间确定,或者可以被预先计算并存储为控制器中的查找表。

在控制器40实时地计算tpwm_thy_#i的值(不使用查找表)的情况下,控制器40可以使用不同的策略。两种不同的策略包括顺序测量触发策略和流水线式测量触发策略。

图5示出了描绘用于对dc侧电容器24进行预充电的顺序测量触发策略的操作的曲线图。该描绘具有nc=3的条件。

图5的顶部曲线图90示出了用于找到tpwm_thy_#i的数学函数。基于表达式(1)的(经整流的)输入ac电压abs(v输入(t))由曲线92示出。期望预定电容器电压分布v输出_期望(t)(例如按照表达式(2))由曲线94示出。该策略被称为顺序的,因为tzc_time在一个半周期(即全周期的半周期)(被称为“奇”)中被测量并且在下一个半周期(即,全周期的另一个半周期)(被称为“偶”)中被用来找到当晶闸管应被触发时的时间间隔tpwm_thy_#i。这些时间间隔(也被称为激活脉冲)由曲线图96示出。注意,tzc_time=t市电/2。

图5的中间曲线图100示出了实际(经整流的)输入ac电压abs(v输入(t))和电容器电压vc(t)。注意,tzc_time不能在“偶”半周期中被测量,因为当晶闸管被激活时,它将输入ac电压“向下拉”至dc侧电容器电压vc(t)。因此,当v输入(t)越过零时,测量瞬时值是不可能的。换言之,基于零交叉电路或最小值的任何频率测量将受预充电过程本身影响。因此,根据用于对obc10进行预充电的各种实施例的方法和系统交替地使用分开的频率测量阶段和触发阶段(交替的测量和触发阶段),如在图5的底部曲线图110中所示的。

进一步参考图5,顺序测量触发策略如下操作。

让被称为“flag”的变量指示系统在下一个循环中应该做什么:

flag=0→什么也不做

flag=1→闭合晶闸管

flag=2→断开晶闸管

该算法在输入ac电压的每个周期(从1到nc)期间被执行。这意味着该算法需要总共运行1到2*nc个半周期。

在每个第一半周期中,对应于半周期的数量的计数器的“奇数”值,完成t市电、v市电和vc(t)的实际值的测量。通过监测在半周期开始和结束时输入ac电压v输入(t)的零交叉来测量t市电。通过监测在半周期期间输入ac电压的最大值或通过监测在半周期期间输入ac电压的rms值来测量v市电。电容器电压vc(t)在该半周期期间是近似恒定的,且因此可以在半周期期间的任何时间被监测。

在每个第二半周期中,对应于该半周期的数量的计数器的“偶数”值,是何时完成激活或去激活晶闸管的条件。该策略将在由被称为t步的给定时间分离的定期的时间点进行执行。例如,如果t市电=20ms且t步=1μs,则n步=2000。

现在考虑图6。图6示出了输入ac电压v输入(t)(由曲线122表示)和期望预定电容器电压分布v输出_期望(t)(由曲线124表示)的曲线图120,其用于解释在dc侧电容器24的预充电期间晶闸管何时闭合和断开。在图6中,假定n步=15。当算法评估用于激活或去激活晶闸管的条件时的所有周期性点在图6中标记为从1到15。在这个循环开始时,flag=0。令j=1。该算法运行直到条件(flag==0)为止,并评估v输入(1*t步)、v输入(3*t步)、v输出_期望(1*t步)、v输出_期望(3*t步),并执行操作v输入(1*t步)>v输出_期望(1*t步)andv输入(3*t步)<v输出_期望(3*t步)。因为显然这个条件在循环开始时没有被满足,flag将不改变状态并且将对j=1结束循环。在下一个循环(j=2)中,因为flag=0,没有晶闸管的激活将被完成。

现在考虑j=10。flag将仍然等于0。当算法达到条件(flag==0)时,将评估v输入(10*t步)、v输入(12*t步)、v输出_期望(10*t步)、v输出_期望(12*t步),并且将执行操作v输入(10*t步)>v输出_期望(10*t步)和v输入(12*t步)<v输出_期望(12*t步)。在这种情况下,条件为真并且flag将被设置为1。换句话说,当j=11时,输入ac电压v输入(t)和期望电容器电压v输出_期望(t)交叉(交叉点126)。因此,它是触发晶闸管以在该电压值下对dc侧电容器24充电的期望时间。

当条件(flag==1)andv输入(t当前+t保护)<0为真时,flag将被设置为2。例如,假设t保护=3*t步。在这种情况下,当j=13时,v输入(16*t步)<0并且flag将被设置为2。因此,当j=14时,晶闸管将被去激活。

“顺序测量触发策略”的控制算法如下:

图7示出了描绘用于对dc侧电容器24进行预充电的流水线式测量触发策略的操作的曲线图。该策略可以使用相同电流或更小的电流使用与之前的策略相同的预充电时间产生更快的预充电。

图7的顶部曲线图130示出了用于找到tpwm_thy_#i的数学函数。基于表达式(1)的(经整流的)输入ac电压abs(v输入(t))由曲线132示出。期望预定电容器电压分布v输出_期望(t)(例如按照表达式(3))由曲线134示出。晶闸管将被触发的所确定的时间间隔(也被称为激活脉冲)由曲线136示出。

图5的中间曲线图140示出了实际(经整流的)输入ac电压abs(v输入(t))和电容器电压vc(t)。

该策略被称为流水线式的,因为t市电、v市电和vc(t)的测量在每个半周期中被连续地完成。基于在前一个半周期测量的值,在每个周期每次计算时也激活触发。在这种情况下,频率测量基于最大峰值检测。最大值不受关于前述方法解释的晶闸管触发效应的影响,因为它只影响abs(sin(wt))的最小值。以这种方式,可以并行地处理测量和触发(如在图7的底部图解150中所示的),在晶闸管被触发的相同的周期计算下一个触发时间。作为例子,图7对于nc=3示出该策略。

“流水线式测量触发策略”的控制算法如下:

流水线式算法与先前的顺序算法类似。但是,流水线式算法需要特定的硬件以使在触发器被激活时测量t市电和v市电变得可能。因此,顺序算法对于实现是优选的,因为硬件的复杂性降低了。

而且,为了减少cpu负载,表达式(1)、(2)或(3)的计算可以脱机完成并且被存储为控制器40中的查找表。在这种情况下,算法表现相同,但是值是从cpu存储器恢复且不被计算。

考虑查找表的“顺序测量触发策略”的控制算法看来像这样:

尽管上面描述了示例性的实施方案,但是其并不旨在这些实施例描述本发明的所有可能的形式。而是,在说明书中使用的词是描述性的而不是限制性的词,且应理解,可做出各种变化而不偏离本发明的精神和范围。另外,各种实施的实施例的特征可被组合以形成本发明的另外的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1