Smart motor system and method utilizing local intelligence

The smart motor system with decentralized control and efficient communication via a control bus addresses the limitations of centralized motor control systems, enabling scalable and responsive motor management.

JP7851970B2Active Publication Date: 2026-04-27LEGGETT & PLATT CANADA CO
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
LEGGETT & PLATT CANADA CO
Filing Date
2022-06-30
Publication Date
2026-04-27

AI Technical Summary

Technical Problem

Existing motor systems require centralized controllers to manage multiple motors, limiting scalability and efficiency due to large data packets and the need for multiple frames per motor, which can be inefficient.

Method used

A smart motor system utilizing a control bus with smart motors equipped with electronic processors that communicate via command and data frames, allowing decentralized control and efficient communication without a centralized controller.

Benefits of technology

Enables scalable and efficient control of multiple motors by reducing the need for centralized controllers and optimizing data communication, enhancing system flexibility and responsiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007851970000001
    Figure 0007851970000001
  • Figure 0007851970000002
    Figure 0007851970000002
  • Figure 0007851970000003
    Figure 0007851970000003
Patent Text Reader

Abstract

Systems and methods for controlling a smart motor. One smart motor system includes a control bus, an input device, and a smart motor communicatively coupled to the input device via the control bus. The smart motor includes an electronic processor configured to receive command frames from the input device indicating an action, perform the action, receive data request frames from the input device requesting a status of the smart motor, and send data frames to the input device in response to receiving the data request frames indicating the status of the smart motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Related Applications

[0001] This application claims the benefit of PCT Application No. PCT / CA2022 / 051051, filed on June 30, 2022, and U.S. Provisional Patent Application No. 63 / 217,202, filed on June 30, 2021, the entire contents of each of which are incorporated herein by reference.

Background Art

[0002]

[0002] Modern vehicles and other machines use motors to move loads and / or additional system components based on received inputs. For example, in an automobile, motors can be used to control the position, pitch, and / or support of seats. In addition, in an automobile, several motors can be used to open and close doors or trunks. In an automobile, motors can be used to control the raising and lowering of windows, the positioning of mirror pitch / angle, or the control of keys.

[0003]

[0003] FIG. 1 illustrates an example of a known motor system 100 implemented in a vehicle. The motor system 100 includes, for example, a controller 105 (e.g., an electronic controller, a programmable microprocessor, a microcontroller, an electronic processor, or other suitable device), an input device 110, one or more switches 115, and a seat 120. The input device 110 can be, for example, a human machine interface (HMI) such as a touch screen configured to receive touch inputs. In some cases, the input device 110 is incorporated within the vehicle. One or more switches 115 can be, for example, push buttons, toggle switches, levers, or other types of input devices associated with a given command or function. One or more switches 115 can be implemented on the seat 120, on the vehicle's dashboard, within the vehicle's door, etc.

[0004]

[0004] The controller 105 receives control signals from the input device 110 and / or one or more switches 115. The control signals are provided to the controller 105 via an electrical harness or similar connection. The controller 105 controls the motors in the vehicle motor system 100 based on the control signals. For example, the seat 120 may include several motors 125, such as a first motor 125A, a second motor 125B, a third motor 125C, a fourth motor 125D, and a fifth motor 125E. In the illustrated example, the first motor 125A moves the headrest of the seat 120. The second motor 125B moves the upper rear of the seat 120. The third motor 125C moves the middle rear of the seat 120. The fourth motor 125D moves the lower rear of the seat 120. The fifth motor 125E moves the seat portion of the seat 120. Based on control signals from the input device 110 and / or one or more switches 115, the controller 105 controls each of the multiple motors 125 to adjust the position of the seat 120. The controller 105 controls power and position signals to each of the multiple motors 125 via independent connections. In this way, each motor 125A-125E receives commands (or command signals) from the controller 105 that are intended only for the selected motor. For example, if the controller 105 receives control signals from the input device 110 and / or switches 115 to adjust the headrest of the seat 120, the controller 105 provides power and / or command signals only to the first motor 125A. As is clear, in the motor system 100, the control intelligence of the motors 125 is centralized in the controller 105, and each motor 125 is pre-configured to perform a single function (e.g., moving the headrest). [Overview of the Initiative] [Problems that the invention aims to solve]

[0005]

[0005] Each motor in the system is controlled individually, limiting the number of controllable motors to the size of the system controller (e.g., the number of input / output terminals). Therefore, multiple controllers may be required to control a given number of motors. In addition, because the data packets sent to the motors are large, multiple frames are required for each motor. The example described herein provides dynamic configuration of smart motors without requiring a centralized controller. The smart motors communicate via a control bus such as a LIN bus. Data packets sent via the LIN bus include multiple frames that describe in detail the operation to be performed and the intended recipient. [Means for solving the problem]

[0006]

[0007] One example provides a smart motor system comprising a control bus, input devices, and smart motors communicably coupled to the input devices via the control bus. The smart motor is a first smart motor included in a plurality of smart motors connected to the control bus. Furthermore, the smart motor includes an electronic processor, which is configured to receive command frames indicating actions, and each smart motor included in the plurality of smart motors receives a command frame from the input device, performs an action, receives a data request frame from the input device requesting the status of the smart motor, and sends a data frame indicating the status of the smart motor to the input device in response to receiving the data request frame.

[0007] The command frame contains the address of the smart motor. A command frame contains several parameters that describe how to perform an action.

[0008] The data frame contains the address of the smart motor. The electronic processor is also configured to receive a second data request frame requesting the second status of the smart motor after sending a data frame, and to send a second data frame indicating the second status of the smart motor to the input device.

[0009] Furthermore, the electronic processor is configured to receive a second command frame from the input device indicating an idle action, to stop the execution of the action in response to the second command frame, to receive a second data request frame from the input device requesting a second status for the smart motor, and to send a second data frame to the input device in response to receiving the data request frame indicating that the smart motor is idle.

[0010] The multiple smart motors include a second smart motor which includes a second electronic processor, the second electronic processor which receives an action-indicating command frame from an input device, determines whether the command frame is addressed to the second smart motor, and is configured to ignore the action if it determines that the command frame is not addressed to the second smart motor.

[0011] The command frame contains addresses that indicate a subset of multiple smart motors. The input device is configured to periodically send data request frames at a set frequency.

[0012] The smart motor's status shows an error.

[0008] Another example provides a smart motor system comprising a control bus, an input device, and a plurality of smart motors communicably coupled to the input device via the control bus. Each smart motor includes an electronic processor, which is configured to receive a command frame indicating an action from the input device, determine whether to perform the action, receive a data request frame from the input device requesting the status of each of the plurality of smart motors, send a data frame indicating the status of each smart motor to the input device in response to receiving the data request frame, receive a second data request frame from the input device requesting a second status of each smart motor, and send a second data frame indicating the second status of each smart motor to the input device.

[0013] The command frame contains the address of each smart motor, and the electronic processor is configured to determine whether or not to perform an action based on the address. The electronic processor is configured to receive a second command frame from the input device indicating an idle action, to stop the execution of the action in response to the second command frame, to receive a third data request frame from the input device requesting a third status for each smart motor, and to send a third data frame to the input device in response to receiving the third data request frame indicating that each smart motor is idle.

[0014]

[0009] Another example includes a method for communicating on a control bus, the method comprising: receiving a command frame indicating an action from an input device; performing the action; receiving a data request frame requesting the status of a smart motor from an input device; sending a data frame indicating the status of a smart motor to the input device in response to receiving a data request frame; and using the input device to send data request frames at a set frequency.

[0015] The method further comprises the steps of sending a data frame, receiving a second data request frame requesting a second status of the smart motor, and sending a second data frame indicating the second status of the smart motor to an input device.

[0016] The method further comprises the steps of receiving a second command frame from an input device indicating an idle action, stopping the execution of the action in response to the second command frame, receiving a second data request frame from the input device requesting a second status of the smart motor, and sending a second data frame to the input device in response to receiving the data request frame indicating that the smart motor is idle.

[0017] The command frame includes the address of the smart motor, and the method further comprises the step of determining whether or not to perform an action based on the address. Another example provides a smart motor system comprising a control bus, an input device, and a smart motor having an electronic processor, the electronic processor being configured to receive commands indicating actions to be performed and to determine whether to perform actions in relation to the received commands.

[0018] The command includes the address of the smart motor. A command includes several parameters that describe how to perform the Action. The electronic processor is further configured to receive data requests that request the status of the smart motor.

[0019] The electronic processor is further configured to send status information for the smart motor. The smart motor status includes the smart motor's address and the smart motor system.

[0020] Yet another example provides a smart motor comprising an electronic processor, an input / output interface connected to the processor, and a memory coupled to the processor. The memory includes one or more software instructions, which are executable by the electronic processor to receive a command indicating an action to be performed and to determine whether to function with respect to the received command.

[0021] The command includes the address of the smart motor. The command includes a plurality of parameters explaining how to execute the action. The memory further includes one or more software instructions executable by the electronic processor to receive a data request for the status of the smart motor.

[0022] The memory further includes one or more software instructions executable by the electronic processor to send the status of the smart motor. The status of the smart motor includes the address of the smart motor.

[0023] The status of the smart motor further includes an error status, a response error status, or a transfer success status. Another example provides a smart motor comprising a motor, a memory, and an electronic processor connected to the motor and the memory. The electronic processor executes a software stack including a hardware layer, an operating layer, and an application layer. The hardware layer provides a plurality of input / output operations between the motor and the electronic processor. The operating layer provides mediation between the hardware layer and the application layer. The application layer executes functions stored in the memory, communicates with the hardware layer, and controls the hardware layer. Further, the memory includes one or more software instructions, and the one or more software instructions are executed by the electronic processor to receive a command indicating an action to be performed and determine whether to function with respect to the received command.

[0024] The command includes the address of the smart motor. The command includes a plurality of parameters explaining how to execute the action. The memory further includes one or more software instructions executed by the electronic processor to receive a data request for requesting the status of the smart motor.

[0025] The memory further includes one or more software instructions executable by the electronic processor to send the status of the smart motor. The status includes the address of the smart motor.

[0026] Another example provides a method for communicating over a control bus. The method comprises receiving a command indicating an action and determining whether to function with respect to the received command and executing the action.

[0027] The method further comprises executing the action. The method further comprises receiving a data request for requesting the status of the smart motor.

[0028] The method further includes a step of sending the status of the smart motor in response to receiving a data request. Another example provides a smart motor system for a vehicle. The smart motor system comprises one or more input devices and a plurality of smart motors connected to the one or more input devices via a control bus, each of the plurality of smart motors including an electronic processor, all commands from the one or more input devices being received by each of the plurality of smart motors, and each electronic processor being configured to determine whether to act in relation to the received command.

[0029] The command contains the address of one of several smart motors. Whether a received command should function is determined at least partially based on the address.

[0030] A command includes several parameters that describe how to perform the Action. One or more input devices include one or more switches. Multiple smart motors control the movement of the seat.

[0031] The multiple smart motors include a first smart motor for controlling and moving the seat's headrest. The multiple smart motors include a second smart motor for controlling and moving the upper part of the seat.

[0032] The multiple smart motors include a third smart motor for controlling and moving the central portion of the seat. The multiple smart motors include a fourth smart motor for controlling and moving the underside of the seat.

[0033] The multiple smart motors include a fifth smart motor for controlling and moving the seating portion of the seat. Multiple smart motors control the operation of the sunroof, side mirrors, rearview mirror, trunk, environmental controls, or any combination thereof.

[0034] Another example is a motor, memory, and an electronic processor connected to the motor and memory. A smart motor is provided, equipped with the following features: The electronic processor runs a software stack comprising a hardware layer, an operating layer, and an application layer. The hardware layer provides input / output operation between the motor and the electronic processor. The operating layer provides mediation between the hardware layer and the application layer. The application layer communicates with and controls the hardware layer by executing functions stored in memory. Furthermore, the hardware layer, operating layer, and application layer selectively control the motor's operation based on one or more signals received from input devices.

[0035] Memory includes one or more software instructions that can be executed by the electronic processor to receive commands indicating actions to be performed and to determine whether to perform actions in relation to the received commands.

[0036] The hardware layer further includes input / output operations for the motor driver. The hardware layer further includes input / output operations between the electronic processor and the power regulation circuit connected to the motor.

[0037] The hardware layer further includes input / output operations between an electronic processor and at least one sensor connected to the electronic processor. The hardware layer further includes input / output operations between an electronic processor and at least one switch connected to the electronic processor.

[0038] The hardware layer further includes input / output operations between the electronic processor and memory. Another example provides a smart motor comprising a motor, memory, and an electronic processor connected to the motor and memory. The electronic processor runs a software stack including a hardware layer, an operating layer, and an application layer. The hardware layer provides multiple input / output operations between the motor and the electronic processor. The operating layer provides mediation between the hardware layer and the application layer. The application layer communicates with and controls the hardware layer by executing functions stored in memory. The memory contains one or more software instructions, which are executable by the electronic processor to receive commands indicating actions to be performed and to determine whether to perform actions with respect to the received commands.

[0039] The operating layer modifies the data received by the hardware layer for analysis by the application layer. The operating layer includes application programming interface inputs / outputs (API I / O), which act as an intermediary between one or more physical components of the hardware layer and the software within the application layer.

[0040] API I / O includes motor interfaces, supply control interfaces, sensor interfaces, switch interfaces, communication interfaces, or any combination thereof.

[0041] The operating layer includes an Application Programming Interface (API) and a Non-Volatile Memory (NVM) interface, which acts as an intermediary between memory and the application layer software.

[0042] The API NVM interface includes an electrically erasable programmable read-only memory (EEPROM) API. The API NVM interface further includes one or more NVM functions.

[0043] The API NVM interface further includes one or more EEPROM configuration operations. Another example is a motor, memory, and an electronic processor connected to the motor and memory. A smart motor is provided, equipped with the following features: The electronic processor runs a software stack comprising a hardware layer, an operating layer, and an application layer. The hardware layer provides multiple input / output operations between the motor and the electronic processor. The operating layer provides mediation between the hardware layer and the application layer. The application layer communicates with and controls the hardware layer by executing functions stored in memory. The memory contains one or more software instructions, which can be executed by the electronic processor to receive commands indicating actions to be performed, selectively perform actions, receive requests for the status of the smart motor, and send the status of the motor.

[0044] The application layer further includes application control modules, error handling modules, drive control modules, input / output control modules, communication control modules, system monitoring modules, scheduler modules, or a combination thereof.

[0045] The drive control module functions as a motor driver. The application control module includes one or more primary applications, sub-applications, and application macros used to control smart motors.

[0046] The application control module is configured to receive commands from the switch, analyze the commands, and provide output commands to the drive control module.

[0010] Other features, aspects, embodiments, and advantages will become apparent by considering the detailed description and the accompanying drawings. [Brief explanation of the drawing]

[0047] [Figure 1]

[0011] This is a schematic diagram of a known motor system. [Figure 2]

[0012] This is a schematic diagram of a smart motor system, showing several examples. [Figure 3]

[0013] This is a block diagram of the smart motor shown in Figure 2, based on several examples. [Figure 4]

[0014] This is a block diagram of the smart motor architecture of Figure 2, with some examples. [Figure 5]

[0015] A block diagram of the hardware layer of Figure 4, showing some examples. [Figure 6]

[0016] A block diagram of the operating layer of Figure 4, with some examples. [Figure 7]

[0017] A block diagram of the application layer of Figure 4, with some examples. [Figure 8]

[0018] A block diagram of a method performed by the electronic processor in Figure 3, with some examples. [Figure 9]

[0019] This figure illustrates several examples of multiple data frames communicated via the smart motor system shown in Figure 2. [Figure 10]

[0020] This is a diagram of a write data command frame, showing several examples. [Figure 11]

[0021] This is a diagram of a read data request command frame, showing several examples. [Figure 12]

[0022] This is a diagram of a read data command frame, showing some examples. [Figure 13-1]

[0023] A chart of multiple data frames communicated via the smart motor system in Figure 2, with some examples. [Figure 13-2]

[0023] A chart of multiple data frames communicated via the smart motor system in Figure 2, with some examples. [Figure 14]

[0024] Diagrams of IDLE command frames, showing some examples. [Figure 15]

[0025] This is a diagram of a communication protocol performed via the smart motor system shown in Figure 2, with some examples. [Figure 16]

[0026] This is a chart of exemplary write data command frames, with some examples. [Figure 17]

[0027] This is a chart of an example of a read data command frame. [Figure 18]

[0028] Plan view of a vehicle implementing a smart motor system, as shown in several examples. [Modes for carrying out the invention]

[0048]

[0029] One or more aspects, features, and embodiments are described and illustrated in the following description and accompanying drawings. These aspects, features, and embodiments are not limited to the specific details provided herein and can be modified in various ways. Furthermore, other aspects, features, and embodiments not described herein may exist. For example, a device or structure “configured” in a particular way may be configured in at least that way, but may also be configured in ways not enumerated. Furthermore, some of the examples described herein may include one or more electronic processors configured to perform the described function by executing instructions stored in a non-temporary computer-readable medium. Similarly, the examples described herein may be implemented as a non-temporary computer-readable medium storing instructions that can be executed by one or more electronic processors to perform the described function. As used herein, “non-temporary computer-readable medium” includes all computer-readable media but does not include temporary propagated signals. Therefore, non-temporary computer-readable media may include, for example, hard disks, CD-ROMs, optical storage devices, magnetic storage devices, ROM (read-only memory), RAM (random access memory), register memory, processor cache, other memory and storage devices, or combinations thereof.

[0049]

[0030] In addition, the expressions and terminology used herein are for illustrative purposes only and should not be considered limiting. For example, the use of “includes,” “contains,” “equips,” “has,” and variations thereof herein is intended to encompass the items listed thereafter and their equivalents, as well as additional items. The terms “connected” and “combined” are used broadly and encompass both direct and indirect connections and combinations. Furthermore, “connected” and “combined” are not limited to physical or mechanical connections or combinations, but may include electrical connections or combinations, whether direct or indirect. In addition, electronic communications and notifications may be carried out using wired connections, wireless connections, or a combination thereof, and may be sent directly or through one or more intermediate devices via various types of networks, communication channels, and connections. Furthermore, terms indicating relationships, such as first and second, first and bottom, may be used herein solely to distinguish one entity or action from another entity or action, without necessarily requiring or suggesting such an actual relationship or order between such entities or actions.

[0050]

[0031] In some cases, the method steps are performed in an order different from the order described.

[0032] As described above, some vehicles, such as automobiles, may use motors to adjust or move the position of a seat. Figure 2 illustrates a smart motor system 200 in several examples. The smart motor system 200 includes an input device 110, one or more switches 115, and a seat 120. The seat 120 includes several smart motors 210, such as a first smart motor 210A, a second smart motor 210B, a third smart motor 210C, a fourth smart motor 210D, and a fifth smart motor 210E. The first smart motor 210A controls and moves the headrest of the seat 120. The second smart motor 210B controls and moves the upper part of the seat 120. The third smart motor 210C controls and moves the central part of the seat 120. The fourth smart motor 210D controls and moves the lower part of the seat 120. The fifth smart motor 210E controls and moves the seating portion of the seat 120. Each of the input device 110, one or more switches 115, and the multiple smart motors 210 are communicated together via a control bus 205. The control bus 205 may be, for example, a CAN bus, a LIN bus, or another suitable communication bus. In some cases, the control bus 205 is implemented using a wireless connection.

[0051]

[0033] Inputs (e.g., commands, signals, etc.) received by the input device 110 and one or more switches 115 are provided to the motors 210 via the control bus 205. In this way, all commands from the input device 110 and one or more switches 115 are received by all smart motors 210 in the smart motor system 200. Each smart motor 210 includes an electronic processor configured to determine whether or not to operate based on the received command, as will be described in more detail below.

[0052]

[0034] Figure 3 illustrates an exemplary smart motor 210. The smart motor 210 includes an electronic processor 300 (e.g., an electronic controller, a programmable microprocessor, a microcontroller, or other suitable device), memory 305, an input / output (I / O) interface 310, one or more sensors 315, a power adjustment circuit 320, and a motor 330. Components of the smart motor 210, such as the motor 330 and the electronic processor 300 (using the power adjustment unit 320), receive power from a power supply 335. The smart motor 210 communicates with other components of the smart motor system 200, such as an input device 110 and one or more switches 115, via a control bus 205.

[0053]

[0035] The memory 305 is a non-temporary computer-readable medium including, for example, a program storage area and a data storage area. The program storage area and data storage area may include a combination of different types of memory such as read-only memory ("ROM"), random access memory ("RAM") (e.g., dynamic RAM ["DRAM"], synchronous DRAM ["SDRAM"], etc.), electrically erasable programmable read-only memory ("EEPROM"), flash memory, hard disk, SD card, or other suitable magnetic, optical, physical, or electronic memory devices. The electronic processor 300 is connected to the memory 305 and executes software instructions that can be stored (e.g., in operation) in the RAM of the memory 305, (e.g., almost permanently) in the ROM of the memory 305, or in another non-temporary computer-readable medium such as another memory or disk. Software included in the implementation of the smart motor 210 may be stored in the memory 305. The software may include, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The electronic processor 300 is configured, in particular, to retrieve and execute instructions from the memory 305 related to the control processes and methods described herein. In other configurations, the smart motor 210 includes additional, fewer, or different components.

[0054]

[0036] The I / O interface 310 may be connected to the electronic processor 300 and configured to provide control signals or commands received via the control bus 205 to the electronic processor 300. The I / O interface 310 may include a digital I / O interface, an analog I / O interface, a communication interface, and / or other suitable interfaces. In some examples, the I / O interface 310 is connected to one or more sensors 315 so that the I / O interface 310 functions as a bridge between one or more sensors 315 and the electronic processor 300. In other examples, one or more sensors 315 may be connected directly to the electronic processor 300.

[0055]

[0037] In some cases, the smart motor 210 is wirelessly communicable. In such cases, the I / O interface 310 includes a transceiver wireless communication interface that can communicate over, for example, a cellular network, a Long-Term Evolution (LTE) network, a 5G network, a Bluetooth® network, a wireless local area network (e.g., Wi-Fi), a wireless accessory personal area network (PAN), etc. In addition, the control bus 205 itself can be a wireless communication medium so that data is sent wirelessly from the input device 110 and one or more switches 115 to multiple smart motors 210.

[0056]

[0038] One or more sensors 315 may include, for example, a temperature sensor, a Hall effect sensor, a battery sensor (e.g., a battery voltage sensor and a battery current sensor), a position sensor, a back electromotive force sensor, a motor current sensor, and / or other auxiliary sensors. A temperature sensor may provide a temperature signal indicating the temperature inside the smart motor 210, the temperature of the motor 330, etc. A Hall effect sensor may provide position information related to the smart motor 210. For example, a Hall effect sensor may monitor a permanent magnet system implemented in the motor 330. The permanent magnets may be coupled to the rotor shaft of the motor 330. The Hall effect sensor detects the movement of the permanent magnets. The controller 300 receives the position information and performs actions such as counting the motor's rotation speed and determining the rotor's position. A battery sensor may provide a battery signal indicating the supply voltage from the power supply 335. A position sensor may provide a position signal indicating the current position of the seat 120, the position of the motor 330, etc. A back electromotive force sensor may provide a voltage signal indicating the speed of the motor 330. A motor current sensor may provide a current signal indicating the current flowing through the motor 330. However, additional sensors may be implemented to sense various characteristics of the smart motor 210 and seat 120. Although one or more sensors 315 are exemplified as being located within the smart motor 210, the electronic processor 300 may receive sensor data from additional sensors separate from the smart motor 210. Such sensor data may be provided, for example, via the control bus 205.

[0057]

[0039] The power adjustment circuit 320 may be, or may include, a transformer, rectifier, filter, DC-DC converter, or other power adjustment components that modify the power received from the power supply 335 to be suitable for use by the electronic processor 300. The smart motor 210 may include other power adjustment circuits, for example, circuits that adjust the power supplied to the motor 330. The motor 330 may be, for example, an AC motor, a DC motor, a servo motor, a stepper motor, etc. In some examples, the smart motor 210 differs from the examples described and illustrated. In one example, a smart actuator is used instead of a smart motor. The smart actuator may include an additional type of actuator in addition to or in place of the motor 330. For example, the smart actuator may include an electromagnetic actuator (for example, a solenoid). In other examples, comfort function components are implemented. For example, in some cases, a resistive load (for example, a heating element) is used in addition to or in place of the motor 330 to heat the seat to improve passenger comfort. Other components may be used instead of, or in addition to, the motor 330 in order to implement the desired function.

[0058]

[0040] The software that controls the operation of the smart motor 210 is organized or built in a stack 402 that includes several layers. Figure 4 illustrates an operating system 400 on which the software stack for the smart motor 210 is implemented. The operating system 400 is stored in memory (e.g., memory 305) and can be implemented or executed by the electronic processor 300. The stack 402 includes a hardware layer 405, an operating layer 410, and an application layer 415. The hardware layer 405 functions as an input and output layer between the electronic processor 300 and the other components of the smart motor 210. For example, the hardware layer 405 receives signals from the I / O interface 310 and / or one or more sensors 315. In addition, the hardware layer 405 provides control signals for driving the motor 330. The operating layer 410 acts as an intermediary between the hardware layer 405 and the application layer 415. The application layer 415 executes functions stored in memory 305, communicates with components of the hardware layer 405, and controls the components of the hardware layer 405.

[0059]

[0041] Figure 5 illustrates block diagrams of hardware layer 405 in several examples. Hardware layer 405 includes several blocks representing functions, operations, etc. For example, the exemplary hardware layer 405 illustrated in Figure 5 includes a power block 500, a motor block 505, a sensor block 510, a switch block 515, a communication block 520, and a memory block 525. However, in some examples, hardware layer 405 may include more or fewer blocks depending on the components of the system. Each block represents the input / output operations of the smart motor 210 with respect to the corresponding component. For example, the power block 500 represents the input / output operations between the electronic processor 300 and the power regulating circuit 320. The power block 500 may include, among other things, operations related to filtering applied to the power received from the power supply 335, operations related to the power supply 335 itself, etc.

[0060]

[0042] The motor block 505 represents input / output operations between the electronic processor 300 and the motor 330. The motor block 505 may include operations related to the control of the motor 330. The motor block 505 represents input and / or output operations for the motor driver. The sensor block 510 represents input / output operations between the electronic processor 300 and one or more sensors 315. For example, the sensor block 510 may include operations related to the interpretation of signals received from each of the one or more sensors 315. The switch block 515 represents input / output operations between the electronic processor 300 and one or more switches 115. The communication block 520 represents input / output operations between the electronic processor 300 and the I / O interface 310. The memory block 525 represents input / output operations between the electronic processor 300 and the memory 305, such as to assist with memory allocation.

[0061]

[0043] The operating layer 410 acts as an intermediary between the hardware layer 405 and the application layer 415. The operating layer can modify the data received by the hardware layer 405 for analysis by the application layer 415. As illustrated in Figure 6, the operating layer 410 may include, among other things, an Application Programming Interface (API) I / O interface block 600 and an API Non-Volatile Memory (NVM) interface 605. The API I / O interface block 600 acts as an intermediary between the physical components of the hardware layer 405 (such as the power block 500, motor block 505, sensor block 510, switch block 515, and communication block 520) and the software and macros of the application layer 415 (which will be described in more detail below). The API I / O interface block 600 may include, among other things, a motor interface 610, a supply control interface 615, a sensor interface 620, a switch interface 625, and a communication interface 630. However, the API I / O interface block 600 may include additional interfaces as needed to interact with the hardware layer 405.

[0062]

[0044] The API NVM interface 605 acts as an intermediary between memory 305 (via memory block 525) and the software and macros of the application layer 415. The API NVM interface 605 includes, among other things, the EEPROM API 635, the NVM function 640, and the EEPROM configuration operation 645. However, the API NVM interface 605 may include more or fewer blocks as needed to manage the memory allocation of memory 305.

[0063]

[0045] The application layer 415 includes functions, operations, software, macros, etc., related to the operation of the smart motor 210. The application layer 415 includes, among other things, an application control module 700, an error handler module 705, a drive control module 710, an I / O control module 715, a communication control module 720, a system monitoring module 725, and a scheduler module 730. The application control module 700 may include a variety of applications used to control the smart motor 210, such as a primary application, a combination of sub-applications, and multiple application macros. Each application may work in cooperation with one another via an application control configuration program.

[0064]

[0046] The drive control module 710 includes functions, operations, and software related to the operation of the motor 330. In some examples, the drive control module 710 functions as a motor driver. In one example, with respect to the first smart motor 210A, the switch block 515 of the hardware layer 405 receives a command from one of the switches 115 and starts the motor 330 until the headrest is in a first position. The application control module 700 receives the command from the switch block 515 (via the switch interface 625). In addition, one or more position sensors 315 provide position information to the sensor block 510. The application control module 700 receives the position information from the sensor block 510 (via the sensor interface 620). The application control module 700 analyzes the command from the switch block 515 and the position information from the sensor block 510 to determine how long to start the motor 330 of the smart motor 210A to move the headrest from its current position to a first position. Next, the application control module 700 provides output commands and / or additional operating parameters to the drive control module 710. The drive control module 710 provides output commands to the motor interface 610. The motor interface 610 provides output commands to the motor block 505, which controls the motor driver 325 accordingly.

[0065]

[0047] The communication control module 720 receives information from the communication interface 630 and processes the received information. In some examples, the communication control module 720 includes the communication protocols necessary to communicate with the smart motor 210 and the components of the smart motor system 200. For example, the communication control module 720 may include a LIN stack for communication via the control bus 205. The I / O control module 715 receives information from the sensor interface 620 and processes the received information. The I / O control module 715 may include operations and programs related to the sensor data received from the sensor interface 620, such as how the sensor data is analyzed.

[0066]

[0048] The system monitoring module 725 monitors the status and operation of the application control module 700, the error handler module 705, the drive control module 710, the I / O control module 715, the communication control module 720, and the scheduler module 730. In addition, the system monitoring module 725 monitors each of the corresponding lower-level interfaces (e.g., the API I / O interface 600 and the API NVM interface 605). The system monitoring module 725 can control the system boot release operation and the system runtime state (e.g., sleep mode, fault shutdown event, etc.).

[0067]

[0049] The scheduler module 730 is responsible for managing the timing of other modules in the application layer 415 and distributing computing power to other modules in the application layer 415. In some cases, the scheduler module 730 is used by the operating system 400 to operate as a real-time operating system (RTOS).

[0068]

[0050] The error handler module 705 receives and / or stores data related to errors or warning codes that have occurred from the operating layer 410 and other modules in the application layer 715. The error and warning codes are provided to the system monitoring module 725 to determine whether to handle (or address) the errors or anomalies occurring in the smart motor 210. The system monitoring module 725 may then instruct additional modules in the application layer 415 to modify the operation of the smart motor 210 to handle the errors. For example, the sensor block 510 in the hardware layer 405 may receive a temperature signal from a temperature sensor included in one or more sensors 315. The temperature signal is provided to the sensor interface 620 in the operating layer 405. The sensor interface 620 may analyze or adjust the temperature signal in some way before providing the adjusted temperature signal to the application layer 415. In some cases, the temperature signal is provided to the application layer 415 without adjustment. The error handler module 705 receives the adjusted temperature signal and provides the adjusted temperature signal to the system monitoring module 725. The system monitoring module 725 determines that an overheating condition has occurred in the smart motor 210. The system monitoring module 725 may provide the drive control module 710 with a control command to stop the operation of the smart motor 210 (for example, motor 330).

[0069]

[0051] The blocks, interfaces, and modules provided for use in describing the operating system of the smart motor 210 are merely examples and are not intended to be limiting. The operating system of the smart motor 210 may include more or fewer blocks, based on the components within the smart motor system 200. In addition, although shown separately, various blocks, interfaces, and modules may be combined or separated to further illustrate different functions of the operating system. Further components beyond the operation of the motor 330 (e.g., auxiliary components) may be implemented within the operating system of the smart motor 210. For example, a heater may be implemented within the seat 120. Commands from the input device 110 and / or one or more switches 115 may instruct one of the multiple smart motors 210 to turn on the heater. Thus, the hardware layer 405, the operating layer 410, and the application layer 415 include the blocks, interfaces, and modules necessary to receive commands related to the heater, interpret the commands, and provide outputs for controlling the heater.

[0070]

[0052] Signals and commands sent on the control bus 205 are received by each of the multiple smart motors 210. Figure 8 provides a method 800 that is performed by an electronic processor 300 in each of the multiple smart motors 210. In step 805, the electronic processor 300 receives a control signal. For example, an input device 110 and / or one or more switches 115 provide a control signal to the control bus 205. Each of the multiple smart motors 210 receives the control signal on the control bus 205. In some cases, if the smart motor system 200 is a wireless system, the input device 110 and / or one or more switches 115 broadcast the control signal.

[0071]

[0053] In step 810, the electronic processor 300 determines whether to respond to or act on the received control signal. For example, the control signal includes or embodies a command indicating "move the lower rear of the seat 120 to a third position." The fourth smart motor 210D is associated with the lower rear of the seat 120. Therefore, in step 815, the electronic processor 300 of the fourth smart motor 210D decides to start the motor 330 to perform the function included in the received control signal. However, the first smart motor 210A, the second smart motor 210B, the third smart motor 210C, and the fifth smart motor 210E also receive the control signal indicating "move the lower rear of the seat 120 to a third position." Since these motors are not associated with the lower rear of the seat 120, their respective electronic processors 300 ignore this control signal.

[0072]

[0054] In certain embodiments, communication via the control bus 205 is performed using a series of communication frames (e.g., data packets, data frames). In one example, the input device 110 and / or one or more switches 115 broadcast a data frame via the control bus 205 based on the user input they receive. Each of the smart motors 210 receives the data frame and determines whether to perform the action indicated by the data frame. The input device 110, one or more switches 115, and the smart motors 210 write data (<WR_Data> )frame (e.g., command frame, control frame), read data request (<RD_Data_Req> )frame (for example, data request frame), and read data (<RD_Data> Communication is conducted on the control bus 205 by sending frames (for example, response frames). The write data frame, read data request frame, and read data frame are sent as a series of communication frames in subsequent frames. To command the smart motor 210, the input device 110 and / or one or more switches 115 send a write data frame. To read data from any smart motor 210, the input device 110 and / or one or more switches 115 send a read data request frame. The smart motor 210 responds to the read data request frame with a read data frame.

[0073]

[0055] Once this set (or cycle) of data frames has been sent, subsequent data reading functions may be performed using only the data frames that have been read. For example, if input device 110 and / or one or more switches 115 are monitoring the operation of each smart motor 210 as it performs a previously commanded function, input device 110 and / or one or more switches 115 may send a read data request frame and receive a read data frame without sending a write data frame. This operation may occur at a predetermined frequency set and stored in the memory of input device 110 and one or more switches 115.

[0074]

[0056] Figure 9 illustrates examples of a write data frame 905, a read data request frame 910, and a read data frame 915. The write frame 905 is a command indicating an action to be performed by at least one of the smart motors 210. As shown in Figure 9, the write frame 905 contains 6 bytes of data indicating the action (or command) of the smart motor 210. The write frame 905 may be sent for execution by a single smart motor 210 or multiple smart motors 210, as indicated by the node address contained in the write frame 905.

[0075]

[0057] Figure 10 illustrates a write data frame 905 in one example. The write data frame 905 includes an identification block 1000, an address block 1005, a command block 1010, and a data block 1015. The identification block 1000 contains an identification code corresponding to the type of frame being provided. For example, the identification code 0x21 shown in Figure 10 indicates that the frame is a write data frame. The address block 1005 contains an address (e.g., a node address) indicating which smart motor 210 should perform the action. The address block 1005 may represent a single smart motor 210, a group or subset of smart motors 210, or all smart motors 210 connected to the control bus 205. In some cases, the address block 1005 contains one byte of data. In some cases, the value of the address block 1005 is in the range of 0x01 to 0x3F.

[0076]

[0058] The command block 1010 contains data indicating a command to be executed by the smart motor 210. In some cases, the command block 1010 contains 1 byte of data. Possible values ​​for the command block 1010 can be in the range of 0x00 to 0xAF and 0xB8 to 0xFF. The data block 1015 contains data indicating parameters and options used to execute the command. The exemplary data block 1015 illustrated in Figure 10 contains 4 bytes of data, but the data block 1015 may contain more or fewer bytes of data.

[0077]

[0059] As shown returning to Figure 9, an exemplary read data request frame 910 contains 3 bytes of data indicating an action (or command) for the smart motor 210. The read data request frame 910 may be sent for reception by a single smart motor 210 or multiple smart motors 210, as indicated by the node address contained in the read data request frame 910. Figure 11 provides a detailed read data request frame 910 by one example. The read data request frame 910 includes an identification block 1100, an address block 1105, a command block 1115, and a sub-selection block 1120. The identification block 1100 contains an identification code corresponding to the type of frame being provided. For example, the identification code 0x22 illustrated in Figure 11 indicates that the frame is a read data request frame. The address block 1105 contains an address indicating which smart motor 210 should perform the action. In some cases, the address block 1105 contains 1 byte of data. In some cases, the value of address block 1105 is in the range of 0x01 to 0x3F.

[0078]

[0060] The command block 1110 contains data indicating a command to be executed by the smart motor 210. In some cases, the command block 1110 contains one byte of data. Possible values ​​for the command block 1110 can be in the range of 0x00 to 0xAF and 0xB8 to 0xFF. The sub-selection block 1120 provides a sub-index for chained data selection. In some cases, the read data request frame also contains data bytes D4 to D8. The read data request frame 910 prepares the input device 110 and / or one or more switches 115 for subsequent data read commands.

[0079]

[0061] As shown returning to Figure 9, the exemplary read data frame 915 contains 7 bytes of data. While the write data frame 905 and the read data request frame 910 can be addressed to multiple smart motors 210, the read data frame 915 is addressed to a single smart motor 210. Figure 12 provides a detailed read data frame 915 by one example. The read data frame 915 includes an identification block 1200, a response address block 1205, a response command block 1210, a data block 1215, a return subselection block 1220, and a status block 1225. The identification block 1200 contains an identification code corresponding to the type of frame being provided. For example, the identification code 0x23 illustrated in Figure 12 indicates that the frame is a read data request frame. The response address block 1205 is implemented by the input device 110 and / or one or more switches 115 to indicate which smart motor 210 is sending the read data frame 915 (e.g., the return node address) and to recheck the location where the command was executed. In some implementations, if the response is a positive response (e.g., no errors occurred during the execution of the command indicated by the write data frame 905), the value 0x40 is added to the node address to create the response address block. If the response is a negative response (e.g., an error occurred during the execution of the command), the value 0x40 is not added. The possible values ​​for the response address block 1205 are in the range of 0x01 to 0x3F.

[0080]

[0062] The response command block 1210 indicates the action to be performed by each smart motor 210 (indicated by the response address block 1210). Possible values ​​for the response command block 1210 are in the range of 0x00 to 0xAF and 0xB8 to 0xFF. The data block 1215 contains data indicating the parameters and options used during the execution of the command. The exemplary data block 1215 illustrated in Figure 12 contains 4 bytes of data, but the data block 1215 may contain more or fewer bytes of data. In the example in Figure 12, the data block 1215 also includes a return subselector block 1220 which functions as a sub-index for chained data selection. The status block 1225 contains data indicating the status of each smart motor 210, including, among other things, an "error" status, a "response error" status, and a "transfer success" status.

[0081]

[0063] An example of adding data frames sent via the control bus 205 is illustrated in Chart 1300 and Legend 1310 of Figure 13. Chart 1300 includes a header 1305 illustrating the contents of each byte in the data frame. For example, the write data frame 905 includes a frame ID 0x21, a parity bit 0x01, and a PID value 0x61. The write data frame 905 contains 6 bytes of data, including the node address and motor command. As shown in the "Publisher" and "Subscriber" columns, the write data frame 905 is published (or sent) by a master device (e.g., input device 110 and / or one or more switches 115) and subscribed (or received) by a slave device (e.g., one or more smart motors 210).

[0082]

[0064] In Chart 1300, the read data request frame 910 includes frame ID 0x22, parity bit 0x11, and PID value 0xE2. The read data request frame 910 includes 3 bytes of data, including the node address and motor command. As shown in the "Publisher" and "Subscriber" columns, the read data request frame 910 is published (or sent) by a master device (e.g., input device 110 and / or one or more switches 115) and subscribed (or received) by a slave device (e.g., one or more smart motors 210).

[0083]

[0065] In Chart 1300, the read data frame 915 includes frame ID 0x23, parity bit 0x10, and PID value 0xA3. The read data request frame 915 includes 7 bytes of data, including the response node address, response motor command, and device status. As shown in the "Publisher" and "Subscriber" columns, the write data frame 915 is published (or sent) by a slave device (e.g., smart motor 210) and subscribed (or received) by a master device (e.g., input device 110 and / or one or more switches 115).

[0084]

[0066] Communication is via sleep command (<GoToSleep_Cmd> ) may include additional command types such as 1320. Sleep commands can be broadcast on the control bus 205 so that each of the multiple smart motors 210 receives a sleep command. Communication also includes controller reset commands related to the operation of resetting each electronic processor 300.<ECUReset_Cmd> )1330 and control reset response(<ECUReset_Response> ) may include 1340. Additional operations not provided in Chart 1300 may also be performed by devices within the smart motor system 200. For example, a master device (e.g., input device 110, one or more switches 115) may broadcast commands to shut off or stop a set of smart motors 210. The master device may broadcast emergency protocols to be performed by the smart motors 210.

[0085]

[0067] In some cases, commands for auxiliary output control may be implemented by the smart motor system 200. For example, auxiliary output control commands include functions controlled by a master device to control multiple auxiliary outputs. Such commands include, for example, controlling an output to switch between an on state and an off state, operating a seat heater system, performing diagnostic functions, and other auxiliary outputs. These outputs are described in more detail below with reference to Figure 18.

[0086]

[0068] In some cases, multiple smart motors 210 are configured to have a local (e.g., on the device) power limiting function. Each smart motor 210 may adjust a pulse width modulation (PWM) signal used to control its own current flow. In addition, each smart motor 210 may shut itself down if the current flowing exceeds a current threshold. In some implementations, each smart motor 210 includes the current flow in the status block 1225.

[0087]

[0069] Figure 14 provides an exemplary idle command 1400 sent via the control bus 205. The idle command 1400 contains single-byte data and is broadcast to all of the multiple smart motors 210 on the control bus 205. In some cases, the idle command 1400 is sent repeatedly at a set frequency, such as 20 milliseconds. The idle command 1400 minimizes traffic on the control bus 205 when no other control frames are needed. The function of the idle command may vary based on an identification code. For example, the idle command 1400 may clear some or all of the functions performed by a designated smart motor 210, instruct a designated smart motor 210 to stop performing a function, or instruct a smart motor 210 to enter a low-power mode. Since the idle command 1400 is sent to all smart motors 210 connected to the control bus 205, the idle command 1400 ensures that each smart motor 210 continues to receive some data and does not go to sleep unless instructed.

[0088]

[0070] Figure 15 provides an exemplary communication cycle 1500 performed between a master device 1505 (e.g., an input device 110, one or more switches 115) and a slave device 1510 (e.g., a smart motor 210). In the communication cycle 1500, the slave device 1510 executes a “momentary control” command instructing the smart motor 210 to drive the motor 330. For example, the motor 330 is driven while one of the one or more switches 115 is activated.

[0089]

[0071] In step 15-1, the master device 1505 sends a write data frame (such as write data frame 905) to the slave device 1510. The write data frame contains a data value 0x01 indicating that the slave device 1510 is instructed to perform a drive operation (for example, to operate the motor 330 clockwise or counterclockwise). In step 15-2, the master device 1505 sends a read data request frame (such as read data request 910) to the slave device 1510. In step 15-3, in response to the read data request frame, the slave device 1510 sends a read data frame (such as read data frame 915) to the master device 1505. The read data frame indicates that the slave device 1510 is executing a momentary control command. In some cases, the master device 1505 and the slave device 1510 continue to repeat steps 15-2 and 15-3 during momentary control operation.

[0090]

[0072] In step 15-4, the master device 1505 sends a second write data frame to the slave device 1510. The second write data frame contains the data value 0x00, which indicates that the slave device 1510 is instructed to stop performing the drive operation (or to stop driving the motor 330). In step 15-5, the master device 1505 sends a read data request frame to the slave device 1510. In response to the read data request frame, in step 15-6, the slave device 1510 sends a read data frame to the master device 1505. The read data frame indicates that the slave device 1510 has stopped operating the motor 330 (for example, is no longer executing a momentary control command).

[0091]

[0073] Figure 16 illustrates an exemplary control frame 1600 sent by an input device 110 and / or one or more switches 115 for a momentary control operation (e.g., an input key activation function). The control frame 1600 defines the action to be taken and defines data constraints or parameters for performing the function. For example, if the control frame 1600 indicates that key #1 has been activated, the motor 330 is driven clockwise. If the control frame 1600 indicates that key #2 has been activated, the motor 330 is driven counterclockwise. Figure 17 illustrates an exemplary response frame 1700 sent by a smart motor 210 performing a momentary control operation. The response frame 1700 includes data indicating the operating and stopped states of the smart motor 210.

[0092]

[0074] In some cases, during operation, the smart motor 210 detects a failure to receive a read data request frame. If the smart motor 210 fails to receive a read data request frame within a predetermined timeout period, the smart motor 210 may terminate the operation.

[0093]

[0075] The messaging protocol described above and the local intelligence provided by the software in the application layer 415 offer advantages over the system illustrated in Figure 1, including, among other things, the ability to use a single smart motor architecture for multiple applications. For example, different programmed versions of the same smart motor may be used for different purposes within the seat. For example, one smart motor may be programmed to control the headrest, while structurally identical or similar motors may be used to control the lumbar support with different or additional programming. Thus, a hardware-specific motor is not required for each different application. The same base smart motor can be used to perform the desired function, and only the software needs to be changed. In addition, centralized management is not required. Messages can be sent via a bus, and each smart motor has sufficient intelligence to interpret messages addressed to itself and ignore messages addressed to other smart motors or devices.

[0094]

[0076] While the smart motor system 200 has been described primarily in relation to the seat 120, the smart motor system 200 can be further extended to accommodate additional motor applications. Figure 18 provides a vehicle smart motor system 1800 that provides a vehicle equipped with multiple smart motors. For example, the vehicle smart motor system 1800 includes multiple smart motors 1805, which include a smart recliner motor configured to adjust the angle of the seat, a smart seat slider motor configured to adjust the position of the seat forward and / or backward, and a smart seat height adjustment motor configured to adjust the height of the seat. The multiple smart motors 1805 include front and rear smart seat height adjustment motors for tilting the front and rear of the seat, a smart lumbar adjustment motor for adjusting the seat lumbar support, a smart headrest adjustment motor for adjusting the height and / or tilt of the headrest, and a smart side bolster support motor for adjusting the side support of the seat.

[0095]

[0077] In addition to the seat smart motor, the vehicle smart motor system 1800 may include smart motors for controlling the vehicle's sunroof, side mirrors, rearview mirrors, and trunk. In some cases, the smart motors may control additional auxiliary components of the vehicle smart motor system 1800, such as environmental control (e.g., heating and cooling of the vehicle). Although primarily described in relation to vehicles, several smart motors 210 may also be used in other systems and environments where motors are used, such as aircraft, buses, and trains, but are not limited to these.

[0096]

[0078] Accordingly, the aspects, features, and embodiments described herein provide, among other things, smart motors and methods for controlling the same. Various features and advantages of several examples are described in the claims.

Claims

1. It is a smart motor system, Control bus and, Input device and, A smart motor that is communicably coupled to the input device via the control bus and The smart motor is a first smart motor included in a plurality of smart motors connected to the control bus, and the first smart motor includes an electronic processor, a motor configured to move a vehicle seat component, and a position sensor, and the electronic processor is The input device receives a command frame indicating an action, which is received by each smart motor included in the plurality of smart motors. Performing the aforementioned action, which includes starting the motor for a time determined at least based on the position information from the position sensor, The input device receives a data request frame requesting the status of the smart motor, To the input device, upon receiving the data request frame, a data frame indicating the status of the smart motor is sent. Configured to perform, Smart motor system.

2. A smart motor system according to claim 1, wherein the command frame includes the address of the smart motor.

3. A smart motor system according to claim 1, wherein the command frame includes a plurality of parameters describing how to perform the action.

4. A smart motor system according to claim 1, wherein the data frame includes the address of the smart motor.

5. A smart motor system according to claim 1, wherein the electronic processor is After sending the aforementioned data frame, the system receives a second data request frame requesting the second status of the smart motor. A second data frame indicating the second status of the smart motor is sent to the input device. A smart motor system configured in this way.

6. A smart motor system according to claim 1, wherein the electronic processor is A second command frame indicating idle action is received from the input device, In accordance with the second command frame described above, the execution of the action is stopped. The input device receives a second data request frame requesting the second status of the smart motor. Upon receiving the data request frame, the smart motor sends a second data frame to the input device indicating that it is idle. A smart motor system configured in this way.

7. A smart motor system according to claim 1, wherein the command frame includes the address of at least one of the plurality of smart motors, the plurality of smart motors includes a second smart motor which includes a second electronic processor, and the second electronic processor is The input device receives the command frame indicating the action, Determine whether the command frame is addressed to the second smart motor. If it is determined that the command frame is not addressed to the second smart motor, the action is ignored. A smart motor system configured in this way.

8. A smart motor system according to claim 1, wherein the command frame includes an address indicating a subset of the plurality of smart motors.

9. A smart motor system according to claim 1, wherein the input device is configured to periodically send the data request frame at a set frequency.

10. A smart motor system according to claim 1, wherein the status of the smart motor indicated by the data frame includes errors.

11. It is a smart motor system, Control bus and, Input device and, Multiple smart motors, which are communicably coupled to the input device via the control bus, Each smart motor comprises an electronic processor, a motor, and a sensor, wherein the motor of one smart motor is configured to move a vehicle seat component, the sensor of one smart motor is a position sensor, and the electronic processor of one smart motor is The input device receives a command frame indicating an action, Determine whether or not to perform the aforementioned action, If it is determined that the aforementioned action should be performed, it is determined, at least based on the position information from the position sensor of the one smart motor, how long the motor of the one smart motor should be started. The input device receives a data request frame requesting the status of each of the aforementioned smart motors. Upon receiving the data request frame, the input device sends a data frame indicating the status of each of the smart motors. The input device receives a second data request frame requesting the second status of each of the aforementioned smart motors. Send a second data frame indicating the second status of each of the smart motors to the input device. It is configured in such a way. Smart motor system.

12. A smart motor system according to claim 11, wherein the command frame includes the address of each of the smart motors, and the electronic processor is configured to determine whether or not to perform the action based on the address.

13. A smart motor system according to claim 11, wherein the electronic processor is The input device receives a second command frame indicating an idle action, In accordance with the second command frame described above, the execution of the action is stopped. The input device receives a third data request frame requesting the third status of each of the smart motors. Upon receiving the third data request frame, the input device sends a third data frame to each of the smart motors indicating that it is idle. A smart motor system configured in this way.

14. A method for communicating on a control bus, A smart motor, including a motor configured to move a vehicle seat component and a position sensor, receives a command frame indicating an action from an input device. The smart motor performs the action, which includes a step of starting the motor for a time determined at least based on position information from the position sensor. The smart motor receives a data request frame from the input device requesting the status of the smart motor, The smart motor sends a data frame indicating the status of the smart motor to the input device in response to receiving the data request frame. The input device sends the data request frame at a set frequency. A method for providing it.

15. The method according to claim 14, The steps include sending the aforementioned data frame and then receiving a second data request frame requesting the second status of the smart motor, The steps include sending a second data frame indicating the second status of the smart motor to the input device, and A method that further enhances this.

16. The method according to claim 14, The steps include receiving a second command frame indicating an idle action from the aforementioned input device, The steps include stopping the execution of the action in accordance with the second command frame, The steps include receiving a second data request frame from the input device requesting a second status of the smart motor, The steps include sending a second data frame to the input device indicating that the smart motor is idle, in response to receiving the data request frame. A method that further enhances this.

17. The method according to claim 14, wherein the command frame includes the address of the smart motor, and the method is A step of determining whether or not to perform the action based on the address. A method that further incorporates this feature.

Citation Information

Patent Citations

  • Control method for motor, and control system for motor

    JP2004072870A

  • Motor controller

    JP2004357473A