¿ªÔÆÌåÓý

Locked Turntable


 

Hi. Please can someone help.I have a few issues..
1) I have a 4 ray turntable on my layout. Each ray is allocated one of? 4 DCC turnouts . If I set turnouts to "closed" in the edit turntable dialog, clicking each ray on the layout panel will close any (manually) thrown turntable turnouts will not return the other rays to thrown and vice-versa.?

2) Once created I cannot seem to delete turnouts, sensors or signal heads.?

3) I'm also getting errors when opening the layout. It can't create a turnout (now renamed)??

Many thanks for reading.

Using Win10? JMRI V 4.10+R419243e DCC++ Arduino mega,?
I am sending JMRI turnout states to the DCC++ Arduino Mega I/O pins and then onto my own arduino pro mini driven servo modules. The turntable uses a stepper motor driven by a separate arduino pro mini. All other turnouts work as expected.


 

Tackling some of the more obvious issues, in the reverse order.

Using Win10 JMRI V 4.10+R419243e DCC++ Arduino mega,

Please update to JMRI version 4.10. It is difficult to sift through problems with outdated versions, and 4.10 had several issues we would rather not have to revisit.

Also, check to see that your Java is up to date.

3) I'm also getting errors when opening the layout. It can't create a turnout (now renamed)

Either open the JMRI System Console using the menu item Help -> System Console... and tell us what error messages you are seeing, or better, open the file named "session.log" found in your JMRI\log folder and copy that text at the end of your next response.

2) Once created I cannot seem to delete turnouts, sensors or signal heads.?

This may require further investigation, but the information in the error messages may provide a lot of clues.

1) I have a 4 ray turntable on my layout. Each ray is allocated one of? 4 DCC turnouts . If I set turnouts to "closed" in the edit turntable dialog, clicking each ray on the layout panel will close any (manually) thrown turntable turnouts will not return the other rays to thrown and vice-versa.?

Saving the most difficult to analyze via long-distance until we get most of the other noise out of the log and can get a cleaner description of the context.

Cliff in Baja SoCal


 

¿ªÔÆÌåÓý

I think you mean update to 4.12 since 4.10 had all the problems.?

Jim



On Jul 28, 2018, at 4:07 PM, Clifford Anderson <cliffaa@...> wrote:

Tackling some of the more obvious issues, in the reverse order.

Using Win10 JMRI V 4.10+R419243e DCC++ Arduino mega,

Please update to JMRI version 4.10. It is difficult to sift through problems with outdated versions, and 4.10 had several issues we would rather not have to revisit.

Also, check to see that your Java is up to date.

3) I'm also getting errors when opening the layout. It can't create a turnout (now renamed)

Either open the JMRI System Console using the menu item Help -> System Console... and tell us what error messages you are seeing, or better, open the file named "session.log" found in your JMRI\log folder and copy that text at the end of your next response.

2) Once created I cannot seem to delete turnouts, sensors or signal heads.?

This may require further investigation, but the information in the error messages may provide a lot of clues.

1) I have a 4 ray turntable on my layout. Each ray is allocated one of? 4 DCC turnouts . If I set turnouts to "closed" in the edit turntable dialog, clicking each ray on the layout panel will close any (manually) thrown turntable turnouts will not return the other rays to thrown and vice-versa.?

Saving the most difficult to analyze via long-distance until we get most of the other noise out of the log and can get a cleaner description of the context.

Cliff in Baja SoCal



 

Good catch Jim. 4.12 it should have been. I need to proofread my notes more carefully.


 

Brilliant! After upgrading to 4.12 I don't get error messages and Ican delete unneeded turnouts and signal heads.?
Thanks for that. I'm still having turntable issues.
Essentially, I can't get the turntable turnouts of any previously selected ray to revert when a new ray is selected.?
It's quite possible I haven't set it up correctly the window help is unclear and for a previous version. This is what I did in the order I did it.:

  1. [edit layout panel] inserted default turntable
    (actually I had a non DCC turntable which I deleted and replaced with a DCC one ensuring the track lines were connected correctly
  2. [turnout table] utilised and renamed 2 existing and created 2 new turnouts (all DCC++} and set to "closed"
    user names: Turntable 1 (17), Turntable 2 (19), Turntable 3 (23)? & Turntable 4 (24).
    sys names:? DCCPPT1017, DCCPPT1019, DCCPPT1023 & DCCPPT1024,
  3. [Edit Turnout] set turnout feedback to BSOUTPUT on all 4 with 1 attempt (no repeat attempts)
  4. [DCC++ configure base station ] set unique Arduino output pin to on DCC++ base to system address for each turnout?
    ?1017 to I/O38, 1019 to I/O42, 1023 to I/O50 & 1024 to I/O52. (not sequential due to hardware wiring).?
  5. [edit layout panel] [Edit Turntable] selected? these 4 turnouts from drop-down box to? turntable rays. Set state = "thrown".
  6. [layout panel] clicking ray 0? causes the turntable icon to animate as expected, - diameter line rotates to clicked ray point
    turnout "Turntable1"? state changes from "closed" to "thrown" IO pin activates (confirmed by LED at present)?
  7. Clicking ray 1? causes Turntable2 to change from "closed" to "thrown" but "Tturntable1" remains "thrown"? LED for Turntable1 remains lit
  8. Clicking rays 2 & 3 do the same thing. Each turnout is thrown and remains thrown.?
  9. Clicking ray 0 will animate icon but Turntable 1 remains thrown. I can set it to closed from the turnout table but not from the icon.?
[url=https://postimages.org/][img]https://s25.postimg.cc/6p0kwyrgf/Capturett.png[/img][/url]
This should be a pic. - I've never tried this before.
I have tried setting up routes to close? turnouts on remaining 3 rays if any individual ray is clicked, but this just rotates the turntable icon.
?
Any ideas?
Thanks in anticipation.





 


 

Without any DCC++ hands-on experience, and very limited DCC Turntable experience, not all of what you wrote makes it through to me.

Can you watch the JMRI System console and the DCC++ Traffic Monitor with both the "Show raw data" and the "Show timestamps" turned on? Even better, use the "Choose log file ..." and "Start logging ..." features.

Together, these should give you a better idea as to what the DCC++ is trying to do or not do with each of the actions you describe. With that kind of information, you should be able to narrow the investigation focus.

There are ways to turn on more Debug logging messages to the JMRI System console window, but someone with more DCC++ experience will need to help out. My experiences with verbose LocoNet chatter will not help you in the slightest.

By the way, you can also upload images and files to this groups.io account and avoid sharing the strange adds, .

It may be necessary for you to upload your panel .xml file for someone to dig into what you have done, but hold that thought until you get someone else to help here.
Cliff


 

I believe what your experiencing with the turntable in JMRI is expected behaviour (intentional or not). I have a turntable on my layout panel but no physical equivalent as yet. I find the same thing with the turnouts. From experimentation I have discovered the JMRI TT operates by change of state not by the turnout getting thrown. I found a turntable hack in the JMRI files section that uses logix to close all turnouts on the turntable when a road is selected and throw the relevant one
(?/g/jmriusers/files/ProblemsBeingWorkedOn/WaltsStuff/JRMI%20tricks/TurntableHackWalt.xml?).

I don't know if this behaviour is intentional or not. Neither do I know what effect closing the turnouts at once will have on the DCC operated turntable

hope this helps

John


 

¿ªÔÆÌåÓý

I built a turntable using JMRI. The interface to the layout is an SMINI using CMRI boards. I use all turnouts and routes to control it, not the TT built into JMRI.?

I will be at the NMRA next week and will cover it along with other devices in ?Clinic on JMRI and CMRI. If you are going to be there look me up.?

Jim



On Jul 31, 2018, at 8:29 AM, john Wragg <teamwragg@...> wrote:

I believe what your experiencing with the turntable in JMRI is expected behaviour (intentional or not). I have a turntable on my layout panel but no physical equivalent as yet. I find the same thing with the turnouts. From experimentation I have discovered the JMRI TT operates by change of state not by the turnout getting thrown. I found a turntable hack in the JMRI files section that uses logix to close all turnouts on the turntable when a road is selected and throw the relevant one
(?/g/jmriusers/files/ProblemsBeingWorkedOn/WaltsStuff/JRMI%20tricks/TurntableHackWalt.xml?).

I don't know if this behaviour is intentional or not. Neither do I know what effect closing the turnouts at once will have on the DCC operated turntable

hope this helps

John


 

Hi. Thanks for the heads up.
I'm still near the bottom of the learning curve and I think I need to grasp some more basic principles before getting into logix. I may revert to the non-DCC layout panel? turntable and place internal sensors on the ray points and? sort it out using routes.? I would be interested to know what you mean by '..,change of state'? rather than the 'turnout getting thrown'. How does the instruction to change state get onto the DCC bus? a CV code change?? If I can work out how to 'import ' the XML file I'll give the Turntable hack a try as you suggest.
Many Thanks.?


 

Thanks Cliff.

I seem to have lost my reply in the ether. I will try as you suggest and see if I can track down what's happening. The strange behaviour seems to be unrelated to DCC++ as it can be demonstrated within JMRI.? Turntables are created in the same way as crossover turnouts, but for each turnout, once thrown it can't be closed. It's doing something as the icon changes but the status of each turnout in the turnout table stays the same, irrespective of the turntable position.

DCC++ is just a DCC system built around the Arduino "Uno" or "Mega" Microcontroller. It's entry level digital electronics for the hobbyist and works like Lego. You build up your project by adding module 'bricks' on top of each other. It's really cheap and the GNU 'free' software is very good (you don't need to know how it works)? Because Arduino is a popular platform there are many OEM / unbranded? Arduinos out there and tons of support, so? for around $10 you're up and running. As only a fraction of the hardware is needed for DCC, the {brilliant} author , Gregg E. Berman has included the facility to use the 60 or so unused pins on the Arduino Mega and around 12 pins of the "Uno" as inputs for sensors and switches or outputs for turnouts or lighting. So in effect it is also a 60+ channel stationary decoder. JMRI includes facility to allocate DCC addresses to these pins. they are only signal level so they will need some sort of driver or relay? to control anything more than an LED.? There's no CVs they are just on or off. Of course, the DCC++ controller can send track signals to conventional decoders too. I've never used a conventional DCC system so it's difficult for me to compare. It works for me.
Cheers Steve??


 

Thanks James.
I would love to visit NMRA. Unfortunately Kansas is several thousands of miles away from me here in the UK, and unlike Dorothy,? I don't have a pair of sparkly red? shoes to click heels together ;)? I've never considered CMRI, I will have to find out more. Good luck with your clinic!
Cheers

Steve


 

Hi Steve
By change of state I mean it operates the turntable either by the relevant turnout being thrown (from closed position) or closed (from thrown position). I would imagine that the same code is sent from JMRI to the DCC. ( I checked this on my NCE log and the same message gets sent out - I have an NCE system attached to JMRI)
You can see? how it works if you first click on a turnout to move from closed to thrown and the turntable will moves to the respective spur. Click on a second turnout to move from closed to thrown and the turntable should move to a different spur. Now click on the original turnout to move from thrown to closed. The turntable will move back to the original spur. However if you use the turntable ray to move the turntable the turnout gets set to the thrown position. subsequent selection of the same ray doesn't change the turnout. It does however send the correct commands to DCC. A bit confusing i know

It really depends on how you are going to use the turntable. If you are manually changing to a different track by clicking on the ray,? it probably doesn't matter what state the turnout is in as they don't exist on your layout. It will only matter if your using the turntable in a transit or route. If you need the turnouts to work sensors then logix is the easiest and cleanest way

In terms of importing the turntable hack you will need to download it from the site. It is a panel in it's own right and can be opened from within panelpro

Happy to help further if you need. I'm afraid I have spent some time getting my turntable to work in a virtual environment and so have come across some of the quirks

BTW where in the UK are you?

John





On Wed, 1 Aug 2018 at 00:55, bluetobits <steve.lomax@...> wrote:
Thanks James.
I would love to visit NMRA. Unfortunately Kansas is several thousands of miles away from me here in the UK, and unlike Dorothy,? I don't have a pair of sparkly red? shoes to click heels together ;)? I've never considered CMRI, I will have to find out more. Good luck with your clinic!
Cheers

Steve


 

Hi Steve
A postscript.
I have just realised the reason for the behaviour of the turnouts as result of me thinking about your issue along with what I am doing. I looked a bit closer at the NCE log
When the turnout is thrown (from closed)? the command is sent to move the turntable in the reverse direction to the ray. When the turnout is closed (from thrown) the command is sent to move the turntable in the normal direction to the ray. At least that is what the NCE simulator is doing.

Looks like I will need to do a bit more digging when I come to build my turntable


 

I've found a workaround that seems to work. I'm sure there's a better way, but I'm still learning!
It may be specific to my hardware, but this is what I've done.
System Hardware:
I'm using a DCC++ base station (Mega 2560 Arduino and motor shield) . JMRI allows the DCC++ Arduino's? abundant output pins to be mapped to turnouts, sensors and lighting.? I built my own 50mm diameter turntable (3d printed)? for my 009 mining layout. It is stepper motor controlled using one of he cheap geared motors and an Arduino. The stepper motor moves the head of the turntable to each of the 4 rays.?Photos??I've made a few changes so some of the panels don't relate exactly to the model. I will be tidying it all up and improving the appearance once the issues are sorted,? The servo motor in the photos lifts a couple of Neodymium magnets that stops a gravity run truck on the turntable and then lowers to release the truck to? continues down the correct siding.? Four momentary push buttons allow manual selection of the desired ray. The hardware panel push buttons are at each ray of the turntable but are under the printed plastic sheet . I connected 4 DCC++ arduino? pins, configured as turnouts in parallel with the manual switches. I am using pull-up resistors so a signal that is +5v (high) is "off" and a grounded signal 0v (low) is "on"., so both the DCC signal and the manual pushbuttons can live happily together without shorting.
The Arduino mini controlling the turntable needs a momentary 0v to trigger a move to a new position (I also have a turn knob for calibrating the positions) so that just leaves the JMRI bit:
JMRI:
I set up 4 internal sensors STT1, STT2, STT3 and STT4? from the sensor table and 4 external turnouts for the turntable rays TTT1, TTT2, TTT3, TTT4. I attached these turnouts to DCC++ arduino pins so that "closed" puts High (5V) and? "thrown" puts Low (0V)? on each pin. (Configure base station on the DCC++ menu on the main Panel Pro window.)
(Each pin connects to the TT arduino mini along with the respective manual ray switch.) I placed a turntable on the layout panel ensuring to uncheck the DCC turntable box
I placed a sensor on each raypoint and made them all momentary.
I then created a route RTT1 triggered by sensor STT1 "active" to set TTT1 to "thrown".? A second route RTT1rel (release) triggered by STT1 "Inactive" sets TTT1 to "closed".
I repeated this process for the remaining 3 turntable rays creating a set and release route for each sensor. Clicking the sensor sends a signal to the respective ray input on the Arduino.
To get the turntable to animate on the layout panel, set up 4 dummy internal? turnouts from the and set the turntable to DCC attaching a dummy turnout to each ray. Ensure the sensor icon is over the control circle of each ray. clicking the sensor also triggers the turntable circle.??
If anyone would like diagrams, BOM, Arduino sketch (software), 3D files (.stl or sketchUp)? ?I would be very happy to post them here. I can even print out the plastic parts? if you cover my expenses, but it is only a 50mm turntable for 9mm peco setrack, and scaling it up won't work!?
My total spend on the turntable has been around ?10 ( $15)? ?not including the DCC++ base station.

@ John Wragg. : Wirral. where are you?.

Steve



 

Opposite side of the country. near Scarborough East Yorkshire


 

Steve:
I think your design and execution of the turntable is great. I have built several specialized stepper and servo CNC machines for my business. I know the thought and effort it takes to do what you have done. I have never used an Arduino before due to power requirements. I especially like your method of lining up the tracks exactly every time automatically. I have been thinking about a turntable control system using steppers for years. Unlike me, you actually designed and built one!

Bill Box