Blood pump controller and system

The blood pump system with a brushless DC motor and separate magnetic field orientation control addresses the lack of precise control and sensor-related issues in existing pumps, ensuring reliable and safe operation by isolating critical functions from processor failures.

JP7843372B2Active Publication Date: 2026-04-09スター ビーピーインコーポレイティド
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-06-02
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Existing blood pumps lack precise pump speed control and direct blood flow sensing without sensors in the bloodstream, leading to potential errors and safety risks due to mechanical damage and sensor-related thrombosis, and existing controllers are prone to software or hardware failures.

Method used

A blood pump system with a brushless DC motor and magnetic field orientation control, utilizing a programmable logic device separate from the control processor to sense blood flow without sensors, and incorporating a supervisor processor to ensure continuous operation even if the control processor fails.

Benefits of technology

Provides precise control of blood pump speed and flow sensing, reduces mechanical damage, and ensures continuous operation by isolating critical control functions from software or hardware failures, enhancing safety and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007843372000001
    Figure 0007843372000001
  • Figure 0007843372000002
    Figure 0007843372000002
  • Figure 0007843372000003
    Figure 0007843372000003
Patent Text Reader

Abstract

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 that is driven by an electrical signal passing through a stator wire coil within the pump housing and generates 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 faults 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 a sensor within the blood flow.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure generally relates to blood pumps, and more specifically to blood pump controllers and systems. [Background technology]

[0002] Medical blood pumps increase blood flow in patients with hearts that provide insufficient blood flow. Ventricular assist devices (VADs) are a specific type of implantable blood pump. VADs are positioned parallel to the left or right ventricle of a patient that does not provide the necessary 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, while others have a motor shaft directly in line with the impeller to drive an axial flow pump to pump blood. Maintaining a secure seal around the motor shaft within the pump can be a challenge. Other pumps use an impeller that is completely sealed within the pump housing and hydrodynamically suspended within the pump housing. The impeller itself becomes the magnetized rotor part of the motor. Motor stator coils that receive electrical signals to generate a rotating magnetic field to rotate 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 to sense pressure and flow. Other blood pumps use various methods to estimate the pump pressure and / or discharge flow and avoid introducing the sensor into the bloodstream because a thrombus may form around the sensor.

[0003] Known devices and methods for blood pumps and controllers do not provide precise pump speed control or allow direct blood flow sensing without sensors in the blood flow, and have other drawbacks, such as some mechanical pump designs that more significantly damage the blood flowing through the pump. Many controllers estimate certain parameters, such as pressure or flow rate. These estimates are a source of potential errors in providing appropriate treatment to the patient, i.e., properly controlling the blood pump. Some malfunctions within the pump controller can cause the blood pump to shut down, endangering the patient's life. To address these shortcomings in conventional technology, improved blood pump controllers are needed. [Overview of the project]

[0004] The blood pump system includes a blood pump and a corresponding controller. The blood pump is sealed within a pump housing and includes an impeller hydrodynamically suspended within the pump housing. The pump impeller is the rotor of a brushless direct current (DC) motor containing magnets and driven by an electrical signal through a stator wire coil within the pump housing, generating a rotating magnetic field. The rotating magnetic field attracts the magnetized impeller, causing it to rotate with the rotating magnetic field. The controller provides magnetic field orientation control for the brushless DC motor in the blood pump. The magnetic field orientation control within the controller is located in a programmable logic device separate from the control processor to prevent software or hardware failures related to the control processor from stopping the blood pump. The magnetic field orientation control allows for sensing the blood flow through the pump without having sensors in the blood flow.

[0005] The above and other features and advantages will become clear from the following more specific description, as shown in the attached drawings.

[0006] This disclosure is described in conjunction with the accompanying drawings, where similar reference numerals indicate similar elements. [Brief explanation of the drawing]

[0007] [Figure 1] A block diagram of a system including a blood pump, a cable, and a system controller. [Figure 2] A block diagram showing a system with additional details according to a preferred embodiment. [Figure 3] A diagram showing the components of the system controller in a preferred embodiment. [Figure 4] A block diagram showing some parts of a system controller implemented on a system-on-chip (SOC). [Figure 5] A block diagram of a blood pump according to a preferred embodiment. [Figure 6] A block diagram showing how the system controller drives a stator coil to provide an estimated value of blood flow through the blood pump. [Figure 7] A block diagram showing one suitable implementation of the digital current processing logic shown in FIG. 6. [Figure 8] A flowchart of one suitable method for generating a drive signal for a blood pump motor. [Figure 9] A flowchart of a method for determining the speed of a blood pump motor. [Figure 10] A block diagram of a specific implementation for the FPGA motor control unit within the system controller shown in FIG. 3, which provides field-oriented control for the blood pump motor. [Figure 11] A flowchart of a method for the system controller to monitor and process alerts. [Figure 12] A table showing alert conditions and corresponding notifications. [Figure 13] A flowchart of a method for the system controller to monitor and process alarms. [Figure 14] A table showing alarm conditions and corresponding notifications. [Figure 15]This is a flowchart illustrating a method for displaying multiple active alarms and / or alerts at the same location on the system controller's display. [Figure 16] This is a flowchart illustrating how a clinician can program a system controller for a specific patient. [Figure 17] This is a flowchart illustrating how the supervisor processor triggers an alarm when an error occurs in the FPGA motor controller or system controller. [Figure 18] This is a hierarchical block diagram used by the power controller within the system controller to determine which power source supplies power to the system controller. [Figure 19] Figure 18 is a flowchart illustrating the method by which the system controller determines which power supply to use, according to the power hierarchy. [Figure 20] This is a flowchart illustrating various ways in which patients can use the system controller. [Figure 21] This block diagram shows a backup power charger within the power manager that charges the internal backup battery when certain conditions are met. [Figure 22] Figure 21 is a flowchart illustrating the method by which the spare battery charger charges a spare battery. [Modes for carrying out the invention]

[0008] The blood pump system includes a blood pump and a corresponding controller. The blood pump is sealed within a pump housing and includes an impeller hydrodynamically suspended within the pump housing. The pump impeller is the rotor of a brushless direct current (DC) motor containing magnets and driven by an electrical signal through a stator wire coil within the pump housing, generating a rotating magnetic field. The rotating magnetic field attracts the magnetized impeller, causing it to rotate with the rotating magnetic field. The controller provides magnetic field orientation control for the brushless DC motor in the blood pump. The magnetic field orientation control within the controller is located in a programmable logic device separate from the control processor to prevent software or hardware failures related to the control processor from stopping the blood pump. The magnetic field orientation control allows for sensing the blood flow through the pump without having sensors in the blood flow.

[0009] Referring to Figure 1, a blood pump system 100 is shown, including a blood pump 110, a cable 124, and a system controller 130. The blood pump 110 may be an implantable blood pump. A ventricular assist device (VAD) is one suitable embodiment 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 multiple magnets, and the blood pump has multiple stator coils in a brushless DC motor that rotates the impeller within the pump housing when driven by multiple drive signals.

[0010] The blood pump 110 includes a connector 120 that accepts 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 transcutaneous cable that is implanted in the patient's body, passes through the skin, and connects to the blood pump 110, which is connected 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 in the system controller, so that the system controller 130 can provide a drive signal to the stator coil in the brushless DC motor in the blood pump 110.

[0011] As shown in Figure 1, the system controller 130 preferably includes 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 tactile notification of alerts and alarms. The controller logic 140 monitors the function of the brushless DC motor in the blood pump 110 and provides appropriate drive signals to the stator coil in the brushless DC motor so that the blood pump 110 operates at the desired speed. The backup battery 150 is located inside the housing of the system controller 130 and provides power when a primary battery or external power source such as an AC / DC adapter is not 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 may include, for example, a mute key to mute the audio device when it indicates an alert, and a "next" key to enable moving from the current screen to the next screen in a multi-screen message. The LED 180 is used to provide a visual indication of an alert or alarm detected by the system controller 130. For example, the LED 180 may provide a slow yellow flashing signal in the case of an alert and a fast red flashing signal in the case of an alarm. The audio device 190 is used to provide an audible indication of an alert or alarm detected by the system controller 130. For example, the audio device 190 may provide a slow, soft beep in the case of an alert and a fast, loud beep in the case of an alarm.

[0012] The blood pump systems disclosed and claimed herein may also include other components, as shown in system 200 in Figure 2. The system controller 210 in Figure 2 is one suitable example of the system controller 130 in Figure 1, and the blood pump 260 is one suitable example of the blood pump 110 in Figure 1. The system controller 210 includes an internal spare battery 150 as described above. The system controller 210 further includes a clinician interface that allows a clinician interface computer 230 to be connected to the system controller 210. A medical clinician can use the clinician interface computer 230 to set the speed of the blood pump in the system controller 210 and also define or select various alert and alarm conditions. The system controller 210 includes a blood pump interface for receiving a cable 266 to connect to the blood pump 260. The system controller 210 may be located outside the human body and connect to an implantable blood pump 260 by connecting to a suitable connector 264 that connects to a transcutaneous cable 262. Of course, the blood pump 260 may also be outside the human body and have a transcutaneous tube that connects to a blood vessel inside the human body. It should be noted that connector 264 can be used to plug in an extension cable, allowing the system controller to be located far from the patient. This would be useful, for example, if the patient needs to undergo surgery.

[0013] The system controller 210 also includes an interface between a primary battery 250 and an AC / DC power adapter 240 that receives power from a local AC (AC) power source. In a preferred embodiment, the system controller 210 preferably does not include a circuit for charging the primary battery 250. The primary battery 250 is detachably coupled to the outside of the system controller housing so that it 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 a power hierarchy to determine which power source to apply to operate the system controller 210. When the AC / DC power adapter 240 is plugged into the local AC power supply and then plugged into the system controller 210, the AC / DC power adapter 240 supplies power to the system controller 210. If 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 is plugged into the system controller 210 but is not supplying power (e.g., 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 a blood pump will be in one location for a period of time, the patient can use the system controller 210 in tethering mode, plugging 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 wishes to be connected to the AC / DC power adapter 240, the patient can disconnect the AC / DC power adapter 240, so that the patient can use the system controller 210 in disconnected mode, which allows the relatively large primary battery 250 to power the system controller 210 for several hours before needing 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. Therefore, the spare battery 150 located 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.Under normal use, the system controller 210 is powered only by the backup battery for the short time it takes for the user to disconnect a discharged primary battery and replace 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 charged when the system controller 210 is connected to the AC / DC power adapter 240 or the primary battery 250. Primary batteries used with the system controller 210, such as primary batteries 250, 250A and 250B in Figure 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 shown in Figure 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 latching 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 similar latching system so that the primary battery is attached to the desktop battery charger 270 in the same way that the primary battery is attached to the system controller. This provides ease of use, and the user is familiar with connecting and disconnecting the primary battery on the system controller and can connect and disconnect the primary battery to the desktop battery charger using this same method and procedure. The desktop battery charger 270 can charge the primary battery using any suitable charging method. In the preferred embodiment, the desktop battery charger 270 can recharge the primary battery in about 3 hours.

[0016] Referring to Figure 3, the system controller 310 is one embodiment suitable for the system controller 130 shown in Figure 1 and the system controller 210 shown in Figure 2. The system controller 310 includes a spare battery 150 inside the housing of the system controller, as described above with reference to the system controller 130 in Figure 1 and the system controller 210 in Figure 2. The controller logic 140 in Figure 1 may include a supervisor processor 320, a control processor 330, and a programmable logic device that provides motor control, such as an FPGA motor control unit 340, as shown in Figure 3. Separating the functions of the system controller into three blocks 320, 330, and 340 shown in Figure 3 offers significant advantages. First, the control processor 330 is a microcontroller that provides the management functions required by the system controller 310, including monitoring alerts and alarms, outputting to a display, receiving input from the user via an input key 170, and performing power switching between power supplies. The FPGA motor control unit 340 is a field-programmable gate array (FPGA) programmed to provide sensorless magnetic field orientation control (SFOC) of a brushless DC motor in a blood pump. By dedicating the control of the blood pump to the FPGA motor control unit 340, the blood pump continues to operate and be controlled by the FPGA motor control unit 340 even if the control processor 330 stops working or ceases to operate. Therefore, even if the control processor 330 fails to function correctly, the FPGA motor control unit 340 will continue to function and control the blood pump, as it is implemented in hardware that does not depend on the functionality of the control processor 330 to function properly. In addition, the FPGA motor control unit 340 operates according to an electronic clock rather than using software that may have variable timing. Therefore, the FPGA motor control unit 340 can control very high-speed motors that would be difficult to control via a processor running software. The FPGA motor control unit 340 is also a dedicated standalone circuit and does not have any irrelevant or other features that could cause failure.In addition, the FPGA may have space for expansion to add other dedicated hardware functions to the system controller, such as a Medical Implant Communication Services (MICS) interface or Bluetooth® communication interface to an embedded controller for external parameter programming, an interface to a micro-electromechanical system (MEMS) pressure sensor circuit for flow measurement, and an interface to a transcutaneous battery charging system.

[0017] Sensorless magnetic field orientation control (SFOC) for brushless DC motors is commonly known, but this method has not been used in blood pumps. SFOC offers a number of advantages compared to known technologies for blood pumps. Blood pumps need to operate at relatively high speeds of several thousand or tens of thousands of RPM with fluctuations of less than 100 RPM. SFOC provides the precise position (rotor angle) of the rotating rotor (or impeller), enabling more precise motor control. SFOC is a closed-loop design, in contrast to known drive systems for blood pumps. With a precise rotor position, the spin speed or velocity is known, allowing the magnetic field in the stator to be driven to generate maximum torque. This is the essential difference SFOC offers when controlling brushless DC (BLDC) motors compared to other motor drive mechanisms. The rotor position and velocity are unknown in induction motors, or in motors operating with other open-loop controls such as trapezoidal or sinusoidal drive. In open-loop systems, the actual rotational speed of the rotor (impeller) is only an estimate. SFOC allows the rotational speed to be measured.

[0018] SFOC also improves power efficiency, reducing power consumption compared to trapezoidal or sinusoidal drive methods for the same motor design. This is because the SFOC algorithm optimizes pump motor torque. The energy sent to the stator's phase coils generates a magnetic field that is always precisely located to rotate the rotor with maximum force. Since there is no magnetic field in the phase coils driving the rotor at a position smaller than the precise position relative to the rotor's permanent magnetic field, energy is wasted to a minimum. Improved power efficiency results in reduced power consumption, reduced heat generation, and a smaller size for the system controller. Furthermore, improved power efficiency allows for the use of smaller backup batteries or longer lifespans for larger backup batteries.

[0019] The SFOC method for driving pump motors also reduces torque ripple. Torque ripple is also a result of not having a magnetic field in the stator in the optimal position to rotate only the rotor. If the stator magnetic field lags behind or leads the rotor magnetic field in the optimal position, the rotor decelerates and is knocked away from its central axis. The rotor oscillates more without SFOC. SFOC significantly reduces this torque ripple (stutter and wobble of rotor speed) because the SFOC algorithm attempts to drive the axial displacement parameter toward zero and smooths the torque value. As a result of reducing torque ripple, the motor's bearing life may be extended and protection against hemolysis may be improved.

[0020] SFOC also allows the motor itself to be used as a sensor, as the rotor position provides accurate velocity, and measuring the motor current is useful for flow measurement and obstacle detection. SFOC is "sensorless" because it does not have separate sensors such as Hall effect sensors, mechanical load sensors, or separate governor circuits to detect rotor speed. The current sensor used by the SFOC algorithm to perform motor control can also sense load changes affecting the motor. Thus, using the measured variables, current sensed values, torque ripple, and programmed velocity, it is possible to estimate the flow through the pump and detect obstacles in the flow.

[0021] SFOC uses a three-dimensional shape to convert between a rotational reference and a fixed reference, and between a voltage that induces current and a current that indicates that voltage. While SFOCs have been implemented in software in the past, running an SFOC in a software-controlled environment requires a very fast microcontroller. Assume that the program within the microcontroller simultaneously performs the calculations of the SFOC loop that rotates the pump motor, and also runs other software that performs other functions such as battery monitoring, recording motor control events, displaying messages on an LCD, generating alarms, and communicating via USB. In that case, the timing of the SFOC algorithm is very likely to be interfered with by the operation of the other software. SFOCs require precise timing. Software systems, by their very nature, cannot achieve precise timing under all circumstances. If part of the software system malfunctions, it can affect other parts of the operating software. For this reason, implementing the SFOC on an FPGA provides independence from the microcontroller that runs other functions, which ensures that the blood pump continues to function even if the microcontroller fails or malfunctions. Furthermore, the FPGA implementation of the SFOC disclosed and claimed herein provides a very precise hardware timer and thus ensures very fast control of the blood pump motor. Once the pump motor speed is set in the FPGA motor control unit 340, the pump motor will rotate at precisely 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 failing. This allows the control processor to fail, lock up, or shut down for no reason while the FPGA motor control unit 340 continues to rotate the pump motor at precisely programmed speed. In addition, the control processor can be intentionally shut down to update its software while the FPGA motor control unit 340 continues to rotate the pump motor at precisely programmed speed.When the pump motor speed setting is set in the FPGA motor control unit 340, all FPGA motor control units 340 must continue rotating the pump motor at the set speed setting with uninterrupted power.

[0022] Since the system controller 310 controls a vital life support device, namely the blood pump, a failure of the system controller 310 could result in 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 heart rate messages to the supervisor processor 320, and as long as the supervisor processor 320 receives the heart rate messages within a defined time frame, the supervisor processor can assume that the control processor 330 is functioning correctly. The heart rate messages can be transmitted, for example, via a universal asynchronous transceiver (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 besides monitoring the heartbeat from the control processor 330 to determine if there is a problem with 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 blood pump speed is what it should be. Regardless of the cause of the failure, if the supervisor processor 320 detects a system controller failure, whether it is in the control processor 330 or the FPGA motor control unit 340, the supervisor processor 320 can provide an alert and / or alarm to inform the user what they need to do to resolve the problem, which may be to replace the faulty system controller with a different system controller that is functioning properly.

[0023] The supervisor processor 320 may be a microcontroller, a simple state machine, or any 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-a-chip (SoC). A suitable example of such an SoC implementation is shown in Figure 4. The system controller 410 in Figure 4 is a suitable embodiment for the system controller 130 in Figures 2, 1, 210 and 3, 310. The system controller 410 includes a system-on-a-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 for the FPGA motor control unit 340 shown in Figure 3. The FPGA fabric 430 implements sensorless magnetic 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 setter 444. The motor speed / angle estimator 442 preferably estimates both motor speed and angle. The pump motor speed setter 444 is most preferably written to the SFOC logic 440 by an SFOC device driver 472 in the control processor 470 as a result of receiving input from a clinician to set the pump motor speed via the clinician interface 480. The clinician interface 480 preferably includes a graphical user interface (GUI) 482 that allows a clinician to interact with the system controller 410 when the 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 are described in more detail below.The control processor 470 on the SOC 420 is also coupled to a spare battery 150, a display 160, one or more input keys 170, one or more LEDs 180, and one or more audio devices 190, as described above. The embodiment of the SOC shown in Figure 4 provides an efficient and low-cost embodiment for controlling the function of a blood pump.

[0025] A block diagram of the blood pump 510 is shown in Figure 5. The blood pump 510 is one embodiment suitable for the blood pump 110 in Figure 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 be pumped blood. The outlet 530 is connected to a blood vessel that needs to be pumped blood. 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 there is no shaft or other mechanical connection from the impeller to drive the impeller. The impeller includes multiple magnets. In a particular embodiment of Figure 5, three magnets 560, 562, and 564 are shown. Within the scope of a preferred embodiment, there may be more magnets than the three shown in Figure 5. Figure 5 also shows several pump phase coils 570, 572, and 574 used to drive the impeller. Coils 570, 572, and 574 are stator coils, which are part of the drive unit of the 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 the pump phase coils 570, 572, and 574 with a drive signal, which is a pulse-width modulation (PWM) voltage. The PWM voltage generates a nearly sinusoidal current that creates an electromagnetic field acting on the magnets of the impeller, causing the impeller to rotate and pump blood.

[0026] Referring to Figure 6, the SFOC logic 610 is one embodiment suitable for the SFOC logic 440 shown in Figure 4. The SFOC logic 610 includes the pump motor speed setting 444 shown in Figure 4 and 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 which contains the digital motor current values, which will be described in more detail below. The digital motor current values ​​in the digital motor current register 622 are processed by the phase current processing logic 624. The result is the PWM of 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 modulated signals that drive the motor driver integrated circuit 680. Each phase has a current sensor that can determine the current. Therefore, 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 inline resistors such that the voltage across the current sensing resistors 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 signal is input to an analog-to-digital converter (ADC), which generates a digital motor current value from the analog-to-digital converter under the control of the digital motor current value 672 of circuit 658. These digital motor current values ​​672 are written to the digital motor current register 622, forming a closed-loop system for controlling the blood pump motor.

[0028] In the specific embodiment shown in Figure 6, the PWM signals 630, 640, and 650 do not have sufficient drive to directly drive the pump phase coils; therefore, 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. Thus, 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] A specific embodiment of the phase current processing logic 624 shown in Figure 6 is shown in Figure 7, 710. The digital motor current value 672 undergoes a Park-Clark transformation by the Park-Clark transformation logic 720 to generate both the magnetization (DC) motor current 722 and the torque generation (orthogonal) motor current 724. Next, the first proportional-integral (PI) controller 750 compares the magnetization (DC) motor current 722 with a 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 generation (orthogonal) motor current 724 with a reference orthogonal current 734 to generate an orthogonal error signal. The reference orthogonal current 734 is preferably calculated from a desired speed reference and motor physical parameters. These signals are then processed by the inverse Park-Clark transform logic 770 and input to the Space Vector Pulse Width Modulation (SVPWM) control block 780 to generate a magnetization (DC) PWM duty cycle and a torque generation (orthogonal) PWM duty cycle. The SVPWM control block 780 averages the minimum and maximum values ​​of each phase voltage, calculates the resulting voltage offset, and subtracts it from each of the instantaneous phase voltages. The output of the SVPWM control block 780 is three third-harmonic injection phase voltages IPV1 782, IPV2 784, and IPV3 786. Phase voltages 782, 784, and 786 are input to the PWM signal generator 790, which inserts dead time and supports either edge-aligned or center-aligned pulse width modulation. The PWM signal generator 790 generates three pulse-width modulated signals, PWM1 630, PWM2 640, and PWM3 650, as shown in Figure 6, which are then used to generate drive signals for the blood pump motor phase.

[0030] Figure 8 shows a method 800 preferably performed by the phase current processing logic 710 shown in Figure 7. A digital motor current value is read (step 810). Next, a Park-Clark transform is performed on the digital motor current value to determine the magnetization (DC) motor current and the torque generation (orthogonal) motor current (step 820). A proportional-integral controller PI1 is used to compare the magnetization (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 generation (orthogonal) motor current with a reference orthogonal current to generate an orthogonal error signal (step 840). An inverse Park-Clark transform is used to generate the magnetization (DC) PWM duty cycle and the torque generation (orthogonal) 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, method 800 is performed.

[0031] Referring to Figure 9, Method 900 is preferably performed by the motor speed / angle estimator 442 of Figure 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 the motor model to estimate the rotor position (step 920). The PI controller then generates a speed output frequency using the estimated rotor position (step 930). The speed output frequency is then displayed on the system controller display (step 940).

[0032] A specific embodiment of the FPGA motor control unit 340 in Figure 3 and the FPGA fabric 430 in Figure 4 is shown in Figure 1000. The FPGA fabric 1000 includes a microcontroller interface 1010 that allows a control processor to write values ​​to registers within the FPGA fabric 1000. To understand the functionality of the circuit in Figure 1000, some additional information regarding the control of a BLDC motor using magnetic field orientation control (FOC) is described below.

[0033] A brushless direct current (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 rotates, blood is sent to the pump inlet and out through the output part of the axial flow. The stator is the fixed "stationary" part of the BLDC motor. It consists of three wire coils (phases), each coil wound in a tangential orientation to three points oriented 120 degrees apart around the outside of the motor. When the motor control system sends voltage signals, which are waveforms of changing voltages, to the stator coils, the changing currents generated in the phase coils by these changing voltages create a changing magnetic field around the coils. Thus, the magnetic fields induced by the currents flowing through the phase coils have their magnetic poles oriented along a line passing through the central axis of the motor.

[0034] The Magnetic Field Orientation Control (FOC) algorithm measures phase current and uses these phase current measurements to control the phase voltage. FOC is a closed-loop system design.

[0035] Each of the three phases of the BLDC motor rotates 120 degrees relative to the others and is oriented equally spaced around the circumference of the motor. When energized by a changing voltage signal, each individual coil generates a current and induces a corresponding magnetic field of a specific magnitude, always aligned perpendicular to the coil, with one pole (north or south) toward the central axis of the motor core and the other 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] The magnitudes and N / S directions (polarity) of the three magnetic forces (three magnetic field vectors) generated by each individual coil are combined to create a magnetic field that traverses the motor core and has a specific strength (magnitude) and a specific north-south magnetic pole orientation (direction). The magnetic field generated in the stator is always oriented to pass across the motor's axis of rotation.

[0037] The rotor has at least one set of alternating NSNS...pole pairs around it. The pole pairs on the rotor are oriented across the rotor's axis of rotation (N pole and S pole on the opposing rotor side). The rotor moves (rotates) because its pole pairs are attracted to the opposing poles (N vs S and S vs N) of the combined rotational magnetic field generated by the coils in the stator.

[0038] The FOC control algorithm generates a magnetic field within the stator by transmitting a rapidly changing voltage waveform signal to the motor's stator phase coils. The changing voltage waveform causes an alternating current to flow through the stator coil wires, generating a rapidly changing magnetic flux within the stator. The correct operation of the FOC algorithm is to always energize only two phases of the stator, one phase coil having a positive voltage (and positive current) and the other opposing phase having a negative voltage (and negative current), thus always generating opposing north and south magnetic fluxes on opposite sides of the motor core. The rotor moves so that its pole pairs (NS) align opposite to the continuously rotating coupled magnetic field generated in the energized stator coils. The FOC algorithm transmits independent, precisely tuned voltage waveforms through the stator coils, which 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, causing the rotor to rotate along with the rotating magnetic field.

[0039] The primary objective of the calculations performed by the FOC algorithm is to align (and rotate) the stator's combined magnetic field so that it is always perpendicular to the rotor's magnetic field. This alignment allows the stator (magnetic field) to pull on one side of the rotor and push on the other, causing it to rotate with maximum force. By design, the FOC algorithm sends energy to the stator coils to maximize the rotational force on the rotating rotor. This rotational force is called torque. The FOC algorithm generates maximum torque.

[0040] The operation of magnetic field orientation control is achieved by generating a series of very fast discrete control output voltages and simultaneously performing very fast measurements of discrete current samples. Therefore, the waveform is a continuous signal generated and measured by a series of individual control settings and measurements. The FOC calculation involves forward and backward transformations of the current and voltage waveforms, as well as transformations 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 α , 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 output a reference for the I q orthogonal current. Next, the I q PI controller 1034 uses this I q reference, the measured I q current, and the physical parameters of the motor to output a reference for the v q orthogonal voltage. Finally, the I d DC PI controller 1034 uses the measured I d current and the physical parameters of the motor along with an I d reference value of 0 to output a reference for the v d (DC voltage).

[0043] The voltage reference signals v q and v d from the PI controller 1030 are inputs to the FOC conversion block 1040, specifically inputs to an inverse Park transform 1042 that outputs the v α and v β rotating-phase voltages, and the v α and v β rotating-phase voltages are inputs to an inverse Clarke transform 1044 that outputs the fixed-reference-frame phase voltages v a , v b , and v c , and the operation of the inverse Clarke transform follows. Thus, these transforms convert from the rotating frame v q / vd to the fixed frame va , v b , v c Perform a geometric transformation of the voltage waveform to [the specified value].

[0044] In Figure 7, the proportional-integral controller 1(PI1)750 outputs an orthogonal voltage v q This is output to the inverse park transform in logic 770. Also, in Figure 7, the proportional-integral controller 2 (PI2) 752) is v d The (DC voltage) is output to the inverse park converter in Logic 770.

[0045] The inverse park transform within logic 770 is the rotational phase vector voltage v α and v β The output is to the inverse Clarke transform within logic 770, and the inverse Clarke transform is the three phase-voltage space vectors v a , v b , v c This outputs directly to the SVPWM block 780. The inverse Park-inverse Clarke transform logic 770 essentially performs the necessary mathematics to convert the desired orthogonal voltage (speed) and DC voltage into the phase voltage required to generate a voltage waveform with stator phase.

[0046] The Park and Clark transformation logic 720 is first described in coordinates of a fixed reference coordinate system and measured from three physically positioned fixed wire coils within the stator. a , I b , I c The phase current waveform is obtained from the two rotational phase currents I output from the Clark transform block 1046 in Figure 10. α and I β Convert to.

[0047] Next, in the park conversion block 1048, the rotational phase current I α and I β This is the measured (or actual) value I seen in the rotation frame coordinates. q (Actual orthogonal current) and I d It is converted into a waveform (of the actual DC current). q (Orthogonal) and I d(DC) current is represented as a phase current I in a fixed reference frame. a , I b , I c This is the same current represented in the "rotation" frame.

[0048] As described above, the Clarke transform in logic 720 in Figure 7 and logic 1048 in Figure 10 is the rotational phase current I α and I β The output is the inverse park transform in logic 770 in Figure 7 and logic 1042 in Figure 10, which is the rotational phase voltage v α and v β The output is generated by the rotational phase voltage and rotational phase current, all of which are used by the position-velocity estimator 2026 to "close the loop" and generate feedback values ​​of the actual (estimated) velocity that are fed back to the velocity Pi controller 1032, as well as rotor position angle outputs, which are inputs to both the Perc 1048 and inverse Perc 1042 conversions.

[0049] The Sensorless Magnetic Field Orientation Control (SFOC) algorithm is a processing loop that takes single sample current measurements from all phases of a motor stator and then generates a single sample output value that changes the voltage waveforms of those same phases. It then loops back and operates again on another sample. The loop speed and sample rate need to be very fast when the rotor speed is in the thousands and tens of thousands of RPMs. Implementing the SFOC algorithm on an FPGA, where the clock timing the loop operation is very fast and very stable, is the only way to achieve this. While a microprocessor can have the computational power to perform mathematical operations, the processor clock and interrupt structure do not provide stable, uniformly timed calculations for loop control, especially at very high speeds. Dedicated FPGA logic also performs mathematical operations faster than a microcontroller can.

[0050] The system controller recognizes two different classes of events that may be detected. The first is an alert, which is considered a medium-priority event that requires notification to the user. The second is an alarm, which is considered a high-priority event that requires notification to the user and requires the user to take immediate corrective action. Alerts are explained with reference to Figures 11 and 12 below, and alarms are explained with reference to Figures 13 and 14.

[0051] Referring to Figure 11, Method 1100 is preferably performed by an alert manager 474 in the control processor 470, as shown in Figure 4. It monitors the alert condition (step 1110). Unless the alert condition triggers an alert (step 1120=no), Method 1100 loops back to step 1110 and continues. If the alert condition triggers an alert (step 1120=yes), it activates a slow audible alert sound, activates one or more slowly flashing yellow LEDs, provides soft tactile indications such as gentle vibrations, and displays the alert on the display (step 1130). If the user presses a mute button, which is one of the input keys 170 (step 1140=yes), the audible alert sound is muted and the soft tactile indications are deactivated for a first set time, such as 15 minutes (step 1150). If the alert persists beyond a second set time, such as 20 minutes (step 1160=yes), a “Call for Help” message is displayed (step 1170). Method 1100 then loops back to step 1110 and continues.

[0052] As shown in Figure 4, the control processor 470 includes an alert manager 474 and an alarm manager 476. Note that these two functions can be combined. However, experience has shown the need to treat alerts, which are medium-priority events, differently from alarms, which are high-priority events. If all events were treated as high-priority alarms, this could lead to unnecessary and life-threatening actions being taken when such action is 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 Table 1200, which defines several alerts that can be detected and acted upon. Each row in 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. The detection column in Figure 12 includes the Control Processor (CP) for most alerts, as most alerts can be detected by the CP. The Supervisor Processor (SP) is included for alerts that can be detected by the Supervisor Processor (SP) independently of the CP. Pump low flow alert 1210 is detected by the CP and the pump low flow message is displayed. Pump power overcurrent alert 1212 is detected by the CP and the pump power high message is displayed. Pump power high alert 1214 is detected by the CP and the pump power high message is displayed. Pump power low alert 1216 is detected by the CP and the pump power low message is displayed. Pump speed low alert 1218 is detected by the CP and the pump speed low message is displayed. Pump speed error alert 1220 is detected by the CP and the pump speed error message is displayed. System overtemperature alert 1222 is detected by the CP and the system failure message is displayed. A backup battery failure alert 1224 is detected by the CP, and a system failure message is displayed. A backup battery low alert 1226 is detected by the CP, and a backup low message is displayed. A backup battery discharge alert 1228 is detected by the CP, and an on backup message is displayed. A primary battery low alert 1230 is detected by the CP, and a battery low message is displayed. A primary battery very low alert 1232 is detected by the CP, and a battery very low message is displayed. A primary battery critical alert 1234 is detected by the CP, and a battery critical message is displayed. A control processor or FPGA failure alert 1236 is detected by the SP, and a system failure message is displayed. A DC input failure alert 1238 is detected by the CP, and a system failure message is displayed. A software failure alert 1240 is detected by the SP, and a system failure message is displayed.A 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. An alert test alert 1248 is detected by the CP, and an alert test message is displayed. The alerts shown in Figure 12, along with other appropriate alerts, are within the scope of the disclosures and claims herein.

[0054] Alerts, by definition, are less serious than alarms. As a result, patients only need to see / hear / feel a moderately priority notification about alert conditions that clinicians need to be aware of more quickly. For all of these alerts, patients may be instructed to call for help at the clinic. The "call for help" instruction can be indicated, for example, by an illuminated phone icon on the front of the controller and a "call for help" message on the controller display. Alert messages have an alert number that patients can read to their clinicians when they are seeking help. Alerts are logged even if they do not require notification to the clinician.

[0055] The specific alerts shown in Figure 12 are presented as examples. Other alert conditions can be detected, leading to corresponding notifications within the scope of the disclosures and claims herein. Furthermore, while most of the alerts in Figure 12 are shown to be detected solely by the CP, in alternative implementations, a 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 particularly beneficial in the event of a CP failure.

[0056] Referring to Figure 13, Method 1300 is preferably performed by an alarm manager 476 in the control processor 470, as shown in Figure 4. It monitors the alarm condition (step 1310). Unless the alarm condition triggers an alarm (step 1320=no), Method 1300 loops back to step 1310 and continues. If the alarm condition triggers an alarm (step 1320=yes), it activates a loud, fast audible alert sound, activates one or more rapidly flashing red LEDs, provides strong tactile indication such as a strong vibration, and displays 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 of time, but this is ineffective as the alarm cannot be muted (step 1350). If the alarm persists beyond a third set time, such as 5 minutes (step 1360=yes), a "Call for Help" message is displayed (step 1370). Method 1300 then loops back to step 1310 and continues.

[0057] Figure 14 shows Table 1400, which defines several alarms that can be detected and acted upon. Each row in 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. Pump Stop Alarm 1410 is detected by the CP and SP, and a Pump Stop Notification is displayed. The pump may stop for a variety of reasons, including the pump drive line being cut, broken, unplugged, or otherwise damaged; the FPGA motor control unit being unable to rotate the pump motor; the control unit losing power; the only power source being a depleted internal spare battery that can no longer supply enough current to operate the pump; the pump being blocked by a thrombus; or the pump motor itself being faulty or otherwise damaged. Pump Disconnect Alarm 1412 is detected by the CP, and a Pump Disconnect Message is displayed. Pump Restart Failure Alarm 1414 is detected by the CP, and a Pump Restart Failure Message is displayed. No Primary Battery Alarm 1416 is detected by the CP, and a No Battery 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 regulating power supplies in the control system, and if any of the regulating power supplies are not supplying voltage within a 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 Figure 14, along with any other suitable alarms, are within the scope of the disclosure and claims herein. Furthermore, in alternative embodiments, many of the alarms in Figure 14 detected by the CP may be further detected by the SP.

[0058] Alarm and alert messages displayed on the screen have an alarm or alert label in a simple format, namely a numerical identifier followed by a simple instruction on how to modify the condition (if possible), and possibly one or two additional instructions such as "Call for help" or "Call for help" and "Replace controller".

[0059] Multiple alerts and / or alarms may exist simultaneously. The control processor 470 preferably performs method 1500 as shown in Figure 15. If there are no multiple alerts and / or alarms simultaneously (step 1510 = no), method 1500 is performed. If there are multiple alerts and / or alarms simultaneously (step 1510 = yes), the alarms and alerts are scrolled sequentially on the display from highest priority to lowest priority (step 1520). By scrolling multiple alerts / alarms on the display, the user can easily see all pending alerts and alarms as the messages scroll on the display. Method 1500 is then performed.

[0060] Although the alert manager 474 and alarm manager 476 are shown as separate entities in Figure 4, both functions may 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 a 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 and alarm conditions, such as thresholds for one or more alert or alarm conditions (step 1630). Method 1600 is then performed.

[0062] As described above with reference to Figure 3, the presence of the supervisor processor 320 allows for monitoring the health and goodness of the control processor 330 and the FPGA motor control unit 340. Method 1700 in Figure 17 is preferably performed by the supervisor processor 320 shown in Figure 3. The supervisor processor monitors the control processor and SFOC core in the FPGA (step 1710). If there is a discrepancy 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 discrepancy 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). Method 1700 then 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 another layer of protection if one or both of the control process and / or the SFOC core stop functioning properly. In some cases, if the system controller is actually not functioning correctly, the triggered alarm will result in immediate replacement of the system controller.

[0063] As described above with reference to Figure 2, the system controller 210 operates according to a defined power hierarchy. The system controller 470 in Figure 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 in Figure 4 is shown in Table 1800 in Figure 18, where 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 available from the AC / DC power adapter, the power manager 478 will use power from the AC / DC power adapter. The primary battery 1820 has the next priority, meaning that when power from the AC / DC power adapter is unavailable, which may be due to the AC / DC power adapter being removed from the system controller or caused by a power outage, the power manager 478 will use power from the primary battery. The backup battery 1830 inside the system controller enclosure has the lowest priority. Thus, the power manager 478 will only use power from the backup battery if there is no power available from either the AC / DC power adapter or the primary battery. Because the backup battery is designed for use only for a very short period between primary battery swaps, it does not have sufficient capacity to power the system controller and blood pump for any extended period. The backup battery is designed to power 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 a user to swap the primary battery pack.

[0064] Method 1900 in Figure 19 is preferably performed by the power manager 478 in Figure 4. When the AC / DC power adapter is supplying power, power from the AC / DC power adapter is used (step 1910). When the AC power adapter is not supplying power, power from the primary battery is used (step 1920). When neither the AC / DC power adapter nor the primary battery is supplying power, power from the backup battery is used (step 1930). Method 1900 then loops back to step 1910 and continues.

[0065] Although the power manager 478 is shown in Figure 4 as a function provided by the control processor 470, in a preferred embodiment, the function of the power manager 478 is performed by a separate power management integrated circuit that communicates the power state to the control processor.

[0066] Figure 20 shows a method 2000 illustrating different operating modes for the system controller and blood pump. In tethering operation, the user can plug in the AC / DC power adapter if they are in one location near an electrical outlet for a period of time (step 2010). In non-tethering operation, the primary battery is installed and then the AC / DC power adapter is disconnected if the user is not in one location near an electrical outlet (step 2020). Since the system controller can be used in non-tethering operation, the system controller is a wearable device where size, weight, and temperature are considerations for the wearability of the system controller. To replace the primary battery while not tethering, the installed primary battery is removed and replaced by installing a different primary battery (step 2030). To charge a primary battery that is not installed in the system controller, the primary battery is connected to a desktop battery charger (step 2040). In a preferred embodiment, the mechanical and electrical connections between the primary battery and the desktop battery charger are identical to the mechanical and electrical connections between the primary battery and the system controller. This allows the user to use the same operation to remove and connect the primary battery from a desktop battery charger, which is used to remove and connect the primary battery from the system controller.

[0067] As shown in Figure 21, the power manager 478 shown in Figure 4 preferably includes a spare battery charger 2100 for charging the spare battery 150. The spare battery charger 2100 preferably operates according to method 2200 in Figure 22. If power is available from the AC / DC power adapter (step 2210 = yes), charge the spare battery (step 2220). If power is not available from the AC / DC power adapter (step 2210 = no), but the spare battery capacity is less than the spare battery minimum threshold RBMT and the primary battery capacity is greater than the primary battery minimum threshold PBMT (step 2230 = yes), charge the spare battery (step 2240). Otherwise (step 2230 = no), the spare battery is not charged and method 2200 loops back to step 2210. Once the spare battery is charged in step 2220 or 2240, charging can be stopped when any of the following conditions listed in step 2250 are met. In other words, 1) the charging current of the spare battery reaches the minimum allowable charging tapered current at the charger voltage, or 2) the spare battery temperature limit is exceeded, or 3) the charging timer of several hours expires, or 4) other error conditions. Therefore, the spare battery charger attempts to keep the spare battery fully charged and has the capacity to withstand short power interruptions from the AC / DC power adapter and the primary battery.

[0068] The blood pump system includes a blood pump and a corresponding controller. The blood pump is sealed within a pump housing and includes an impeller hydrodynamically suspended within the pump housing. The pump impeller is the rotor of a brushless direct current (DC) motor containing magnets and driven by an electrical signal through a stator wire coil within the pump housing, generating a rotating magnetic field. The rotating magnetic field attracts the magnetized impeller, causing it to rotate with the rotating magnetic field. The controller provides magnetic field orientation control for the brushless DC motor in the blood pump. The magnetic field orientation control within the controller is located in a programmable logic device separate from the control processor to prevent software or hardware failures related to the control processor from stopping the blood pump. The magnetic field orientation control allows for sensing the blood flow through the pump without having sensors in the blood flow.

[0069] The disclosures and claims herein include a system controller for driving a blood pump comprising an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, wherein the impeller comprises a plurality of magnets, and the blood pump comprises a plurality of stator coils in 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 and providing a plurality of drive signals from the system controller to the plurality of stator coils in the brushless DC motor in the blood pump, 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 magnetic 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 in the brushless DC motor in the blood pump via the electrical connector, and which functions independently of the functions of the control processor or functions independently of functions other than the control processor.

[0070] The disclosures and claims herein further support a system controller for driving a blood pump comprising an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, wherein the impeller comprises a plurality of magnets, and the blood pump comprises a plurality of stator coils in a brushless 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 and providing a plurality of drive signals from the system controller to the plurality of stator coils in the brushless DC motor in the blood pump, a display, at least one input key for the user of the system controller, at least one visual indicator for the user, at least one audio device for signaling alert or alarm conditions to the user, and power supply 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. The system controller includes: a backup battery inside a housing for the system controller; a clinician interface that provides a graphical user interface enabling a medical clinician to set the speed of the blood pump and define or select at least one alert or alarm condition in 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 a display, and signals alert or alarm conditions by activating at least one of visual indicators and at least one audio device; and a programmable logic device that provides magnetic field orientation control of a brushless DC motor in the blood pump by providing multiple drive signals to multiple stator coils in the brushless DC motor in the blood pump via an electrical connector, and which functions independently of the functions of the control processor or functions independently of functions of a non-control processor.

[0071] The disclosures and claims of this specification further support a blood pump system, the blood pump system comprising: (A) a blood pump comprising an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, the impeller comprising a plurality of magnets, and a plurality of stator coils in a brushless DC motor which, when driven by a plurality of drive signals, rotates 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 in the brushless DC motor within the blood pump, comprising a display, a control processor which provides management functions to the system controller and displays at least one message on the display, and a programmable logic device which provides magnetic 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 in the brushless DC motor within the blood pump, independently of the functions of the control processor or independently of functions that are not the control processor.

[0072] Those skilled in the art will understand that many modifications are possible within the scope of the claims. Therefore, as specifically shown and described above, those skilled in the art will understand that these and other modifications of 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, which includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, wherein the impeller includes a plurality of magnets, and the blood pump includes a plurality of stator coils in a brushless direct current (DC) motor that rotates the impeller within the pump housing when driven by a plurality of drive signals, and the system controller The system controller is electrically connected to the blood pump, and an electrical connector is provided for providing the plurality of drive signals from the system controller to the plurality of stator coils in the brushless DC motor within the blood pump. The display and A control processor that provides management functions to the system controller and displays at least one message on the display, A system controller comprising: a programmable logic device that provides magnetic field orientation control of a brushless DC motor in a blood pump by providing a plurality of drive signals to a plurality of stator coils in the brushless DC motor in the blood pump via the electrical connector, the programmable logic device configured to continue providing the plurality of drive signals when the control processor stops operating.

2. The system controller according to claim 1, further comprising a spare battery inside the system controller.

3. The system controller according to claim 2, further comprising a power manager that selects a power source to supply power to the system controller according to a defined power hierarchy, wherein the power source is 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 a backup battery inside the system controller.

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 mounted on a system-on-a-chip (SoC).

6. The system controller has at least one input key for the user, 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 system controller according to claim 1, further comprising a clinician interface that provides a graphical user interface enabling a medical clinician to set the speed of the blood pump and to define or select at least one alert or alarm condition in the system controller using a clinician computer coupled to the clinician interface.

8. The system controller according to claim 1, further comprising a supervisor processor coupled to the control processor and the programmable logic device, wherein the supervisor processor monitors the functions of the control processor and the programmable logic device according to at least one monitored parameter, and provides 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 multiple alerts and corresponding alert notifications, detects when one of the multiple alerts is triggered, and provides 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 multiple alarms and corresponding alarm notifications, detects when one of the multiple alarms is triggered, and provides 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 pulse-width modulated drive signals from the programmable logic device and generates the plurality of drive signals to the plurality of stator coils in the brushless DC motor in the blood pump.

12. The system controller according to claim 1, further comprising a digital motor current conversion circuit that receives a 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 system controller according to claim 12, wherein the magnetic field orientation control performs Park and Clark transforms on the digital motor current value to determine the magnetization (DC) motor current and the torque generation (orthogonal) motor current; a first proportional-integral controller is used to compare the magnetization (DC) motor current with a reference DC current to generate a DC voltage signal; a second proportional-integral controller is used 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; an inverse Park transform is performed on the DC voltage signal and the orthogonal voltage signal to generate two rotational phase voltage signals; an inverse Clark transform is then performed on the two rotational voltage signals to generate a pulse-width modulated duty cycle signal in phase space; and a space vector modulation control block is used to generate a plurality of pulse-width modulated signals used to drive the plurality of stator coils.

14. A system controller for driving a blood pump, which includes an impeller sealed within a pump housing and hydrodynamically suspended within the pump housing, wherein the impeller includes a plurality of magnets, and the blood pump includes a plurality of stator coils in a brushless DC motor that rotates the impeller within the pump housing when driven by a plurality of drive signals, and the system controller The system controller is electrically connected to the blood pump, and an electrical connector is provided for providing the plurality of drive signals from the system controller to the plurality of stator coils in the brushless DC motor within the blood pump. The display and The system controller has at least one input key for the user, At least one visual indicator for the user, At least one audio device for signaling alert or alarm conditions to the user, A backup battery inside the housing for the system controller, which 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, The clinician interface 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 in 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 signals an alert or alarm condition by activating at least one of the visual indicators and at least one audio device, A system controller comprising: a programmable logic device that provides magnetic field orientation control of a brushless DC motor in a blood pump by providing a plurality of drive signals to a plurality of stator coils in the brushless DC motor in the blood pump via the electrical connector, the programmable logic device configured to continue providing the plurality of drive signals when the control processor stops operating.

Citation Information

Patent Citations

  • Portable controller with integrated power supply for mechanical circulation support systems

    JP2013521067A

  • Motor identification method of medical pump, motor driving method of medical pump, controller, and auxiliary artificial heart system

    JP2020141864A

  • Field-oriented control for control of blood pump motor

    US20180085507A1