Bicycle control system
Patent Information
- Application Number
- CN202310678243.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-23
- Filing Date
- 2023-06-08
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-06-08
Smart Images

Figure CN117284407B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to electric bicycles, and more specifically, to the control of electric bicycles. Background Technology
[0002] If a bicycle with a pedal-assist motor (e.g., an e-bike) is driven above a speed threshold (e.g., 25 kph), it may be legally required to no longer provide motor assistance to the rider. To prevent motor assistance from exceeding the speed threshold, the bicycle control system will have information about the e-bike's speed. This speed information is typically provided by a sensor (e.g., a reed switch, Hall effect) mounted near the rear wheel, which detects a magnet mounted to the wheel (e.g., the rear wheel). The speed sensor typically generates a pulse each time the magnet passes the sensor, with each wheel revolution. The time between these sensor pulses can be used to calculate the wheel's angular velocity (e.g., revolutions per minute (RPM)). The bicycle's speed can be calculated by multiplying the wheel's RPM by its circumference, and the calculated bicycle speed can be used to control the pedal-assist motor. Summary of the Invention
[0003] In one example, an electronic component for a bicycle includes a processor configured to receive first data from a first sensor, the first sensor being configured to sense at least one sensing element disposed around a bicycle wheel as at least one sensed element rotates through a proximal region of the first sensor. The processor is further configured to receive second data from a second sensor. The second data differs from the first data. The processor is configured to: determine a first speed based on a subset of the received first data when the sensed element is within the proximal region of the first sensor, and determine a second speed based on a subset of the received second data and the first speed when the sensed element is not within the proximal region of the first sensor.
[0004] In one example, the first sensor is a bicycle wheel speed sensor, and the second sensor is an accelerometer.
[0005] In one example, the processor is also configured to compare the determined second bicycle speed with a predetermined threshold speed and control the bicycle's auxiliary motor based on the comparison.
[0006] In one example, the processor is configured to control the bicycle's auxiliary motor based on the comparison, including: the processor is configured to prevent or block the bicycle's auxiliary motor from providing power to the bicycle's drivetrain when the determined second bicycle speed is greater than a predetermined threshold speed.
[0007] In one example, the first data includes a first data point, a second data point, and a third data point, which respectively identify the reception of the magnetic field pulse by the first sensor at a first time point, a second time point, and a third time point. The second time point is after the first time point, and the third time point is after the second time point. The second data includes multiple data points received at multiple time points between the second and third time points, each data point representing the acceleration of the bicycle.
[0008] In one example, the received subset of first data includes a first data point and a second data point. Determining the first velocity involves determining a first velocity at a second time point based on the first data point of the first data received at a first time point and the second data point of the first data received at a second time point. The received subset of second data includes data points from a plurality of data points of second data received by a second sensor at a fourth time point. The fourth time point lies between the second time point and the third time point. Determining the second velocity involves determining a second velocity at the fourth time point based on the determined first velocity and the data points of the second data received by the second sensor at the fourth time point.
[0009] In one example, determining the first speed also includes determining the time period between the second time point and the first time point, and determining the first speed based on the determined time period and the circumference of the bicycle wheel.
[0010] In one example, for each of a plurality of data points of the second data received by the second sensor between a second time point and a third time point, the processor is further configured to update the determined second speed. Each corresponding update of the determined second speed includes determining a speed change based on the corresponding data point of the second data, and calculating the updated second speed. The calculation of the updated second speed includes the sum of the determined second speed and the determined speed change. For each of the plurality of data points of the second data received by the second sensor between the second time point and the third time point, the processor is further configured to compare the updated second speed with a predetermined threshold speed, control the bicycle's auxiliary motor based on the comparison of the updated second speed with the predetermined threshold speed, and set the second speed to the updated second speed.
[0011] In one example, determining the velocity change involves integrating the corresponding data points of the second data over the sampling period of the second sensor.
[0012] In one example, a subset of the received first data is a first subset of the received first data. The processor is also configured to update the first velocity based on a second subset of the received first data. The second subset of the received first data includes second data points received at a second time point and a third time point, respectively. The processor is also configured to determine a third velocity at the third time point when the sensed element is in the proximal region of the first sensor. Determining the third velocity includes calculating a weighted sum of the updated first velocity and the updated second velocity.
[0013] In one example, the first weight in the weights corresponding to the updated first speed and the second weight in the weights corresponding to the updated second speed are variable based on the bicycle speed.
[0014] In one example, the predetermined threshold speed is a first predetermined threshold. At a third time point, the processor is also configured to determine the difference between the updated first speed and the updated second speed, compare the determined difference with a second predetermined threshold, and identify wheel slippage or wheel locking based on the comparison of the determined difference with the second predetermined threshold.
[0015] In one example, the processor is configured to detect wheel slip when the updated first speed is greater than the updated second speed and the determined difference is greater than a second predetermined threshold.
[0016] In one example, the processor is also configured to calibrate the received second data. Calibration of the received second data includes the identification of third data. The third data is related to the bicycle's orientation, acceleration, position, or any combination thereof. The source of the third data differs from both the first and second sensors. Calibration of the received second data involves calibrating the received second data based on the identified third data.
[0017] In one example, the identified third data represents the bicycle's magnetic heading, acceleration due to gravity, or Global Positioning System (GPS) data.
[0018] In one example, a system for controlling a bicycle includes a first sensor configured to generate first data at a first sampling rate. The first data includes a first data point received at a first time point and a second data point received at a second time point. The second time point is after the first time point. The first and second data points of the first data identify the reception of magnetic field pulses at the first and second time points, respectively. The system also includes a second sensor configured to generate second data at a second sampling rate. The second sampling rate is greater than the first sampling rate. The second data includes data points identifying the acceleration of the bicycle. The system also includes a memory configured to store data for the circumferential distance of the bicycle's wheels, and a processor communicating with the memory, the first sensor, and the second sensor. The processor is configured to receive the first data and the second data, and to determine a first speed. Determining the first speed includes determining a time period between the reception of the second data point at the second time point and the reception of the first data point at the first time point, and determining the first speed based on the determined time period and the stored data on the circumferential distance of the wheels. The processor is also configured to determine a second speed. Determining the second speed includes determining a change in speed. Determining a change in speed includes integrating the acceleration of the data points over a sampling period. The sampling period is based on the second sampling rate. The determination of the second speed also includes determining the second speed based on the determined speed change and the determined first speed.
[0019] In one example, the processor is also configured to compare the determined second speed with a predetermined threshold speed and control the bicycle's auxiliary motor based on that comparison.
[0020] In one example, the first sensor is a type 1 sensor, and the second sensor is a type 2 sensor. The type 2 sensor is different from the type 1 sensor.
[0021] In one example, the first sensor is a reed switch or a Hall effect sensor, and the second sensor includes an accelerometer.
[0022] In one example, a controller for a bicycle includes a processor configured to receive first data from a first sensor at a first sampling rate. The first data includes two data points identifying two time points, at which magnetic field pulses are received by the first sensor, respectively. The processor is also configured to receive the first data from the first sensor at the first sampling rate. The first data includes two data points identifying two time points, at which magnetic field pulses are received by the first sensor, respectively. The processor is further configured to receive second data from a second sensor at a second sampling rate greater than the first sampling rate. The second data includes data points identifying the acceleration of the bicycle. The processor is further configured to: determine a first speed representation of the bicycle based on the two identified time points of the first data; determine a second speed representation of the bicycle based on the identified acceleration of the second data; and determine the speed of the bicycle based on the determined first speed representation and the determined second speed representation. Attached Figure Description
[0023] The objects, features, and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings, wherein:
[0024] Figure 1 A side view of an example electric bicycle with the movement of components that can be controlled according to the teachings of this disclosure is shown;
[0025] Figure 2 This is a side view of an example of a rear derailleur;
[0026] Figure 3 This is a block diagram of an embodiment of the electromechanical control system;
[0027] Figure 4 This is a block diagram of an embodiment of the operating components;
[0028] Figure 5 This is a flowchart of an embodiment of a method for automatic gear shifting;
[0029] Figure 6 This is a flowchart of an embodiment of a method for determining the speed of a bicycle;
[0030] Figure 7 This is an example comparing a graph of the bicycle's speed over time, determined using the bicycle's sensors, with a graph of the bicycle's actual speed over time; and
[0031] Figure 8 This is an example comparing a graph of the bicycle's acceleration over time, determined by the bicycle's sensors, with a graph of the bicycle's actual acceleration over time. Detailed Implementation
[0032] A bicycle with an electric pedal assist motor capable of driving the chainring independently of the crank is provided. The bicycle includes a wheel speed sensor and a crank cadence sensor. The wheel speed sensor and crank cadence sensor measure wheel speed and crank cadence, respectively, and provide the measured wheel speed and crank cadence to an electric rear derailleur or the bicycle's controller. The electric rear derailleur is, for example, configured to shift gears on the bicycle and / or instruct the electric bicycle controller to activate a motor overdrive based on the measured wheel speed and / or the measured crank cadence.
[0033] Bicycle speed information (e.g., wheel speed sensor data relating to the bicycle's ground speed) is typically provided by a sensor (e.g., a wheel speed sensor, such as a reed switch or a Hall effect sensor) mounted near the rear wheel of the bicycle. The sensor detects a magnet mounted to the rear wheel. Each time the rear wheel rotates, the sensor typically generates a pulse as the magnet passes by.
[0034] To implement automatic transmissions (e.g., including a rear derailleur) on a bicycle, accurate measurements of wheel speed are needed even when the rider is not pedaling, while the automatic transmission continues to change gears. This requires sampling at a rate greater than once per wheel revolution. More feedback magnets can be included at equal intervals on the rear wheel to increase the sampling rate. However, this increases complexity and cost.
[0035] One or more control systems of this embodiment include, for example, accelerometers and gyroscopes. The accelerometers and gyroscopes together form an inertial measurement unit (IMU). The control system may also include a processor configured to calculate the bicycle's speed (e.g., ground speed) by combining low-resolution wheel speed sensor data (e.g., one pulse per revolution; a first speed) with higher-resolution data from the IMU (e.g., calculated position shift and direction of travel). The processor periodically (e.g., every sampling interval, such as every microsecond) samples the IMU, integrating each sample within the sampling interval to update the bicycle's speed (e.g., a second speed). Whenever the wheel speed sensor generates an event (e.g., detection of a magnet), the processor updates the first speed based on the time interval between temporally successive events generated by the wheel speed sensor.
[0036] In one embodiment, the processor can combine the first and second speeds into a single speed value for the bicycle by multiplying each of the first and second speeds by a corresponding scaling constant and then adding the scaled first speed and the scaled second speed together. The corresponding value of the scaling constant can vary depending on the bicycle's speed. For example, at higher bicycle speeds, the wheel speed sensors become more accurate and update more frequently, reducing the practicality of a second speed determined based on data generated by the IMU.
[0037] For example, the performance of the automatic shifting method allows for more accurate and faster updates of the determined wheel speed. Furthermore, if the e-bike is traveling above a speed threshold (e.g., 25 kph), the law may require that the e-bike not provide motor assistance to the rider. To prevent motor assistance above the speed threshold, the motor control system will have information about the bicycle's speed. The combination of low-resolution wheel speed sensor data and higher-resolution data from the IMU in this embodiment provides more frequent determination of the bicycle's speed and / or wheel speed, and thus provides improved performance for automatic shifting and motor assistance control.
[0038] These and other objects, features, and advantages of the disclosed bicycle component control device will become apparent to those skilled in the art upon reading this disclosure. Throughout the drawings, where the same reference numerals are used, the same reference numerals denote the same or substantially similar components in various disclosed examples. Furthermore, specific examples utilizing particular combinations of aspects, features, and components disclosed herein are disclosed and described. However, in other instances not disclosed or described herein, each disclosed aspect, feature, and / or component of the invention may be used independently or in different combinations with other aspects, features, and components of the invention.
[0039] Now turn to the attached diagram. Figure 1 An exemplary bicycle 100 (e.g., an electric bicycle) is shown, including a frame 106, handlebars 108, and a seat 110. The bicycle 100 also includes a first wheel or front wheel 112 and a second wheel or rear wheel 114. A front brake 116 and / or a rear brake 118 are included to brake the front wheel 112 and the rear wheel 114, respectively. The front brake 116 and / or the rear brake 118 are controlled by at least one brake actuator 120. The bicycle 100 includes a drivetrain 122. Figure 1The drivetrain 122 includes a crank assembly 124 operably coupled to a rear cassette 126 via a chain 128. The crank assembly includes crank arms 130 and pedals 132, and at least one chain link 134 configured operably coupled to the chain 128 to transmit force and / or power applied to the crank assembly 124 to the chain 128. This force and / or power is transmitted via the chain 128 to the rear cassette 126, thereby motivating force 136 and / or power being transmitted from the rear cassette 126 to the rear wheel 114. While the drivetrain 122 includes a gear changer (e.g., the rear derailleur 102 in the illustrated embodiment), other derailleurs such as internal gear hubs, gearboxes, and / or continuously variable transmissions (CVTs) may be applied to the bicycle 100.
[0040] The drivetrain 122 may also include a power assist device 140. The rider applies pedal torque to the crank assembly 124 using the pedals 132 and crank arms 130. The power assist device 140 is configured to assist the rotation of the rear wheel 114. In the illustrated embodiment, the power assist device 140 is configured to assist the rotation of the rear wheel 114 via a connection to the crank assembly 124. The power assist device 140 includes a power assist motor 141 powered by a remote power source 142.
[0041] Chain 128 can be moved between the individual sprockets of the rear freewheel 126 using a gear changer such as the rear derailleur 102, as... Figure 1 As shown. The rear derailleur 102 is, for example, an electric gearshifter controlled by a signal indicating a shift command that has been actuated by the bicycle operator or rider. Alternatively, the electric rear derailleur 102 may be powered by an integrated power supply or a remote power supply 142 using a conductive connector or cable 144. Power is supplied from the remote power supply 142 via cable 144 to an intermediate power connector 104 connected to the rear derailleur 102. The shift command is achieved using an electric actuator 148 that can be manually operated by the rider. The signal indicating the shift command can be transmitted to the electric rear derailleur 102 using wired and / or wireless communication technologies.
[0042] refer to Figure 2The rear derailleur 102 is attached to the bicycle frame 106 and positioned next to the rear cassette 126. The chain 128 is shown schematically only in dashed lines. The electric or electromechanical rear derailleur 102 includes a base member 150 (e.g., a "b-knuckle"), an outer link 152, and an inner link 154. The base member 150 is conventionally attachable to the bicycle frame 106. The inner link 154 is pivotally attached to the base member 150, for example, via a link pin. A movable member or assembly 156 (e.g., a "p-joint") is pivotally connected to the outer link 152 and the inner link 154 at an end opposite the base member 150 to allow the movable assembly 156 to move relative to the base member 150.
[0043] The rear derailleur 102 can also be configured to work with an integrated power supply 158, such as a removable battery. Figure 1 and Figure 2 In the example shown, an integrated power supply or battery 158 is attached to the rear derailleur 102. The integrated power supply 158 can power, for example, the motor of the rear derailleur 102 used for shifting gears.
[0044] like Figure 1 As shown, the bicycle 100 also features a handlebar-mounted user interface via a shift actuator or electric actuator 148. All of the aforementioned electric components and / or other electric components can be connected to a remote power source or remote battery 142. Furthermore, all communication between the electric bicycle's central control system or controller and each of these electric components is achieved via wired or wireless communication. Discrete control with separate wires from the central controller to each component may exist, or the system may use a Controller Area Network (“CAN”) bus designed to allow microcontrollers and devices to communicate with each other in the application.
[0045] Although the bicycle 100 shown is a mountain bike and may include suspension components such as a shock-absorbing fork, the embodiments disclosed herein can be implemented using other types of bicycles, such as road bikes. The forward and / or forward orientation of the bicycle 100 is determined by… Figure 1 The direction of the arrow "A" is indicated by the arrow. Therefore, the direction of the bicycle's forward movement is indicated by the direction of arrow A.
[0046] The central control system or controller of the electric bicycle may be supported by the same housing as the remote power source 142. The electric bicycle controller can control the power from the remote power source 142 to components on the bicycle 100 (e.g., the power assist device 140). The electric bicycle controller can also control the power to other and / or different components on the bicycle 100. The electric bicycle controller can send signals (e.g., commands) and / or receive data (e.g., commands and / or sensor data) from components on the bicycle 100 (e.g., derailleur 102, suspension system, and / or seatpost assembly) to actuate and / or control components of the bicycle 100.
[0047] In other embodiments, the e-bike controller may be located at other locations on the bicycle 100 (e.g., mounted on the handlebars), or alternatively, may be distributed among various components of the bicycle 100, with the wiring of the communication links adapted to the necessary signal and power paths. The e-bike controller may also be located outside the bicycle 100, such as, for example, on the rider's wrist or in a sweatshirt pocket. The communication link may include wires, or be wireless, or a combination thereof. In one example, the e-bike controller may be integrated with the rear derailleur 102 to transmit control commands between components. The e-bike controller may include a processor, communication devices (e.g., wireless communication devices), memory, and one or more communication interfaces.
[0048] In one example, the derailleur controller and / or e-bike controller wirelessly actuates the motor module and / or auxiliary motor of the derailleur 102 and operates the derailleur 102 to perform gear shifting and gear selection. Alternatively or additionally, the transmission controller and / or e-bike controller may be configured to control the shifting of the front gearshift.
[0049] Bicycle 100 may include one or more sensors. For example, one or more sensors include a wheel speed sensor 160, which is configured to determine wheel speed based on sensing elements 162 (e.g., magnets) located on, for example, the rear wheel 114 of bicycle 100. One or more sensors may also include, for example, an inertial measurement unit (IMU) 164 as part of, for example, an electric bicycle controller.
[0050] Figure 3 An example of a control system 300 (e.g., an electromechanical control system) for a bicycle 100 is shown. The control system 300 includes an electric bicycle controller 302, a power assist device 140, a rear derailleur 102, and one or more sensors. The power assist device 140 is, for example, an auxiliary motor.
[0051] One or more sensors include, for example, a pedal speed sensor 304, a wheel speed sensor 306 (e.g., wheel speed sensor 160), and an IMU 308 (e.g., IMU 164). For example, the pedal speed sensor 304 measures the rotational speed of at least one crank arm 130, the wheel speed sensor 306 measures the rotational speed of at least one of the rear wheel 114 and the front wheel 112, and the IMU 308 measures acceleration and angular velocity. In one embodiment, one or more sensors may include at least two wheel speed sensors 306, one for the front wheel 112 and one for the rear wheel 114.
[0052] The pedal speed sensor 304, wheel speed sensor 306, and IMU 308 can be any number of sensors of different types. For example, the pedal speed sensor 304 and wheel speed sensor 306 can be a combination of speed and cadence sensors. The speed and cadence sensors may include spoke magnets attached to the spokes of the front wheel 112 or rear wheel 114 and / or cadence magnets attached to one of the crank arms 130, as well as sensors (e.g., Hall effect sensors) attached to the frame 106 of the bicycle 100. The sensors attached to the frame 106 of the bicycle are configured to identify and count the rotation of one crank arm 130 and / or the front wheel 112 or rear wheel 114 based on the cadence magnets and / or spoke magnets of the sensors attached to the frame 106. The IMU 308 may include, for example, a combination of one or more accelerometers and gyroscopes. The IMU 308 may be housed together with or separately from the electric bicycle controller 302.
[0053] The control system 300 may include more, fewer, and / or different sensors. For example, one or more sensors may include torque sensors that measure torque on the crank assembly 124 and / or torque on the output shaft of the auxiliary motor 140. Any number of different types of torque sensors may be provided. For example, torque sensors may include magnetoelastic torque sensors, strain gauges, SAW devices, and / or other types of torque sensors. In one embodiment, the torque sensor is a current sensor that measures the current passing through the auxiliary motor 140. The amount of current consumed by the auxiliary motor 140 is proportional to the torque applied by the auxiliary motor 140 to the drivetrain of the bicycle 100.
[0054] like Figure 3As shown in the embodiments, the power assist device 140, the rear derailleur 102, and one or more sensors (e.g., pedal speed sensor 304, wheel speed sensor 306, and IMU 308) can communicate directly with the e-bike controller 302. Alternatively or additionally, at least some components of the control system 300 can communicate indirectly with the e-bike controller 302. For example, the wheel speed sensor 306, pedal speed sensor 304, and / or IMU 308 can communicate directly with the rear derailleur 102 and indirectly with the e-bike controller 302 via the rear derailleur 102. In one embodiment, at least each of the rear derailleur 102 and the e-bike controller 302 communicates directly with all sensors, such as the pedal speed sensor 304, wheel speed sensor 306, and IMU 308. Other and / or different components of the control system 300 can communicate directly with all sensors of one or more sensors (e.g., the power assist device 140). Communication between components of the control system 300 can be wired and / or wireless.
[0055] Each communication link 310 between components of the control system 300 can be in two directions. In other words, the data flow in direct communication between components of the control system 300 can be in two directions. For example, the wheel speed sensor 306 can receive signals (e.g., about when to measure rotational speed) from the electric bicycle controller 302 or the rear derailleur 102 and return the measured rotational speed to the electric bicycle controller 302 or the rear derailleur 102.
[0056] Figure 4 This is a block diagram of operating component 400. Operating component 400 can be one or more of the previously described electronic components, such as the rear derailleur 102, the electric bicycle controller 302, and the front gearshift. Operating component 400 can also be another component, such as the power assist device 140, an internal gearbox component, a suspension or adjustable suspension component, or an adjustable seat component. Multiple operating components 400 may be provided.
[0057] The operating component 400 is provided with an operating unit 402, which may be a circuit board or an alternative configuration. The operating unit 402 includes an operating processor 404, an operating memory 406, an operating user interface 408, an operating power supply 410, an operating communication interface 412, and an operating device interface 414. In one embodiment, the operating communication interface 412 communicates with an operating communication device 416, and the operating device interface 414 communicates with an operating device 418. Additional, different, or fewer components may be provided. For example, the operating user interface 408 may be omitted.
[0058] The structure, connections, and functions of the operation processor 404 may represent those of the rear derailleur 102, the front derailleur, the e-bike controller 302, or another component. The operation processor 404 may include a general-purpose processor, a digital signal processor, an ASIC, an FPGA, analog circuitry, digital circuitry, combinations thereof, or other processors now known or developed later. The operation processor 404 may be a single device or a combination of devices, such as through shared or parallel processing.
[0059] Operational memory 406 may be volatile or non-volatile memory. Operational memory 406 may include one or more of ROM, RAM, flash memory, EEPROM, or other types of memory. Operational memory 406 may be removed from operational component 400 (such as an SD memory card). In certain non-limiting exemplary embodiments, computer-readable media may include solid-state memory, such as a memory card, or other package housing one or more non-volatile read-only memories. Furthermore, computer-readable media may be random access memory or other volatile rewritable memory. Additionally, computer-readable media may include magneto-optical or optical media, such as disks or magnetic tapes, or other storage devices. Therefore, this disclosure is considered to include any one or more computer-readable media and other equivalents and successor media in which data or instructions may be stored.
[0060] Operational memory 406 is a non-transitory computer-readable medium and is described as a single medium. However, the term "computer-readable medium" includes single or multiple media operable to store one or more sets of instructions and other data, such as centralized or distributed memory structures and / or associated caches. The term "computer-readable medium" should also include any medium capable of storing, encoding, or carrying a set of instructions for execution by a processor or for causing a computer system to perform any one or more of the methods or operations disclosed herein.
[0061] Operating power supply 410 is a portable power source that can be stored inside or outside operating component 400 and transmitted to operating component 400 via conductive cables. Operating power supply 410 may relate to the generation of electrical power, such as using a mechanical power generator, fuel cell device, photovoltaic cell, piezoelectric or other power generation device. Operating power supply 410 may include batteries, such as a device consisting of two or more electrochemical cells that convert stored chemical energy into electrical energy. Operating power supply 410 may include a combination of multiple batteries or other power supply devices. Specially assembled or configured battery types or standard battery types may be used.
[0062] In the example where the operating component 400 is the rear derailleur 102, the operating power supply 410 can be stored inside the operating component 400. In the example where the operating component 400 is the electric bicycle controller 302, the operating power supply 410 can be stored inside or outside the operating component 400. For example, the electric bicycle controller 302 can be supported on... Figure 1 The remote power supply 142 is housed within its casing.
[0063] Operating device interface 414 provides operation of components of bicycle 100. For example, operating device interface 414 can transmit power from operating power source 410 to generate motion in operating device 418. In various embodiments, operating device interface 414 sends power to control the motion of auxiliary motor 140, the motor of rear derailleur 102, the motor of front derailleur, or any combination thereof. In one embodiment, operating component 400 is e-bike controller 302, and operating device interface 414 sends power to control the motion of power assist device 140. Operating device interface 414 includes wired conductive signal and / or data communication circuitry operable to control operating device 418.
[0064] The user interface 408 may be one or more buttons, a keypad, a keyboard, a mouse, a stylus, a trackball, a rocker switch, a touchpad, a voice recognition circuit, or other devices or components used to transfer data between the user and the operating component 400. The user interface 408 may be a touchscreen, which may be capacitive or resistive. The user interface 408 may include an LCD panel, an LED, an LED screen, a TFT screen, or another type of display. The user interface 408 may also include audio capabilities or speakers.
[0065] Operational communication interface 412 is configured to receive data via operational communication device 416, such as measurement data (e.g., crank speed, wheel speed, bicycle speed, and / or torque), anticipated signals, operational signals, and / or other signals from bicycle components (e.g., pedal speed sensor 304, wheel speed sensor 306, IMU 308, torque sensor, and / or e-bike controller 302). In one embodiment, operational component 400 includes more than one operational communication interface 412, each communicating with more than one operational communication device 416. Operational communication interface 412 may also be configured to transmit data such as status signals (e.g., temperature sensor signals) for reception, for example, by e-bike controller 302. Operational communication interface 412 uses any operable connection to transmit data. Operable connection may be a connection in which signals can be transmitted and / or received, physical communication and / or logical communication. Operable connection may include physical interfaces, electrical interfaces and / or data interfaces. One or more operational communication interfaces may provide wireless communication via operational communication device 416 in any format now known or hereafter developed. Although this specification describes components and functions that may be implemented in specific embodiments with reference to particular standards and protocols, the invention is not limited to such standards and protocols. For example, standards used for transmission on the Internet and other packet-switched networks (e.g., TCP / IP, UDP / IP, HTML, HTTP, HTTPS) represent examples of technological states. These standards are periodically replaced by faster or more efficient equivalents with substantially the same functionality. Therefore, alternative standards and protocols having the same or similar functionality as those disclosed herein are considered their equivalents.
[0066] According to various embodiments of this disclosure, the methods described herein can be implemented using software programs executable by a computer system, such as components of control system 300 (e.g., electric bicycle controller 302 and rear derailleur 102) and / or other components on bicycle 100 and / or worn by a user. Furthermore, in exemplary, non-limiting embodiments, implementations may include distributed processing, component / object distributed processing, and parallel processing. Alternatively, virtual computer system processing may be configured to implement one or more of the methods or functions described herein.
[0067] Computer programs (also referred to as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled or interpreted languages, and can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suitable for a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored as a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), a single file dedicated to the program in question, or multiple coordinating files (e.g., files storing one or more modules, subroutines, or code sections). Computer programs can be deployed to execute on a single computer or on multiple computers located at a single site or distributed across multiple sites and interconnected via a communication network.
[0068] The processes and logic flows described in this specification can be executed by one or more programmable processors that execute one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic flows can also be executed by special-purpose logic circuitry (e.g., an FPGA or an ASIC), and the device can also be implemented as special-purpose logic circuitry (e.g., an FPGA or an ASIC).
[0069] As used in this application, the terms “circuit system” or “circuit” refer to all of the following: (a) a hardware circuit implementation (such as an implementation using only analog and / or digital circuit systems) and (b) a combination of circuits and software (and / or firmware), such as (applicable to): (i) a combination of (one or more) processors or (ii) a combination of (one or more) processors / software (including (one or more) digital signal processors), software and (one or more) memory, which work together to enable a device (such as a mobile phone or server) to perform various functions, and (c) a circuit, such as a microprocessor or a portion thereof, that requires software or firmware for operation, even if the software or firmware is not physically present.
[0070] This definition of "circuit system" applies to all uses of the item in this application, including in any claim. As another example, as used in this application, the term "circuit system" will also cover the implementation of only a processor (or processors) or a portion thereof and its accompanying software and / or firmware, as well as other electronic components. The term "circuit system" will also cover, for example and if applicable to a particular claim element, baseband integrated circuits for mobile computing devices, or application processor integrated circuits or similar integrated circuits in servers, cellular network devices, or other network devices.
[0071] Processors suitable for executing computer programs include, for example, general-purpose and special-purpose microprocessors and any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer also includes, or is operatively coupled to, one or more mass storage devices for receiving data from or transferring data to, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical, or optical discs). However, a computer does not need to have such devices. Furthermore, a computer may be embedded in another device, such as a mobile phone, a personal digital assistant (“PDA”), a portable audio player, a global positioning system (“GPS”) receiver, a control unit, a rear derailleur, or a front gear shifter, to name a few. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, such as: semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks (e.g., internal hard disks or removable disks); magneto-optical disks; and CD-ROM and DVD-ROM discs. Processors and memory can be supplemented by dedicated logic circuits or incorporated into dedicated logic circuits.
[0072] The operational communication device 416 provides data and / or signal communication from the operational component 400 to another component of the bicycle 100 or to an external device such as a mobile phone or other computing device. The operational communication device uses any operable connection to transmit data. An operable connection can be a connection in which signals can be sent and / or received, physical communication and / or logical communication can occur. An operable connection can include a physical interface, an electrical interface and / or a data interface. The control communication device can be configured to communicate wirelessly and therefore includes one or more antennas. The control communication device provides wireless communication in any format now known or hereafter developed.
[0073] A control antenna may also be provided. Multiple control antennas may be provided. The operating component 400 may include an antenna for the circuit system of the PCB having the operating component 400; however, additional antennas may also be included in the circuit system. The control antenna may be integrated with another component of the bicycle 100, or it may be a separate component. For example, the control antenna may be integrated as part of the electric bicycle controller 302 and / or as part of the rear derailleur 102.
[0074] The derailleur 102 allows configuration of multiple riding modes that can be switched between by a control unit (e.g., e-bike controller 302 or another controller on or outside the bicycle 100). The control unit can automatically switch riding modes based on user input (e.g., via electric actuator 148 or another interface) or based on sensed conditions. In each mode, various characteristics of the riding mode can be adjusted. For example, gear lag, the smallest gear to which shifting occurs without pedaling, and / or other characteristics can be adjusted.
[0075] Figure 5 This is a flowchart of an embodiment of a method 500 for electromechanical control of components, such as bicycle 100. The flowchart also illustrates a method for transmitting and receiving wireless signals on bicycle 100. As presented in the following sections, actions can be performed using any combination of components indicated in the previous figures. For example, the following actions can be performed by at least some components of control system 300, as well as additional or other components. In embodiments, actions can be performed by, for example, the rear derailleur 102, e-bike controller 302, power assist device 140, one or more sensors, or any combination thereof. Additional, different, or fewer actions may be provided. These actions may be performed in the order shown or in other orders. These actions may be repeated.
[0076] In action 502, the processor activates the bicycle's mode (e.g., fully automatic mode). In fully automatic mode, the derailleur (e.g., derailleur 102) shifts without user input to maintain a gear that causes the rider's cadence, based on the current wheel speed, to approach a defined target. The processor can activate fully automatic mode automatically based on user input or based on sensed riding conditions. In one embodiment, the processor is the derailleur's processor and activates fully automatic mode based on instructions from another processor (e.g., e-bike controller 302) that receives user input or identifies sensed riding conditions.
[0077] In action 504, the processor receives data representing wheel speed from a sensor (e.g., a wheel speed sensor such as wheel speed sensor 306). The wheel speed sensor measures the wheel's rotational speed continuously or at intervals (e.g., variable intervals based on the wheel's rotational speed). The received data representing wheel speed can be used for the front wheel and / or the rear wheel of a bicycle. The data representing wheel speed can be a rotational speed value (e.g., in revolutions per minute (RPM)).
[0078] In action 506, the processor receives data representing cadence speed from a sensor (e.g., a pedal speed sensor or a crank cadence sensor; pedal speed sensor 304). The pedal speed sensor measures the rotational speed of the crank arm (to which the bicycle pedals are attached) continuously or at intervals (e.g., variable intervals based on the rotational speed of the crank arm). The data representing cadence speed can be a rotational speed value (e.g., in RPM).
[0079] In action 508, the processor compares data representing the cadence speed (e.g., current cadence speed) received in action 506 with a target cadence speed. The target cadence speed can be user-defined. For example, a bicycle may include one or more controls (e.g., two control buttons) mounted on the handlebars. The two control buttons may communicate with, for example, a controller (e.g., e-bike controller 302) and / or other components on the bicycle (e.g., wireless and / or wired communication). One of the two control buttons may generate a signal indicating that the target cadence speed increases when pressed, and the other control button may generate a signal indicating that the target cadence speed decreases when pressed. For example, a single press of either control button increments or decrements the target cadence speed (e.g., setpoint) by a configurable number of RPMs. In one embodiment, the setpoint is functionally adjustable within a predetermined limit (e.g., 60 RPM–120 RPM).
[0080] In one embodiment, the derailleur button controlling the upshift and downshift actions of the rear derailleur can be dual-purpose, controlling the setpoint of the target cadence for automatic shifting. If the derailleur button is pressed for less than a predetermined amount of time (e.g., less than 300 milliseconds), the upshift and downshift buttons can trigger the upshift and downshift actions of the rear derailleur, respectively. If the derailleur button is pressed and held for longer than a predetermined amount of time (e.g., a long press), the long press can be interpreted as a setpoint adjustment command and can increment or decrement the target cadence.
[0081] Each setpoint adjustment can modify the target cadence by only a small amount (e.g., 1 RPM) to achieve a precise adjustment. In one embodiment, to quickly make large adjustments to the target cadence, one or more shorter presses (e.g., less than 300 milliseconds) can be made after a long press. As long as each shorter press occurs within a certain threshold time (e.g., 800 milliseconds) after the previous press, the shorter press can cause an additional increment or decrement of the setpoint each time.
[0082] A memory communicating with the processor (e.g., the memory of derailleur 102 or the memory of the electric bicycle controller 302) stores gear ratio tables and upshift / downshift tables. When the rider adjusts the setpoint, the processor recalculates the gear ratio tables and upshift / downshift tables based on the adjusted setpoint. If the closest gear ratio changes during setpoint adjustment, the derailleur shifts immediately, ignoring any hysteresis built into the upshift / downshift tables.
[0083] In one embodiment, setpoint adjustment is configured via a system control interface (e.g., an e-bike system control interface). The system control interface can display the current setpoint and directly adjust the setpoint on the rear derailleur. In another embodiment, setpoint adjustment is performed via a mobile device application that communicates directly with the rear derailleur.
[0084] In action 510, the processor determines, based on the comparison in action 506, whether the current cadence speed received in action 506 is within a range (e.g., within 3 RPM) relative to the target cadence speed. If the current cadence speed is within this range, the method returns to action 504. If the current cadence speed is outside this range, the method moves to action 512.
[0085] In action 512, the processor compares the current wheel speed with a predetermined minimum wheel speed. For example, the processor calculates the difference between the current wheel speed and the predetermined minimum wheel speed. The predetermined minimum wheel speed represents, for example, a functional minimum rotational wheel speed.
[0086] In action 514, the processor determines whether the current wheel speed is greater than or less than a predetermined minimum wheel speed based on the comparison in action 512. If the processor determines that the current wheel speed is less than the predetermined minimum wheel speed, no gear shift is initiated, and the method returns to action 504. If the processor determines that the current wheel speed is greater than the predetermined minimum wheel speed, the method moves to action 516.
[0087] In action 516, the processor determines whether the crank arm is rotating. For example, the processor determines whether the crank arm is rotating based on the current cadence received at action 506. If the current cadence is greater than zero, the method moves to action 518. If the current cadence is equal to zero or approximately zero (e.g., less than or equal to 1 RPM), the method moves to action 520.
[0088] In action 518, the processor instructs a motor (e.g., the derailleur motor or auxiliary motor 140) to actuate and shift gears to maintain a gear that causes the rider's cadence to approach (e.g., within the range described above) the target cadence speed identified in action 508. After action 518, the method returns to action 504.
[0089] When automatic shifting is in operation, the derailleur can adjust the minimum timing between shifts based on current wheel speed, current gear teeth, current rider cadence, or other parameters to complete each shift before attempting the next one. This timing is optimized to allow shifting as quickly as possible without causing shifting failures.
[0090] In action 520, the processor, for example, instructs an auxiliary motor to run for a period of time to allow the chain to derail from the target gear (e.g., using a motor in a transmission). After action 520, the method returns to action 504.
[0091] The auxiliary motor does not operate unless a user pedals to accelerate or maintain the bicycle's speed. This is not difficult if the current wheel speed is accurate. However, wheel speed sensors may only update the current wheel speed once per wheel revolution. During a rapid deceleration event, the bicycle's speed may drop below the auxiliary motor's speed before the wheel speed sensor has reported a speed change. Moreover, the performance of automatic shifting methods, for example, improves the accuracy of current wheel speed updates. When the wheels come to a complete stop, the magnet will not pass through the Hall effect sensor or reed switch again, so the update time becomes infinite. Furthermore, if the e-bike is traveling above a speed threshold (e.g., 25 kph), the law may require e-bikes not to provide motor assistance to the rider. To prevent motor assistance above the speed threshold, the motor control system will have more information about the bicycle's speed than is provided by the wheel speed sensor.
[0092] As discussed above, some wheel speed sensors that can be used as input to the method employ a single magnet mounted on the wheel and a single reed switch or Hall effect sensor mounted to a frame. As the wheel rotates, with each revolution, the magnet passes through the Hall effect sensor or reed switch, generating a signal that is read by the processor. These sensor systems use the time between activations of the reed switch or Hall effect sensor to measure the wheel's angular velocity. As the wheel decelerates, the time interval between Hall or reed events increases. When a sensor event occurs, only the rotational speed calculated by the microprocessor is updated. See below for reference. Figure 6 The accelerometer of the bicycle's IMU (e.g., IMU 308) discussed above can be used to supplement wheel speed sensor data.
[0093] Figure 6This is a flowchart of an embodiment of a method 600 for electromechanical control of components for a bicycle (e.g., bicycle 100). The flowchart also illustrates a method for transmitting and receiving wireless signals on the bicycle. As presented in the following sections, actions can be performed using any combination of components indicated in the previous figures. For example, the following actions can be performed by at least some components of the control system 300, as well as additional or other components. In embodiments, actions can be performed by, for example, the rear derailleur 102, the electric bicycle controller 302, the power assist device 140, one or more sensors, or any combination thereof. Additional, different, or fewer actions may be provided. These actions are performed in the order shown or in other orders. These actions may be repeated.
[0094] In action 602, the processor identifies the most recently determined bicycle speed (e.g., the last bicycle speed). In one embodiment, method 600 begins when the bicycle starts moving from a stationary position. Therefore, when method 600 begins, the last bicycle speed can be set to zero. The processor can identify when the bicycle starts moving, and therefore, when executing method 600, it is based on data generated by one or more sensors of the bicycle (e.g., pedal speed sensor 304, wheel speed sensor 306, and / or IMU 308).
[0095] In one embodiment, the processor does not execute method 600 until the processor determines an initial speed (e.g., a first calculated "last bicycle speed") based on data from a first sensor (e.g., first data). The first sensor may be a wheel speed sensor (e.g., wheel speed sensor 306), such as a reed switch or Hall effect sensor mounted to the bicycle frame. The first sensor may be mounted on or in any number of different parts of the bicycle, including, for example, the chain stay of the frame, the fork ends of the frame (e.g., dropouts), or in the bicycle's drive unit (e.g., power assist 140).
[0096] When at least one sensed element rotates through the proximal region of the first sensor, the first sensor can be configured to sense at least one sensed element positioned around, for example, a bicycle wheel (e.g., the front wheel, such as front wheel 112, and / or the rear wheel, such as rear wheel 114). The proximal region of the first sensor can be an area where the sensed element can be detected by the first sensor.
[0097] At least one sensing element includes one or more magnets attached to a bicycle wheel. In one embodiment, at least one sensing element includes a single magnet attached to the bicycle wheel at a radial position, the single magnet passing through a proximal region of a first sensor (e.g., such that the single magnet is centered relative to the first sensor as the bicycle wheel rotates past the first sensor). In another embodiment, at least one sensed element includes two or more magnets attached to the bicycle, such that the two or more magnets are circumferentially equidistant. The two or more magnets may be attached to the bicycle wheel at multiple radial positions, passing through a proximal region of the first sensor.
[0098] Whenever the first sensor detects that the magnetic flux density around it (e.g., in the proximal region) is higher than a predetermined threshold, the first sensor generates a signal (e.g., a pulse; an output voltage such as a Hall voltage). In other words, the signal generated by the first sensor identifies the first sensor's reception of a magnetic field pulse. The predetermined threshold is set such that whenever a magnet on a bicycle wheel passes through the proximal region of the first sensor, the magnetic flux density of the magnet detected by the first sensor causes the first sensor to generate a signal.
[0099] The generation of an output voltage by the first sensor can be considered a wheel speed event. The processor may not initiate method 600 until it recognizes two wheel speed events and is able to determine the initial speed (e.g., the first calculated "last bicycle speed"). Whenever the first sensor generates, for example, an output voltage, the first sensor may transmit a data point of the corresponding output voltage and / or first data to the processor, which identifies when the corresponding output voltage was generated by the first sensor. Alternatively or additionally, the processor may monitor or sample the first sensor and identify when the corresponding output voltage was generated by the first sensor. For example, the processor may generate a data point of first data that identifies when (e.g., via the clock of the electric bicycle controller 302) the corresponding output voltage was generated by the first sensor.
[0100] As an example, after two wheel speed events (e.g., after the bicycle begins to move from a stationary position), the first data includes a first data point and a second data point, which respectively identify the reception of magnetic field pulses by the first sensor at a first time point and at a second time point. The second time point is after the first time point. When the first sensor generates an output voltage with the identified wheel speed event (e.g., at least one magnet rotates through the proximal region of the first sensor), a memory (e.g., the memory of the electric bicycle controller 302) in communication with the processor can store the first data (e.g., at the time the wheel speed event occurred). The processor can identify a corresponding subset of the first data (e.g., the first data point and the second data point representing the first time point and the second time point, respectively, when the first sensor generates the first and second output voltages) for wheel speed calculation with each newly identified wheel speed event.
[0101] The memory can store the circumferential distance of a bicycle wheel between wheel speed events (e.g., wheel circumference for each magnet). For example, in an embodiment where a single magnet is attached to the bicycle wheel, the memory can store the circumference of the bicycle wheel. In an embodiment where two or more magnets are attached to the bicycle wheel, the memory can store a portion of the circumference of the bicycle wheel corresponding to the number of magnets attached to the bicycle wheel (e.g., half the circumference for an embodiment with two magnets attached to the bicycle wheel; one-third of the circumference for an embodiment with three magnets attached to the bicycle wheel). The circumferential distance stored in the memory represents the distance traveled by the bicycle between wheel speed events.
[0102] The processor can determine the time interval between two wheel speed events (e.g., a first data point and a second data point corresponding to first data). In other words, the processor can determine the time interval between a first time point and a second time point. The processor can determine an initial speed based on the circumferential distance stored in memory and the determined time interval between the two wheel speed events. For example, the processor can calculate the initial speed by dividing the circumferential distance stored in memory by the determined time interval between the two wheel speed events. The initial speed calculated in this way represents the first speed of the bicycle (e.g., determined when at least one magnet is in the proximal region of the first sensor).
[0103] In action 604, the processor identifies second data from a second sensor on the bicycle. In one embodiment, the second sensor includes an accelerometer (e.g., as part of IMU 308). The second data, which may be generated by the accelerometer, differs from the first data. For example, the second data includes multiple data points representing accelerations at multiple points in time (e.g., along three axes and / or a composite acceleration determined from accelerations along the three axes). The sampling rate of the second sensor (e.g., a second sampling rate) may be greater than the sampling rate of the first sensor (e.g., a first sampling rate), such that the second data includes more data points than the first data. In other words, the second sensor has a higher resolution than the first sensor. The first sampling rate may be variable, as it depends on the speed at which the bicycle is traveling.
[0104] The second sensor can send second data to the processor at a second sampling rate. Alternatively or additionally, the second sensor can store the second data in memory, and the processor can recognize the second data in memory. In one embodiment, the processor can monitor or sample the second sensor at the second sampling rate.
[0105] For the current data point of the second data, the processor may have to wait for a period of time after action 602 (e.g., a sampling period based on the second sampling rate). For example, the processor may receive the current data point of the second data, which represents, for example, the current acceleration of the bicycle at a third time point (e.g., according to the accelerometer; current resultant accelerometer). The third time point may be after the second time point (e.g., a sampling period after the second time point).
[0106] In one embodiment, the processor may filter some or all of the second data identified by the processor. The processor may use a bandpass filter, a high-pass filter, a low-pass filter, one or more other filters, or any combination thereof, to filter the second data.
[0107] In action 606, the processor determines an updated speed (e.g., a second speed) of the bicycle based on a subset of the identified second data and the initial speed (e.g., the last bicycle speed) determined in action 602. The subset of the identified second data may be, or include, for example, the current data point of the second data (e.g., representing the current acceleration of the bicycle at a third time point).
[0108] For example, a technique for tracking an object (e.g., a bicycle) in space by combining measurements from the IMU's accelerometer and gyroscope is called dead reconning or inertial navigation. To perform inertial navigation, the output of the second sensor's accelerometer (e.g., acceleration along three axes; the current data point of the second data) can be double-integrated, for example, to track positional shifts, and the gyroscope's output is single-integrated to the heading. The second sampling rate of the second sensor can result in a vector chain corresponding to the path the object (e.g., the bicycle) takes through space. The processor can either perform inertial navigation or integrate only the second sensor's accelerometer output (e.g., the current data point of the second data) once to determine changes in velocity.
[0109] The processor can receive the composite acceleration from the second sensor or determine the composite acceleration based on, for example, the acceleration along the three axes of the current data point of the second data. For example, the processor can determine the composite acceleration based on the square root of the sum of the squares of the accelerations along the three axes of the current data point of the second data. In one embodiment, the processor determines a portion of the composite acceleration along the heading (e.g., as determined by integrating the output of the gyroscope of the second sensor), and the determined portion of the composite acceleration is used in the calculations below.
[0110] The processor can determine an updated speed (e.g., a second speed) based on the sum of the product of the sampling period and the synthetic acceleration and the initial speed determined in action 602. In other words, the processor determines speed changes based on a subset of the second data, making it possible to determine the bicycle's ground speed more frequently than using the first data generated solely by the first sensor. Low-resolution wheel speed sensor data (e.g., one pulse per revolution) provided by the first sensor (e.g., generated when at least one magnet is in the proximal region of the first sensor) is supplemented with data from the IMU between pulses (e.g., when at least one magnet is outside the proximal region of the first sensor).
[0111] In action 608, the processor determines whether a new wheel speed event has occurred. For example, the processor identifies whether first data identifying the new wheel speed event has been received, whether the first data identifying the new wheel speed event has been stored in memory, and / or samples the first sensor to determine whether a new wheel speed event has occurred. When the processor determines that no new wheel speed event has occurred (e.g., no new first data has been identified), method 600 moves to action 610. When the processor determines that a new wheel speed event has occurred (e.g., new first data has been identified), method 600 moves to action 612.
[0112] In action 610, the processor can control the bicycle's auxiliary motor and / or derailleur (e.g., rear derailleur 102) based on the updated speed determined in action 606. The processor can then... Figure 5 Method 500 or another control method controls the auxiliary motor and / or derailleur based on the updated speed determined in action 606. For example, the processor may calculate an updated wheel speed based on the updated speed of the bicycle determined in action 606 (e.g., dividing the updated speed of the bicycle by the circumference of the bicycle wheel) and according to... Figure 5 Method 500 is based on an updated wheel speed control auxiliary motor and / or derailleur.
[0113] In one embodiment, the processor compares the updated speed of the bicycle determined in action 606 with a predetermined threshold speed (e.g., a first predetermined threshold speed). The predetermined threshold speed may be stored in memory and may represent the maximum speed at which the bicycle will move. The processor may control the bicycle's auxiliary motor based on the comparison between the updated speed determined in action 606 and the predetermined threshold speed. For example, when the updated speed determined in action 606 is greater than the predetermined threshold speed based on the comparison, the processor may be configured to prevent or stop the bicycle's auxiliary motor from providing power to the bicycle's drivetrain (e.g., drivetrain 122). By updating the bicycle's speed between pulses identified by the first sensor using second data from the second sensor, the processor can prevent the bicycle from exceeding its maximum speed even when at least one magnet is outside the proximal region of the first sensor.
[0114] After action 610, method 600 returns to action 604, and the processor waits for the next data point of the second data (e.g., the next measurement by the accelerometer according to the second sampling rate; the current data point of the second data). When method 600 returns to action 604, the update rate determined in action 606 becomes the last determined rate at least when actions 604 to 608 are repeated.
[0115] In action 612, the processor identifies the most recently generated data point (e.g., a third data point) of the first data. For example, the processor receives the most recently generated data point from the first sensor, identifies the most recently generated data point in memory, and / or samples the first sensor and identifies the most recently generated data point. The new wheel speed event identified in action 608 is an example of a third wheel speed event, where the first data also includes a third data point (e.g., a most recently generated data point) that identifies the first sensor's reception of a magnetic field pulse at a third time point. The third time point is after the second time point. Actions 604 to 608 can be repeated multiple times between the second and third time points, causing the bicycle speed to be updated multiple times. In other words, the determination of the second speed is repeated multiple times.
[0116] In action 614, the processor can identify a new subset of the first data, including the most recently generated data points of the first data (e.g., including second and third data points representing second and third time points, where a second output voltage and a third output voltage are generated by the first sensor, respectively), and determine a new first speed (e.g., update the first speed) based on the new subset of the first data. For example, the processor can determine the time period between two most recent wheel speed events (e.g., corresponding to the second and third data points of the first data). In other words, the processor can determine the time period between the second and third time points and determine the updated first speed based on the circumferential distance stored in memory and the determined time period between the second and third time points. For example, the processor can calculate the updated first speed by dividing the circumferential distance by the determined time period between the second and third time points.
[0117] In action 616, the processor can determine a third velocity based on the updated first velocity determined in action 614 and the updated second velocity determined in action 606 (e.g., the second velocity most recently determined in action 606). The processor can determine the third velocity when, for example, at least one magnet is located in the proximal region of the first sensor. The processor can determine the third velocity based on, for example, a weighted sum of the updated first velocity determined in action 614 and the updated second velocity determined in action 606. For example, the first and second velocities can be combined into a single value by multiplying each of the first and second velocities by a corresponding scaling constant and summing the resulting values. In one embodiment, a Kalman filter method is used to combine the first and second velocities, but other combining methods can be used.
[0118] The scaling constants can sum to a value of 1 and can have any number of values. For example, a first scaling constant associated with a first velocity (e.g., determined based solely on data from a first sensor) could be 0.75, and a second scaling constant associated with a second velocity (e.g., determined based on data from a second sensor) could be 0.25. Other values can be used for the scaling constants.
[0119] In one embodiment, the values of the first and second constants vary based on the bicycle's speed. For example, at higher speeds, the first speed (e.g., calculated based on wheel speed sensors) becomes more accurate and is updated more frequently, thus reducing the utility of the updated second speed (e.g., calculated based on the IMU's accelerometer).
[0120] The processor can determine the values of the first and second constants in any number of ways. For example, the processor can determine the value of one of the first and second constants based on a predetermined function (e.g., a linear function), where the speed of the bicycle is the input to the predetermined function and the value is the output of the predetermined function. The other of the first and second constants can be determined as the difference between 1 and the determined value. As another example, the memory can store a lookup table, and the processor can determine the first and / or second constants, for example, through interpolation.
[0121] In one embodiment, at a specific first speed (e.g., calculated based on wheel sensors), only the first speed is used for bicycle control. For example, when the updated first speed determined in action 614 is higher than a second predetermined threshold speed (e.g., 15 kph), the processor stops updating the bicycle speed between wheel speed events.
[0122] In action 618, the processor can control the bicycle's auxiliary motor and / or derailleur (e.g., rear derailleur 102) based on the third speed determined in action 616. The processor can then control the bicycle's auxiliary motor and / or derailleur based on... Figure 5 The processor controls the auxiliary motor and / or derailleur using a third speed determined in action 616, either by method 500 or another control method. In one embodiment, the processor controls the bicycle's auxiliary motor and / or derailleur based on an updated first speed determined in action 614, rather than the third speed determined in action 616.
[0123] In one embodiment, the processor compares the third speed determined in action 616 with a first predetermined threshold speed (e.g., representing the maximum speed at which the bicycle is to move). The processor can control the bicycle's auxiliary motor based on the comparison between the third speed determined in action 616 and the first predetermined threshold speed. For example, the processor can be configured to prevent or block the bicycle's auxiliary motor from providing power to the bicycle's drivetrain when the comparison determines that the third speed determined in action 616 is greater than the first predetermined threshold speed.
[0124] After action 618, method 600 returns to action 604, and the processor waits for the next data point of the second data (e.g., the next measurement by the accelerometer according to the second sampling rate; the current data point of the second data). When method 600 returns to action 604, the third velocity determined in action 616 becomes the last determined velocity when at least actions 604 to 608 are repeated.
[0125] Figure 7 Is using, for example Figure 6 Method 600 calculates the speed of a bicycle as a function of time, using a graph. Speed is in kilometers per hour, and time is in seconds. The dashed line represents the bicycle's true speed over time. As mentioned above, as the bicycle's speed increases (e.g., towards the right side of the graph), the bicycle's first speed (e.g., the "1PPR magnet sensor" in the graph) gets closer to / approaches the bicycle's true speed. When the bicycle starts moving from a stationary position (e.g., the left side of the graph), the bicycle's first speed is not good enough in approaching / approaching the bicycle's true speed, and a second speed (e.g., as part of the "combined sensor speed") helps fill the gaps between wheel speed events. Figure 7 As shown, wheel speed events occur at each stair step of the curve labeled "1PPR magnet sensor".
[0126] Figure 8 Is using, for example Figure 6 This is an example of Method 600 for calculating the acceleration versus time graph. Acceleration is expressed in meters per second squared, and time is in seconds. Figure 8 The acceleration versus time curve in the figure corresponds to Figure 7 The velocity versus time curve. The curve labeled "sensor acceleration" represents the bicycle's acceleration determined by the second sensor, which oscillates around "real bicycle acceleration" and closely approximates "real bicycle acceleration".
[0127] The processor can terminate method 600 in any number of ways. The processor can terminate method 600 when the rider of the bicycle stops the bicycle and the bicycle ceases to move (e.g., as determined by a first speed, a second speed, and / or a third speed) for a predetermined time period (e.g., two seconds). Alternatively or additionally, the rider can interact with an input device (e.g., a button) on the bicycle, and the input device can generate a signal in response to the rider's interaction with the input device and send the generated signal to the processor. The processor can receive the generated signal and terminate method 600 in response to the received signal. The processor can terminate method 600 in other ways and / or in response to other signals or data.
[0128] The limitations of the sampling rate and the accumulation of errors from sensor noise and sensor drift can lead to the following: over time, the integral of the accelerometer output of the second sensor (e.g., to determine changes in speed) and the integral of the gyroscope output of the second sensor (e.g., to determine heading) will deviate from the bicycle's true speed, position, and / or orientation, respectively. This error can be corrected or reduced by periodic calibration (e.g., for each predetermined number of wheel speed events, each predetermined time period) using data from sources other than the first and second sensors (e.g., third data). For example, the bicycle's speed, position, and / or orientation determined based on the integral of the data generated by the second sensor can be calibrated using magnetic heading determined by another sensor, acceleration due to gravity, or GPS data. Other data from other sensors can be used for calibration. The processor can calibrate at least a portion of the second data (e.g., a portion of the synthesized acceleration) by adjusting the second sensor such that a portion of the second data is periodically equal to the third data (e.g., acceleration due to gravity).
[0129] In one embodiment, the processor can identify wheel slippage and / or wheel locking based on a first speed determined in action 614 and a corresponding second speed determined in action 606. After each determination of the second speed in action 606, the processor can compare the determined second speed with the most recently determined first speed. For example, the processor can determine the difference between the determined second speed and the most recently determined first speed and compare the determined difference with one or more predetermined threshold differences. For example, one or more predetermined threshold differences can be stored in memory.
[0130] In one embodiment, the processor can identify wheel locking when the determined difference is positive (e.g., the determined second speed is greater than the most recently determined first speed) and the determined difference is greater than a first predetermined threshold difference. In other words, the processor can identify that the bicycle is moving at a specific speed while the front and / or rear wheels are not rotating or are rotating at a lower rate than expected. When the determined difference is negative (e.g., the determined second speed is less than the most recently determined first speed) and the absolute value of the determined difference is greater than a first predetermined threshold difference or a second predetermined threshold difference, the processor can identify wheel slippage. In other words, the processor can identify that the front and / or rear wheels of the bicycle are rotating at a specific rate while the bicycle is stationary or moving at a lower-than-expected speed.
[0131] The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of various embodiments. These illustrations are not intended as a complete description of all elements and features of devices and systems utilizing the structures or methods described herein. Many other embodiments will be apparent to those skilled in the art upon reading this disclosure. Other embodiments of this disclosure can be utilized and derived, allowing structural and logical substitutions and changes to be made without departing from the scope of this disclosure. Furthermore, the illustrations are merely representative and may not be drawn to scale. Some scales within the illustrations may be exaggerated, while others may be minimized. Therefore, this disclosure and the accompanying drawings are to be considered illustrative rather than restrictive.
[0132] While this specification contains numerous details, these details should not be construed as limiting the scope of the invention or the claims, but rather as descriptions of features specific to particular embodiments of the invention. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed, in some cases, one or more features from the claimed combination may be removed from the combination, and the claimed combination may be for a sub-combination or sub-combination of sub-combinations.
[0133] Similarly, although operations and / or actions are shown and described in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in a sequential order, or to perform all shown operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that any described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0134] One or more embodiments of this disclosure may be referred to herein, individually and / or collectively, by the term "invention," without voluntarily limiting the scope of this application to any particular invention or inventive concept. Furthermore, although specific embodiments have been shown and described herein, it should be understood that any subsequent arrangements designed to achieve the same or similar purpose may replace the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of the various embodiments. Combinations of the above embodiments, as well as other embodiments not specifically described herein, will be apparent to those skilled in the art upon reading the specification.
[0135] This abstract of disclosure is provided to conform to 37 C. FR §1.72(b) and is submitted to be understood not to construe as limiting the scope or meaning of the claims. Additionally, in the foregoing detailed description, various features may be grouped together or described in a single embodiment for the purpose of simplifying this disclosure. This disclosure should not be construed as reflecting an intention that the claimed embodiments require more features than expressly recited in each claim. Rather, as reflected in the following claims, the subject matter of the invention may relate to fewer features than all of any of the disclosed embodiments. Therefore, the following claims are incorporated into the detailed description, wherein each claim serves on its own as defining a separately claimed subject matter.
[0136] The foregoing detailed description is intended to be illustrative rather than restrictive, and it should be understood that the following claims, including all equivalents, are intended to define the scope of the invention. Unless otherwise stated, the claims should not be construed as limited to the described order or elements. Therefore, all embodiments falling within the scope and spirit of the appended claims and their equivalents are claimed as part of the invention.
Claims
1. An electronic component for a bicycle, the electronic component comprising: Processor, the processor being configured to: First data is received from a first sensor, which is configured to sense the at least one sensed element as it rotates through the proximal region of the first sensor around a bicycle wheel. Receive second data from a second sensor, the second data being different from the first data; When the at least one of the sensed elements is in the proximal region of the first sensor, a first velocity is determined based on a subset of the received first data; as well as When the sensed element is not within the proximal region of the first sensor, the second velocity is determined based on a subset of the received second data and the first velocity. The first data includes a first data point, a second data point, and a third data point. The first data point, the second data point, and the third data point respectively identify the reception of the magnetic field pulse by the first sensor at a first time point, a second time point, and a third time point. The second time point is after the first time point, and the third time point is after the second time point. The second data includes multiple data points received at various time points between the second and third time points, each data point representing the acceleration of the bicycle. The processor is further configured to determine a new first speed based on the second data point and the third data point when the processor identifies the second data point at the second time point and the third data point at the third time point.
2. The electronic component according to claim 1, wherein, The first sensor is a bicycle wheel speed sensor, and the second sensor is an accelerometer.
3. The electronic component according to claim 1, wherein, The processor is also configured to: The determined second speed is compared with a predetermined threshold speed; and The auxiliary motor of the bicycle is controlled based on the comparison.
4. The electronic component according to claim 3, wherein, The processor is configured to control the auxiliary motor of the bicycle based on the comparison, including: the processor is configured to prevent or block the auxiliary motor of the bicycle from providing power to the bicycle's drivetrain when the determined second speed is greater than the predetermined threshold speed.
5. The electronic component according to claim 1, wherein, The subset of the received first data includes the first data point and the second data point. The determination of the first speed includes: determining the first speed at the second time point based on the first data point received at the first time point and the second data point received at the second time point. The subset of received second data includes data points from the plurality of data points of the second data received by the second sensor at a fourth time point, the fourth time point being between the second time point and the third time point. The determination of the second speed includes: determining the second speed at the fourth time point based on the determined first speed and the data point of the second data received by the second sensor at the fourth time point.
6. The electronic component according to claim 5, wherein, The determination of the first speed also includes: Determine the time period between the second time point and the first time point; and The first speed is determined based on the determined time period and the circumference of the bicycle wheel.
7. The electronic component according to claim 5, wherein, For each of the plurality of data points of the second data received by the second sensor between the second time point and the third time point, the processor is further configured to: Update the determined second speed, and each corresponding update of the determined second speed includes: The velocity change is determined based on the corresponding data points of the second data; and Calculate the updated second velocity, which includes summing the determined second velocity and the determined velocity change; Compare the updated second speed with the predetermined threshold speed; The auxiliary motor of the bicycle is controlled based on a comparison between the updated second speed and the predetermined threshold speed; and Set the second speed to the updated second speed.
8. The electronic component according to claim 7, wherein, The determination of the speed change includes integrating the corresponding data points of the second data within the sampling period of the second sensor.
9. The electronic component according to claim 7, wherein, The subset of the first received data is the first subset of the first received data. The processor is further configured as follows: The first speed is updated based on a second subset of the received first data, wherein the second subset of the received first data includes the second data points received at the second time point and the third time point, respectively; When the sensed element is in the proximal region of the first sensor, a third velocity at the third time point is determined, wherein the determination of the third velocity includes: calculating a weighted sum of an updated first velocity and an updated second velocity.
10. The electronic component according to claim 9, wherein, The first weight in the weights corresponding to the updated first speed and the second weight in the weights corresponding to the updated second speed change based on the bicycle speed.
11. The electronic component according to claim 9, wherein, The predetermined threshold speed is a first predetermined threshold. At the third time point, the processor is further configured to: Determine the difference between the updated first velocity and the updated second velocity; The determined difference is compared with a second predetermined threshold; and Wheel slippage or wheel lockup is identified by comparing the determined difference with the second predetermined threshold.
12. The electronic component according to claim 11, wherein, The processor is configured to detect wheel slippage when the updated first speed is greater than the updated second speed and the determined difference is greater than the second predetermined threshold.
13. The electronic component according to claim 1, wherein, The processor is further configured to calibrate the received second data, the calibration of the received second data including: Identify third data, which is related to the bicycle's orientation, acceleration, position, or any combination thereof, and the source of the third data is different from the first and second sensors; and The received second data is calibrated based on the identified third data.
14. The electronic component according to claim 13, wherein, The identified third data represents the bicycle's magnetic heading, acceleration due to gravity, or Global Positioning System (GPS) data.
15. A system for controlling a bicycle, the system comprising: A first sensor is configured to generate first data at a first sampling rate. The first data includes a first data point received at a first time point and a second data point received at a second time point, the second time point being after the first time point. The first data point and the second data point of the first data are respectively identified as receiving magnetic field pulses at the first time point and the second time point. A second sensor is configured to generate second data at a second sampling rate greater than the first sampling rate, and the second data includes data points identifying the acceleration of the bicycle. A memory configured to store data on the circumferential distance of the bicycle's wheels; as well as A processor, which communicates with the memory, the first sensor, and the second sensor, is configured to: Receive the first data and the second data; Determining the first velocity includes: Determine the time period between receiving the second data point at the second time point and receiving the first data point at the first time point; and The first speed is determined based on a defined time period and stored data on the circumferential distance of the wheels; Determining the second speed includes: Determining the velocity change includes integrating the acceleration of the data point over a sampling period based on the second sampling rate; and The second speed is determined based on a known speed change and a known first speed. The first data also includes a third data point received at a third time point, wherein the third data point indicates that the first sensor received the magnetic field pulse at the third time point, and the third time point is after the second time point. The second data includes multiple data points received at various time points between the second and third time points, each data point representing the acceleration of the bicycle. The processor is further configured to determine a new first speed based on the second data point and the third data point when the processor identifies the second data point at the second time point and the third data point at the third time point.
16. The system according to claim 15, wherein, The processor is also configured to: Compare the determined second speed with the predetermined threshold speed; and The auxiliary motor of the bicycle is controlled based on the comparison.
17. The system according to claim 15, wherein, The first sensor is a first type of sensor, and the second sensor is a second type of sensor, which is different from the first type of sensor.
18. The system according to claim 17, wherein, The first sensor is a reed switch or a Hall effect sensor, and the second sensor includes an accelerometer.
19. A controller for a bicycle, the controller comprising: Processor, the processor being configured to: First data is received from a first sensor at a first sampling rate. The first data includes a first data point and a second data point, and the first data point and the second data point respectively identify a first time point and a second time point at which the magnetic field pulse is received by the first sensor. Second data is received from a second sensor at a second sampling rate greater than the first sampling rate, and the second data includes data points identifying the acceleration of the bicycle; The first speed representation of the bicycle is determined based on the identified first time point and second time point of the first data; The second speed representation of the bicycle is determined based on the identified acceleration of the second data; The speed of the bicycle is determined based on the determined first speed representation and the determined second speed representation. The first data further includes a third data point, which indicates that the first sensor received the magnetic field pulse at a third time point. The second time point is after the first time point, and the third time point is after the second time point. The second data includes multiple data points received at various time points between the second and third time points, each data point representing the acceleration of the bicycle. The processor is further configured to determine a new first speed based on the second data point and the third data point when the processor identifies the second data point at the second time point and the third data point at the third time point.
Citation Information
Patent Citations
Power-assist system and power-assisted vehicle
CN111065575A