Help Arduino Decoder Problem with DCC++

miguelcarmor Jan 14, 2018

  1. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    I imagine you have all you need to have the job done if you use JMRI to pilot a DCC++ base station and have build a monitor : you can watch what JMRI send on the tracks when commanding RGB LEDs. Perhaps there something in the Help. (there is a video on youtube - where ?) and then adapt the decoder to interpret the accessory codes. Certainly easier to say than to program it. Did you try google to see if anyone has already worked on this ?
     
  2. drken

    drken TrainBoard Member

    344
    200
    18
    Well, I'm running Digitrax and JMRI, so I also have a LocoNet info to work off of. But there's a difference between that and knowing what variables to use to find if an address is on or off, that's a library specific thing. I just needed to get a working decoder to reprogram and now I have one. Technically it should be no different than an accessory decoder set to on/off for all pins. It's a simple matter finding the line where it turns on an LED and replacing the digitalWrite() function with one I've written myself to display a particular pattern. I haven't had the time to sit down an finish it, but I have the rough draft of a sketch that transforms an accessory decoder sketch to do what I want using the DCC_Decoder library. I've also had some discussions with Ian from dccinterface.com who has sells a completed circuit board based on the Dave Falkenberg schematic. He may have better luck with it than me. I've also purchased a few of his interfaces so I'll report here how well they work.
     
  3. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    This thread began about the fully DIY and free solution DCC++ which separates clearly the command (JMRI or throttles or DCC++ Controller) and the booster (DCC++ Base station). Between the two there are simple Ascii strings which can be monitored with the serial monitor of the Arduino.
    You have a presentation of DCC++ here :
    https://github.com/DccPlusPlus/BaseStation/wiki/What-is-DCC--Plus-Plus
    The decoder I made is the one of Rudy Boer (interface to DCC with mynabay/Dave Falkenberg schematic)
    https://rudysmodelrailway.wordpress.com/software/
    I made a confusion when I quote a youtube presentation of a command of RGB strips. In fact it is that of the DCC++ Controller. It must be easy to monitor (serial monitor of arduino) the strings used for this.
    See at the last quarter of the video :

    Note that you can make a booster (DCC++ Base station) with an Arduino UNO and a motor shield fed by a 12V 2A supply for some dollars. No soldering, worth to try ?
    DCC++ was developped by Gregg E. Berman. And he will never be thanked enough for that.
    Sorry but I can't help on commercial items as I don't own any.
     
    miguelcarmor likes this.
  4. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    Hi Miguel,
    another issue I met : when the circuit is connected directly to a booster it may not give any output. This is corrected by putting a loco on the tracks or a small capacitor (once more) between the rails (from 330pf to 0.1µF to my experience)
     
    miguelcarmor likes this.
  5. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    I’m anxious for my loco to arrive and sort this thing out


    Sent from my iPhone using Tapatalk
     
  6. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    Hi all,

    I don’t know what else to do. We’re is a video with a small setup. A few tracks, one loco, DCC++ base station, JMRI, DCC decoder from Ian at DCC Interface and one Arduino with DCC monitor sketch.

    You can see on the video the loco receiving commands, going forw, back, accelerate and stop... and the DCC monitor keeps telling zero packets.

    Any idea, anyone?

    Thanks

    Miguel

     
  7. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    By now I am using a V2 version as attached. The timings are sensitive and it is wise to do not modify the sketch.
    Which one do you use ? Perhaps a question of library ?
     

    Attached Files:

    miguelcarmor likes this.
  8. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    I'm not using v2. I'm using v1 and I didn't change the sketch.

    Tomorrow I will use v2 sketch and I'm going to solder the interface wires directly to the track, near the base station connection.

    Ian, from DCC Interface is going to send me huis sketch test based on NMRA Library.

    Finger's crossed. I can't wait to test my turntable aparatus :)
     
  9. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    Eureka...

    If I put my finger on both tracks every sketch works :)

    So I think i really need the 270pf capacitor between track's
     
  10. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    Problem solved. It really need the ceramic capacitor 270pf between the tracks. Now I don't have more excuses and I need to finish the code of my DIY turntable :)

     
  11. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    Very please that you solve your issue.
    You must have the most capacitive (should I say capable) finger of the all forum !

    Three photos just to show how I built an autonomous assembly for monitoring DCC :

    1. compact DCC interface with some SMD components soldered on the pins of the 6N137
    2. In box monitor with power bank feeding arduinos via USB
    3. Box open with arduino UNO 2.4 TFT shield + Pro mini as decoder - interface on previous photo and Base Station
    Sketches : sniffer v2 (in a previous message) and monitor2.zip (.ino+library) attached
     

    Attached Files:

    miguelcarmor likes this.
  12. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    Hi Michel,

    I had a minor surgery and the trains were left behind. Now, that I can seat on a chair, I was catching up and I have a question regarding your DCC Monitor. Why 2 arduinos? Or I misunderstand something?

    My several failed attempts on building the DCC monitor circuit were caused by faulty optos. I have more than 40 optos bought on 2 occasions and so far I discovered more than 20 broken ones... China cheap slow boat and poor quality control :)

    Miguel
     
  13. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    Hi Miguel,
    nice to have good news.
    I had also faulty optos, but I wonder if it was not because of hasardous testing, it is very easy to touch two pins together when mesuring anything. You can test an opto very easily with a 2032 battery, even used (they cannot deliver more than some tens of mA, so no risk in short circuit, you can try it on any LED) :
    You put the battery +/- to the LED and put an ohmmeter (multimeter) on the transistor side, try both polarity. If the opto is good, you go from overrange to some kohms. It certainly worth to retest faulty ones.
    For your question, yes, there are two arduinos, because the sniffer has very touchy timings, and driving the display is heavily time consuming. The two functions must be separated. The sniffer delivers ascii codes on its serial output which is connected to the serial input of the arduino bearing the 2.4" shield. (both at 38400b). Connections are sparse, and all fits in a 100x60x25 mm box.
     

    Attached Files:

    miguelcarmor likes this.
  14. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    Thanks Michel,

    the 2.8" 240x320 TFT LCD Display Touch Screen Module SPFD5408 w/ SD TF Slot For UNO is on the slow boat :)
     
    Michel Goyard likes this.
  15. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    Hope it won't take too long !
    I see on your video that you use the JMRI WiTrottle. I had a problem with the Firewall of Windows and basicaly I shut it off to have Train Driver working. Then, I tried different rules. It seems that under W7, I had to set decoderPro.exe for public access (box ticked) in the Fiewall for this.
    For W10, I add, maybe, four rules and now I do not know which one was the good one. Did you make it more cleverly ?
     
  16. miguelcarmor

    miguelcarmor TrainBoard Member

    32
    17
    8
    I’m afraid I can’t help with that. I have 2 systems:

    - win 10 and android phone is my main system (train speaking) but is on a private network without internet connection, only train related stuff;

    - on occasion, for testing purposes, I connect the base station to a MacBook Pro on the main network router.


    Sent from my iPhone using Tapatalk
     
    Michel Goyard likes this.
  17. Michel Goyard

    Michel Goyard TrainBoard Member

    37
    26
    8
    Anyway thankyou, I will go on on a trial and error basis ...
     
  18. Rich McClure

    Rich McClure New Member

    9
    0
    1
    Hi all, New to TrainBoard and DCC++
    I know this thread is older but am having the same problem with trying to get a Ruud Boer decoder to respond while loco's have no problem. I have 5 decoders that operate with no issue with my Bachmann Dynamis but no response on DCC++. I tried adding the capacitor, with and without a loco on the track, changing address's in arduino and nothing. I'm not sure if I am completely missing something in setting them up or what. Any Help will be appreciated.

    Thanks
    Rich
     
  19. Pieter

    Pieter TrainBoard Member

    152
    46
    10
  20. Rich McClure

    Rich McClure New Member

    9
    0
    1
    I will check it out
    Thanks Pieter
     

Share This Page