Method and computer device for controlling a drive motor of a muscle-powered vehicle and muscle-powered vehicle

A method for determining the pedaling frequency of muscle-powered vehicles without a carcass sensor simplifies the control of drive motors, reducing complexity and maintenance costs while ensuring efficient motor assistance.

DE102024201619A1Pending Publication Date: 2025-08-28ZF FRIEDRICHSHAFEN AG
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
DE102024201619
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-22
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing methods for controlling electric motors in muscle-powered vehicles, such as e-bikes, require additional carcass sensors, increasing complexity and maintenance costs.

Method used

A method for determining the pedaling frequency of a driver using crank angle measurements without a dedicated carcass sensor, employing time-dependent crank angle values to calculate the carcass, which is used to control the drive motor, utilizing a computer device to perform this calculation efficiently.

Benefits of technology

Enables cost-effective and low-maintenance control of the drive motor by eliminating the need for a carcass sensor, providing a simple and computationally efficient method to determine the carcass, resulting in smoother motor assistance based on pedaling frequency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for controlling a drive motor (4) of a human-powered vehicle (2) is described. The method comprises reading in (S1) time-dependent values ​​of a crank angle (ϕ) with first time values ​​associated with the crank angles (ϕ). The method further comprises determining (S2) second time values ​​as a function of the read-in values ​​of the crank angle (ϕ) and as a function of the first time values ​​associated with the crank angles (ϕ). The method further comprises determining (S3) a cadence as a function of the determined second time values ​​and controlling (S4) the drive motor (4) as a function of the determined cadence. Furthermore, a computer device (6) is described which is configured to carry out such a method. Furthermore, a human-powered vehicle (2) with a drive motor (4) and such a computer device (6) is described.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present invention relates to a method for controlling a drive motor of a human-powered vehicle. Furthermore, the present invention relates to a computer device for carrying out such a method, as well as to a human-powered vehicle having such a computer device. State of the art

[0002] To control electric motors of human-powered vehicles, such as e-bikes, information about the cadence of a vehicle's crank is often required. It is known from the prior art that the cadence is determined using a cadence sensor. For example, DE102020001016A1 describes how a cadence sensor measures the cadence of a bicycle's crank, and information about the measured cadence is transferred to a control device for controlling the bicycle's electric motor. Such a cadence sensor must therefore be provided on the vehicle in addition to other sensors. Description of the invention

[0003] The object of the invention is to provide a method for controlling a drive motor of a human-powered vehicle as a function of a specific cadence, which determines the cadence independently of a specific cadence sensor. This object is achieved by a method having the features of independent claim 1.

[0004] In a first aspect, the present invention relates to a method for controlling a drive motor of a human-powered vehicle. The vehicle can be a bicycle, such as an e-bike, a pedelec, or a cargo bike. The drive motor can be an electric motor of the vehicle, for example of the pedelec. The vehicle can have a crank, and a cadence can describe a pedaling frequency of a rider who rotates the crank using muscle power applied to pedals on the crank. The method can be a computer-implemented method. A computer device can be configured to carry out at least some or all steps of the method. The control can be a closed-loop or closed-loop control of the drive motor. For example, a specific value can be used as a reference variable for speed regulation, speed control, torque regulation, and alternatively or additionally torque control.The drive motor can provide assistance to propel the vehicle in addition to the rider's muscle power. For example, the drive motor can provide assistance only when the rider is pedaling.

[0005] The method comprises reading in time-dependent values ​​of a crank angle with first time values ​​associated with the crank angles. In this case, a signal with values ​​of the crank angle and associated first time values ​​can be read in, for example as a time-dependent signal of the crank angle as a function of the first time values. The crank angle can be a crank angle of the crank. For example, the crank angle can be an angle between 0° and 360° and can describe, for example, how crank arms of the crank are aligned relative to the vehicle. Reading in time-dependent values ​​can comprise reading in multiple time-dependent values ​​of the crank angle, for example values ​​of the crank angle at different first time values. Different values ​​of the crank angle can be read in at different first time values.For example, different crank angle values ​​can be read in at equidistant first time values. For example, a temporal range of crank angle values ​​can be read in. Crank angle values ​​can be absolute crank angle values. Crank angle values ​​can be relative crank angle values, for example, angle differences between two consecutive read crank angle values. For example, to read in time-dependent crank angle values ​​with first time values ​​associated with the crank angles, absolute crank angle values ​​can first be measured. Then, relative crank angle values ​​can be determined depending on the measured absolute crank angle values, for example, via a difference between two absolute crank angle values ​​measured one after the other.

[0006] For example, corresponding crank angle values ​​can be read in every 10 ms, 20 ms, or 50 ms as the time interval between consecutive first time values. First time values ​​can be absolute time values. First time values ​​can be relative time values; for example, first time values ​​can be time differences between two consecutive read crank angle values.

[0007] Before reading in, the time-dependent values ​​of the crank angle can be recorded or measured using a crank angle sensor. This recording or measurement can be carried out at a constant time rate, for example every 10 ms, 20 ms or 50 ms. This allows crank angle values ​​to be recorded or measured for initial time values ​​that are equidistant in time. The time-dependent values ​​of the crank angle can be read in as a discrete function of time. While the driver of the vehicle is pedaling, the crank angle can change. Information about this changing crank angle as a function of time can be read in when time-dependent values ​​of the crank angle are read in. In addition, an associated time value, for example a measurement time of the associated value of the crank angle, can be read in for each crank angle value.

[0008] The method comprises determining second time values ​​as a function of the read-in values ​​of the crank angle and as a function of the first time values ​​associated with the crank angles. Different second time values ​​can be determined for different read-in values ​​of the crank angle and associated first time values. For example, the second time values ​​can be determined as a function of the crank angle as a signal. For example, a temporal range of second time values ​​can be determined. For example, second time values ​​can be determined for a range of the crank angle. The second time values ​​can be determined as a function of the crank angle, for example as a discrete function. Second time values ​​can be determined for specific values ​​of the crank angle, for example for read-in values ​​or for any arbitrary values ​​of the crank angle.

[0009] The determined second time values ​​can be temporarily stored, for example, in a buffer memory. The buffer memory can have multiple buffer memory locations or buffer memory entries. The buffer memory can have multiple buffer memory windows, wherein each buffer memory window can have multiple buffer memory locations. A specific second time value can be stored in each buffer memory location of a buffer memory window. Each buffer memory location can be assigned a crank angle, for example, the associated value of the crank angle, wherein the second time value of the buffer memory location has been determined, for example, depending on this value of the crank angle.

[0010] The method comprises determining the cadence as a function of the determined second time values. Determining the cadence can be an approximate determination of the cadence. Determining the cadence as a function of the determined second time values ​​can be performed using second time values ​​determined at different crank angles. Determining the cadence can be performed using the determined second time values ​​stored in the buffer memory. Determining the cadence can be performed as a function of the read-in crank angle values.

[0011] The method further comprises controlling the drive motor as a function of the determined cadence. The computer device that carries out steps of the method can, for example, be configured to determine one or more control parameters for controlling the drive motor as a function of the determined cadence. The determined control parameters can be sent to the drive motor for control, for example in the form of an electrical signal. The control can be a control or regulation of the drive motor as a function of the determined cadence. The determined cadence can, for example, be used as a reference variable during the control.

[0012] Using such a method, it is possible to determine the cadence of the vehicle driver. A dedicated cadence sensor is not required, making the vehicle less complex, easier to maintain, and more cost-effective. The method can be a time-measurement-based method for determining the cadence. The cadence can be determined via the crank angle, also known as the pedal angle. The crank angle can be easily determined using a crank angle sensor, making the method simple and feasible using conventional hardware. The method can be based not on a numerical method for deriving the cadence from the crank angle, but rather on constructing the cadence from the crank angle values ​​and associated initial time values. This allows the cadence to be determined with low noise, although, for example, the read-in time-dependent values ​​of the crank angle and associated initial time values ​​may contain measurement noise.The determination of the cadence can be based on a simple relationship between the swept crank angle as read values ​​of the crank angle, and the time required for this as the corresponding first time values.

[0013] According to a further embodiment, the method can be characterized in that the determination of second time values ​​can be carried out for equidistant values ​​of the crank angle, i.e., for example, for angle-equidistant values. For example, a second time value can be determined for every 1°, 2°, 4°, 5°, or 10° of crank angle. For example, the buffer memory locations can be spaced from one another by this equidistant distance. Thus, a fixed number of buffer memory locations can represent a complete crank revolution, and the determined relative or absolute second time values ​​can be stored in the individual buffer memory locations. If the rider does not pedal at a constant cadence, different determined relative second time values ​​are stored in the different buffer memory locations of a crank revolution, for example. The buffer memory locations are 4° wide.The second time values ​​are therefore determined for every 4° of crank angle. For example, it determines how much time has elapsed when traversing 4°, for example, for one complete crank revolution.

[0014] Thus, for example, a transformation is carried out from first time values ​​that are not angularly equidistant to second time values ​​that are angularly equidistant. Since the crank angle can change non-linearly with time during pedaling, for example when pedaling is accelerated, such a transformation and determination of the second time values ​​can be advantageous in order to obtain angularly equidistant second time values ​​for determining the cadence. Thus, angularly equidistant second time values ​​can be provided for determining the cadence, regardless of how the first time values ​​were related to one another in time. The cadence can thus be determined in an angle-dependent manner and, for example, uniformly across values ​​of the crank angle.

[0015] According to a further embodiment, the method can be characterized in that the determination of second time values ​​is carried out as a function of at least one read-in value of the crank angle and an associated first time value. For example, the determination of a second time value can be carried out as a function of several, for example two, chronologically consecutive read-in values ​​of the crank angle and several, for example two, associated first time values. For example, for a read-in value of the crank angle as a relative crank angle and an associated first time value as a relative time value, it can be determined how much time has elapsed to cover a crank angle according to the unit of the buffer memory location. For example, the read-in value of the relative crank angle is 8°, the associated first time value is 10 ms, and the buffer memory location is 4° wide.Then, the time to scan a crank angle is 5 ms, depending on the width of the buffer memory location. If the read value of the relative crank angle were 16°, with all other values ​​equal, the time to scan a crank angle would be 2.5 ms.

[0016] The determined second time values, here 5 ms in the first case and 2.5 ms in the second case, can be stored in buffer memory locations of the buffer memory windows. If, as in the cases described here, multiples of the width of the buffer memory location correspond to the relative read-in crank angle, the determination of a second time value can be carried out depending on exactly one read-in value of the crank angle and the associated first time value. However, if the read-in relative crank angle does not correspond to the width of the buffer memory location, a remainder of the first time value may remain when storing the determined second time values ​​in buffer memory locations. In other words, the elapsed time as the first time value cannot be fully distributed among the buffer memory locations.A crank angle value and associated first time value that chronologically follows a read-in crank angle value is then also used to determine a specific second time value. For example, a first relative crank angle read in is 10°, the associated first time value is 10 ms, and the buffer memory location is 4° wide. A second relative crank angle read in is also 10° with an associated first time value of 10 ms. The first specific second time value is then 4 ms, since 10° are covered in the first 10 ms, and thus 4 ms are required for 4°. Accordingly, 4 ms is each stored in the first two buffer memory locations as the second time value. The third buffer memory location is not filled at the end of the first 10 ms, since only 2 ms of the third buffer memory location have elapsed. To fill the third buffer memory location, the system waits for the second crank angle read in and the associated first time value.The second time value is then determined for the third, fourth, and fifth buffer memory locations. 2 ms of the first read crank angle and 2 ms of the second read crank angle are now stored in the third buffer memory location, resulting in a total of 4 ms as the second time value. 4 ms is also stored in the fourth and fifth buffer memory locations, as this time was necessary for the crank to cover the 4° crank angle of the respective buffer memory locations.

[0017] This allows the method to determine the second time values ​​and thus the cadence and control in a simple and computationally efficient manner depending on a few read-in values ​​of the crank angle and the associated first time values.

[0018] According to a further embodiment, the method can be characterized in that determining the cadence comprises calculating the cadence. The cadence can be calculated as a function of the determined second time values ​​and as a function of crank angle values, for example, as a function of the read-in crank angle values. Alternatively, the cadence can be calculated as a function of the determined second time values ​​and as a function of the crank angles equidistant from the buffer memory locations. The calculation can be an approximation. The calculation can be performed using a formula. During the calculation, a cadence value can be calculated as a function of at least one determined second time value and as a function of at least one crank angle.During the calculation, a cadence value can be calculated as a function of several specific second time values ​​and as a function of several crank angle values. During the calculation, the cadence can be calculated as a function of the first time value, as a function of the second time value, and alternatively or additionally as a function of the crank angle. The cadence can be determined for different points in time.

[0019] With such a method, the cadence can be calculated and approximated at different points in time. Such calculation and approximation can be performed particularly easily, for example, by depending only on two values: a second time value and a crank angle value, for example, a read-in value or a value from a buffer memory location, such as the width of the buffer memory location. This allows the method for determining the cadence for controlling depending on the determined cadence to be implemented easily and executed computationally efficiently.

[0020] According to a further embodiment, the method can be characterized in that, when calculating the cadence, a quotient of a crank angle sum and a sum of second time values ​​is calculated. For example, the cadence can be determined for an approximate or exact, a whole or half, and alternatively or additionally, several whole or several half crank revolutions. For this purpose, for example, the crank angle values ​​of the last half crank revolution can be summed so that they amount to 180°. The cadence can then be calculated from the quotient of the crank angle sum, here 180°, and the sum of the second time values.

[0021] This makes it easy to determine the cadence for past pedal strokes. Using a simple relationship, it's possible to determine how much time it took to turn the crank to cover a specific crank angle. This allows the cadence to be easily calculated from the crank angle and thus determined.

[0022] According to a further embodiment, the method can be characterized in that determining the cadence can include filtering. For example, calculating the cadence can lead to filtering the cadence. During filtering, at least one of an amplitude and a phase position can be changed. By filtering, for example, unwanted components of the signal can be attenuated and alternatively or additionally suppressed. At least one of a high-pass filter, a low-pass filter, a band-pass filter, or a band-stop filter can be used for filtering. For example, the filtering of the calculated cadence can be performed based on the determined second time values.

[0023] The control and thus, for example, the determination of the control parameter can be carried out depending on the filtered cadence. The filtering can be carried out in the space of the crank angle and, for example, based on the second time values. Thus, the method can enable uniform filtering for uniform determination of the control parameter depending on the filtered cadence. Accordingly, such a method can lead to uniform filtering of different values ​​of the calculated cadence. Accordingly, the filtering is carried out uniformly for different second time values. Thus, the determination of the control parameter is also carried out uniformly for different values ​​of the second time values. As a result, the drive motor is controlled uniformly, for example, regardless of the cadence dependence of the first time values.

[0024] For example, due to pedaling by the rider, a rising signal is read in as time-dependent values ​​of the crank angle. If the initial time values ​​were filtered, the filtering of the initial time values ​​would be different for a low cadence than for a high cadence. By filtering the cadence, filtering can be performed independently of the cadence and thus a uniform filtering of the cadence. This allows a uniform determination of the cadence and thus of the control parameter depending on the filtered cadence. This allows an uneven pedal stroke by the rider to be filtered out, and the cadence can be determined independently of the uneven pedal stroke.

[0025] According to a further embodiment, the method can be characterized in that a mean filter is used during filtering. The mean filter can be formed with respect to the buffer memory locations and the buffer memory windows and the cadences stored and calculated therein. For example, the mean filter can be formed with respect to the last n buffer memory locations, whereby a moving mean filter can be implemented. For example, the mean filter can be used with respect to multiple values ​​of the crank angle. Thus, the mean filter can be used with respect to half a revolution, a whole revolution, several half revolutions, or several whole revolutions of the crank. For this purpose, second time values ​​stored in several buffer memory locations of one or more buffer memory windows can be used for filtering.The average filter can be used exactly or approximately, with respect to half or whole crank revolutions, and alternatively or additionally with respect to several half or several whole crank revolutions. Thus, an average cadence value can be determined during filtering.

[0026] Depending on the embodiment, the method can result in cadence filtering at varying speeds or slowness. For example, the cadence is determined when not all buffer memory locations of a buffer memory window are filled and, for example, buffer memory locations of the buffer memory window are still being filled. In such a case, for example, the cadence is determined using a relatively small crank angle sum, for example, a maximum of 90°. This allows a cadence to be determined with little latency between reading the crank angle values ​​and determining the cadence. This results in, for example, a quickly filtered cadence signal, whereby the calculation in such a case can lead to filtering with a mean value filter.

[0027] Alternatively, the cadence is determined, for example, when all buffer memory locations of a buffer memory window are filled and the buffer memory window covers, for example, one crank revolution. This allows a slowly filtered but also precisely calculated cadence signal to be obtained. The crank angle sum can be relatively large in such a case, for example, at least 360°, and the calculation can also lead to filtering with a mean value filter. With alternative calculation implementations, the calculation can lead to filtering with filters other than a mean value filter.

[0028] For example, the filtered cadence can be quickly determined when starting off, i.e., when the buffer memory starts filling. After that, the filter can quickly settle in, and an uneven pedal stroke from a rider can be filtered out of the cadence signal, for example, after a complete crank revolution.

[0029] This allows filtering of threshold signals, such as time-dependent crank angle values ​​read in. Such a mean filter can filter out high-frequency behavior of the calculated cadence and associated initial time values. A mean filter can exhibit integral behavior. Thus, the method for filtering the cadence can be used to filter out high-frequency components in the cadence signal. Filtering can be performed independently of the cadence. The filtering can be crank angle-based or pedal angle-based. The control parameter can thus be determined independently of these high-frequency components of the cadence. For example, if the rider pedals with varying degrees of force with their legs, filtering over several complete pedal revolutions can filter out varying degrees of force.In extreme cases, the rider may only be pedaling with one leg, and filtering with a moving average filter based on complete pedal revolutions could filter out any thresholds in the crank angle value and associated initial time values. In comparison, time-based low-pass filtering would have to be very slow. The disadvantage of very slow time-based low-pass filters is that they take a very long time to settle. This would also filter out any dynamics from the crank angle values ​​and associated initial time values.

[0030] According to a further embodiment, the method can be characterized in that the filtering can be performed cyclically. The filtering can be performed at specific times, for example, periodically. For example, the cadence can be determined cyclically, allowing the filtering to be performed cyclically, for example. The filtering can be performed at specific first time values. For example, the step of filtering the specific values ​​can be triggered cyclically.

[0031] Thus, the method can represent a temporally cyclical, constant recalculation, for example, by cyclically calculating and filtering the cadence. This allows the cadence filtering to be performed cyclically with respect to time, for example, periodically. This allows a constant load to be generated for a computer device executing the method. This can be performed independently of other measured variables, such as the crank angle or the second time values.

[0032] According to a further embodiment, the method can be characterized in that the filtering is carried out when the crank angle has a specific value. The specific value can be predetermined, for example, by a user, such as a developer when implementing the method. For example, the calculation of the cadence and thus the filtering can be carried out when a specific crank angle has been exceeded or when a specific absolute crank angle has been reached. For example, the filtering can be carried out when a specific buffer memory location or a specific number of buffer memory locations have been filled. Filling can mean that a specific second time value has been stored in a buffer memory location. This allows a crank angle-controlled calculation and thus filtering of the cadence to be carried out.

[0033] This allows filtering to be performed more frequently at high cadence than at low cadence. Thus, the utilization of the computer device performing the process can be cadence-dependent. At low cadences, this can lead to lower utilization of the computer device than at high cadences. Such a method can be used to explicitly evaluate constant crank angle or pedal angle intervals, since filtering is performed at a specific crank angle.

[0034] A second aspect of the present invention relates to a computer device. The computer device can be, for example, a control unit of a vehicle, such as a bicycle. The computer device can be configured to carry out a method according to an embodiment of the first aspect of the present invention. Respective further features, embodiments, and advantages can be found in the descriptions of the first aspect. Conversely, features, embodiments, and advantages of the second aspect also represent features, embodiments, and advantages of the first aspect.

[0035] A third aspect of the present invention relates to a human-powered vehicle with a drive motor and a computer device according to an embodiment of the second aspect of the present invention. Further features, embodiments, and advantages can be found in the descriptions of the first and second aspects. Conversely, features, embodiments, and advantages of the third aspect also represent features, embodiments, and advantages of the first and second aspects. Short description of the characters Fig. 1 schematically shows steps of a method for controlling a drive motor of a muscle-powered vehicle. Fig. Figure 2 shows schematically a vehicle with a computer device for executing the Fig. 1 steps shown schematically. Fig. Figure 3 shows schematically buffer memory locations of a buffer memory window of the computer device of Fig. 2. Detailed description of embodiments

[0036] Fig. 1 schematically shows steps of a method for controlling a drive motor 4 of a muscle-powered vehicle 2. Fig. Figure 2 shows such a muscle-powered vehicle 2 with such a drive motor 4. Furthermore, the vehicle 2 has a computer device 6 for executing schematically in Fig. 1. The computer device 6 and the drive motor 4 are communicatively connected to each other. Fig. 3 schematically shows buffer memory locations of a buffer memory window of the computer device 6.

[0037] The method comprises reading S1 of time-dependent values ​​of a crank angle ϕ with first time values ​​associated with the crank angles ϕ. For this purpose, a measurement of the time-dependent values ​​of the crank angle ϕ is carried out before reading. Different crank angles ϕ iwith associated first time values. Thus, at a first point in time, a first crank angle ϕ is measured as the first time value, and at a second, later point in time, a second crank angle ϕ. The values ​​of the crank angle ϕ are measured and read in at equidistant times. The values ​​of the crank angle ϕ are measured periodically at a sampling rate of a crank angle sensor. For example, the sampling rate is 10 ms, and thus every 10 ms a measured value of the crank angle ϕ with the associated first time value is available for reading in S1. A signal of the crank angle ϕ is read in as a function of time.

[0038] First, three absolute crank angles ϕ are measured, each spaced 10 ms apart. A zeroth absolute crank angle ϕ0 = 0° is determined, and a first absolute crank angle ϕ1 = 8° is measured, a second absolute crank angle ϕ2 = 24°, and a third absolute crank angle ϕ3 = 32°. Based on these absolute crank angles, relative crank angles or differences between the crank angles are determined: a first relative crank angle ϕ 1-0 is over ϕ 1-0 = ϕ1 - ϕ0 = 8°, a second relative crank angle ϕ 2-1 is over ϕ 2-1 = ϕ2 - ϕ1 = 16° and a third relative crank angle ϕ 3-2 is over ϕ 3-2= ϕ3 - ϕ2 = 8°. Relative crank angles are calculated as a function of the absolute crank angle. In the first time period of 10 ms, the crank was rotated by 8° due to pedaling by a driver of vehicle 2, in the subsequent time period of 10 ms by 16°, and in the subsequent time period by 8°.

[0039] The method comprises determining S2 second time values ​​as a function of the read-in values ​​of the crank angle ϕ and as a function of the first time values ​​associated with the crank angles ϕ. The determination S2 of second time values ​​is carried out for equidistant values ​​of the crank angle ϕ. The determination S2 of second time values ​​is carried out as a function of at least one read-in value of the crank angle ϕ and associated first time values. The determined second time values ​​are stored in respective buffer memory locations or buffer memory entries of one or more buffer memory windows, as schematically shown in Fig. 3. The buffer memory locations have a width, wherein the width of the buffer memory locations is defined in crank angle degrees. Each buffer memory location is the same width, i.e., all buffer memory locations according to the embodiment are 4° wide. The first time values ​​are then distributed equidistantly among the buffer memory locations of the section of the buffer memory window shown in step S2 of determining second time values. In this process, it is first determined how many buffer memory locations are available for storing specific second time values ​​depending on the first relative crank angle ϕ 1-0 associated first time value are necessary. For example, to store second time values ​​for the first relative crank angle ϕ 1-0 exactly two buffer memory locations are needed to determine the first relative crank angle ϕ 1-0= 8° into two buffer storage locations each 4° wide. Accordingly, a certain second time value of t 1,2 = 5 ms into the first and second buffer memory locations, marked by i=1 and i=2 in Fig. 3, stored to the complete relative to the first crank angle ϕ 1-0 corresponding first time value of 10 ms to be divided into the buffer memory locations.

[0040] The second relative crank angle ϕ 2-1 = 16°, so four buffer memory locations are required to store the second time values ​​determined depending on this. Therefore, the 10 ms which occur when sweeping over the second relative crank angle ϕ 2-1 = 16° have passed, are divided into four buffer memory locations with i=3-6. Accordingly, the determined second time value of these buffer memory locations is t 3-6 = 2.5 ms.

[0041] The third relative crank angle ϕ 3-2 is equal to the first relative crank angle ϕ1-0 , therefore, the buffer memory locations with i =7, 8 are each stored as certain second time values ​​t 7,8 = 5 ms saved.

[0042] This determination S2 of second time values ​​is performed for any number of read-in crank angles ϕ and corresponding first time values. In the above example, the read-in crank angles are multiples of the width of the buffer memory locations. Thus, individual buffer memory locations are always completely filled when determining S2 the second time value. The method is also feasible if read-in crank angles ϕ are not multiples of the width of the buffer memory locations. Any remainder remaining when determining second time values ​​of specific buffer memory locations is then temporarily stored and used to determine further second time values ​​depending on further crank angles ϕ.

[0043] The method comprises determining S3 a cadence as a function of the determined second time values. Some of the determined second time values ​​stored in the buffer memory locations are used to determine S3 the cadence.

[0044] Determining S3 of the cadence comprises calculating S3.1 of the cadence. Calculating S3.1 of the cadence is performed as a function of the determined second time values ​​and as a function of the values ​​of the crank angle ϕ.

[0045] When calculating the cadence (S3.1), a quotient of a crank angle sum and a sum of second time values ​​is calculated. Thus, according to the embodiment, 180° is used as the crank angle sum. The second time values ​​associated with the 180° crank angle and stored in the buffer memory locations are used and summed as the sum of second time values. This calculates the cadence, whereby the step of calculating the cadence (S3.1) with a crank angle sum of 180° results in the cadence being filtered over half a crank revolution.

[0046] According to one embodiment, determining S3 the cadence comprises filtering S3.2. In an alternative embodiment, determining S3 does not comprise filtering S3.2 of the cadence, and the calculated cadence is the determined cadence.

[0047] During filtering S3.2, a mean filter is used. In the embodiment shown, a moving mean filter is used. In alternative embodiments, other filters are used. Thus, according to the embodiment shown, the cadence is calculated based on a crank angle sum of the last 180°, resulting in filtering with a moving mean filter.

[0048] Calculating the cadence (S3.1) and thus filtering the cadence (S3.2) is performed cyclically. In the example shown, the cycle time is 10 ms, and filtering (S3.2) is thus performed every 10 ms. Thus, every 10 ms, a newly filtered cadence is available as a specific cadence.

[0049] In the embodiment shown, the moving average filter is used for the last half crank revolution. Alternatively, the moving average filter is used for the last quarter, whole, or several crank revolutions. In the embodiment shown, the average filter is used for exactly half a crank revolution. In alternative embodiments, the average filter is used for approximately quarter, half, whole, or several crank revolutions, depending on the input crank angle values ​​and associated initial time values.

[0050] In an alternative embodiment, the calculation S3.1 and thus the filtering S3.2 are performed when the crank angle ϕ has a certain value. Thus, the filtering S3.2 is performed whenever the crank angle has swept over another 5° or 10° of the crank angle.

[0051] The method comprises controlling S4 the drive motor 4 as a function of the determined cadence. For this purpose, a control parameter is determined by the computer device 6 as a function of the determined cadence. This occurs cyclically and every 10 ms. The determined control parameter is sent to the drive motor 4. This executes the control S4 of the drive motor 4. The determined cadence is used as a reference variable when controlling S4 the drive motor 4.

[0052] Using such a method, a cadence is determined from measured values ​​of the crank angle ϕ by constructing the cadence from the read values ​​of the crank angle ϕ and the corresponding initial time values. This allows the pedaling cadence of the driver of vehicle 2 to be determined.

[0053] Due to the kinematics prevailing on the muscle-powered vehicle 2, the driver's pedaling is often wavy and thus a signal with values ​​of the crank angle ϕ as a function of time is swelling.

[0054] With the method presented here, such a threshold signal can be used to determine the cadence. The threshold character is filtered out by filtering the cadence S3.2 through the integral behavior of the moving average filter. This results in a smoothed cadence signal rather than a threshold cadence signal being determined for control S4. This allows for a more consistent control of S4 of the drive motor 4. Reference symbol 2 vehicles 4 Drive device 6 Computer setup t time ϕ crank angle S1 Reading in time-dependent values ​​of the crank angle with the first time values ​​associated with the crank angles S2 Determining second time values S3 Determining a cadence S3.1 Calculating the cadence S3.2 Filtering the cadence S4 Control of the drive device QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] DE 102020001016A1

[0002]

Claims

[1] Method for controlling a drive motor (4) of a muscle-powered vehicle (2), comprising the steps of: reading in (S1) time-dependent values ​​of a crank angle (ϕ) with first time values ​​associated with the crank angles (ϕ); determining (S2) second time values ​​as a function of the read-in values ​​of the crank angle (ϕ) and as a function of the first time values ​​associated with the crank angles (ϕ); determining (S3) a cadence as a function of the determined second time values; and controlling (S4) the drive motor (4) as a function of the determined cadence. [2] Method according to claim 1, characterized by that the determination (S2) of second time values ​​is carried out for equidistant values ​​of the crank angle (ϕ). [3] Method according to one of the preceding claims, characterized bythat the determination (S2) of second time values ​​is carried out as a function of at least one read-in value of the crank angle (ϕ) and the associated first time value. [4] Method according to one of the preceding claims, characterized by that determining (S3) the cadence comprises calculating (S3.1) the cadence, wherein the calculating (S3.1) of the cadence is carried out as a function of the determined second time values ​​and as a function of values ​​of the crank angle (ϕ). [5] Method according to claim 4, characterized by that when calculating (S3.1) the cadence, a quotient of a crank angle sum and a sum of second time values ​​is calculated. [6] Method according to one of claims 4 or 5, characterized by that the determination (S3) of the cadence comprises a filtering (S3.2). [7] Method according to claim 6, characterized by that a mean filter is used during filtering (S3.2). [8] Method according to one of claims 6 or 7, characterized by that the filtering (S3.2) is carried out cyclically. [9] Method according to one of claims 6 to 8, characterized by that the filtering (S3.2) is performed when the crank angle (ϕ) has a certain value. [10] Computer device (6) which is arranged to carry out a method according to one of the preceding claims. [11] Muscle-powered vehicle (2) with a drive motor (4) and a computer device (6) according to claim 10.

Citation Information

Patent Citations

  • Bicycle control device, bicycle with motor assistance, comprising the bicycle control device, and method for controlling a motor with which the drive of a wheel of a bicycle is supported

    DE102015110317A1

  • Bicycle control system

    DE102020001016A1

  • Method for controlling an electric motor of an electric bicycle, motor control unit, bicycle

    DE102021211270B3

  • BICYCLE CONTROL SYSTEM

    DE102023115137A1

  • Management method for vehicle, management program for vehicle, storage medium, and information processing device

    WO2023171800A1