MotoHawk-FAQ: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
=MotoHawk | |||
= Application - MotoHawk Functions = | |||
The MotoHawk rapid-prototyping software development environment installs as a toolbox in Matlab. The control algorithm architecture and development process begins in Simulink. MotoHawk is an added library within the Matlab program. The benefit of using the MotoHawk block set is that it is easy to access ECU module hardware features such as crank/cam position inputs, analog and digital (switch or frequency) inputs, and Pulse-Width-Modulated (PWM) or discrete outputs (including crank/cam-synchronized control of fuel injector and spark timing outputs). There are "calibration" and "probe" memory access blocks and 1D and 2D table blocks, all of which may be accessible in real-time using MotoTune. MotoTune is a calibration/display tool. | The MotoHawk rapid-prototyping software development environment installs as a toolbox in Matlab. The control algorithm architecture and development process begins in Simulink. MotoHawk is an added library within the Matlab program. The benefit of using the MotoHawk block set is that it is easy to access ECU module hardware features such as crank/cam position inputs, analog and digital (switch or frequency) inputs, and Pulse-Width-Modulated (PWM) or discrete outputs (including crank/cam-synchronized control of fuel injector and spark timing outputs). There are "calibration" and "probe" memory access blocks and 1D and 2D table blocks, all of which may be accessible in real-time using MotoTune. MotoTune is a calibration/display tool. | ||
== Duty Cycle of a PWM Signal == | |||
The Motohawk_frequency_in block in the Advanced Digital I/O section of MotoHawk has a selectable option to provide DutyCycle in the form of 0-4096 counts. Note this will be the duty cycle that the signal is over the threshold. If you want the duty cycle under the threshold you will need to take 4096 - the output of this block. This number will work the best for short rise and fall times at the transitions. | |||
==DRVP Function == | |||
DRVP is an INPUT to the module. It is how we source power for high side drives and H-bridge outputs (ESTs may be powered this way as well on some modules). | |||
Note, this input may come from the MPRD (Main Power Relay) so that these actuations will be powered or de-powered under the control of MPRD. It may also come from battery if the afore mentioned drivers need to be powered ANY time the module is active. | |||
== Producing an Analog Output == | |||
At present, there is no hardware support for an analog voltage output (say, 0-10Vdc output) on external pins on Woodward MCS control modules. However, there are methods to provide such a signal, including (1) various low-pass R-C filter options and (2) commercially available devices, some of which have a CAN bus interface. For a project with significant volume, Woodward can also offer custom hardware minor or major variants with specific capabilities, upon request. | |||
'''Low-Pass Filter Options In Harness''' | |||
There are a number of ways to generate an analog voltage output, for instance 0-10V output: | |||
• an R-C low-pass filter circuit with PWM input/control, using an analog input for closed-loop feedback. | |||
• an R-C low-pass filter circuit with digital potentiometer input controlled by an ESTx, using an analog input for closed-loop feedback. | |||
• an R-C low-pass filter circuit with external transistor and PWM control, using an analog input for closed-loop feedback. | |||
Notes: The low-side driver output would be operated as Pulse-Width-Modulation (PWM) with high frequency and duty cycle to achieve desired output voltage, as monitored by analog input AN6M. The R and C values must be designed for the load impedance and to provide suitably fast response. The PWM duty cycle is varied to control the external PNP transistor, which in turn controls build-up of charge in, and voltage across, the capacitor. | |||
'''Commercial Off-The-Shelf Devices''' | |||
Method: Use an ESTx TTL-level PWM output channel to control the 5B45-05 analog output module for 0-5Vdc output. | |||
:Frequency-to-voltage converter: Analog Devices, 5B45-05 analog module. | |||
:Contact: Signal Conditioning Solutions, Novi MI, phone 248-615-4441, [http://signalconditioningsolutions.com/ Signal Conditioning Solutions] | |||
:CAN-to-voltage converter: ASCON, AO-08HL analog output module 8-channel. | |||
Method: Send messages to the device using CANopen protocol for 0-10Vdc, 0-20mA, 4-20mA output. | |||
:Contact (factory): ASCON Corporation, 1884 East Fabyan Parkway, Batavia, Illinois 60510, phone 630-482-2950, fax 630-482-2956, www.asconcorp.com; Davide Bugatti (Technical Manager) (d.bugatti@asconcorp.com), Steve Rakers (s.rakers@asconcorp.com). | |||
:Contact (distributor): Schlemmer Associates, 800 Compton Road Unit 35, Cincinnati OH 45231, phone 513-522-8340, fax 513-522-2727; Bill Kief (Sr. Sales Engineer) (cell 513-910-9594, wkief@schlemmerassociates.com). | |||
:CAN-to-voltage converter: Axiomatic TDAX030500, 4 analog signal output CAN controller. | |||
== Thermocouple to Analog Converter == | |||
A thermocouple to analog converter can turn any chart recorder, analog or digital voltmeter into an accurate, wide range temperature measuring instrument. For more information, please visit the following link: | |||
http://www.omega.com/ppt/pptsc.asp?ref=TAC80B&nav | |||
==Build Counter== | ==Build Counter== |
Revision as of 02:02, 3 May 2010
Application - MotoHawk Functions
The MotoHawk rapid-prototyping software development environment installs as a toolbox in Matlab. The control algorithm architecture and development process begins in Simulink. MotoHawk is an added library within the Matlab program. The benefit of using the MotoHawk block set is that it is easy to access ECU module hardware features such as crank/cam position inputs, analog and digital (switch or frequency) inputs, and Pulse-Width-Modulated (PWM) or discrete outputs (including crank/cam-synchronized control of fuel injector and spark timing outputs). There are "calibration" and "probe" memory access blocks and 1D and 2D table blocks, all of which may be accessible in real-time using MotoTune. MotoTune is a calibration/display tool.
Duty Cycle of a PWM Signal
The Motohawk_frequency_in block in the Advanced Digital I/O section of MotoHawk has a selectable option to provide DutyCycle in the form of 0-4096 counts. Note this will be the duty cycle that the signal is over the threshold. If you want the duty cycle under the threshold you will need to take 4096 - the output of this block. This number will work the best for short rise and fall times at the transitions.
DRVP Function
DRVP is an INPUT to the module. It is how we source power for high side drives and H-bridge outputs (ESTs may be powered this way as well on some modules).
Note, this input may come from the MPRD (Main Power Relay) so that these actuations will be powered or de-powered under the control of MPRD. It may also come from battery if the afore mentioned drivers need to be powered ANY time the module is active.
Producing an Analog Output
At present, there is no hardware support for an analog voltage output (say, 0-10Vdc output) on external pins on Woodward MCS control modules. However, there are methods to provide such a signal, including (1) various low-pass R-C filter options and (2) commercially available devices, some of which have a CAN bus interface. For a project with significant volume, Woodward can also offer custom hardware minor or major variants with specific capabilities, upon request.
Low-Pass Filter Options In Harness
There are a number of ways to generate an analog voltage output, for instance 0-10V output:
• an R-C low-pass filter circuit with PWM input/control, using an analog input for closed-loop feedback.
• an R-C low-pass filter circuit with digital potentiometer input controlled by an ESTx, using an analog input for closed-loop feedback.
• an R-C low-pass filter circuit with external transistor and PWM control, using an analog input for closed-loop feedback.
Notes: The low-side driver output would be operated as Pulse-Width-Modulation (PWM) with high frequency and duty cycle to achieve desired output voltage, as monitored by analog input AN6M. The R and C values must be designed for the load impedance and to provide suitably fast response. The PWM duty cycle is varied to control the external PNP transistor, which in turn controls build-up of charge in, and voltage across, the capacitor.
Commercial Off-The-Shelf Devices
Method: Use an ESTx TTL-level PWM output channel to control the 5B45-05 analog output module for 0-5Vdc output.
- Frequency-to-voltage converter: Analog Devices, 5B45-05 analog module.
- Contact: Signal Conditioning Solutions, Novi MI, phone 248-615-4441, Signal Conditioning Solutions
- CAN-to-voltage converter: ASCON, AO-08HL analog output module 8-channel.
Method: Send messages to the device using CANopen protocol for 0-10Vdc, 0-20mA, 4-20mA output.
- Contact (factory): ASCON Corporation, 1884 East Fabyan Parkway, Batavia, Illinois 60510, phone 630-482-2950, fax 630-482-2956, www.asconcorp.com; Davide Bugatti (Technical Manager) (d.bugatti@asconcorp.com), Steve Rakers (s.rakers@asconcorp.com).
- Contact (distributor): Schlemmer Associates, 800 Compton Road Unit 35, Cincinnati OH 45231, phone 513-522-8340, fax 513-522-2727; Bill Kief (Sr. Sales Engineer) (cell 513-910-9594, wkief@schlemmerassociates.com).
- CAN-to-voltage converter: Axiomatic TDAX030500, 4 analog signal output CAN controller.
Thermocouple to Analog Converter
A thermocouple to analog converter can turn any chart recorder, analog or digital voltmeter into an accurate, wide range temperature measuring instrument. For more information, please visit the following link:
http://www.omega.com/ppt/pptsc.asp?ref=TAC80B&nav
Build Counter
Is there a convenient way to reset the motohawk_build_version counter? For instance, if I copy a model for a new project I’d like to reset the build counter?
- There is a MotoHawk command to update this value. To do this have the model open and go to the MATLAB command prompt and type in:
- number = ‘000’; %the value between the ticks can be any number you want motohawk_build_version(bdroot, number);
- This will set the 3 character build version to 000. You can also place the value directly into the expression just remember to use the ticks(‘).
- You can also type “help motohawk_build_version;” from the command line and get help for more advanced features.
CAN Messaging
How to send / receive a message greater than 8 bytes
- A multi-page CAN message would satisfy sending or receiving messages greater than 8 bytes. Typical application would include message PGN65251-Engine Configuration found in the SAE J1939 protocol.
- The Motohawk 'CAN Raw' and the 'CAN Messages' block would both be utilized in setting up a multi-page message.
STARTUP_Event Trigger with Custom Memory Initialization App
If the STARTUP_EVENT function trigger is placed inside the main foreground block, would it execute on startup before the memory initialization application starts running just like it would if it were outside?
- The startup event only triggers once so its output will basically be a constant once it has ran. I am not sure what the memory initialization app needs to do to initialize the memory, but you probably need to do that in a periodic task. There it will have time to interact with components in the system outside the module. Try setting a datastore flag to enable the initialization code, and when it has finished the initialization, unsets the flag so the main application starts running. This can be done with enabled subsystems.
Do I need to explicitly keep the main foreground loop from running until the startup_code has run with a flag or does Motohawk do this for me (run the startup event stuff before the main application loops starts). In other words, is it a sequence of: STARTUP_EVENT --> Main Application, or do they run in parallel (with the startup stuff obviously only running once)?
- The application will wait for the startup event to finish before it starts any of its code.
Software
Latest Version of MotoHawk
MotoHawk 2010a Beta 6 has been released! And, MotoTune / MotoServerRuntime 8.13.7.120 have been released!
These releases support Windows XP (32-bit and 64-bit), Windows Vista (32-bit and 64-bit), and Windows 7 (32-bit and 64-bit). Please note that this new support for 64-bit versions of Windows still requires using the MATLAB 32-bit versions at this time. Support for MATLAB 64-bit versions is presently planned for MotoHawk 2010b, later this year.
This is Beta 6 for features in the MotoHawk 2010a release.
This beta provides a new installer experience, allowing for simultaneous "side-by-side" installs of different MotoHawk versions and easy re-configuration between installed MotoHawk releases using the MotoHawk Version Selector (from the Windows Start menu). The side-by-side installer feature and MotoHawk Version Selector are described further in this Woodward MCS wiki article (http://mcs.woodward.com/support/wiki/index.php?title=Side_by_Side_Installer).
• Support for MATLAB 7.5 (R2007b) to MATLAB 7.10 (R2010a) and, in a subsequent service pack, MATLAB 7.11 (R2010b). • Support for Windows XP (32-bit and 64-bit), Windows Vista (32-bit and 64-bit), and Windows 7 (32-bit and 64-bit), using MATLAB 32-bit versions. • Side-by-Side installer with MotoHawk Version Selector. • MPC 5554 112-pin targets**: Add support for 48-2 encoder pattern. MPC 5554 112-pin targets**: Change FUELPR output driver to hardware-disable when STOP is asserted.
- ECM-5554-112-09xx (PCM09xx) and GCM-5554-112-1001 (CCM1001) (1751-6456, 1751-6457) modules
• MPC 5xx targets: Add support for encoder 36+1 crank with 12+1 cam MPC 5xx targets: Add support for encoder 36–2 crank with X+1 cam • ECM70: Add support for FrequencyIn behavior on CNK, CNKDG, CAM pins ECM70: Add support for ECM-S12X-070-1002 (ECM70-1002) module • CCP Slave protocol handler: change default behavior to IDLE_EVENT-triggered priority • General updates and improvements.
For registered users, MotoHawk 2010a Beta 6 may be downloaded from the New Eagle Downloads page. (You must be logged into the wiki for the links below to work).
MotoHawk 2010a Beta 6 for MATLAB 7.5 (R2007b) to 7.10 (R2010a) and Release Notes:
MotoHawk 2010a Beta 5
MotoHawk 2010a Beta 5 has been released and is available under the DOWNLOADS page, but you must have a login. Email support@neweagle.net for a login.
This is Beta 5 for features in the MotoHawk 2010a release.
- Support for MATLAB 7.5 (R2007b) to MATLAB 7.10 (R2010a) and, in a subsequent service pack, MATLAB 7.11 (R2010b).
This release supports MATLAB 7.5 (R2007b) to MATLAB 7.9 (R2009b).
Support for (pre-release) MATLAB 7.10 (R2010a) is not yet available.
- New features! This beta contains additional structural support for new features.
- MPC 5554 112-pin targets**: Add support for 48-2 encoder pattern.
- MPC 5554 112-pin targets**: Change FUELPR output driver to hardware-disable when STOP is asserted.
- ECM-5554-112-09xx (PCM09xx) and GCM-5554-112-1001 (CCM1001) (1751-6456, 1751-6457) modules
- MPC 5xx targets: Add support for encoder 36+1 crank with 12+1 cam
- MPC 5xx targets: Add support for encoder 36–2 crank with X+1 cam
- ECM70: Add support for FrequencyIn behavior on CNK, CNKDG, CAM pins
- ECM70: Add support for ECM-S12X-070-1002 (ECM70-1002) module
- CCP Slave protocol handler: change default behavior to IDLE_EVENT-triggered priority
- General updates and improvements.
Does Motohawk run on a 64bit OS?
As of right now, MATLAB 64-bit versions are not supported. The "MEX" files used by many MotoHawk blocks are built for 32-bit MATLAB only (.MEXW32); 64-bit uses a different binary MEX file format.
Some customers are using MotoHawk and MotoTune on Windows Vista 64-bit with MATLAB 32-bit. They report:
' After installing MotoServerRuntime, MotoTune, and MotoHawk (using right-click install-as-administrator), copy the entire directory tree "C:\Program Files (x86)\MotoTron\..." to "C:\Program Files\MotoTron\..." (substitute "Woodward" for "MotoTron" for MotoHawk 2009b and later releases). When it is time to uninstall, remember to delete the "C:\Program Files\MotoTron\..." copy before uninstalling with Add/Remove Programs. '
What are some know problems with running Motohawk on Windows Vista?
Windows Vista (32-bit) is known to have dongle driver problems.