Skip to content

Conversation

@florinmihut
Copy link
Contributor

@florinmihut florinmihut commented Dec 1, 2025

Describe your changes

Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.

Issue ticket number and link

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have made corresponding changes to the documentation
  • I read the contribution documentation and made sure that my changes meet its requirements

@florinmihut florinmihut force-pushed the feat/over_voltage_monitor branch from 6053980 to 002042a Compare December 10, 2025 01:42
@florinmihut florinmihut marked this pull request as ready for review December 10, 2025 07:30
@florinmihut florinmihut force-pushed the feat/over_voltage_monitor branch from 399af37 to 0c7e14b Compare December 10, 2025 07:41
@florinmihut florinmihut changed the title Over-voltage monitor implementation in EVSEManager feat: Over-voltage monitor implementation in EVSEManager Dec 10, 2025
@florinmihut florinmihut force-pushed the feat/over_voltage_monitor branch from ac31dda to ad21486 Compare December 10, 2025 10:12
void OverVoltageMonitor::set_limits(double emergency_limit, double error_limit) {
emergency_limit_ = emergency_limit;
error_limit_ = error_limit;
limits_valid_ = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it is not verified if limits are plausible limits_valid is not needed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Theoretically update_voltage is not called before set_limits but to avoid potential false errors I would argue to leave it to be on the safe side. Not sure how in the future we need to change the flow and shielding checking against invalid limits is not necessary a bad thing.

@Pietfried Pietfried force-pushed the feat/over_voltage_monitor branch from d08682d to 01e1f3c Compare December 16, 2025 19:54
florinmihut and others added 14 commits December 19, 2025 13:09
…VSEManager

Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
Signed-off-by: Piet Gömpel <pietgoempel@gmail.com>
Co-authored-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
Co-authored-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
Co-authored-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
…VSEManager

Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
…VSEManager

Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.Implementation of an internal over-voltage monitor on top of the external one. This is a safety mechanism that reads the measured values received from over-voltage monitor and raises the over voltage faults (in case the external one is not reacting correctly).
There 2 limits that can be set: an error and an emergency limit.
In case of an voltage over the error limit, we are checking if this is just a very short peak or it will stay over 400ms (default value - configurable). If at the end of the 400ms we stayed above the error limit, we trigger the MREC50OverVoltage error.
In case of an voltage over the emergency error, we trigger ASAP the MREC50OverVoltage fault.

Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
Signed-off-by: Florin Mihut <florinmihut1@gmail.com>
Co-authored-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
Signed-off-by: florinmihut <florinmihut1@gmail.com>
@florinmihut florinmihut force-pushed the feat/over_voltage_monitor branch from b54d0df to aaa0d78 Compare December 19, 2025 12:20
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.

3 participants