Blood pump controller and system
Patent Information
- Application Number
- JP2024569575
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-06
- Filing Date
- 2023-06-02
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2043-06-02
AI Technical Summary
Existing blood pump systems lack accurate speed control and direct blood flow sensing without sensors in the bloodstream, leading to potential errors in patient treatment and risk of mechanical damage to blood.
A blood pump system with a controller that provides field-oriented control for a brushless DC motor, allowing for sensorless blood flow detection and ensuring continuous operation even with control processor failures through separate programmable logic device implementation.
The system achieves precise motor control, enables blood flow sensing without intravenous sensors, and ensures the blood pump operates reliably, reducing the risk of patient harm due to system failures.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to blood pumps, and more specifically, to blood pump controllers and systems.
Background Art
[0002] Medical blood pumps increase the blood flow of patients having a heart that provides insufficient blood flow. A ventricular assist device (VAD) is a particular type of implantable blood pump. The VAD is arranged in parallel with the left or right ventricle of a patient who does not provide the required blood flow. Known blood pumps use several different pump types and motor configurations and methods to drive these pump motors. Some blood pumps use a pump motor to drive a radial flow pump, and other blood pumps have a motor shaft in direct alignment with an impeller to drive an axial flow pump for pumping blood. Maintaining a secure seal around the motor shaft within the pump can be problematic. Other pumps use an impeller that is completely sealed within the pump housing and is hydrodynamically suspended within the pump housing. The impeller itself becomes the magnetized rotor part of the motor. Motor stator coils that receive an electrical signal for generating a rotating magnetic field for rotating the rotor are incorporated into the pump housing. The entire stator becomes part of the pump fluid itself. Some blood pumps include sensors in the blood flow for sensing pressure and flow. Other blood pumps estimate the pressure and / or discharge flow of the pump using various methods and avoid placing sensors in the blood flow because thrombi can form around the sensors.
[0003] Known devices and methods for blood pumps and controllers do not provide accurate speed control of the pump, do not allow direct blood flow sensing without a sensor in the blood stream, and have other drawbacks, for example, some mechanical pump designs more significantly damage the blood flowing through the pump. Many controllers estimate specific parameters such as pressure or flow rate. These estimates are a potential source of error in providing appropriate treatment to the patient, i.e., in properly controlling the blood pump. Some failures within the pump controller can stop the blood pump and endanger the patient's life. To address these drawbacks in the prior art, an improved blood pump controller is needed. Summary of the Invention
[0004] A blood pump system includes a blood pump and a corresponding controller. The blood pump includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing. The pump impeller includes a magnet and is the rotor of a brushless direct current (DC) motor driven by an electrical signal passing through a stator wire coil within the pump housing, generating a rotating magnetic field. The rotating magnetic field attracts and rotates with the magnetized impeller. The controller provides field-oriented control for the brushless DC motor within the blood pump. The field-oriented control within the controller is provided in a programmable logic device separate from the control processor so that software or hardware malfunctions associated with the control processor do not stop the blood pump. The field-oriented control enables sensing of the blood flow through the pump without having a sensor within the blood stream.
[0005] The above and other features and advantages will become apparent from the following more detailed description as illustrated in the accompanying drawings.
[0006] The present disclosure is described in conjunction with the accompanying drawings, and like reference numerals indicate like elements. Brief Description of the Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Best Mode for Carrying Out the Invention
[0008] A blood pump system includes a blood pump and a corresponding controller. The blood pump includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing. The pump impeller includes a magnet and is a rotor of a brushless direct current (DC) motor driven by an electrical signal passing through stator wire coils within the pump housing, generating a rotating magnetic field. The rotating magnetic field attracts and rotates with the magnetized impeller. The controller provides field-oriented control for the brushless DC motor within the blood pump. The field-oriented control within the controller is provided in a programmable logic device separate from the control processor so that software or hardware failures associated with the control processor do not stop the blood pump. The field-oriented control enables detection of blood flow through the pump without having sensors within the blood flow.
[0009] Referring to FIG. 1, a blood pump system 100 is shown that includes a blood pump 110, a cable 124, and a system controller 130. The blood pump 110 can be an implantable blood pump. A ventricular assist device (VAD) is one embodiment suitable for the blood pump 110. The blood pump 110 preferably includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing. The impeller includes a plurality of magnets, and the blood pump has a plurality of stator coils within a brushless DC motor that rotates the impeller within the pump housing when driven by a plurality of drive signals.
[0010] The blood pump 110 includes a connector 120 that receives a mating connector 122 on a cable 124. The applicant has developed medical connectors suitable for use with implantable devices such as pacemakers and blood pumps, as shown and described in U.S. Patents 10,480,690, 10,741,968, 10,833,451, 10,855,026, 10,886,663, and 11,309,662. Connectors 120 and 122 may be connectors as shown in these enumerated patents, or any other suitable type of connector. In a particular embodiment, the cable 124 is a percutaneous cable that is implanted within a patient's body, passes through the skin, and connects to the blood pump 110 that connects to an external controller such as a system controller 130. The cable 124 includes a suitable connector 126 that mates with a corresponding connector 128 within the system controller, such that the system controller 130 can provide a drive signal to a stator coil within a brushless DC motor within the blood pump 110.
[0011] As shown in FIG. 1, the system controller 130 preferably includes a controller logic 140, a backup battery 150, a display 160, one or more input keys 170, one or more LEDs 180 for alerts and / or alarms, one or more audio devices 190 for alerts and alarms, and an alert / alarm vibrator motor 192 for tactilely notifying alerts and alarms. The controller logic 140 monitors the function of the brushless DC motor in the blood pump 110 and provides an appropriate drive signal to the stator coil in the brushless DC motor so that the blood pump 110 operates at a desired speed. The backup battery 150 is inside the housing of the system controller 130 and supplies power when no external power source such as a primary battery or an AC / DC adapter is plugged in, or when the system controller 130 is not being powered. The display 160 can be any suitable type of display. In the most preferred implementation, the display 160 is a low-power liquid crystal display (LCD). The input keys 170 are provided to provide user input to the system controller. The input keys can include, for example, a mute key that mutes the audio device when the audio device indicates an alert, and a "next" key that enables progression from the current screen to the next screen in a multi-screen message. The LEDs 180 are used to provide a visual indication of an alert or alarm detected by the system controller 130. For example, the LEDs 180 can provide a slow yellow blinking signal in the case of an alert and a fast red blinking signal in the case of an alarm. The audio devices 190 are used to provide an audible indication of an alert or alarm detected by the system controller 130. For example, the audio devices 190 can provide a slow soft beeping sound in the case of an alert and a fast loud beeping sound in the case of an alarm.
[0012] The blood pump system disclosed and claimed in this specification can also include other components, as shown in system 200 of FIG. 2. The system controller 210 of FIG. 2 is one suitable example of the system controller 130 of FIG. 1, and the blood pump 260 is one suitable example of the blood pump 110 of FIG. 1. The system controller 210 includes an internal backup battery 150 as described above. The system controller 210 further includes a clinician interface that enables connecting a clinician interface computer 230 to the system controller 210. A medical clinician can use the clinician interface computer 230 to set the speed of the blood pump within the system controller 210 and also define or select various alert conditions and alarm conditions. The system controller 210 includes a blood pump interface for receiving a cable 266 that connects to the blood pump 260. The system controller 210 is located outside the human body and can be connected to the implantable blood pump 260 by connecting to a suitable connector 264 that connects to a percutaneous cable 262. Of course, the blood pump 260 can be outside the human body and have a percutaneous tube that connects to a blood vessel inside the human body. Note that the connector 264 can be used to insert an extension cable that enables the system controller to be located far from the patient. This would be useful, for example, when the patient needs to undergo surgery.
[0013] The system controller 210 also includes an interface with a primary battery 250 and an AC / DC power adapter 240 that receives power from a local alternating current (AC) power source. In a preferred embodiment, it is preferred that the system controller 210 does not include a circuit for charging the primary battery 250. The primary battery 250 is removably coupled outside the housing of the system controller so that the primary battery 250 can be removed from the system controller and connected to a desktop battery charger 270 when the primary battery 250 needs to be recharged.
[0014] The system controller 210 uses the power hierarchy to determine which power source to apply to run the system controller 210. When the AC / DC power adapter 240 is plugged into the local AC power and into the system controller 210, the AC / DC power adapter 240 supplies power to the system controller 210. When the primary battery 250 is plugged into the system controller 210 and the AC / DC power adapter 240 is not plugged into the system controller 210, or when the AC / DC power adapter 240 is plugged into the system controller 210 but not supplying power, such as during a power outage, the primary battery 250 supplies power to the system controller 210. When neither the AC / DC power adapter 240 nor the primary battery 250 is supplying power to the system controller 210, the system controller is powered by the backup battery 150. This ensures safety and convenience. When a patient connected to the blood pump is going to be in one place for a while, the patient can use the system controller 210 in tethering mode and plug the AC / DC power adapter into the wall receptacle and the system controller 210, thereby not discharging the primary battery 250 or the backup battery 150. If the patient no longer wants to be connected to the AC / DC power adapter 240, the patient can remove the AC / DC power adapter 240, so the patient can use the system controller 210 in disconnected mode, which can supply power to the system controller 210 for several hours before the relatively large primary battery 250 needs to be recharged. When the primary battery 250 is nearly discharged and needs to be recharged, the patient can disconnect the primary battery 250 from the system controller 210 and connect a different primary battery to the system controller 210. While the primary battery 250 is disconnected, the system controller 210 is powered by the backup battery 150. Thus, the backup battery 150 inside the housing of the system controller 210 supplies power to ensure that the blood pump 260 continues to operate even if both the AC / DC power adapter 240 and the primary battery 250 are disconnected.In normal use, the system controller 210 is powered only by the backup battery for a short time while the user disconnects the discharged primary battery and replaces it with a charged primary battery. The backup battery 150 is preferably a lithium-ion rechargeable battery, and the system controller 210 includes a charging circuit that keeps the backup battery 150 in a charged state when the system controller 210 is connected to the AC / DC power adapter 240 or the primary battery 250. The primary batteries used with the system controller 210, such as the primary batteries 250, 250A, and 250B in FIG. 2, are preferably rechargeable lithium-ion batteries.
[0015] The desktop battery charger 270 receives power from an AC / DC power adapter 290 coupled to the local AC power. The desktop battery charger 270 can charge multiple primary batteries at once. In the specific example of FIG. 2, the desktop battery charger 270 can charge two primary batteries 250A and 250B simultaneously. Of course, other configurations of the desktop battery charger can charge more or fewer primary batteries as needed. In the most preferred embodiment, the system controller 210 includes a latch system for mechanically and electrically attaching the primary battery 250 to the housing of the system controller 210, and the desktop battery charger 270 also provides the same or a similar latch system so that the primary battery can be attached to the desktop battery charger in the same manner as it is attached to the system controller. This provides ease of use, and the user can become accustomed to connecting and disconnecting the primary battery on the system controller and use the same method and procedure to connect and disconnect the primary battery to the desktop battery charger. The desktop battery charger 270 can charge the primary battery using any suitable charging method. In a preferred embodiment, the desktop battery charger 270 can recharge the primary battery in about 3 hours.
[0016] Referring to FIG. 3, system controller 310 is an embodiment suitable for system controller 130 shown in FIG. 1 and system controller 210 shown in FIG. 2. System controller 310 includes a backup battery 150 inside the housing of the system controller, as described above with reference to system controller 130 of FIG. 1 and system controller 210 of FIG. 2. The controller logic 140 of FIG. 1 can include, as shown in FIG. 3, a supervisor processor 320, a control processor 330, and a programmable logic device that provides a motor control unit such as an FPGA motor control unit 340. Separating the functions of the system controller into the three blocks 320, 330, and 340 shown in FIG. 3 provides significant advantages. First, control processor 330 is a microcontroller that provides the management functions necessary for system controller 310, including monitoring of alerts and alarms, output to the display, reception of user input via input keys 170, and execution of power switching between power supplies. FPGA motor control unit 340 is a field programmable gate array (FPGA) programmed to provide sensorless field orientation control (SFOC) of a brushless DC motor in a blood pump. By dedicating the control of the blood pump to FPGA motor control unit 340, the blood pump continues to be operated and controlled by FPGA motor control unit 340 even if control processor 330 stops or malfunctions. Thus, even if control processor 330 fails to function properly, FPGA motor control unit, being implemented in hardware that does not depend on the functions of control processor 330 to function properly, continues to function and controls the blood pump. In addition, FPGA motor control unit 340 functions according to an electronic clock rather than using software that can have variable timing. Thus, FPGA motor control unit 340 can control very high-speed motors that are difficult to control via a processor that executes software. FPGA motor control unit 340 is also a dedicated single-function circuit and has no irrelevant or other features that could cause failure.In addition, the FPGA can have space for extensions to add other dedicated hardware functions to the system controller, such as a Medical Implant Communication Service (MICS) interface or a Bluetooth® communication interface to an embedded controller for external parameter programming, an interface to a Micro-Electro-Mechanical System (MEMS) pressure sensor circuit for flow measurement, and an interface to a transcutaneous battery charging system.
[0017] Sensorless Field Oriented Control (SFOC) of brushless DC motors is generally known, but this method has not been used in blood pumps. SFOC offers a number of significant advantages compared to known techniques for blood pumps. Blood pumps need to operate at relatively high speeds of thousands or tens of thousands of RPM with variations of 100 RPM or less. SFOC enables more precise motor control by providing the exact position (rotor angle) of the rotating rotor (or impeller). SFOC is a closed-loop design, in contrast to known drive systems for blood pumps. At the exact rotor position, the spin speed or velocity is known, and the magnetic field within the stator can be driven to generate maximum torque. This is the fundamental difference that SFOC offers when controlling a brushless DC (BLDC) motor compared to other motor drive mechanisms. The position and velocity of the rotor are not known in an induction motor or in motors operating with other open-loop controls such as trapezoidal or sinusoidal wave drives. In an open-loop system, the actual rotational speed of the rotor (impeller) is only an estimated value. With SFOC, the rotational speed can be measured.
[0018] The SFOC also improves the power usage efficiency and reduces the power consumption compared to the trapezoidal drive or sine wave drive methods of the same motor design. This is because the SFOC algorithm optimizes the pump motor torque. The energy sent to the stator phase coils always generates a magnetic field at the exact position to rotate the rotor with the maximum force. Since there is no magnetic field in the phase coils that drive the rotor at a position smaller than the exact position relative to the permanent magnetic field of the rotor, the wasted energy is minimized. The improvement in power usage efficiency results in a reduction in the power consumption of the system controller, a reduction in heat generation, and a reduction in size. Also, by increasing the power usage efficiency, a smaller backup battery can be used or a larger backup battery can be used for a longer time.
[0019] The SFOC method for driving a pump motor also reduces torque ripple. Torque ripple is also a result of having no magnetic field in the stator at the optimal position to rotate only the rotor. When the stator magnetic field lags or leads the rotor magnetic field by the best position, the rotor decelerates and is knocked away from its central axis. The rotor oscillates more without SFOC. The SFOC algorithm tries to drive the axial displacement parameter towards 0 and smooths the torque value, so the SFOC significantly reduces this torque ripple (stator and wobble of the rotor speed). As a result of reducing the torque ripple, the bearing life of the motor is lengthened and the protection against hemolysis may be improved.
[0020] SFOC also enables the use of the motor itself as a sensor since the rotor position gives an accurate speed and the measurement of the motor current is useful for flow measurement and obstacle detection. SFOC is "sensorless" because there is no independent sensor such as a hall effect sensor to detect rotor speed, a mechanical load sensor, or a separate governor circuit. The current sensor used by the SFOC algorithm to perform motor control can also sense load changes that affect the motor. Therefore, using the measured variables, the current sensed value, torque ripple, and the programmed speed, the flow through the pump can be estimated and flow obstacles can be detected.
[0021] The SFOC uses a three-dimensional shape to convert back and forth between a rotating reference and a fixed reference, and between the voltage that induces current and the current that indicates voltage. Although the SFOC has been implemented in software in the past, a very high-speed microcontroller is required to execute the SFOC in a software control environment. Assume that the program in the microcontroller simultaneously executes the calculations of the SFOC loop that rotates the pump motor, and other software that performs other functions such as battery monitoring, recording motor control events, displaying messages on the LCD, generating alarms, and communicating via USB. In that case, the timing of the SFOC algorithm is very likely to be disrupted by the operation of other software. The SFOC requires accurate timing. A software system, by its nature, cannot take accurate timing under all circumstances. If it does not operate correctly as part of the software system, it may affect other operating software parts. Therefore, implementing the SFOC in an FPGA provides independence from the microcontroller that performs other functions, which ensures that the blood pump continues to function whether the microcontroller fails or not. Furthermore, the FPGA implementation of the SFOC disclosed and claimed herein provides a very accurate hardware timer, thus ensuring very high-speed control of the blood pump motor. When the speed of the pump motor is set in the FPGA motor control unit 340, the pump motor rotates at exactly that speed regardless of what the supervisor processor 320 or the control processor 330 is doing, and regardless of whether either or both of these processors 320 and 330 are malfunctioning. This allows the control processor to fail, lock up, or stop for no reason while the FPGA motor control unit 340 continues to rotate the pump motor at the accurately programmed speed. In addition, while the FPGA motor control unit 340 continues to rotate the pump motor at the accurately programmed speed, the control processor can be intentionally stopped to update its software.Once the pump motor speed setting is set in the FPGA motor control unit 340, all FPGA motor control units 340 need to continue with the rotation of the pump motor at the set speed setting without being interrupted by power.
[0022] The system controller 310 controls a vital device, namely a blood pump. Therefore, a failure of the system controller 310 can cause injury or death. For this reason, a supervisor processor 320 is provided to independently monitor the functions of the control processor 330 and the FPGA motor control unit 340. Even if the control processor 330 fails and is unable to alert the user of the failure, the supervisor processor 320 can detect the failure of the control processor 330 and provide the necessary alerts and / or alarms. In a suitable embodiment, the control processor 330 can send periodic heartbeat messages to the supervisor processor 320, and as long as the supervisor processor 320 receives the heartbeat messages within a defined time frame, the supervisor processor can assume that the control processor 330 is functioning correctly. The heartbeat messages can be sent, for example, via a universal asynchronous receiver / transmitter (UART) channel between the control processor 330 and the supervisor processor 320. However, it should be noted that the supervisor processor 320 has other methods in addition to monitoring the heartbeat from the control processor 330 to determine when there is an abnormality in the system controller 310. For example, the supervisor processor 320 can independently monitor the parameters of the FPGA motor circuit 340 to determine whether the speed of the blood pump is as it should be. Regardless of the cause of the failure, when the supervisor processor 320 detects a failure of the system controller, whether it is in the control processor 330 or the FPGA motor control unit 340, the supervisor processor 320 can provide alerts and / or alarms to inform the user of what the user needs to do to resolve the problem, which may be to replace the defective system controller with a different system controller that functions properly.
[0023] The supervisor processor 320 may be a microcontroller, or it may be a simple state machine or other combination of hardware / software. The supervisor processor 320 can be any suitable entity capable of monitoring the control processor 330 and the FPGA motor control unit 340.
[0024] In a preferred embodiment, both the control processor 330 and the FPGA motor control unit 340 can be implemented as a system-on-chip (SoC). A suitable example of such an SoC implementation is shown in FIG. 4. The system controller 410 of FIG. 4 is one embodiment suitable for the system controller 130 of FIG. 1,210 of FIG. 2 and FIG. 310 of FIG. 3. The system controller 410 includes a system-on-chip (SoC) 420. The SOC 420 includes an FPGA fabric 430, a control processor 470, a clinician interface 480, a primary battery interface 484, and an AC / DC power interface 486. The FPGA fabric 430 is a suitable embodiment of the FPGA motor control unit 340 shown in FIG. 3. The FPGA fabric 430 implements a sensorless field orientation control (SFOC) logic 440 and a pulse width modulation (PWM) signal generator 450 that provides drive signals to the stator coils of a brushless DC motor in the blood pump via a blood pump interface 460. The SFOC logic 440 includes a motor speed and position estimator 442 and a pump motor speed setting 444. The motor speed / angle estimator 442 preferably estimates both the motor speed and the angle. The pump motor speed setting 444 is most preferably written to the SFOC logic 440 by an SFOC device driver 472 within the control processor 470 as a result of receiving an input from a clinician who sets the pump motor speed via the clinician interface 480. The clinician interface 480 preferably includes a graphical user interface (GUI) 482 that enables a clinician to interact with the system controller 410 when a clinician computer system is coupled to the clinician interface 480. The control processor 470 further includes an alert manager 474, an alarm manager 476, and a power manager 478. The functions of the alert manager 474 and the alarm manager 476 can be combined. The functions of the alert manager 474, the alarm manager 476, and the power manager 478 will be described in more detail below.The control processor 470 on the SOC420 is also coupled to the reserve battery 150, the displays 160, one or more input keys 170, one or more LEDs 180, and one or more audio devices 190, as described above. The SOC embodiment shown in FIG. 4 provides an efficient and low-cost embodiment for controlling the function of a blood pump.
[0025] A block diagram of a blood pump 510 is shown in FIG. 5. The blood pump 510 is one embodiment suitable for the blood pump 110 of FIG. 1. The blood pump 510 includes an inlet 520, a pump chamber 540, and an outlet 530. The inlet 520 is connected to a blood vessel that needs to have blood pumped through it. The outlet 530 is connected to a blood vessel that needs to have blood pumped through it. In other words, the inlet 520 is a low-pressure port and the outlet 530 is a high-pressure port. The pump chamber 540 is sealed, and the impeller 550 within the pump chamber 540 is hydrodynamically suspended within the pump chamber 540. This means that there is no shaft or other mechanical connection from the impeller for driving the impeller. The impeller includes a plurality of magnets. In the specific embodiment of FIG. 5, three magnets 560, 562, and 564 are shown. Within the scope of the preferred embodiment, there may be more than three magnets as shown in FIG. 5. FIG. 5 also shows a plurality of pump phase coils 570, 572, and 574 used to drive the impeller. The coils 570, 572, 574 are stator coils that are part of the drive section of a brushless DC motor in the blood pump. In the most preferred embodiment, the pump phase coils 570, 572, and 574 are wired as a standard three-phase motor in a Y-shaped topology. The system controller provides drive signals, which are pulse width modulation (PWM) voltages, to the pump phase coils 570, 572, and 574. The PWM voltage generates an almost sinusoidal current that acts on the magnets of the impeller to generate an electromagnetic field, rotating the impeller to pump blood.
[0026] Referring to FIG. 6, SFOC logic 610 is an embodiment suitable for the SFOC logic 440 shown in FIG. 4. SFOC logic 610 is shown in FIG. 4 and includes the pump motor speed setting 444 described above. The pump motor speed setting 444 is preferably set by a clinician via a clinician interface. The pump motor drive circuit 620 includes a digital motor current register 622 that includes a value of a digital motor current to be described in more detail below. The digital motor current value in the digital motor current register 622 is processed by the phase current processing logic 624. The result is the PWM for each phase of the blood pump motor. Thus, in the case of a three-phase blood pump motor, the digital current processing logic generates PWM1 630, PWM2 640, and PWM3 650. These are pulse width modulation signals that drive the motor driver integrated circuit 680. Each phase has a current sensor that can determine the current. Thus, phase 1 has a P1 current sensor 632, phase 2 has a P2 current sensor 642, and phase 3 has a P3 current sensor 652. In a preferred embodiment, the current sensors 632, 642, and 652 are in-line resistors such that the voltage across the current sensing resistor is proportional to the current supplied to each phase.
[0027] The digital motor current conversion circuit 660 converts the sensed current into a motor current value under the control of the digital motor current measurement circuit 658. Since the voltage from each current sensing element needs to be amplified, there are three amplifiers 662, 664, and 666 that amplify the voltages from the corresponding current sensing elements 632, 642, and 652. The amplified signals are input into an analog-to-digital converter (ADC), and the analog-to-digital converter generates a digital motor current value from the analog-to-digital converter under the control of the digital motor current value 672 of the circuit 658. These digital motor current values 672 are written into the digital motor current register 622 to form a closed-loop system for controlling the blood pump motor.
[0028] In a particular embodiment shown in FIG. 6, the PWM signals 630, 640, and 650 do not have sufficient drive to directly drive the pump phase coils, so they are input to the motor driver integrated circuit 680, which then generates corresponding drive signals for the three-phase coils from each PWM signal. As a result, the pump phase 1 drive circuit 682 drives the pump phase 1 coil 570 of the blood pump 510, the pump phase 2 drive circuit 684 drives the pump phase 2 coil 572, and the pump phase 3 drive circuit 686 drives the pump phase 3 coil 574.
[0029] One specific embodiment of the phase current processing logic 624 shown in FIG. 6 is shown at 710 in FIG. 7. The digital motor current value 672 undergoes a Park-Clark transformation by the Park-Clark transformation logic 720 to generate both the magnetizing (DC) motor current 722 and the torque generating (quadrature) motor current 724. Next, the first proportional-integral (PI) controller 750 compares the magnetizing (DC) motor current 722 with the reference DC current 732 to generate a DC error signal. In the most preferred embodiment, the reference DC current 732 has a value of zero. Similarly, the second PI controller 752 compares the torque generating (quadrature) motor current 724 with the reference quadrature current 734 to generate a quadrature error signal. The reference quadrature current 734 is preferably calculated from a desired speed reference and the physical parameters of the motor. These signals are then processed by the inverse Park-Clark transformation logic 770 and input into the space vector pulse width modulation (SVPWM) control block 780 to generate the magnetizing (DC) PWM duty cycle and the torque generating (quadrature) PWM duty cycle. The SVPWM control block 780 averages the minimum and maximum values of each phase voltage, and the resulting voltage offset is calculated and subtracted from each of the instantaneous phase voltages. The output of the SVPWM control block 780 are the three third harmonic injection phase voltages IPV1 782, IPV2 784, and IPV3 786. The phase voltages 782, 784, and 786 are input into the PWM signal generator 790, which inserts dead time and supports pulse width modulation with either edge alignment or center alignment. The PWM signal generator 790 generates, as shown in FIG. 6, three pulse width modulation signals PWM1 630, PWM2 640, and PWM3 650, which are then used to generate drive signals for the blood pump motor phases.
[0030] Figure 8 shows a method 800 preferably executed by the phase current processing logic 710 shown in FIG. 7. A digital motor current value is read (step 810). Next, a Park-Clarke transform is performed on the digital motor current value to determine a magnetizing (DC) motor current and a torque generating (quadrature) motor current (step 820). A proportional-integral controller PI1 is used to compare the magnetizing (DC) motor current with a reference DC current to generate a DC error signal (step 830). A second PI controller PI2 is used to compare the torque generating (quadrature) motor current with a reference quadrature current to generate a quadrature error signal (step 840). An inverse Park-Clarke transform is used to generate a magnetizing (DC) PWM duty cycle and a torque generating (quadrature) duty cycle (step 850). For each phase, the minimum and maximum values of the phase voltage are averaged to generate a phase voltage offset (step 860). For each phase, the phase voltage offset is subtracted from the instantaneous phase voltage to generate a third harmonic injection phase voltage (step 870). For each phase, the PWM signal generator inserts a dead time and generates a PWM control signal from the injected phase voltage (step 880). Next, the blood pump motor is driven using the PWM control signal (step 890). Then, the method 800 is performed.
[0031] Referring to FIG. 9, a method 900 is preferably executed by the motor speed / angle estimator 442 of FIG. 4. The rotor position is calculated using the stator voltage vector and the stator current vector (step 910). Next, the stator voltage vector and the stator current vector are applied to a motor model to estimate the rotor position (step 920). Next, a PI controller generates a speed output frequency using the estimated rotor position (step 930). Then, the speed output frequency is displayed on the system controller display (step 940).
[0032] A specific embodiment of the FPGA motor control unit 340 of FIG. 3 and the FPGA fabric 430 of FIG. 4 is shown at 1000 of FIG. 10. The FPGA fabric 1000 includes a microcontroller interface 1010 that enables a control processor to write values to registers within the FPGA fabric 1000. To understand the function of the circuit of FIG. 1000, some additional information regarding the control of a BLDC motor using field-oriented control (FOC) is described below.
[0033] A brushless DC (BLDC) motor has a magnetized rotor and an energized stator to operate the motor. The rotor is the "rotating" part inside the motor core. In a preferred embodiment, the pump impeller itself is the actual physical rotor. When the impeller is rotated, blood is fed into the pump inlet and exits through the axial flow outlet. The stator is the fixed "stationary" part of the BLDC motor. It consists of three wire coils (phases), and each coil is wound in a tangential orientation with respect to three points spaced 120 degrees apart around the outside of the motor. When a motor control system sends a voltage signal, which is a changing voltage waveform, to the stator coils, the changing current generated in the phase coils by these changing voltages generates a changing magnetic field around the coils. Thus, the magnetic field induced by the current flowing through the phase coils has those magnetic poles oriented along a line passing through the central axis of the motor.
[0034] The field-oriented control (FOC) algorithm measures the phase currents and uses these phase current measurements to control the phase voltages. FOC is a closed-loop system design.
[0035] Each of the three phases of the BLDC motor rotates 120 degrees relative to each other and is oriented evenly spaced around the circumference of the motor. When each individual coil is energized by a changing voltage signal, it generates a current that induces a related magnetic field of a specific magnitude that is always aligned perpendicular to the coil and has one magnetic pole (north or south) towards the central axis of the motor core and the other magnetic pole directly away from the central axis of the motor core. This provides a geometric understanding of the three magnetic fields generated in the three ABC phase coils.
[0036] Combining the magnitudes and N-S directions (polarities) of the three magnetic forces (three magnetic field vectors) generated by the individual coils generates together a magnetic field with a specific strength (magnitude) and a specific north-south magnetic pole orientation (direction) within the motor core across the motor core. The magnetic field generated within the stator is always oriented to pass across the axis of rotation of the motor.
[0037] The rotor has at least one set of alternating N-S-N-S... magnetic pole pairs around its circumference. The magnetic pole pairs on the rotor are oriented across the axis of rotation of the rotor (opposing N and S poles on opposite sides of the rotor). The rotor moves (rotates) because its magnetic pole pairs are attracted to the opposing magnetic poles (N vs S and S vs N) of the rotating resultant magnetic field generated by the coils within the stator.
[0038] The FOC control algorithm generates a magnetic field within the stator by transmitting a rapidly changing voltage waveform signal to the stator phase coils of the motor. The changing voltage waveform passes an alternating current through the stator coil wires, generating a rapidly changing magnetic flux within the stator. The correct operation of the FOC algorithm always energizes only two phases of the stator that have a positive voltage (and positive current) on one phase coil and a negative voltage (and negative current) on the other opposing phase, thus always generating opposing north and south magnetic fluxes on opposite sides of the motor core. The rotor moves to align its magnetic pole pairs (N-S) opposite to the continuously rotating combined magnetic field generated by the energized stator coils. The FOC algorithm transmits an independent and precisely adjusted voltage waveform through the stator coils, and the stator coils generate a rotating magnetic field inside the motor with a magnetic field directed across the motor core. The rotating magnetic field attracts the rotor poles and rotates the rotor together with the rotating magnetic field.
[0039] The main purpose of the calculations performed by the FOC algorithm is to align (and rotate) the resultant magnetic field of the stator so that it is always perpendicular to the magnetic field of the rotor. This alignment causes the stator (magnetic field) to pull on one side of the rotor and push on the other side, rotating it with maximum force. By design, the FOC algorithm sends energy to the stator coils to maximize the rotational force on the rotating rotor. The rotational force is called torque. The FOC algorithm generates maximum torque.
[0040] The operation of field-oriented control is achieved by generating a very fast series of discrete control output voltages and simultaneously performing a very fast measurement of discrete current samples. Thus, the waveforms are continuous signals generated and measured by a series of individual control settings and measured values. The FOC calculations involve the forward and inverse transformation of the current and voltage waveforms, as well as the transformation between a "fixed" reference coordinate system and a "rotating" reference coordinate system.
[0041] Proportional-integral (PI) closed-loop control uses the PI controller output and a feedback measurement of a desired output value called the PI controller reference to move the PI controller output to match the desired output value. The difference between the PI controller output and the PI controller reference is the PI controller error. FOC uses a closed-loop PI controller in some parts of its operation.
[0042] Referring to FIG. 10, I d 、I q 、and the time-scheduled PI controller 1030 for speed includes a speed PI controller 1032 that uses the estimated actual speed from the position and speed estimator 1026 and the reference speed from the rate limiter 1020 to I q output a quadrature current reference. Next, I q the PI controller 1034 uses this I q reference, the measured I q current, and the physical parameters of the motor to I q output a quadrature voltage reference. Finally, I d the DC PI controller 1034 uses the measured I d current and the physical parameters of the motor along with I d a reference value of 0 to I d output a v
[0043] The voltage reference signals v q and v d from the PI controller 1030 are inputs to the FOC conversion block 1040 and specifically are inputs to the inverse Park transform 1042 that outputs v α and v β rotating-phase voltages, and the rotating-phase voltages v α and v β are inputs to the inverse Clarke transform 1044 that outputs the fixed-reference-frame phase voltages v a 、v b and v c and the inverse Clarke transform operation follows. Thus, these transforms convert from the rotating frame v q / vd to the fixed frame va , v b , v c Performs a geometric transformation of the voltage waveform to.
[0044] In FIG. 7, the proportional-integral controller 1 (PI1) 750 outputs the orthogonal voltage v q to the inverse Park transformation in the logic 770. Also, in FIG. 7, the proportional-integral controller 2 (PI2) 752 outputs v d (DC voltage) to the inverse Park transformation in the logic 770.
[0045] The inverse Park transformation within the logic 770 outputs the rotating phase vector voltages v α and v β to the inverse Clarke transformation within the logic 770, and the inverse Clarke transformation directly outputs the three phase-voltage space vectors v a , v b , v c to the SVPWM block 780. The inverse Park inverse Clarke transformation logic 770 essentially performs the mathematics involved in converting the desired orthogonal voltage (speed) and DC voltage into the phase voltages necessary to generate the stator-phase voltage waveforms.
[0046] The Park and Clarke transformation logic 720 first describes the I a , I b , I c phase current waveforms measured from the three physically placed fixed wire coils in the stator in the coordinates of the fixed reference coordinate system into the two rotating phase currents I α and I β output from the Clarke transformation block 1046 in FIG. 10.
[0047] Next, in the Park transformation block 1048, the rotating phase currents I α and I β are converted into the measured (or actual) values I q (actual orthogonal current) and I d (actual DC current) waveforms as seen in the rotating frame coordinates. I q (orthogonal) and I d(Direct current) current is the same current as that represented in the "rotating" frame as phase currents I a 、I b 、I c as represented in a fixed reference frame.
[0048] As described above, the Clarke transformation in logic 720 of FIG. 7 and logic 1048 of FIG. 10 outputs the rotating phase currents I α and I β , and the inverse Park transformation in logic 770 of FIG. 7 and logic 1042 of FIG. 10 outputs the rotating phase voltages v α and v β . All of the rotating phase voltages and rotating phase currents are used by the position velocity estimator 2026 to "close the loop" and generate a feedback value of the actual (estimated) velocity that is fed back to the velocity Pi controller 1032, and a rotor position angle output that is an input to both the Park 1048 and inverse Park 1042 transformations.
[0049] The sensorless field orientation control (SFOC) algorithm is a processing loop that takes a single sample current measurement from all phases of the motor stator and then generates a single sample output value that changes the voltage waveforms of those same phases. Then it loops back and operates again on another sample. The loop speed and sample rate need to be very high when the rotor speed is in the thousands and tens of thousands of RPM. Implementing the SFOC algorithm in a very fast and very stable FPGA that clocks the loop operation is the only way to achieve this. A microprocessor can have the computing power to perform mathematical operations, but the processor clock and interrupt structure do not provide stable and uniform timing operations for loop control, especially at very high speeds. Dedicated FPGA logic can also perform mathematical operations faster than can actually be done with a microcontroller.
[0050] The system controller recognizes two different classes of events that can be detected. The first is an alert, which is considered a medium-priority event that needs to be notified to the user. The second is an alarm, which is regarded as a high-priority event that needs to be notified to the user and the user needs to take corrective measures immediately. The alert is described with reference to FIGS. 11 and 12 below, and the alarm is described with reference to FIGS. 13 and 14.
[0051] Referring to FIG. 11, method 1100 is preferably executed by an alert manager 474 in a control processor 470 as shown in FIG. 4. Monitor alert conditions (step 1110). Unless the alert condition triggers an alert (step 1120 = no), method 1100 loops back to step 1110 and continues. When the alert condition triggers an alert (step 1120 = yes), activate a slow audible alert tone, activate one or more slowly blinking yellow LEDs, provide a soft tactile indication such as a gentle vibration, and display the alert on the display (step 1130). When the user presses the mute button, which is one of the input keys 170 (step 1140 = yes), the audible alert tone is muted and the soft tactile indication is deactivated for a first set time such as 15 minutes (step 1150). If the alert persists for more than a second set time such as 20 minutes (step 1160 = yes), a "Call for help" message is displayed (step 1170). Then, method 1100 loops back to step 1110 and continues.
[0052] As shown in FIG. 4, the control processor 470 includes an alert manager 474 and an alarm manager 476. It should be noted that these two functions can be combined. However, experience has shown the need to handle alerts, which are events of medium priority, differently from alarms, which are events of high priority. If all events were treated as high-priority alarms, this could lead to unnecessary and life-threatening actions when such actions are not required for medium-priority events. As a result, the controller disclosed and claimed herein distinguishes between medium-priority events, referred to herein as "alerts," and high-priority events, referred to herein as "alarms."
[0053] Figure 12 shows a table 1200 that defines a plurality of alerts that can be detected and acted upon. Each row of table 1200 defines an alert according to the defined alert condition, the entity that detects the condition, and the notification message provided to the display as a result of the detected alert. In the detection column of Figure 12, since most alerts can be detected by the control processor (CP), CP is included for most alerts. The SP is included for alerts that can be detected by the supervisor processor (SP) independently of the CP. The pump low flow alert 1210 is detected by the CP, and the pump low flow message is displayed. The pump overcurrent alert 1212 of the pump power is detected by the CP, and the pump power high message is displayed. The pump power high alert 1214 is detected by the CP, and the pump power high message is displayed. The pump power low alert 1216 is detected by the CP, and the pump power low message is displayed. The pump speed low alert 1218 is detected by the CP, and the pump speed low message is displayed. The pump speed error alert 1220 is detected by the CP, and the pump speed error message is displayed. The system over-temperature alert 1222 is detected by the CP, and the system failure message is displayed. The standby battery failure alert 1224 is detected by the CP, and the system failure message is displayed. The standby battery low alert 1226 is detected by the CP, and the standby low message is displayed. The standby battery discharge alert 1228 is detected by the CP, and the on standby message is displayed. The primary battery low alert 1230 is detected by the CP, and the battery low message is displayed. The primary battery ultra-low alert 1232 is detected by the CP, and the battery ultra-low message is displayed. The primary battery critical alert 1234 is detected by the CP, and the battery critical message is displayed. The control processor or FPGA failure alert 1236 is detected by the SP, and the system failure message is displayed. The DC input failure alert 1238 is detected by the CP, and the system failure message is displayed. The software failure alert 1240 is detected by the SP, and the system failure message is displayed.The mute button stack alert 1242 is detected by the CP, and a system failure message is displayed. The next button stack alert 1246 is detected by the CP, and a system failure message is displayed. The alert test alert 1248 is detected by the CP, and an alert test message is displayed. The alerts shown in FIG. 12, along with other suitable alerts, are within the disclosure and claims of this specification.
[0054] By definition, an alert is not as severe as an alarm. As a result, the patient only needs to see / hear / feel a medium-priority notification about alert conditions that the clinician needs to know more quickly. For all of these alerts, the patient may be instructed to call for help at the clinic. The "call for help" instruction can be indicated, for example, by a lit phone icon on the front of the controller and a "call for help" message on the controller display. The alert message has an alert number that the patient can read to the clinician when seeking help. Alerts that do not require notification to the clinician are also recorded.
[0055] The specific alerts shown in FIG. 12 are shown as an example. Other alert conditions can be detected to result in corresponding notifications within the disclosure and claims of this specification. Further, most of the alerts in FIG. 12 are shown to be detected only by the CP, but in an alternative implementation, the service processor (SP) can also monitor many of the alert conditions detected by the CP and provide alert notifications independently of the CP. This is very beneficial in the case of a CP failure.
[0056] Referring to FIG. 13, method 1300 is preferably executed by an alarm manager 476 within a control processor 470, as shown in FIG. 4. Monitor for an alarm condition (step 1310). Unless the alarm condition triggers an alarm (step 1320 = no), method 1300 loops back to step 1310 and continues. When the alarm condition triggers an alarm (step 1320 = yes), activate a loud and fast audible alert sound, activate one or more fast flashing red LEDs, provide a strong tactile indication such as a strong vibration, and display the alarm on the display (step 1330). If the user presses the mute button (step 1340 = yes), the alert can be muted by the user for a predetermined period, but this is ineffective because the alarm cannot be disabled (step 1350). If the alarm persists for longer than a third set time, such as 5 minutes (step 1360 = yes), a "Call for help" message is displayed (step 1370). Then, method 1300 loops back to step 1310 and continues.
[0057] FIG. 14 shows a table 1400 that defines a plurality of alarms that can be detected and acted upon. Each row of table 1400 defines an alarm according to the defined alarm condition, the entity that can detect the condition, and the notification written to the display as a result of the detected alarm. A pump stop alarm 1410 is detected by the CP and SP, and a pump stop notification is displayed. The pump may stop for various reasons, including that the pump drive line has been cut, damaged, unplugged, or otherwise destroyed, the FPGA motor control unit can no longer rotate the pump motor, the control unit has lost power, the only power source is a depleted internal backup battery that can no longer supply sufficient current to operate the pump, the pump is blocked by a thrombus, or the pump motor itself is faulty or otherwise damaged. A pump non-connection alarm 1412 is detected by the CP, and a pump non-connection message is displayed. A pump restart failure alarm 1414 is detected by the CP, and a pump restart failure message is displayed. A primary battery absence alarm 1416 is detected by the CP, and a battery absence message is displayed. An emergency alarm test alarm 1418 is detected by the CP, and an alarm test message is displayed. An alarm test alarm 1420 is detected by the CP, and an alarm test message is displayed. A power failure alarm 1422 is detected by the SP, and an emergency alarm message is displayed. In one suitable embodiment, the SP monitors the regulated power supply within the control system, and if any of the regulated power supplies are not supplying a voltage within the specified range, the SP can detect this condition and provide an emergency alarm in response to the detection of this power failure. The alarms shown in FIG. 14 are within the disclosure and claims of this specification, along with any other suitable alarms. Further, in alternative embodiments, many of the alarms in FIG. 14 detected by the CP can be further detected by the SP.
[0058] The alarm messages and alert messages output to the display have an alarm or alert label with a simple format, namely a numerical identifier, followed (if possible) by a simple instruction on how to modify the condition, and in some cases one or two additional instructions such as "call for help" or "call for help" and "replace the controller".
[0059] Multiple alerts and / or alarms may exist simultaneously. The control processor 470 preferably executes the method 1500 of FIG. 15. If there are no multiple alerts and / or alarms simultaneously (step 1510 = no), the method 1500 is performed. If there are multiple alerts and / or alarms simultaneously (step 1510 = yes), the alarms and alerts are continuously scrolled on the display from the highest priority to the lowest priority (step 1520). By scrolling multiple alerts / alarms on the display, the user can easily view all pending alerts and alarms as the messages scroll on the display. Then, the method 1500 is performed.
[0060] The alert manager 474 and the alarm manager 476 are shown in FIG. 4 as separate entities, but both functions can be provided by software within the control processor.
[0061] Figure 16 shows a method 1600 for a clinician to program a blood pump. The clinician connects a clinician interface computer to the clinician interface on the controller (step 1610). The clinician interface computer can be any suitable computing device including, but not limited to, a desktop computer, laptop computer, tablet computer, or smartphone. The clinician invokes the GUI within the clinician interface and uses the GUI to set the pump motor speed (step 1620). The clinician can also define or select alert conditions and alarm conditions, such as thresholds for one or more alert or alarm conditions (step 1630). Then, method 1600 is performed.
[0062] As described above with reference to FIG. 3, the presence of the supervisor processor 320 enables monitoring the health and integrity of the control processor 330 and the FPGA motor control unit 340. The method 1700 of FIG. 17 is preferably executed by the supervisor processor 320 shown in FIG. 3. The supervisor processor monitors the control processor and the SFOC core within the FPGA (step 1710). If there is a mismatch between the pump motor speed setting and the reported pump speed (step 1720 = yes), an alert or alarm is triggered (step 1730). If there is no mismatch in step 1720 (step 1720 = no), but there is a delayed report from the control processor (step 1740 = yes), an alert or alarm is triggered (step 1730). Then, method 1700 loops back to step 1710 and continues. From method 1700, it can be seen that the supervisor processor has the ability to detect problems with both the control processor and the SFOC core within the FPGA, thereby providing an additional layer of protection if one or both of the control process and / or the SFOC core stops operating properly. In some cases, if the system controller is actually not functioning correctly, the triggered alarm will result in an immediate replacement of the system controller.
[0063] As described above with reference to FIG. 2, the system controller 210 functions according to a defined power hierarchy. The system controller 470 of FIG. 4 shows a power manager 478 that manages power from three power sources: a primary battery, an AC / DC power adapter, and a backup battery. One suitable power hierarchy that can be used by the power manager 478 of FIG. 4 is shown in Table 1800 of FIG. 18, and the hierarchy is defined from highest priority to lowest priority. Thus, the AC / DC power adapter 1810 has the highest priority, and if power is present from the AC / DC power adapter, the power manager 478 will use the power from the AC / DC power adapter. The primary battery 1820 is next in priority, which means that if the AC / DC power adapter is removed from the system controller or there is no power from the AC / DC power adapter, which can be caused by a power outage, the power manager 478 will use the power from the primary battery. The backup battery 1830 inside the system controller housing has the lowest priority. Thus, the power manager 478 will use the power from the backup battery only when there is no available power from either the AC / DC power adapter or the primary battery. The backup battery is designed to be used only for a very short period while switching the primary battery, so the backup battery does not have enough capacity to operate the system controller and the blood pump for any extended period. The backup battery is designed to operate the blood pump for 30 minutes under nominal conditions, which means that the backup battery is sufficient for the typical one or two minutes it takes for the user to switch the primary battery pack.
[0064] Method 1900 of FIG. 19 is preferably executed by power manager 478 of FIG. 4. When the AC / DC power adapter supplies power, the power from the AC / DC power adapter is used (step 1910). When the AC power adapter does not supply power, the power from the primary battery is used (step 1920). When neither the AC / DC power adapter nor the primary battery supplies power, the power from the backup battery is used (step 1930). Then, method 1900 loops back to step 1910 and continues.
[0065] Power manager 478 is shown in FIG. 4 as a function provided by control processor 470, but in a preferred embodiment, the function of power manager 478 is executed by a separate power management integrated circuit that communicates the power state to the control processor.
[0066] Figure 20 is a method 2000 showing different operating modes for a system controller and a blood pump. In the tethering operation, when the user is in one place near the power outlet for some time, the user can plug in the AC / DC power adapter (step 2010). In the non-tethering operation, when the user is not in one place near the electrical outlet, the user attaches the primary battery and then removes the AC / DC power adapter (step 2020). Since the system controller can be used for the non-connected operation, the system controller is a wearable device where size, weight, and temperature are considerations in the wearability of the system controller. To replace the primary battery while not tethered, remove the attached primary battery and replace it by attaching a different primary battery (step 2030). To charge the primary battery not attached to the system controller, connect the primary battery to a desktop battery charger (step 2040). In a preferred embodiment, the mechanical and electrical connection between the primary battery and the desktop battery charger is the same as the mechanical and electrical connection between the primary battery and the system controller. Thereby, the user can use the same operation to remove and connect the primary battery from the desktop battery charger that the user uses to remove and connect the primary battery from the system controller.
[0067] As shown in FIG. 21, the power manager 478 shown in FIG. 4 preferably includes a backup battery charger 2100 for charging the backup battery 150. The backup battery charger 2100 preferably functions according to the method 2200 of FIG. 22. When power is available from the AC / DC power adapter (step 2210 = yes), the backup battery is charged (step 2220). If power is not available from the AC / DC power adapter (step 2210 = no), but the backup battery capacity is less than the backup battery minimum threshold RBMT and the primary battery capacity is greater than the primary battery minimum threshold PBMT (step 2230 = yes), the backup battery is charged (step 2240). Otherwise (step 2230 = no), the backup battery is not charged and the method 2200 loops back to step 2210. When the backup battery is charged in step 2220 or 2240, charging can be stopped when any of the following conditions listed in step 2250 are met. That is, 1) the charging current of the backup battery reaches the minimum allowable charging taper current at the charger voltage, or 2) the backup battery temperature limit is exceeded, or 3) a charging timer of several hours expires, or 4) other error conditions. Therefore, the backup battery charger attempts to keep the backup battery in a fully charged state and has the capacity to meet short interruptions in power from the AC / DC power adapter and the primary battery.
[0068] A blood pump system includes a blood pump and a corresponding controller. The blood pump includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing. The pump impeller includes magnets and is the rotor of a brushless direct current (DC) motor driven by an electrical signal passing through stator wire coils within the pump housing, generating a rotating magnetic field. The rotating magnetic field attracts and rotates with the magnetized impeller. The controller provides field orientation control for the brushless DC motor within the blood pump. The field orientation control within the controller is provided in a programmable logic device separate from the control processor so that software or hardware failures associated with the control processor do not stop the blood pump. The field orientation control enables detection of blood flow through the pump without having sensors within the blood flow.
[0069] The disclosure and claims herein support a system controller for driving a blood pump that includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, the impeller including a plurality of magnets, the blood pump including a plurality of stator coils within a brushless direct current (DC) motor that rotates the impeller within the pump housing when driven by a plurality of drive signals, the system controller including an electrical connector for electrically connecting the system controller to the blood pump and providing a plurality of drive signals from the system controller to the plurality of stator coils within the brushless DC motor within the blood pump, a display, a control processor that provides a management function to the system controller and displays at least one message on the display, and a programmable logic device that provides field orientation control of the brushless DC motor within the blood pump by providing a plurality of drive signals to the plurality of stator coils within the brushless DC motor within the blood pump via the electrical connector, the programmable logic device operating independently of the function of the control processor or operating independently of a function that is not the control processor.
[0070] The disclosure and claims of this specification further support a system controller for driving a blood pump including an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, the impeller including a plurality of magnets, the blood pump including a plurality of stator coils within a brushless DC motor that rotates the impeller within the pump housing when driven by a plurality of drive signals, the system controller including an electrical connector for electrically connecting the system controller to the blood pump to provide a plurality of drive signals from the system controller to the plurality of stator coils within the brushless DC motor within the blood pump, a display, at least one input key for a user of the system controller, at least one visual indicator for the user, at least one audio device for signaling an alert or alarm condition to the user, an internal backup battery within a housing for the system controller that provides power when an external primary battery does not supply power to the system controller and when an external AC / DC adapter does not supply power to the system controller, a clinician interface that provides a graphical user interface that enables a medical clinician to set the speed of the blood pump and to define or select at least one alert or alarm condition within the system controller using a clinician computer coupled to the clinician interface, a control processor that provides a management function to the system controller, displays at least one message on the display, and activates at least one of the visual indicator and at least one audio device to signal an alert or alarm condition, and a programmable logic device that provides field orientation control of a brushless DC motor within the blood pump by providing a plurality of drive signals to the plurality of stator coils within the brushless DC motor within the blood pump via the electrical connector, the programmable logic device operating independently of the function of the control processor or operating independently of a function that is not the control processor.
[0071] The disclosure and claims of this specification further support a blood pump system, the blood pump system comprising: (A) a blood pump, which is sealed within a pump housing and has an impeller hydrodynamically suspended within the pump housing, the impeller including a plurality of magnets, and a plurality of stator coils within a brushless DC motor that, when driven by a plurality of drive signals, rotate the impeller within the pump housing; and (B) a system controller electrically coupled to the blood pump and providing a plurality of drive signals to the plurality of stator coils within the brushless DC motor in the blood pump, the system controller including a display, a control processor that provides management functions to the system controller and displays at least one message on the display, and a programmable logic device that provides field orientation control of the brushless DC motor in the blood pump by providing a plurality of drive signals to the plurality of stator coils within the brushless DC motor in the blood pump, independent of the functions of the control processor or functions other than the control processor.
[0072] Those skilled in the art will understand that many variations are possible within the scope of the claims. Thus, while the disclosure has been particularly shown and described, those skilled in the art will understand that these and other changes in form and detail can be made without departing from the spirit and scope of the claims.
Claims
1. A system controller for driving a blood pump that includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, the impeller including a plurality of magnets, the blood pump including a plurality of stator coils within a brushless direct current (DC) motor that rotates the impeller within the pump housing when driven by a plurality of drive signals, the system controller comprising: an electrical connector for electrically connecting the system controller to the blood pump to provide the plurality of drive signals from the system controller to the plurality of stator coils within the brushless DC motor within the blood pump; a display; a control processor that provides a management function to the system controller and displays at least one message on the display; a programmable logic device that provides field orientation control of the brushless DC motor within the blood pump by providing the plurality of drive signals to the plurality of stator coils within the brushless DC motor within the blood pump via the electrical connector, the programmable logic device being configured to continue to provide the plurality of drive signals when the control processor stops operating. A system controller including:
2. The system controller according to claim 1, further including a backup battery inside the system controller.
3. Further including a power manager for selecting a power source for supplying power to the system controller according to a defined power hierarchy, the power source being selected from power from an AC / DC adapter coupled to a first external connector on the system controller, power from a primary battery coupled to a second external connector on the system controller, and power from the backup battery inside the system controller. The system controller according to claim 2.
4. The system controller according to claim 1, wherein the programmable logic device includes a field programmable gate array (FPGA).
5. The system controller according to claim 1, wherein the control processor and the programmable logic device are implemented on a system-on-chip (SoC).
6. At least one input key for a user of the system controller, At least one visual indicator for the user, The system controller according to claim 1, further comprising at least one audio device for signaling an alert or alarm condition to the user.
7. The clinician interface further provides a graphical user interface that enables a medical clinician to set the speed of the blood pump and define or select at least one alert or alarm condition within the system controller using a clinician computer coupled to the clinician interface. The system controller according to claim 1.
8. The system controller according to claim 1, further comprising a supervisor processor coupled to the control processor and the programmable logic device, the supervisor processor monitoring the functions of the control processor and the programmable logic device according to at least one monitored parameter, and providing an alert or alarm signal when the at least one monitored parameter indicates an alert or alarm condition.
9. The system controller according to claim 1, further comprising an alert manager that enables defining or selecting a plurality of alerts and corresponding alert notifications, detecting when one of the plurality of alerts is triggered, and providing at least one notification corresponding to the triggered alert.
10. The system controller according to claim 1, further comprising an alarm manager that enables defining or selecting a plurality of alarms and corresponding alarm notifications, detecting when one of the plurality of alarms is triggered, and providing at least one notification corresponding to the triggered alarm.
11. The system controller according to claim 1, further comprising a motor driver integrated circuit that receives a pulse width modulation drive signal from the programmable logic device and generates the plurality of drive signals to the plurality of stator coils in the brushless DC motor within the blood pump.
12. The system controller according to claim 1, further comprising a digital motor current conversion circuit that receives the current sensed in each of the plurality of drive signals to the blood pump and generates a digital motor current value that is fed back from the blood pump to the programmable logic device.
13. The field orientation control performs Park transformation and Clarke transformation on the digital motor current value to determine a magnetization (DC) motor current and a torque generation (orthogonal) motor current, and uses a first proportional-integral controller to compare the magnetization (DC) motor current with a reference DC current to generate a DC voltage signal, and uses a second proportional-integral controller to compare the torque generation (orthogonal) motor current with a reference orthogonal current proportional to a desired motor speed signal to generate an orthogonal voltage signal, performs an inverse Park transformation on the DC voltage signal and the orthogonal voltage signal to generate two rotational phase voltage signals, and then performs an inverse Clarke transformation on the two rotational voltage signals to generate a pulse-width modulation duty cycle signal in the phase space, and uses the space vector modulation control block to generate a plurality of pulse-width modulation signals used to drive the plurality of stator coils.
14. A system controller for driving a blood pump including an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, the impeller including a plurality of magnets, the blood pump including a plurality of stator coils within a brushless DC motor that rotates the impeller within the pump housing when driven by a plurality of drive signals, the system controller an electrical connector for electrically connecting the system controller to the blood pump and providing the plurality of drive signals from the system controller to the plurality of stator coils within the brushless DC motor within the blood pump; a display; at least one input key for a user of the system controller; at least one visual indicator for the user; at least one audio device for signaling an alert or alarm condition to the user; A backup battery inside the housing for the system controller that supplies power when the external primary battery does not supply power to the system controller and when the external AC / DC adapter does not supply power to the system controller, A clinician interface that allows a medical clinician to set the speed of the blood pump and define or select at least one alert or alarm condition within the system controller using a clinician computer coupled to the clinician interface, A control processor that provides management functions to the system controller, displays at least one message on the display, and activates at least one of the visual indicator and the at least one audio device to signal an alert or alarm condition, A programmable logic device that provides field orientation control of the brushless DC motor in the blood pump by providing the plurality of drive signals to the plurality of stator coils in the brushless DC motor in the blood pump via the electrical connector, the programmable logic device being configured to continue to provide the plurality of drive signals when the control processor stops operating, a system controller including.