Solved unreliable point operation

jeanmichel

Post by jeanmichel » 03.09.2008, 22:42

checked in.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Wiki?

Post by ron&bram » 04.09.2008, 10:33

I thought it would be wise to amend the wiki with the remark that a optional swtime parameter can be added to lenz line of the digint section in the rocrail.ini, but I do not kow how to. If someone points me in the right direction (and for some things I am quite handy and for other I might need a lot of pointing) I am willing to have a go at it.

Secondly, when I check the wrapper doc, there is a rocrail parameter called swtime with a default of 250, but in the rocrail.ini file it is called swtimeout? I tried to read that value from within the lenz.c, but I can only find parameters that I add to the digint lenz section. Anybody any ideas?

Third, I quit like the one by one movement of the switches when setting a route, because that is also like it works on the 1:1 scale big thing. If there are others who agree with me, maybe it is something that could be implemented at a higher level (the switch.c?) so that it works independent of the digint library used. Comments?

Regards everybody

Ronald

rjversluis
Site Admin
Posts: 41678
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: Wiki?

Post by rjversluis » 04.09.2008, 11:38

ron&bram wrote: Third, I quit like the one by one movement of the switches when setting a route, because that is also like it works on the 1:1 scale big thing. If there are others who agree with me, maybe it is something that could be implemented at a higher level (the switch.c?) so that it works independent of the digint library used. Comments?
The route switches one by one.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

superfast 1 by 1

Post by ron&bram » 04.09.2008, 12:30

I agree that the route command sends out the switch commands one by one, but as Mauro reported and I also tested, the time between the commands is very very short, in the case of the Elite some commands get lost and in the case of several switches attached to one capacitator discharge decoder, the capacitator gets discharged without having time to recharge. The option I added to the lenz.c allows for a user configurable time delay between switch commands when setting a route, I use a value of 900 ms, which allows for my cdu decoders and gives a nice one after the other switching, in the order the commands are listed in the chosen route (the only thing I can not remmber is if in the real railroad operation the switch movements starts at the point the fartest away or the one closets to the train where the route is set for, I chose to start at the one fartest away).

I liked the effect, but the way I did it makes this time delay option only available for users that use the lenz lib, therefore my question if it is aa wish for other people, so that maybe it can be implemented at a higher level.

Best regards
Ronald

rjversluis
Site Admin
Posts: 41678
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Post by rjversluis » 04.09.2008, 13:08

Posted: 28.08.2008, 17:44 Post subject:
Reply with quote

As from svn3542 the Init Field Pause will also be used for route commands:

http://wiki.rocrail.net/doku.php?id=roc ... ield_pause
_________________
regards,
Rob.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

It does

Post by ron&bram » 04.09.2008, 13:40

Hi Rob,

I was working along the route (in all possible interpretations) you mentioned also, having checked the rocrail wrapper info. I think that with the limit of max 1000 ms it was just borderline with my cdu decoders. In my local copy of route.c I made the following changes:

original line 201/202:

if( pause <10> 1000 )
pause = 10;

my version:

if( pause <100> 2000 )
pause = 500;

I changed the max value to 2000, with something like 1100 and the additional delay in the lenz.c set to 10 ms (I also tried after removing it again), I have reliable switching.
I changed the minimum value from 10 to 100 because in the wrapper it says 100 as minimum, the same for the default value.

I hope you agree and think it is worthwhile to change the general version also. If I can get instructions on how to put changes in the svn repository, I can also do it myself (then I also do not have to bother Jean-Michel everytime I change something for the elite).

One question remains, should I also undo my change in the lenz.c when the above patch is applied (my feeling is yes)?

Regards,
Ronald

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

question

Post by ron&bram » 04.09.2008, 19:00

Rob,

I just chechked the repository and saw that yoou completely removed the check on the value of init field pause. I thought that just widening the limits a bit would be enough. Does it still have a default value, in case a user does not fill in anything?

Best regards,
Ronald

rjversluis
Site Admin
Posts: 41678
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: question

Post by rjversluis » 04.09.2008, 19:36

ron&bram wrote:Does it still have a default value, in case a user does not fill in anything?
All wrapper attributes have default values, in some cases even NULL.

In this case the value will be 500ms incase the attribute is not found:
http://www.rocrail.net/doc/rocrail-wrap ... .html#ctrl

The range is changed to a max of 5000ms.

cwichmann
Posts: 888
Joined: 24.02.2008, 18:02
Location: Herne / Germany

Post by cwichmann » 16.10.2008, 09:27

Hi John,

welcome to the forum. I hope we can save your sanity ;-)
Am I using the correct snapshot (svn 3516), I noticed that thr Rocrail site gives the option of svn 3513 or 3516 (I used the latest/highest number version)?
The latest build is svn3737, you can get it here: http://rocrail.saturnus.it/unicode/ maybe it helps to update to the latest build.
If not please post your rocrail.ini and your plan file so we can take a look if the settings are OK.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 16.10.2008, 10:03

Hi John,

Welcome to rocrail.

As to:
Can anyone save my sanity?
This is a bit hard to arrange, I think that you have to be a bit ... in order to take up modelrailroading as a hobby.

With regard to your questions, there are several points to write about:

1 Use of Elite as command station.
The Elite, with firmware 1.3, has a somewhat free interpretation of the Lenz xpressnet protocol. Those deviations that have impact on the working of Rocrail have all been corrected and are all in snapshot 3516. Important is that you inform the lenz library that you are using an Elite, check http://wiki.rocrail.net/doku.php?id=hornby-elite-en and the links there for details. Important is to add the sublib="elite" statement.

2. Use R8247 decoders
I use 2 of them myself. One is used to drive old type of LGB solenoid driven turnout motors, the second one to drive more modern (2-wire) motor driven LGB EPL turnout motors. The EPL turnout motors work by reversing polarity, to achieve this I build a relay board to reverse the polarity, the R8247 actually drives the relays with a 500 millisecond pulse (see the R8247 manual). The solenoid motors are directly connected to the other R8247, with the standard 100 ms pulse.
I ran into problems with the solenoid motors. This is caused by the capacitor discharge principle of the R8247. After "firing" one solenoid there is not enough stored energy left to fire a second solenoid reliable (but there is to light a led). The capacitor needs time to charge, increasing the programmed pulse time only makes matters worse, because the first pulse drains even more energy. In revision 3580, the optional parameter swtime is evaluated (you can add this parameter to your digint section in the rocrail.ini, for the elite+r8247 decoder you would have to add sublib="elite" and swtime="1000"). The swtime parameter determines how long the software waits between switch commands (in ms), to give the capacitors in the R8247 time to recharge. You can find a version at revision 3580 in the nightly build section. Check out this one and experiment a bit with the swtime (in my case a value of 1200 worked ok).

Hope this helps a bit.

Best regards,
Ronald

Ol_Nick

Post by Ol_Nick » 13.06.2009, 10:43

Is there any update on this ? Just to add fuel to the fire, I'm getting unreliable points operation using an ORD-1, ESU SwitchPilot decoders, and a separate 15V DC supply (4 Amps) for the points. I was beginning to think that it was the Hornby solenoids at fault, but now I'm not so sure ? When the points fail to work, you can't even hear them trying.

ron&bram
Posts: 2460
Joined: 11.06.2008, 19:34
Location: Heemskerk, Netherlands

Post by ron&bram » 13.06.2009, 20:25

Hi Nick,

When you are in doubt that your switch commands are actually send or not, you could try yhe following:

remove the switch motor from the ESU switchpilot and attach two leds instead (normally the common output is the plus, the longest leg of a led is also the plus, put a 1 kOhm resistor in series with the plus) in such a way that you can clearly see the leds from behind your computer. Now just activate the thurnout that the leds are attached to over and over again. When the leds blink everytime the problem must be in the switch motors, when not, then maybe the switch commands get destroyed due to noise on the digital circuit. In that case you could try it with only the one switchpilot attached directly to the ORD-1 (I myself have a seperate digital circuit, fed from a seperate booster, for the switch decoders, to prevent noise coming from bad contacts/micro short circuits from the trains driving or so).

Best regards, Ronald

Ol_Nick

Post by Ol_Nick » 13.06.2009, 22:26

Thanks Ron - I'd been thinking of doing something like that. It's strange, sometimes you get no point action at all, and the next time the point works perfectly. Because I'm still building my layout, the points maybe don't get switched so often ?

Post Reply

Return to “Hornby Elite”