IP Library Patent Application 19282529
Patent Application
App. No. 19/282,529

METHOD OF SENSOR-LESS PLUNGER DETECTION DURING INSULIN RESERVOIR SETUP

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
19/282,529
Abstract

A processor-implemented method includes obtaining motor rotation data associated with a motor that is configured to rotate steadily to actuate a drive system for driving a plunger of a reservoir in a fluid delivery device; for each rotation of a plurality of rotations of the motor, based on a measured rotation time of the rotation of the motor and a previous maximum rotation time of the motor, determining a current maximum rotation time of the motor and storing the current maximum rotation time in a buffer; determining a coefficient of variation of motor rotation time based on data in the buffer; determining a change of the coefficient of variation of motor rotation time with respect to a baseline coefficient of variation of motor rotation time; and determining whether the plunger is detected based on a comparison of the change and a threshold value.

Claims (83)

1 . A processor-implemented method comprising:

obtaining motor rotation data associated with a motor that is configured to rotate steadily to actuate a drive system for driving a plunger of a reservoir in a fluid delivery device, the motor rotation data indicating time intervals between changes of position of the motor;

for each rotation of a plurality of rotations of the motor:

determining, based on the motor rotation data, a measured rotation time of the rotation of the motor;

determining, based on the measured rotation time and a previous maximum rotation time of the motor, a current maximum rotation time of the motor; and

storing the current maximum rotation time in a buffer;

determining a coefficient of variation of motor rotation time based on data in the buffer;

determining a change of the coefficient of variation of motor rotation time with respect to a baseline coefficient of variation of motor rotation time; and

determining whether the plunger is detected based on a comparison of the change and a threshold value.

2 . The processor-implemented method of claim 1 , wherein determining the current maximum rotation time of the motor comprises, in response to determining that the measured rotation time is longer than the previous maximum rotation time of the motor, determining the current maximum rotation time of the motor based on a weighted sum of the measured rotation time and the previous maximum rotation time of the motor.

3 . The processor-implemented method of claim 1 , wherein determining the current maximum rotation time of the motor comprises, in response to determining that the measured rotation time is shorter than the previous maximum rotation time of the motor and that a number of rotations without an increase in the maximum rotation time of the motor is smaller than a threshold number, selecting the previous maximum rotation time of the motor as the current maximum rotation time of the motor.

4 . The processor-implemented method of claim 1 , wherein determining the current maximum rotation time of the motor comprises:

in response to determining that the measured rotation time is shorter than the previous maximum rotation time of the motor and that a number of rotations without an increase in the maximum rotation time of the motor is greater than a threshold number, decreasing the previous maximum rotation time of the motor by a predetermined value; and

in response to determining that the decreased previous maximum rotation time is shorter than the measured rotation time, selecting the measured rotation time as the current maximum rotation time of the motor.

5 . The processor-implemented method of claim 1 , wherein determining the current maximum rotation time of the motor comprises:

in response to determining that the measured rotation time is shorter than the previous maximum rotation time of the motor and that a number of rotations without an increase in the maximum rotation time of the motor is greater than a threshold number, decreasing the previous maximum rotation time of the motor by a predetermined value; and

in response to determining that the decreased previous maximum rotation time is longer than the measured rotation time, selecting the decreased previous maximum rotation time as the current maximum rotation time of the motor.

6 . The processor-implemented method of claim 1 , further comprising determining the baseline coefficient of variation of motor rotation time before the drive system starts to translate the plunger.

7 . The processor-implemented method of claim 1 , further comprising determining a volume of a fluid in the reservoir based on a location of the plunger when the plunger is detected.

8 . The processor-implemented method of claim 7 , further comprising determining the location of the plunger when the plunger is detected based on a total number of forward drive steps of the motor.

9 . The processor-implemented method of claim 1 , further comprising:

obtaining, from a non-volatile memory of the fluid delivery device, a motor drive voltage level and a motor drive duty cycle; and

configuring, based on the motor drive voltage level and the motor drive duty cycle, a pulse width modulation signal for driving the motor.

10 . The processor-implemented method of claim 9 , wherein the motor drive voltage level and the motor drive duty cycle are threshold values for causing a stall of the motor at a target load.

11 . The processor-implemented method of claim 1 , wherein determining whether the plunger is detected includes determining that the plunger is detected in response to determining that the change is greater than the threshold value.

12 . The processor-implemented method of claim 1 , further comprising, in response to determining that the change is lower than the threshold value:

obtaining additional motor rotation data associated with the motor;

for each rotation of one or more rotations of the motor:

determining, based on the additional motor rotation data, a measured rotation time of the rotation of the motor;

determining, based on the measured rotation time of the rotation of the motor and the previous maximum rotation time of the motor, a current maximum rotation time of the motor; and

storing the current maximum rotation time in the buffer;

determining a new coefficient of variation of motor rotation time based on data in the buffer;

determining a change of the new coefficient of variation of motor rotation time with respect to the baseline coefficient of variation of motor rotation time; and

signaling a detection of the plunger in response to determining that the change of the new coefficient of variation of motor rotation time with respect to the baseline coefficient of variation of motor rotation time is greater than the threshold value.

13 . The processor-implemented method of claim 1 , wherein the buffer includes a first-in-first-out buffer.

14 . The processor-implemented method of claim 1 , wherein:

each rotation of the motor includes a plurality of steps, each step of the plurality of steps associated with a same rotation angle and a different respective motor position; and

each time interval of the time intervals between the changes of position of the motor is a time period that the motor takes to rotate from one motor position to a next motor position.

15 . The processor-implemented method of claim 1 , wherein obtaining the motor rotation data comprises:

obtaining outputs of a motor position sensor configured to detect positions of the motor;

obtaining timer values of a timer at a time when an output of the motor position sensor changes; and

determining the time intervals between the changes of position of the motor based on the outputs of the motor position sensor and the timer values.

16 . The processor-implemented method of claim 1 , wherein:

the plurality of rotations includes more than 100 rotations; and

the threshold value is greater than 50%.

17 . A system comprising:

one or more processors; and

one or more processor-readable storage media storing instructions which, when executed by the one or more processors, cause performance of operations including:

obtaining motor rotation data associated with a motor that is configured to rotate steadily to actuate a drive system for driving a plunger of a reservoir in a fluid delivery device, the motor rotation data indicating time intervals between changes of position of the motor;

for each rotation of a plurality of rotations of the motor:

determining, based on the motor rotation data, a measured rotation time of the rotation of the motor;

determining, based on the measured rotation time and a previous maximum rotation time of the motor, a current maximum rotation time of the motor; and

storing the current maximum rotation time in a buffer;

determining a coefficient of variation of motor rotation time based on data in the buffer;

determining a change of the coefficient of variation of motor rotation time with respect to a baseline coefficient of variation of motor rotation time; and

determining whether the plunger is detected based on a comparison of the change and a threshold value.

18 . The system of claim 17 , wherein the operations further comprise, in response to determining that the change is lower than the threshold value:

obtaining additional motor rotation data associated with the motor;

for each rotation of one or more rotations of the motor:

determining, based on the additional motor rotation data, a measured rotation time of the rotation of the motor;

determining, based on the measured rotation time of the rotation of the motor and the previous maximum rotation time of the motor, a current maximum rotation time of the motor; and

storing the current maximum rotation time in the buffer;

determining a new coefficient of variation of motor rotation time based on data in the buffer;

determining a change of the new coefficient of variation of motor rotation time with respect to the baseline coefficient of variation of motor rotation time; and

signaling a detection of the plunger in response to determining that the change of the new coefficient of variation of motor rotation time with respect to the baseline coefficient of variation of motor rotation time is greater than the threshold value.

19 . The system of claim 17 , wherein obtaining the motor rotation data comprises:

obtaining outputs of a motor position sensor configured to detect positions of the motor;

obtaining timer values of a timer at a time when an output of the motor position sensor changes; and

determining the time intervals between the changes of position of the motor based on the outputs of the motor position sensor and the timer values.

20 . A fluid delivery system comprising:

a reservoir including a plunger and barrel for storing fluid;

a drive system configured to linearly translate the plunger, the drive system including a motor;

a motor position sensor configured to measure positions of the motor;

one or more processors electrically coupled to the motor and the motor position sensor; and

one or more processor-readable storage media storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations including:

obtaining motor rotation data associated with the motor that is configured to rotate steadily to drive the plunger of the reservoir, the motor rotation data indicating time intervals between changes of position of the motor;

for each rotation of a plurality of rotations of the motor:

determining, based on the motor rotation data, a measured rotation time of the rotation of the motor;

determining, based on the measured rotation time and a previous maximum rotation time of the motor, a current maximum rotation time of the motor; and

storing the current maximum rotation time in a buffer;

determining a coefficient of variation of motor rotation time based on data in the buffer;

determining a change of the coefficient of variation of motor rotation time with respect to a baseline coefficient of variation of motor rotation time; and

determining whether the plunger is detected based on a comparison of the change and a threshold value.

Assignments (2)
SECURITY INTEREST Recorded Jan 16, 2026
From: MEDTRONIC MINIMED, INC.; COMPANION MEDICAL, INC.
To: CITIBANK, N.A.
Reel/Frame 074394/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2025
From: TROCK, ADAM S.; TIECK, RUTH M.
To: MEDTRONIC MINIMED, INC.
Reel/Frame 071854/0743 →