This application claims priority to and the benefit of Indian Application No. 202041017087, filed Apr. 21, 2020, the entire contents of which are herein incorporated by reference in their entirety.
The present disclosure relates to motor drive systems, and more particularly to resolver sensors used to determine the rotor angle and, thereby, the speed of the motor.
In a typical software implementation to monitor the angular position of the rotor, one step is to read the sine and cosine feedback signals of stator windings of a resolver. In traditional systems, an interface to the resolver includes a primary sine excitation signal to the rotor winding which is fed by the controller card (micro-controller or field programmable gate array (FPGA) and signal conditioning circuitry) and the feedback from the stator winding is processed by the controller card (signal conditioning circuitry and external ADC or ADC of the micro-controller). The sine and cosine feedback from the stator windings is processed through filtering and signal conditioning and is read by the ADC. These feedback signals are used in conjunction with a resolver excitation signal to determine the angle and the angular quadrant. The tan inverse or arc tan function is generally used to determine the angle and based on the sign, the quadrant is determined.
The number of instruction cycles consumed in the arc tan function computation which includes quadrant determination, typically exceeds 100 instruction cycles and overall consumes around 40% of the cycles for resolver function implementation. Other techniques may also be used to generate sinusoidal waveforms for driving the resolver primary.
The conventional techniques have been considered satisfactory for their intended purpose. However, there is an ever present need for improved systems and methods which can be used to compute the shaft angle. This disclosure provides a solution for this need.
A resolver interface system for a motor drive system includes a phase detector configured to be operatively connected to a rotation signal output of a resolver to receive a rotation signal therefrom and generate a phase difference signal. A differentiator is operatively connected to an output of the phase detector to convert the phase difference signal of the phase detector into a pulse output configured to be read by a processing system.
A processing system can be operatively connected to the phase detector to determine a shaft angle of a rotor. The processing system can be at least one of a micro-controller or a field-programmable gate array. The system can include a resolver having a first excitation input, a second excitation input and a rotation signal output. A SIN wave generator can be operatively connected to the first excitation input to provide a SIN excitation signal thereto. A COS wave generator can be operatively connected to the second excitation input to provide a COS excitation signal thereto. A rotor winding can be operatively connected to the rotation signal output to output the rotation signal. A first stator winding can be operatively connected to the first excitation input to receive a first excitation signal. A second stator winding can be operatively connected to the second excitation input to receive a second excitation signal.
A SIN wave generator can be operatively connected to the phase detector to provide a SIN reference signal thereto. A scaling network can be positioned between the SIN wave generator and the phase detector. A COS wave generator can be operatively connected to the phase detector to provide a COS reference signal thereto. A scaling network can be positioned between the COS wave generator and the phase detector.
The phase detector can be a first of two phase detectors. Each of the two phase detectors can be configured to be operatively connected to a rotation signal output of a resolver to receive a rotation signal therefrom. The differentiator can be a first differentiator. A second differentiator can be operatively connected to an output of a second of the two phase detectors to convert a phase difference signal of the second phase detector into a second pulse output configured to be read by a processing system.
A SIN wave generator can be configured to be operatively connected to a first excitation input of a resolver to provide a SIN excitation signal thereto. A COS wave generator can be configured to be operatively connected to a second excitation input of a resolver to provide a COS excitation signal thereto. The SIN wave generator can be operatively connected to the first phase detector to provide a SIN reference signal thereto. The COS wave generator can be operatively connected to a second of the two phase detectors to provide a COS reference signal thereto. A first scaling network can be positioned between the SIN wave generator and the first phase detector, and a second scaling network can be positioned between the COS wave generator and the second phase detector.
In accordance with another aspect, a method of determining a shaft angle of a rotor includes applying an excitation input to at least one of a first stator winding or a second stator winding. The method includes receiving a rotation signal output from a rotor winding with a phase detector. The method includes generating a phase difference signal based on the rotation signal output with the phase detector. The method includes determining a shaft angle of the rotor with a processing system based on the phase difference signal.
The method can include converting the phase difference signal of the phase detector into a pulse output with a differentiator. The excitation input can be a SIN wave. Applying the excitation input can include applying the SIN wave to the first stator winding. The excitation input can be a COS wave. Applying the excitation input can include applying the COS wave to the second stator winding. The method can include providing the excitation input to the phase detector as a reference signal. Providing the excitation input can including scaling an amplitude of the excitation input with a scaling network.
These and other features of the embodiments of the subject disclosure will become more readily apparent to those skilled in the art from the following detailed description taken in conjunction with the drawings.
So that those skilled in the art to which the subject disclosure appertains will readily understand how to make and use the devices and methods of the subject disclosure without undue experimentation, embodiments thereof will be described in detail herein below with reference to certain figures, wherein:
Reference will now be made to the drawings wherein like reference numerals identify similar structural features or aspects of the subject disclosure. For purposes of explanation and illustration, and not limitation, an illustrative view of an embodiment of a resolver interface system in accordance with the disclosure is shown in
As shown in
With reference now to
With continued reference to
With continued reference to
As shown in
With continued reference to
As shown in
With continued reference to
With reference now to
System 200 includes an analog digital converter (ADC) interfaced to the FPGA through a serial peripheral interface (SPI). Respective op-amp based amplifier circuits 132a and 132b and respective protection devices 134a and 134b are the same as those in
As shown in
In
The average voltage (Vaverage) for a pulse waveform can be determined by the duty cycle (d) of the waveform by using the following equation, where Vpeak is the peak voltage: Vaverage=d*Vpeak. Relating the two expressions, the relation between the phase and the duty cycle is:
In accordance with another aspect, a method of determining a shaft angle of a rotor, e.g. rotor shaft 103, includes applying an excitation input to stator windings, e.g. stator windings 106a and 106b. The method includes receiving a rotation signal output from a rotor winding, e.g. rotor winding 104, with at least one phase detector, e.g. phase detector 114a and 114b. The method includes generating a phase difference signal based on the rotation signal output with the phase detector. The method includes determining a shaft angle of the rotor with a processing unit, e.g. a micro-controller 120 or FPGA 220, based on the phase difference signal.
The method includes converting the phase difference signal of each phase detector into a respective pulse output with a respective differentiator, e.g. a differentiator 116a and 116b. The excitation input is a SIN wave. Applying the excitation input includes applying the SIN wave to the first stator winding. The excitation input is a COS wave. Applying the excitation input includes applying the COS wave to the second stator winding. The method includes providing the excitation input to each phase detector as a reference signal, wherein providing the excitation input includes scaling an amplitude of each excitation input with a respective scaling network, e.g. a scaling network 118a or 118b.
As will be appreciated by those skilled in the art, aspects of the present disclosure may be embodied as a system, method or computer program product. Accordingly, aspects of this disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects, all possibilities of which can be referred to herein as a “circuit,” “module,” or “system.” A “circuit,” “module,” or “system” can include one or more portions of one or more separate physical hardware and/or software components that can together perform the disclosed function of the “circuit,” “module,” or “system”, or a “circuit,” “module,” or “system” can be a single self-contained unit (e.g., of hardware and/or software).
Furthermore, aspects of this disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of this disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the this disclosure may be described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of this disclosure. It will be understood that each block of any flowchart illustrations and/or block diagrams, and combinations of blocks in any flowchart illustrations and/or block diagrams, can be implemented by computer program instructions.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in any flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified herein.
Those having ordinary skill in the art understand that any numerical values disclosed herein can be exact values or can be values within a range. Further, any terms of approximation (e.g., “about”, “approximately”, “around”) used in this disclosure can mean the stated value within a range. For example, in certain embodiments, the range can be within (plus or minus) 20%, or within 10%, or within 5%, or within 2%, or within any other suitable percentage or number as appreciated by those having ordinary skill in the art (e.g., for known tolerance limits or error ranges).
The articles “a”, “an”, and “the” as used herein and in the appended claims are used herein to refer to one or to more than one (i.e., to at least one) of the grammatical object of the article unless the context clearly indicates otherwise. By way of example, “an element” means one element or more than one element.
The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e., “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.”
Any suitable combination(s) of any disclosed embodiments and/or any suitable portion(s) thereof are contemplated herein as appreciated by those having ordinary skill in the art in view of this disclosure.
The embodiments of the present disclosure, as described above and shown in the drawings, provide for improvement in the art to which they pertain. While the subject disclosure includes reference to certain embodiments, those skilled in the art will readily appreciate that changes and/or modifications may be made thereto without departing from the spirit and scope of the subject disclosure.
Number | Date | Country | Kind |
---|---|---|---|
202041017087 | Apr 2020 | IN | national |