HI,
I have been researching this problem for several days, but to no avail. I have read about DCC packets etc, and even how to maybe capture them, but all I want to do is as follows :
I have 3 up and 3 down line tracks that are hidden and they are intended to hold trains in some sort of sequence so that every time a train approches this "Fiddle yard" it enters 1 of the 3 vacant loops, starts to slow down in the 1st block section of that loop track, and then stops before it reaches the exit point/switch in the 2nd block. This 1st block slow down will trigger a train waiting in one of the other loops to start up and exit the storage loops to go around the layout.
In it's simplest form, I want the incoming train to enter the designated loop track, start to slow down to about 1/2 speed in the first isolated block (separate DCC feed), and then when it hits the second isolated block (seperate DCC feed) it will stop, utilising its programmed deceleration from about half speed or similar controlled by the 1st block, ensuring that the train will come to a full stop BEFORE it reaches the exit switch/point.
This will allow me to send random different trains around the figure 8 circuit (controlled by the arduino) to provide automatic variation of the traffic arriving / passing round the layout and through the high level through station.
My concept is to use an Arduino to control which tracks the train enters, and also a randomizer to decide which train leaves the complex for the next run through.
My main problem is that I know I can simply cut the power to the 2nd isolated section by sensing loco entry to that final section in my design, and the train WILL STOP AT SOME POINT IN THAT BLOCK, but each one is set up differently in terms of top speed, decelaration etc, so the stopping distance will be different in each trains case, hence the need to have a progammable "slow down block" before the stop section so that I can be certain that the train will not overrun the exit switch/point in the 2nd block, which will cause a DISASTER for obvious reasons. I admit I am a bit of a perfectionist, so most of my locos are stup with pretty realistic deceleration/stopping distances, which makes calculating the actual stopping point pretty difficult to ascertain.
I am a reasonably confident Arduino programmer, (and have written "C" programs commercially for many years) and can also handle a soldering iron and PCB or breadboard plus electronic components as well as most others, so I am simply looking for some sort of circuit that will let me automate this scenario relatively easily. I understand and already have circuit block detection in these loops, so my existing train detection system will be used to trigger the slow down ofthe incoming trains entry to the first block.
That is where I come to a brick wall. I understand that DCC uses data packets rather than PWM to control the loco, so I woullld guess that I need a way to modify the "speed" parameter of the data packet alone in each of the blocks to achieve my solution, or maybe I can use a different method to achieve the same end result ?
Any input on this issue would really be welcome, it has been driving me mad over several weeks now. !
Ian