Flexible Encoder
Why Flexible Encoder?
It can be expensive to add a new hand coded encoder pattern to MotoHawk both in terms of dollar cost and time cost. The Flexible Encoder allows the user to specify their exact Encoder Specification using an xml file. Also, classic encoder patterns as defined in the Encoder Definition Block are generic. For example, the 60-2 crank; single tooth cam was the same for all users. There was no way to tune the encoder behavior based on system characteristics. With Flexible Encoder, the overall encoder design is shifted to the customer. Therefore, the encoder can be designed for the customer specific application. Teeth location, Keying/Pattern matching, Fault behavior, Impact of Wheel Acceleration, Source Interaction, .. can all be specified specific to the user's application.
The Flexible Encoder offers powerful flexibility over the encoder system design, but also greater responsibility
Flexibility
- Tooth Displacement
- Key Strength
- Number of Keys - can have multiple key points on the wheel
- Source Phasing - you now control how the two, three sources interact in terms of phasing
- Diagnostic Controls
Enhanced capability and new features
- Multiple source solutions
- Active encoder switching - switch between multiple encoders
- Additional diagnostics
- Improved RPM sampling - more flexibility in how that works
- New RPM value - Cycle RPM
- Interpolative TDC and Angle Event Triggers - in classic implementations angle based triggers were on physical teeth. Flexible encoder interpolates.
- Implicit Phase Reporting - variable cam .. can measure the phase between one source and another.
Requirements
MotoHawk Requirements
MotoHawk 2012a or higher is required for Flexible Encoder <br\> <br\> <br\>
Module Requirements
Flexible Encoder is supported on PCM09 (ECM-5554-112-090x) and ECM-OH (ECM-5644A-112-048-120x).
An Enhanced Time Processing Unit (eTPU) is required for Flexible Encoder, so the Flexible Encoder cannot be supported on the 48, 80, or 128 pin module as these do not have eTPU.
Differences Between Flexible Encoder and the Classic MotoHawk Encoder
The Classic Encoder is a one-size fits all Encoder, implemented through an Encoder Definition Block. The Application Designer selects their encoder pattern in a drop down menu. The Flexible Encoder offers requires more application design of the encoder system, but is as the name implies much more flexible and offers additional power over the encoder design as well as additional features. Some of the differences are outlined below.
1. Interpolative Triggers: <br\>
- The Classic Encoder triggers on physical teeth.
- The Flexible Encoder provides for an interplation between teeth.
2. RPM Calculations: Average and Cycle RPM <br\>
- In Classic Encoder, RPM is defined by the Encoder System's TDC and Missing Teeth contributed to average RPM.
- In Flexible Encoder, the Application Designer controls separately where average RPM is calculated. RPM Sample Points is a vector setting in the Source Definition Block.
- Average Cycle RPM is a also new calculation feature of the Flexible Encoder.
3. How Teeth Are Handled: The flexible and classic encoder systems differ in terms of how they handle missing and extra teeth.
- In Flexible Encoder, All Physical Teeth Matter, and ONLY Physical Teeth Matter. In Classic Encoder, Missing Teeth Contribute to the System.
- All Teeth Matter
- In a 4+1 pattern the extra tooth matters for the flexible encoder. So, the tooth's position needs to be defined precisely. It contributes to instantaneous RPM, and provides a High-Res trigger event.
- In classic encoder the extra tooth doesn't matter - it is only used to synchronize.
- No Concept of Psuedo Teeth.
- In flexible encoder, you won't get High-Res trigger events from the missing teeth.
- The classic encoder would provide a High-Res trigger event on missing teeth.
- All Teeth Matter
4. Additional Diagnostics:<br\>
- Flexible Encoder allows for additional fault reporting, Synchronization Fault, HalfCycle Fault, Loss Fault, Inversion Fault, Phase Fault, Absent Key Fault, Reverse Rotation, Bad Halfcycle Window.
5. Source Switching:<br\>
- Flexible Encoder allows the system to switch from one Absolute Source to another, should the application determine that it is required.
6. Greater design control of Encoder Pattern:<br\>
- Flexible Encoder allows the application designer greater control over the Encoder Pattern. Such things as number of keys (ex. missing teeth, wide teeth), key strength, teeth to ignore, key tolerance (to allow a key to be detected while allowing for variation due to acceleration), etc can all be designed to meet individual system requirements.
<br\> <br\>
How is a Flexible Encoder System set-up in MotoHawk?
There are many considerations in designing a Flexible Encoder System. We will try to condense the setup here to a few number of steps. Then see the Flexible Encoder Block Help help for additional details.
1. Develop Your Encoder Source Pattern(s) on an xml file and then use the MotoHawk Flexible Encoder Pattern Definition Block to bring the pattern(s) into your model. The Flexible Encoder Additional Pattern Path block can be used to specify the path to the xml files, for the model.
2. Use the MotoHawk Flexible Encoder Absolute Source Block to define the Absolute Sources in your System. An Absolute source is a source that can be used to provide absolute crank angle position. You would have one Absolute Source Definition block for each Absolute source in your system.
3. Define any companion sources (not used to provide absolute crank angle position, ex. camshaft pattern) in the system using the Companion Source Definition Block. 4. Use the MotoHawk Encoder System Definition Block to group a number of Absolute Sources into a System.
5. Use the Flexible Encoder Average Cycle RPM, Cycle RPM Trigger, MotoHawk Average RPM, or MotoHawk Instantaneous RPM blocks to give these calculated values to the control model.
6. Flexible Encoder Get Last Flexible Encoder Source Error can be used to give error information to the control model.
7. If you need to design a variable cam system, there is a Phase Reporting dropdown option on the Absolute or Companion Source selection. Then, the Variable CAM is implemented on Flex Encoder, through the use of the Flexible Encoder Source Phase Trigger and Get Last Source Phase blocks.
<br\> <br\>
Interpolative Triggers
In classic encoder, the TDC would be reported on the next physical tooth. Resolution is one tooth. Flexible Encoder provides for an interpolation between teeth.
See diagram below:
In legacy encoder you need to schedule based on where you see the physical teeth. This can particularly be a problem if there is a low number of teeth. But, with flexible encoder the trigger is interpolative.
On flexible encoder, interpolation resolution is .0625 deg crank angle.
See diagram below: