{"id":727,"date":"2021-03-25T16:03:40","date_gmt":"2021-03-25T16:03:40","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=727"},"modified":"2025-12-10T07:36:55","modified_gmt":"2025-12-10T07:36:55","slug":"dc-bus-pre-charging-techniques","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques","title":{"rendered":"DC bus pre-charge from the AC mains"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#Why-pre-charging-the-DC-bus-of-an-inverter\" >Why pre-charging the DC bus of an inverter?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#Pre-charge-circuit-description\" >Pre-charge circuit description<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#Principle-of-operation\" >Principle of operation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#Pre-charge-of-the-inverter-DC-bus\" >Pre-charge of the inverter DC bus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#Discharge-of-the-inverter-DC-bus\" >Discharge of the inverter DC bus<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#State-machine-implementation\" >State machine implementation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#C-or-C-implementation-of-a-DC-bus-pre-charge\" >C or C++ implementation of a DC-bus pre-charge<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\/#Other-applications\" >Other applications<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This application note details a technique for the DC bus pre-charge of a grid-tied inverter from the AC mains. This method is standard practice within imperix power converter systems. Additionally, the note addresses appropriate solutions for discharging the power converter, ensuring a complete operational procedure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"TN131:DCbusprechargingtechniques-Context\"><span class=\"ez-toc-section\" id=\"Why-pre-charging-the-DC-bus-of-an-inverter\"><\/span>Why pre-charging the DC bus of an inverter?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Nowadays, Voltage Source Converter (VSCs) are widely used in grid-tied applications. They indeed offer several benefits over Current Source Converters (CSCs), such as reduced filtering requirements, superior efficiency and easier use in weak grid conditions.<\/p>\n\n\n\n<p>However, VSCs impose that&nbsp;the <strong>DC bus voltage is kept higher than the rectified AC voltage<\/strong>&nbsp;\\(V_r\\)&nbsp;at all times. This is indeed essential to avoid uncontrollable current flows through the converter diodes. Besides, this condition is also required by the converter\u2019s own protection mechanism, which assumes that the blocking of all its PWM signals yields rapidly vanishing currents.<\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"260\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-110.png\" alt=\"Three phase AC rectifier - rectified voltage\" class=\"wp-image-732\" style=\"width:616px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-110.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/image-110-300x102.png 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Three phase AC rectifier &#8211; rectified voltage<\/figcaption><\/figure>\n<\/div>\n\n\n<p>As such, VSCs impose to make sure that the DC bus is appropriately pre-charged before normal operation can be initiated. The corresponding condition is&nbsp;\\(V_{DC,min}=\\sqrt{3}{V_{peak}}\\).<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-danger\" role=\"alert\">Failing to guarantee this condition, before or during operation, very high currents may flow into the converter,\u00a0<strong>potentially damaging the power semiconductors<\/strong>.<\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">When implementing over-current protections such as described in <a href=\"https:\/\/imperix.com\/doc\/help\/over-current-and-over-voltage-protection\">PN257<\/a>, the controller can only guarantee the protection of the power stage provided that this condition is met. This is:<br>&#8211; <strong>Very easy to achieve<\/strong> with an independently-controlled DC bus voltage, e.g. using a properly configured reversible DC power supply. The DC voltage only requires to be high enough.<br>&#8211; <strong>Inevitable <\/strong>&#8211; due to passive rectification &#8211; once grid connection has been made and after steady-state conditions have been met, even briefly.<br>&#8211; <strong>Not necessarily true<\/strong> in other conditions.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"TN131:DCbusprechargingtechniques-Pre-chargecircuitdescription\"><span class=\"ez-toc-section\" id=\"Pre-charge-circuit-description\"><\/span>Pre-charge circuit description<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In order to appropriately raise the DC bus voltage before the operation, a pre-charge circuit can be introduced between the converter and the grid, for instance made of a three-phase set of resistors. These resistors can be later bypassed during normal operation, thanks to a software-controlled relay. The figure below shows the corresponding circuit.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"709\" height=\"122\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/topology_DCBus_pre-charging_10col.png\" alt=\"\" class=\"wp-image-34771\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/topology_DCBus_pre-charging_10col.png 709w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/topology_DCBus_pre-charging_10col-300x52.png 300w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><figcaption class=\"wp-element-caption\">AC pre-charge circuit for a 3-phase inverter<\/figcaption><\/figure>\n<\/div>\n\n\n<p>One way of implementing that AC pre-charge circuit is by using imperix&#8217;s handy <a href=\"https:\/\/imperix.com\/products\/control\/accessories\/#grid-panel\">grid connection panel<\/a>. It includes the three current-limiting resistors and the two relays (controllable from a <a href=\"https:\/\/imperix.com\/products\/control\/rapid-prototyping-controller\/\">B-Box<\/a> controller), as well as an additional circuit breaker.<\/p>\n\n\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"377\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/12\/Panels.png\" alt=\"Grid connection panel providing pre-charge from the AC grid\" class=\"wp-image-13719\" style=\"width:518px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/12\/Panels.png 600w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/12\/Panels-300x189.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption class=\"wp-element-caption\">Imperix&#8217;s so-called grid-side connection panel<\/figcaption><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-danger\" role=\"alert\">Compared to other scenarios, working with the AC mains poses particular threats due to the almost infinite power and energy available (at the lab scale). Safety precautions should hence be considered with particular attention. Related recommendations are given in <a href=\"https:\/\/imperix.com\/doc\/implementation\/safety-and-protection-in-the-lab\">TN181<\/a>.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"TN131:DCbusprechargingtechniques-Principleofoperation\"><span class=\"ez-toc-section\" id=\"Principle-of-operation\"><\/span>Principle of operation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"TN131:DCbusprechargingtechniques-Charge\"><span class=\"ez-toc-section\" id=\"Pre-charge-of-the-inverter-DC-bus\"><\/span>Pre-charge of the inverter DC bus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>When the converter is not switching and its DC bus is not charged, all contactors are open. This corresponds to the standby situation.<\/p>\n\n\n\n<p>To pre-charge the DC bus, the first step is to close the contactor K<sub>1<\/sub>: then, the converter is connected to the AC grid through the resistors, which limit the current flowing from the grid. The maximal current flowing into the DC bus capacitor can be expressed as:<\/p>\n\n\n\n<p>$$\\begin{array}{l}\\displaystyle I_{max} = \\displaystyle\\frac{\\sqrt{3}V_{peak}}{2 R_{pre}}\\end{array}$$<\/p>\n\n\n\n<p>The second step consists of closing the contactor K<sub>2<\/sub>. Then, the converter is closely tied to the grid and operates normally. The precharge resistors are short-circuited and have no impact on the converter&#8217;s operation. The converter can now be enabled.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-danger\" role=\"alert\">The precharge resistors are designed to withstand short-term precharge currents but not continuous operation. If the PWMs are enabled before contactor K<sub>2<\/sub> is closed, the precharge resistors will overheat and be destroyed.<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"TN131:DCbusprechargingtechniques-Discharge\"><span class=\"ez-toc-section\" id=\"Discharge-of-the-inverter-DC-bus\"><\/span>Discharge of the inverter DC bus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>To discharge the DC bus, first disable the PWM signals. Then, open all contactors to isolate the bus. Finally, a third contactor connected to a resistive load on the DC bus can be closed. The current flowing from the capacitor(s) into the resistance can be expressed as:<\/p>\n\n\n\n<p>$$\\begin{array}{l}\\displaystyle I_{max} = V_{dc}\/R_{dc}\\end{array}$$<\/p>\n\n\n\n<p>The corresponding discharge time can be expressed as:<\/p>\n\n\n\n<p>$$\\begin{array}{l}\\displaystyle t_{dis} = 3\\cdot\\tau=3\\cdot R_{dc}\\cdot C_{dc}\\end{array}$$<\/p>\n\n\n\n<p>Another option consists in re-activating the converter after all contactors are open in order to generate sufficient switching losses so that the discharge of the DC bus is accelerated.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"TN131:DCbusprechargingtechniques-Statemachineimplementation\"><span class=\"ez-toc-section\" id=\"State-machine-implementation\"><\/span>State machine implementation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As already explained, the order of opening\/closing contactors is key to avoid potentially damaging currents . It is also important to take into account the time that each contactor requires for its operation.<\/p>\n\n\n\n<p>For this purpose, the implementation of a state machine is recommended. This also facilitates the grid connection\/disconnection procedures, thanks to automated mechanisms. The following shows the implementation of a state machine in C++, Simulink, and PLECS, notably used in&nbsp;<a href=\"https:\/\/imperix.com\/doc\/example\/three-phase-pv-inverter\">AN006<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"465\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-2-1024x465.png\" alt=\"Implementation of a state machine in Simulink for DC-bus pre-charging\" class=\"wp-image-17659\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-2-1024x465.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-2-300x136.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-2-768x349.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-2.png 1309w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Implementation of a state machine in Simulink for DC-bus pre-charging<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-1-1024x573.png\" alt=\"Implementation of a state machine in PLECS for DC-bus pre-charging\" class=\"wp-image-17658\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-1-1024x573.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-1-300x168.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-1-768x429.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2023\/11\/image-1.png 1141w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Implementation of a state machine in PLECS for DC-bus pre-charging<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"C-or-C-implementation-of-a-DC-bus-pre-charge\"><\/span>C or C++ implementation of a DC-bus pre-charge<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp\"><span class=\"hljs-function\"><span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">User_RunPrechargeFSM<\/span><span class=\"hljs-params\">()<\/span>\n<\/span>{\n\t<span class=\"hljs-comment\">\/**\n\t * This state machine controls the precharge of the DC bus.\n\t * The user can switch the input \"activate\" between 1 and 0 to respectively start\/stop the precharge.\n\t * The state machine waits at least 250ms between the \"CHARGING\" and \"CLOSING_BYPASS_RELAY\" states.\n\t * It also waits 200ms between the \"CLOSING_BYPASS_RELAY\" and \"READY_TO_OPERATE\" states, because the bypass relay needs a few millisecond to close.\n\t * The output \"Ready\" indicates that the bus is precharged and the converter is ready to operate.\n\t * If a fault occurs (CoreState is 0), the state machine goes in \"DISCHARGING\" state and opens all the relays for security.\n\t * In simulation, the state machine goes in \"SIMULATION\" state, to avoid the simulation of the whole precharge. The user still can set the variable \"SimulationMode\" to 0 in order to simulate the precharge.\n\t*\/<\/span>\n\t<span class=\"hljs-keyword\">switch<\/span> (Next_state_precharge){\n\t<span class=\"hljs-comment\">\/\/ Init<\/span>\n\t<span class=\"hljs-keyword\">case<\/span> PRECHARGE_INIT:\n\t\tState_precharge = PRECHARGE_INIT;\n\t\tNext_state_precharge = PRECHARGE_STANDBY;\n\t\t<span class=\"hljs-keyword\">break<\/span>;\n\n\t<span class=\"hljs-comment\">\/\/ The converter is disconnected from the grid and is in standby, all the relays are open<\/span>\n\t<span class=\"hljs-keyword\">case<\/span> PRECHARGE_STANDBY:\n\t\t<span class=\"hljs-keyword\">if<\/span> (State_precharge != Next_state_precharge)\n\t\t\tLog_SendMsg(<span class=\"hljs-number\">0<\/span>, <span class=\"hljs-literal\">NULL<\/span>, <span class=\"hljs-number\">0<\/span>);\n\t\tState_precharge = Next_state_precharge;\n\n\t\tprecharge_relay = <span class=\"hljs-number\">0<\/span>;\n\t\tbypass_relay = <span class=\"hljs-number\">0<\/span>;\n\t\tPrecharge_ready = <span class=\"hljs-literal\">false<\/span>;\n\t\tPrecharge_fault = <span class=\"hljs-literal\">false<\/span>;\n\t\t<span class=\"hljs-keyword\">if<\/span> (State_precharge != Next_state_precharge)\n\t\t\tprecharge_cnt = <span class=\"hljs-number\">0<\/span>;\n\t\t<span class=\"hljs-keyword\">else<\/span>\n\t\t\tprecharge_cnt++;\n\n\t\t<span class=\"hljs-keyword\">if<\/span> (activate == <span class=\"hljs-number\">1<\/span> &amp;&amp; core_state &gt; <span class=\"hljs-number\">0<\/span> &amp;&amp; precharge_cnt &gt; <span class=\"hljs-number\">0.2<\/span>*SW_FREQ)\n\t\t{\n\t\t\tNext_state_precharge = SYNCHRONIZING;\n\t\t}\n\n\t\t<span class=\"hljs-keyword\">break<\/span>;\n\n\t<span class=\"hljs-comment\">\/\/ The converter is synchronizing to the grid<\/span>\n\t<span class=\"hljs-keyword\">case<\/span> SYNCHRONIZING:\n\t\t<span class=\"hljs-keyword\">if<\/span> (State_precharge != Next_state_precharge)\n\t\t{\n\t\t\tLog_SendMsg(<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-literal\">NULL<\/span>, <span class=\"hljs-number\">0<\/span>);\n\t\t\tprecharge_cnt = <span class=\"hljs-number\">0<\/span>;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span>\n\t\t{\n\t\t\tprecharge_cnt++;\n\t\t}\n\t\tState_precharge = Next_state_precharge;\n\n\t\tPrecharge_ready = <span class=\"hljs-literal\">false<\/span>;\n\t\tPrecharge_fault = <span class=\"hljs-literal\">false<\/span>;\n\t\tprecharge_relay = <span class=\"hljs-number\">0<\/span>;\n\t\tbypass_relay = <span class=\"hljs-number\">0<\/span>;\n\n\n\t\t<span class=\"hljs-keyword\">if<\/span> (precharge_cnt &gt; <span class=\"hljs-number\">0.2<\/span>*SW_FREQ &amp;&amp; !err_No_GridSync &amp;&amp; !err_No_Grid &amp;&amp; core_state != <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = CHARGING;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span>(activate == <span class=\"hljs-number\">0<\/span> || core_state == <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_STANDBY;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span>(err_No_GridSync || err_No_Grid)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_FAULT;\n\t\t}\n\n\t\t<span class=\"hljs-keyword\">break<\/span>;\n\n\t<span class=\"hljs-comment\">\/\/ The DC bus of the converter is being charged from the grid (precharge relay closed)<\/span>\n\t<span class=\"hljs-keyword\">case<\/span> CHARGING:\n\t\t<span class=\"hljs-keyword\">if<\/span> (State_precharge != Next_state_precharge)\n\t\t{\n\t\t\tLog_SendMsg(<span class=\"hljs-number\">2<\/span>, <span class=\"hljs-literal\">NULL<\/span>, <span class=\"hljs-number\">0<\/span>);\n\t\t\tprecharge_cnt = <span class=\"hljs-number\">0<\/span>;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span>\n\t\t{\n\t\t\tprecharge_cnt++;\n\t\t}\n\t\tState_precharge = Next_state_precharge;\n\n\t\tPrecharge_ready = <span class=\"hljs-literal\">false<\/span>;\n\t\tPrecharge_fault = <span class=\"hljs-literal\">false<\/span>;\n\t\tprecharge_relay = <span class=\"hljs-number\">1<\/span>;\n\t\tbypass_relay = <span class=\"hljs-number\">0<\/span>;\n\n\t\t<span class=\"hljs-keyword\">if<\/span> (!err_Vpv_low &amp;&amp; !err_Vpv_high &amp;&amp; !err_Vdc_low &amp;&amp; !err_Vdc_high)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_COMPLETE;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> ((precharge_cnt &gt; <span class=\"hljs-number\">3<\/span>*SW_FREQ &amp;&amp; (err_Vpv_low || err_Vpv_high || err_Vdc_low || err_Vdc_high)) || (precharge_cnt &gt; <span class=\"hljs-number\">0.02<\/span>*SW_FREQ &amp;&amp; (err_No_GridSync || err_No_Grid)) || core_state == <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_FAULT;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (activate == <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_STANDBY;\n\t\t}\n\n\t\t<span class=\"hljs-keyword\">break<\/span>;\n\n\t<span class=\"hljs-comment\">\/\/ The DC bus is precharged and the converter is fully connected to the grid (bypass relay closed)<\/span>\n\t<span class=\"hljs-keyword\">case<\/span> PRECHARGE_COMPLETE:\n\t\t<span class=\"hljs-keyword\">if<\/span> (State_precharge != Next_state_precharge)\n\t\t\tLog_SendMsg(<span class=\"hljs-number\">3<\/span>, <span class=\"hljs-literal\">NULL<\/span>, <span class=\"hljs-number\">0<\/span>);\n\t\tState_precharge = Next_state_precharge;\n\n\t\tprecharge_relay = <span class=\"hljs-number\">1<\/span>;\n\t\tbypass_relay = <span class=\"hljs-number\">1<\/span>;\n\t\tPrecharge_ready = <span class=\"hljs-literal\">true<\/span>;\n\t\tPrecharge_fault = <span class=\"hljs-literal\">false<\/span>;\n\n\t\t<span class=\"hljs-keyword\">if<\/span> (err_Vpv_low || err_Vpv_high || err_Vdc_low || err_Vdc_high || (precharge_cnt &gt; <span class=\"hljs-number\">0.02<\/span>*SW_FREQ &amp;&amp; (err_No_GridSync || err_No_Grid)) || core_state == <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_FAULT;\n\t\t}\n\t\t<span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span>(activate == <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_STANDBY;\n\t\t}\n\n\t\t<span class=\"hljs-keyword\">break<\/span>;\n\n\t<span class=\"hljs-comment\">\/\/ A fault occurred during the precharge procedure, all the relays are open<\/span>\n\t<span class=\"hljs-keyword\">case<\/span> PRECHARGE_FAULT:\n\t\t<span class=\"hljs-keyword\">if<\/span> (State_precharge != Next_state_precharge)\n\t\t\tLog_SendMsg(<span class=\"hljs-number\">4<\/span>, <span class=\"hljs-literal\">NULL<\/span>, <span class=\"hljs-number\">0<\/span>);\n\t\tState_precharge = Next_state_precharge;\n\n\t\tprecharge_relay = <span class=\"hljs-number\">0<\/span>;\n\t\tbypass_relay = <span class=\"hljs-number\">0<\/span>;\n\t\tPrecharge_ready = <span class=\"hljs-literal\">false<\/span>;\n\t\tPrecharge_fault = <span class=\"hljs-literal\">true<\/span>;\n\n\t\t<span class=\"hljs-keyword\">if<\/span>(activate == <span class=\"hljs-number\">0<\/span>)\n\t\t{\n\t\t\tNext_state_precharge = PRECHARGE_STANDBY;\n\t\t}\n\n\t\t<span class=\"hljs-keyword\">break<\/span>;\n\t}\n\n\tstate_precharge_uint = (<span class=\"hljs-keyword\">unsigned<\/span> <span class=\"hljs-keyword\">int<\/span>) State_precharge;\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Other-applications\"><\/span>Other applications<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The same DC-bus precharge technique can be used for other grid-connected voltage-source inverter topologies. This also includes multi-level topologies such as <a href=\"https:\/\/imperix.com\/doc\/implementation\/cascaded-h-bridge-converter-control\">cascaded H-bridges (TN165)<\/a>, which can be used in higher voltage applications such as <a href=\"https:\/\/imperix.com\/doc\/example\/solid-state-transformer\">solid-state transformers (AN015)<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In voltage source converters, pre-charging the inverter DC bus is required before connecting it to external voltage sources, so that to avoid inrush currents that may be destructive.<\/p>\n","protected":false},"author":5,"featured_media":3069,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[4],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[50,31,32,92,166,51,112,110],"guidedreadings":[],"tutorials":[122,152],"user-manuals":[],"coauthors":[65],"class_list":["post-727","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-implementation","software-environments-c-plus-plus","software-environments-matlab","software-environments-plecs","related-products-acg-sdk","related-products-b-board-pro","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-cpp-sdk","related-products-peb","related-products-tpi","tutorials-active-front-end-afe","tutorials-active-power-filter"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DC bus pre-charge from the AC mains - imperix<\/title>\n<meta name=\"description\" content=\"This note explains how to execute the DC bus pre-charge for an inverter connected to the AC mains as to avoid destructive inrush currents.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DC bus pre-charge from the AC mains - imperix\" \/>\n<meta property=\"og:description\" content=\"This note explains how to execute the DC bus pre-charge for an inverter connected to the AC mains as to avoid destructive inrush currents.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-25T16:03:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-10T07:36:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN131_2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Gabriel Fernandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gabriel Fernandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques\"},\"author\":{\"name\":\"Gabriel Fernandez\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/dc258894f60ab86294a82af41ca66ffb\"},\"headline\":\"DC bus pre-charge from the AC mains\",\"datePublished\":\"2021-03-25T16:03:40+00:00\",\"dateModified\":\"2025-12-10T07:36:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques\"},\"wordCount\":889,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN131_2.png\",\"articleSection\":[\"Technical notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques\",\"name\":\"DC bus pre-charge from the AC mains - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN131_2.png\",\"datePublished\":\"2021-03-25T16:03:40+00:00\",\"dateModified\":\"2025-12-10T07:36:55+00:00\",\"description\":\"This note explains how to execute the DC bus pre-charge for an inverter connected to the AC mains as to avoid destructive inrush currents.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN131_2.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/3_2_ratio_TN131_2.png\",\"width\":450,\"height\":300,\"caption\":\"boost inverter\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/implementation\\\/dc-bus-pre-charging-techniques#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Technical notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/implementation\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DC bus pre-charge from the AC mains\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/dc258894f60ab86294a82af41ca66ffb\",\"name\":\"Gabriel Fernandez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6d2b25d4d02287fe1b624e66c91dfa87225c122136dad0791f1d43f15cfadf47?s=96&d=mm&r=g0995503f958232ca94ba9632d761de15\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6d2b25d4d02287fe1b624e66c91dfa87225c122136dad0791f1d43f15cfadf47?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6d2b25d4d02287fe1b624e66c91dfa87225c122136dad0791f1d43f15cfadf47?s=96&d=mm&r=g\",\"caption\":\"Gabriel Fernandez\"},\"description\":\"Gabriel is an experienced power electronics engineer and has a solid track record with imperix products. On the knowledge base, he is the author of several notes on grid-connected converters and their applications.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/gabriel-fernandez-0942b6140\\\/\",\"nico@chrx.ch\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/fernandez\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DC bus pre-charge from the AC mains - imperix","description":"This note explains how to execute the DC bus pre-charge for an inverter connected to the AC mains as to avoid destructive inrush currents.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques","og_locale":"en_US","og_type":"article","og_title":"DC bus pre-charge from the AC mains - imperix","og_description":"This note explains how to execute the DC bus pre-charge for an inverter connected to the AC mains as to avoid destructive inrush currents.","og_url":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques","og_site_name":"imperix","article_published_time":"2021-03-25T16:03:40+00:00","article_modified_time":"2025-12-10T07:36:55+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN131_2.png","type":"image\/png"}],"author":"Gabriel Fernandez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Gabriel Fernandez","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques"},"author":{"name":"Gabriel Fernandez","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/dc258894f60ab86294a82af41ca66ffb"},"headline":"DC bus pre-charge from the AC mains","datePublished":"2021-03-25T16:03:40+00:00","dateModified":"2025-12-10T07:36:55+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques"},"wordCount":889,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN131_2.png","articleSection":["Technical notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques","url":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques","name":"DC bus pre-charge from the AC mains - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN131_2.png","datePublished":"2021-03-25T16:03:40+00:00","dateModified":"2025-12-10T07:36:55+00:00","description":"This note explains how to execute the DC bus pre-charge for an inverter connected to the AC mains as to avoid destructive inrush currents.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN131_2.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/3_2_ratio_TN131_2.png","width":450,"height":300,"caption":"boost inverter"},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/implementation\/dc-bus-pre-charging-techniques#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Technical notes","item":"https:\/\/imperix.com\/doc\/category\/implementation"},{"@type":"ListItem","position":3,"name":"DC bus pre-charge from the AC mains"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/dc258894f60ab86294a82af41ca66ffb","name":"Gabriel Fernandez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6d2b25d4d02287fe1b624e66c91dfa87225c122136dad0791f1d43f15cfadf47?s=96&d=mm&r=g0995503f958232ca94ba9632d761de15","url":"https:\/\/secure.gravatar.com\/avatar\/6d2b25d4d02287fe1b624e66c91dfa87225c122136dad0791f1d43f15cfadf47?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d2b25d4d02287fe1b624e66c91dfa87225c122136dad0791f1d43f15cfadf47?s=96&d=mm&r=g","caption":"Gabriel Fernandez"},"description":"Gabriel is an experienced power electronics engineer and has a solid track record with imperix products. On the knowledge base, he is the author of several notes on grid-connected converters and their applications.","sameAs":["https:\/\/www.linkedin.com\/in\/gabriel-fernandez-0942b6140\/","nico@chrx.ch"],"url":"https:\/\/imperix.com\/doc\/author\/fernandez"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/727","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=727"}],"version-history":[{"count":36,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/727\/revisions"}],"predecessor-version":[{"id":38594,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/727\/revisions\/38594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/3069"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=727"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=727"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=727"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=727"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=727"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=727"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=727"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}