Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjusting reported Latent Data fields for electrohydraulic PTO #162

Merged
merged 6 commits into from
Sep 15, 2023

Conversation

hamilton8415
Copy link
Collaborator

needs osrf/mbari_wec_utils#55

Changing the reported latent data fields for the electrohydraulic PTO. So far this adds the shaft mechanical power, and I have am going to work through the rest and make sure it all makes sense.

While I'm here I've eliminated the pto_loss structure, as it wasn't needed on the ECM, or at all now that the latent data structures exist.

Also, to do this, it will make sense to move a number of items into the numerical solution functor class variables, to avoid re-computing things un-neccessarily. I need to review why some of these items need to be marked mutable...

@hamilton8415 hamilton8415 changed the title Added Shaft Mechanical Power to Latent Data Adjusting reported Latent Data fields for electrohydraulic PTO Sep 13, 2023
@hamilton8415
Copy link
Collaborator Author

electro_hydraulic:
supplied_hydraulic_power: -359.51327502314956
shaft_mech_power: 321.62192354729706
inst_power: 177.67881157426044
rpm: 1114.2873335568152
force: -3332.332423540754
motor_drive_i2r_loss: 16.755256835468114
motor_drive_switching_loss: 15.69807181183637
motor_drive_friction_loss: 111.48978332573215
battery_i2r_loss: 2.241853865379525
relief_valve_loss: 0.0
hydraulic_motor_loss: 37.9005935159228
eff_m: 0.9377714253328864
eff_v: 0.953940392907813

Adding enough fields to see the energy balance. For instance, considering the hydraulic portion of this, energy leaving the hydraulic system as a loss is a positive value. Supplied hydraulic power is then negative and represents power coming into the hydraulic system from the piston (-359.51327W), Because at the moment of the example data the electrics are acting as a generator, the shaft power is taking energy out of the hydraulic portion, and so is listed as a postive mechanical power (321.62192 W). Since there is no flow through the relief valve at these low speeds, the only loss in this portion is the combined volumetric and mechanical hydraulic loss (37.90059 W). And, -359.5132+321.62192+37.900593 sums to zero, as it should. :)

Next up, the electrical side and it's slightly more complicated loss model...

@hamilton8415
Copy link
Collaborator Author

Similarily, with the relief valve operating and adding an additional loss.

electro_hydraulic:
supplied_hydraulic_power: -8500.5012762255
shaft_mech_power: 6908.771330150416
inst_power: 5974.61545051566
rpm: -4612.007611796353
force: 17481.234034277793
motor_drive_i2r_loss: 451.3108691435003
motor_drive_switching_loss: 20.58071860105702
motor_drive_friction_loss: 462.2642918901987
battery_i2r_loss: 32.14285714285714
relief_valve_loss: 506.6454089585826
hydraulic_motor_loss: 1085.2077526257335
eff_m: 0.927759847764073
eff_v: 0.9315385761030099

-8500.501+6908.771+1085.208+506.645 = 0.123 The small total error is a result of the numerical solution being de-tuned to not demand sub-watt accuracy in a 10kW system, speeds computation...

@hamilton8415
Copy link
Collaborator Author

And finally, with a winding current specification that causes the system to run in motoring mode, the shaft power becomes negative (energy flowing into hydraulic system), the supplied hydraulic power" becomes positive (energy flowing from the hydraulic system to the piston, and the hydraulic motors remain, alas, positive as expected. But the powers still sum to zero: 643.229-715.63+72.38 = -0.021

electro_hydraulic:
supplied_hydraulic_power: 643.2297699744058
shaft_mech_power: -715.631787257409
inst_power: -1013.6198041896132
rpm: 2691.867509440783
force: 2695.8423351744
motor_drive_i2r_loss: 14.214319457529212
motor_drive_switching_loss: 14.255701609102724
motor_drive_friction_loss: 269.54905847842764
battery_i2r_loss: 88.47305631940293
relief_valve_loss: -0.0
hydraulic_motor_loss: 72.38143783215203
eff_m: 0.9366162649811185
eff_v: 0.9596819095221832

@hamilton8415
Copy link
Collaborator Author

I believe I have this completed. The resulting message is below and everything is summing up as it should. There are some sign conventions here that are a bit tricky, I think I will need to add some description of all of this in the documentation site, along with a tutorial. But for now, I think this is done from my point of view and we should merge it into andermi/latent_data after review. Happy to consider other fields of interest... And, almost certainly some linter work to do...

electro_hydraulic:
rpm: 3467.548605045044
upper_hydraulic_pressure: 9415507.765160644
lower_hydraulic_pressure: 0.0
force: -8352.409544029555
supplied_hydraulic_power: -2828.95402494398
hydraulic_motor_loss: 327.64777250804457
relief_valve_loss: 0.0
shaft_mech_power: 2501.3767529524116
motor_drive_i2r_loss: 104.65676127398169
motor_drive_switching_loss: 17.52879220300289
motor_drive_friction_loss: 347.35605517092193
load_dump_power: 1335.4065728759338
battery_i2r_loss: 32.14285714285714
battery_storage_power: 664.2857142857143

@hamilton8415 hamilton8415 merged commit 71ab5da into andermi/latent_data Sep 15, 2023
0 of 3 checks passed
@hamilton8415 hamilton8415 deleted the hamilton8415/latent_data branch September 15, 2023 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants