DCC-EX / Support-Planning

DCC++EX Repo to hold project planning documentation and processes
1 stars 1 forks source link

Ticket Submitted via Website #462

Closed fire-bot closed 1 year ago

fire-bot commented 1 year ago

Sent by (dccextended@gmail.com). Created by fire.


Andy created a ticket

Name: Andy Jones

Email: andy.d.jones@gmail.com

Timezone: -6

Software: CommandStationEX

Version: 4.0.x

Title: Add Auto Reverse capability for track output B

Description: Provide option/mode to use secondary track output (B) to operate a DCC reverse loop/section. Implementation: When in this auto reverse mode, and a short (excessive current condition) is detected on A and/or B track outputs, first, quickly reverse B's polarity. If short condition persists, then shut down A and/or B normally. The polarity reversal must occur before the normal short circuit detection is confirmed and a normal output shutdown would occur. However, if B reversal occur too quickly, it could exacerbate momentary short conditions that DCC++EX would normally ride through. Note that, depending on how excessive output current is detected on the motor driver board in use, entering a reverse loop with opposite polarity may or may not be detected on one or the other track output pair. Therefore, I suggest triggering the auto-reverse if a short is detected on either bus A or B. The optimal solution may require a configurable option based on how excessive output current is detected on the motor driver board. The Pi SPROG 3 Plus DCC system provides a similar capability on its secondary DCC track output. I have no knowledge of how they implement their auto-reverse capability. Please note that I do not have a DCC++EX setup, so I cannot test this yet. However, upon my suggestion of the above in a discussion on Trainboard, I was asked by another Trainboard user, Sumner, (who does use and strongly advocate DCC++EX) to open my suggestion, with details, as an issue/improvement for DCC++EX. I would be happy to discuss this issue and potential implementation details with the developer(s). Note: I was unable to connect to the Discord group for DCC++EX using your link. -- Andy - Arlington TX (Retired Electrical Engineer, user BigJake on Trainboard)

Remaining email Quota: 100

Asbelos commented 1 year ago

Hi Andy, Your comments have been copied to our Discord discussion for considetation. This is something we actually discussed a few months ago but I have to say it gets exceedingly complicated once you consider that our next version will be handling up to eight separate track sections in a mixture of dcc, prog and DC modes. The actual reversing is a simple matter but its the decisions of what to reverse that cause the problem.

In addition, there is a general move towards using boosters for their power delivery. This makes it much harder to detect overloads. I'm sure you will understand that the documentation of this starts to get very messy.

For a simple reversing loop, it is very easy to use a DPDT relay and automate the polarity change to match the turnout using an exrail script something like the following:

ONTHROW(10) SET(45) DONE ONCLOSE(10) RESET(45) DONE

which replaces in 18 bytes something that might take us 100 lines of code and 1000 words of documentation and endless support calls.

FrightRisk commented 1 year ago

answered