Jump to content

Want to explore NMRAnet? Announcing Railstars Io


CaptOblivious

Recommended Posts

You could use that 4P5t.. but wiring it would be a nightmare... do-able, but unnecessarily complex?

 

I would simply use 2 DPDT, one to select programming/normal DCC and then that feeds in to the second which selects DC or DCC.

  • Like 1
Link to comment

The advantage of something like the Io platform that uses NMRAnet is that it permits control over the outputs from anywhere: Your hand-held throttle, a fascia panel, a second fascia panel, a web browser on a PC on another continent (well, not yet, but soon), etc.

 

True.  I'm not a fan of controlling non-train systems via the track (I use Loconet).  The good point about the AUX-BOX is that it will work with any DCC control system.  The bad point is, as you say, it has a very limited set of capabilities.

 

It's also freaking huge, like 7" (19 cm) across.  For something you'd want to tuck away under a layout, finding a place out of the way could be a problem. And I can't really see from looking at it why it needs to be that large.

 

I'm setting up one siding for testing and programming.  It needs acces to DC, DCC Programming, and DCC Running.  The idea is that I switch to DC to test a newly arrived consist.  Then install decoders and program it on that siding.  Then run it onto the main lines.  Where the siding meets the main lines I was going to have a S140 double isolated at both ends in case I overshoot in my testing. 

 

I haven't done that, but I think it's a good idea.  I like the idea of the double-insulated section in case of an overrun; that last thing you want is to bridge a DC power pack into a DCC command station or booster.

 

As Stevenh said, you can use two DPDT switches, but if you do, make sure they're "break before make" (essentially the same as what you're doing by putting unwired terminals on the rotary switch) to avoid the same "shorting the power systems together" problem.

 

No, I'm not using common-rail return wiring.  I'm using Direct Home Wiring as shown on p5 of the BDL168 manual. 

 

Actually, the way they illustrate it (pg 6) it is "common rail return", it's just not what Digitrax calls "whole layout common rail return".  I think the point Capn O. was making was that you need more than just one connection to the non-gapped rail to ensure you have a low-resistance return path.  It's extra wire, but it pays benefits in power quality and debugging.

 

I like to gap both rails in the same places and put in one feeder on each side (the common ones don't need to be switched; they can all just tie to the bus). That also sets you up for multiple circuit breakers (the PM42 needs to cut both sides) if you want them later.

Link to comment

KenS,

 

Oh sure ... my bus is freakin' big AWG10.  When I was just starting out you guys had a thread going about the resistance in thin wire and N scale rails.  I asked a sparky friend if he had any AWG12 that I could beg-borrow-steal.  He didn't, but what he did have was a couple of rolls of AWG10 for me.  Overkill, I know.  Anyway, the common rail is connected via a star type of pattern every two to three feet.  In fact, every section has connections spaced at no more than three feet.

 

Stevenh,

 

Thanks for your advice.  I get your point on the 2P2T switches, however I also like the idea of having OFF at my finger tips. It gives me the assurance of a dead track while loading and unloading trains.  This would necessitate a third switch ... plus I'd need an extra switch for the isolated section ... seems to be getting complicated.  I'll give it some more thought, but I DO like the 4P5T rotary.

 

KenS again,

 

Do you see any problems programming off the siding with the programming track while other trains are running on the main line?

 

Cheers

 

The_Ghan

Link to comment
CaptOblivious

Here's another thing I'm going to do:

 

I'm setting up one siding for testing and programming.  It needs acces to DC, DCC Programming, and DCC Running.  The idea is that I switch to DC to test a newly arrived consist.  Then install decoders and program it on that siding.  Then run it onto the main lines.  Where the siding meets the main lines I was going to have a S140 double isolated at both ends in case I overshoot in my testing. 

 

I was thinking of a 4P5T rotary switch and wiring up as follows:

 

[table]

 

   

4P5T Position     

   

1         

   

2         

   

3         

   

4         

   

5         

 

 

   

Siding Track

   

DC

   

OFF

   

DCC Program     

   

OFF

   

DCC Run

 

 

   

Isolating Track

   

OFF

   

OFF

   

OFF

   

OFF

   

DCC Run

 

[/table]

 

Has anyone else done this or have any thoughts?

 

Cheers

 

The_Ghan

 

Another plug for the Io system: You can use whatever kinds of inputs you want, really. What Io provides is an array of inputs which are activated by shorting them to ground. I'll need to think about what it would take to wire a rotary switch up to it, but I don't think it would be a problem. The good news is that then you can configure those inputs to trigger any kind of layout event you'd like :D You could even have an emergency  "all off" button that over-rode the switch position.

  • Like 1
Link to comment

Back to the original topic...

 

Don, do you intend on releasing schematics (even via PM) of your current prototype for experimenters who may wish to build-their-own 'base' io to then extend to say a relay board, pwm throttle, etc...?

I'm curious as to how many pins are required for the main CAN interface and, well, just the overall schematics.

 

It'd be cool to have a 'baseline' schematic for any OpenLCB peripherals (cpu, minimal required ports, etc...). Of course, it'd then be expected that the code be edited via the Arduino IDE with the libraries from OpenLCB and... bingo... life is easy :)

Link to comment
CaptOblivious

Steven,

 

You are in luck! The base Io board schematics and PCB layout are available under the terms of the CERN open hardware license for precisely the reasons you enumerate. The files are in EAGLE format, and can be downloaded from the OpenLCB SVN repository (warning! I'm about to go in there and reorganize some things, so links will change) here:

http://www.openlcb.org/trunk/prototypes/hardware/r-io/Eagle/IoFinal20120103/

 

If that link becomes invalid, you can always find it again by starting here:

http://railstars.com/hardware/io/

 

The Io is meant as a reference design for other people to adapt and use as they see fit. The only requirement imposed by the CERN is that any modifications be made available under the same license (it's like the GPL in that way): This ensures that everyone can benefit, and that everyone is contributing back to the ecosystem. Do note that the license certainly does NOT prohibit you from offering boards based on the design for sale! Indeed, this is what the OpenLCB group has done; I have licensed the design to them under the CERN license, and they have had a batch of the boards made up to sell.

 

To answer you question, the CAN interface requires all of two pins. Two more pins are used for on-board button/LED combos, leaving the remaining 48 GPIOs open for your use.

 

Back to the original topic...

 

Don, do you intend on releasing schematics (even via PM) of your current prototype for experimenters who may wish to build-their-own 'base' io to then extend to say a relay board, pwm throttle, etc...?

I'm curious as to how many pins are required for the main CAN interface and, well, just the overall schematics.

 

It'd be cool to have a 'baseline' schematic for any OpenLCB peripherals (cpu, minimal required ports, etc...). Of course, it'd then be expected that the code be edited via the Arduino IDE with the libraries from OpenLCB and... bingo... life is easy :)

Link to comment

Nice, nice and nice...

I can only ask: Is it possible to export to a standard 'open' format as well as the Eagle output files?

The $300 license for Eagle is a little... steep... for a 'Hobbyist' who may want to sell something  :lipssealed:

Link to comment
CaptOblivious

Download the freeware version of EAGLE. You have to hunt a bit for the link, but they have a $0 version for hobbyiests. The Io schematics can be opened and edited with this version!

Link to comment

For some reason I didn't see that 'Eagle Light' contained the Layout + Schematic + Autorouter ...

It is a good deal and I'll definitely look in to it.

 

Now I just need to freeze time and get over this head-cold :) Meanwhile my 81x81cm Table Layout can currently fit 3 2-car KIHA200s... time to segment it up and work out the plan of operation.

Link to comment
CaptOblivious

I've added a new product to the Io line, Io:duino

http://railstars.com/hardware/io/io-duino/

 

Io:duino is the Io packaged in an Arduino-compatible form factor, opening up possibilities through the use of so-called Arduino shields. Shields are hardware modules that can be attached to Arduino and Arduino compatible boards without tools of any kind; There are many inexpensive shields available for motor control (read: train control!), playing MP3 files, controlling relays, and so on. You can find an extensive list of the kinds of shields available here: http://shieldlist.org

 

We expect to start shipping Io:duino units in mid-March, and are now taking pre-orders here:

http://railstars.com/store/#ecwid:category=1314839&mode=product&product=9415197

Link to comment

Nice work... that's exactly what's needed... instead of a shield with the CAN ICs and ports.

 

I've just managed a roll-your-own atmega328p with minimal components controlling a servo switching a Peco point... works really well actually.

Managed to kill a bootloader in the process, but can program one completely and then flash it over to the other. Fun and games.

 

Will have to wait for my CAN ICs to arrive before I can start tinkering with your software ... looking forward to it!

 

As per usual, great work with concept, the product and the website design/marketing!

Link to comment

Don,

 

How do the CAN IC(s)? interface with the microcontrolller? I've attempted to find schematics for interfacing teh MCP2515/2551 that I've purchased, but not much luck.

http://ecomodder.com/forum/showthread.php/obd-mpguino-gauge-2702-18.html was the best I could come up with.

 

Do you have any pointers for interfacing the two? I've noticed on your board that you don't seem to use two ICs for the CAN?

Link to comment
CaptOblivious

Don,

 

How do the CAN IC(s)? interface with the microcontrolller? I've attempted to find schematics for interfacing teh MCP2515/2551 that I've purchased, but not much luck.

http://ecomodder.com/forum/showthread.php/obd-mpguino-gauge-2702-18.html was the best I could come up with.

 

Do you have any pointers for interfacing the two? I've noticed on your board that you don't seem to use two ICs for the CAN?

 

Stephen, the '2551 uses SPI. You'll want the library available in the "CAN" folder, here:

http://openlcb.org/trunk/prototypes/C/libraries/

Link to comment
CaptOblivious

Thanks!

And then I'll mimic the spark-fun connections:

http://www.sparkfun.com/datasheets/DevTools/Arduino/canbus_shield-v12.pdf

 

What MHZ do you run the ICs at on your IO?

 

16MHz. But you should know that OpenLCB is standardized on using RJ45 modular connectors, FWIW. On my home-made shield, I've just broken the CAN_H and CAN_L signals out to screw terminals, and then attached a stripped CAT5 cable to those terminals.

Link to comment
CaptOblivious

For the not-so-nerdy in the room, I've got my first shipment of boards for the Io Developer's Board, and Io:duino in, so those items will be shipping in about a week.

 

More goodies to come!

Link to comment
Martijn Meerts

Finally managed to find some time to sign up for the OpenLCB yahoo group and post an intro and such...

 

Still not really sure how much use I would be as a tester/developer though. Not enough knowledge about the hardware, and not enough time to work on software (unless I stop building my layout, in which case I wouldn't need a digital system in the first place =))

Link to comment
16MHz. But you should know that OpenLCB is standardized on using RJ45 modular connectors, FWIW. On my home-made shield, I've just broken the CAN_H and CAN_L signals out to screw terminals, and then attached a stripped CAT5 cable to those terminals.

 

CAN is functional :)

Next, to work out how you've set filters and masks? I imagine that's part of the unique IDs for your OpenLCB nodes.

http://modelrail.otenko.com/arduino/arduino-controller-area-network-can

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...