Announcement

Collapse
No announcement yet.

Motor Capacitors

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cdub
    started a topic Motor Capacitors

    Motor Capacitors

    What is the best practice around adding capacitors to suppress electrical noise from motors in scratch built cars?



    I ask because I've been working on an Arduino based lap counting system, and I've noticed that the cars I have with no caps cause major problems with the timing system (the EMI causes the system to count extra laps).



    Has anyone else experienced this?



    For proxy races, do you go ahead and put them on? Or, if you run a proxy race do you require people to have them?

  • HO RacePro
    replied
    I notice that the external wiring is not shielded. It may not be the problem, but let's suppose it is.

    The simplest and cheapest way to prevent wiring acting as an antenna is to use 'twisted pair'. That is to twist your signal and ground wires around each other. When I make a twisted pair I'll clamp one end of the wires into a bench vise and chuck the other end into an electric drill. Holding the wire taut, a couple of seconds of rotation is all that is needed to produce a nicely twisted pair.

    As shielding goes, twisted pair is remarkably effective. But do make sure your 'ground' wire is actually grounded.

    The next step up is shielded cable, where your wires are threaded down the center of a wire braid. Said wire braid is grounded, ideally completely isolated from all other wiring. Usually the braid is enclosed in a flexible insulation, but that isn't completely necessary.

    You can do twisted pair inside a braid shield. That is getting pretty serious.

    After that comes coaxial cable. I'm very sure that would be excessive in your application.

    Ed Bianchi

    Leave a comment:


  • HO RacePro
    replied
    I notice that the external wiring is not shielded. It may not be the problem, but let's suppose it is.

    The simplest and cheapest way to prevent wiring to act as an antenna is to use 'twisted pair'. That is to twist your signal and ground wires around each other. When I make a twisted pair I'll clamp one end of the wires into a bench vise and chuck the other end into an electric drill. Holding the wire taut, a couple of seconds of rotation is all that is needed to produce a nicely twisted pair.

    As shielding goes, twisted pair is remarkably effective. But do make sure your 'ground' wire is actually grounded.

    The next step up is shielded cable, where your wires are threaded down the center of a wire braid. Said wire braid is grounded. Ideally completely isolated from all other wiring. Usually the braid is enclosed in a flexible insulation, but that isn't completely necessary.

    You can do twisted pair inside a braid shield. That is getting pretty serious.

    After that comes coaxial cable. I'm very sure that would be excessive in your application.

    Ed Bianchid

    Leave a comment:


  • RichD
    replied
    That is certainly a very professional looking unit that you built. At this point I am almost convinced that your problem is RFI interference and that is going to be difficult to eliminate short of putting filters in all of the cars.
    I saw the way you tried to shield your electronics, but you had to leave various holes in that. As an aside back in 1984 my company was interested in RFI shielding and we had all of the equipment needed to test for that. I did not work on that project myself and in any case it was cancelled before it really got off the ground.
    Going back to an earlier post you should try my recommendation of moving the unit away from the track where the RFI would be much weaker just to be sure that RFI is the actual problem. I have had the sad experience of trying to eliminate a problem that did not actually exist.
    Last edited by RichD; 11-24-2018, 08:41 AM.

    Leave a comment:


  • HO RacePro
    replied
    It is possible to have power on the dead strip, but the power source needs to be isolated. The easiest way to do this is with batteries.

    You don't need to supply full track voltage -- typically 12 volts DC -- and you probably shouldn't anyway. You just want enough power that a car placed on the dead strip will roll and move clear of it. Three volts may be enough. Six volts certainly.

    Of course this impacts the design of the detection circuitry. The solution is left to the student as an exercise.

    Ed Bianchi
    Last edited by HO RacePro; 11-23-2018, 04:14 AM.

    Leave a comment:


  • Cdub
    replied
    As far as the configuration of the actual track rails, I was using the "inline" style as opposed to the "split rail". I had some basic circuit protections like the Zener Diode on the line going to the Arduino input, for example. So, one piece of rail was tied to the Arduino Ground and the other was tied to the input. I was having no problems with detecting the cars going by. The problem I was having was falsely detecting a car in the other lane. So, for example if you were doing a system for a one lane track, all of this would have worked marvelously.



    As far as having the Arduino operate the track power, yes the intent would be to stop and start the race clock as well. I doubt the code to do this would add enough to the loop time to measure (less than 1 mS).

    My track is a Carrera Go 1/43 plastic track, running mostly standard Carrera Go cars. The layout is pretty tight and fits on a 4x8 sheet of plywood. 10 mph would be flying on my track.



    In the above picture, the all the red bits are just wire splices I used for the deadstrip track piece that I made. I just solder wires to the rails that are around 6" or so long. Then I make up leads to the legnth required to get to the timing box. For this iteration, I just spliced them together. I'll go back and solder and shrink wrap them at some point.

    The little extra "box" on the top side of the timing system houses a votage regulator. My original intent was to run the timing system on track power, but the noise was too great. I moved the regulator out of the main box to see if that would help but it didn't.

    I'm convinced the "right" way to do this is with the interrupts. The "cheap" way to do it is what I described earlier about simply adding some logic to only update the LCD inside the min lap time window for both lanes (or once the race had ended).

    I have most of the bits on hand to build a second system. As I've mentioned before, there are several things I'd do different. I may try to make a "split rail" and see how that goes. My son had a friend over this weekend and in the midst of the racing they both had issues with wanting to put their cars right on the dead strip. Having the car still be powered while also creating a longer "detection area" would have it's benefits. I'll ditch the power regulator and just pan on providing a dedicated 5V wall wart power supply for the timing system.

    Leave a comment:


  • HO RacePro
    replied
    A car going 10.5 feet per second would cross your 3 inch dead strip in less than 24 milliseconds. In my book that is not a "really fast car".

    Your idea of waiting to update the LCD until both cars are clear of the dead strip could work, but you'll need to do timing in the background, which may put another strain on your computing power.

    I've been trying to think of a good way to address this issue, but I'm drawing a blank. Maybe some kind of latching relay or flip-flop circuit could help, but I'm not sure how to implement it.

    Ed Bianchi

    Leave a comment:


  • RichD
    replied
    You are not alone in having trouble posting.
    If it was me I would not bother having the Arduino board operate the track power relay, I don't see anything to be gained by doing that unless there is a way for the Arduino to also control the length of a race. With my old system the length of a race or a heat was set on the timer, if there was a track call the timer would be stopped and the track power turned off until a green button was pushed.
    You mentioned inline dead strips, but I am not certain which style you were referring to. There are two types included in my article https://drive.google.com/open?id=1ax...P8U1MTsd0fb65F
    I have never run on a track that used either type. I proposed the first type in a post a number of years ago and a reader actually built those. He reported that the gap between the segments had to be narrow, but he seemed to be satisfied with how they worked. The second type has been used in England for some time.

    Leave a comment:


  • Cdub
    replied
    Guys, thank you for all of the conversation and input on this topic. Just having someone to talk to about a project like this provides motivation.

    A small update. After trying a few more things that didn't work, I came to the conclusion that the combination of using the interrupt method of software in combination with the inline style of deadstrip was never going to work robustly with the range of cars (that all have different brushes) that I want to run. Basically, you have to filter the signals for both lanes so much, that it is difficult to pick out the real laps from the noise. You can do it for some cars, but it's difficult to do it for all cars. I'm not saying it can't be done, anything can be done, but the amount of trial and error work it was going to take was beyond what I am willing to invest.

    So, I ditched the inline dead strip, and I ditched the interrupts. My loop time when I'm not writing to the LCD is 2 mS. When I'm writing to the LCD its 24 mS. I write to the LCD every half second. My deadstrip is about 3 inches long, maybe a little over. There is some small risk that a really fast car could hit the dead strip at the exact instant of an LCD write and get missed. There are a few other "outside chance" interactions with the deadstrip and the LCD, but I'll deal with them if they happen. I am thinking of a strategy where I only update the LCD when both cars are in the window of time less than the minimum lap time.

    Knowing what I know now, I want to make a second version of the system. My driver's stations have call buttons that are just wired in series with the track power. I could rewire them as inputs into the Arduino and then have the Arduino control a relay for the track. I'd have have to put some thought into how to wire it such that the call buttons would work without the timing system present too, as I like having the option of just plugging the track in and running with nothing. I also purchased an Adafruit NeoPixel variable LED strip. It would be cool to make a little starting light tree and have a starting sequence, complete with control of the track power.

    Over the holiday, my son and I will be doing some racing, so I should have a good chance to really shake everything down. I'll get some pictures of the full setup and post them this weekend.

    I'm having a very hard time posting to the forum, so it may be a bit.

    Leave a comment:


  • RichD
    replied
    If I remember correctly I got the outlet that I have on sale at a drug store for about ten bucks, the brand name is Enhance. There are probably dozens of similar units for sale and I'll bet that many of those actually come from the same factory.

    Leave a comment:


  • HO RacePro
    replied
    The wireless outlet power control device I bought has no brand markings on it, so I can't tell you who made it. Just for reference I found one on Amazon that is well reviewed, but I have no personal experience with it.

    https://www.amazon.com/Wireless-Fosm...ustomerReviews

    The only issue I have using my unit as a wireless 'track call' button is that it is heavily 'debounced'. If you just quickly stab the button it may not cut the power. You have to hold the button down for maybe a quarter of a second before the unit believes you're serious.

    Once you've used the button a few times you get the hang of it, and there's no problem. There may be other units on the market that are more responsive, but I don't know of one I can recommend.

    Other than that, the unit works reliably and seems to be a good solution. A number of folks have used it with no other complaints.

    Ed Bianchi

    Leave a comment:


  • RichD
    replied
    I mentioned earlier that I built a track call system for my track, there is an article on that here: https://drive.google.com/open?id=0Bz...I4OWU1MWZkMzI4
    Since I have two control boxes each with an On and an Off button and the boxes are on extension cords they can be placed anywhere around the track, including at the driver's stations. I did a race where we only had four people, so one box was located between the lane 1 and 2 positions and the other one was located between the lane 3 and 4 positions. That worked out very well. With a computer based system the same button can stop and restart the race, so if two drivers happened to hit their button the pause would be cancelled. With my two button system that is not a problem.
    In many cases you would have a person on the button and Ed found a much simpler way of doing track calls. He has the GrayLab timer plugged into a remotely controlled outlet and the race controller holds a key fob unit with an on and an off button. Units of that sort were not commonly available at the time that I built my system or I could have saved myself some trouble.

    Leave a comment:


  • HO RacePro
    replied
    I too have a TrikTrax lap counter/lap timer, and a Graylab timer to control track power. While they lack the whiz-bang features of computer-based race management software, they are pretty much bulletproof. You do have to remember to reset them after each heat. Otherwise they work simply and simply work. Something that, sadly, cannot be said for computer-based systems.

    It is unfortunate that the TrikTrax units are no longer made. If you are persistent you may be able to score a used one on eBay. Nothing wrong with used. Did I mention they are bulletproof?

    If I wanted to gin up a replacement for my TrikTrax I'd go directly to eBay and buy up a bunch of electronic timers and counters. I'd make a panel with the appropriate number of holes, mount 'em up and wire 'em up. I'd probably include capacitors on the counters. I have little doubt the system would work and be reliable.

    And I would continue to use dead strips. See above comments about things bulletproof and simple. Stone-axe simple. Simple good!

    Ed Bianchi

    Leave a comment:


  • RichD
    replied
    After I built my track using dead strips I bought a TrikTrax unit that toggles between counting and timing.

    That unit has all of the necessary safeguards built in, so guard strips are not needed. I used the TrikTrax for a number of years for formal races along with a GrayLab timer. We were running with track calls and those had to be done by flipping a switch on the timer. Lane Rotations were managed using paper forms. Eventually I built a pause control system with a couple of boxes on extension cords and red and green power indicator lights.
    https://drive.google.com/open?id=0Bz...I4OWU1MWZkMzI4
    Now I have a laptop computer with Trackmate, but the TrickTrax system is still in place as a backup.
    As I mentioned earlier I have no direct experience with an Arduino board, the schematics that I included in the article were found in several BB posts.
    If you were to do formal races with lane rotations on your track a computer based system is really the way to go. The joy of Trackmate is that you hook it up and it works. One nice thing about computer based systems is that they save your best lap time. Obviously there are still plenty of people that want a freestanding system. There is not much out there with respect to that and sadly the TrikTrax has not been sold for a long time.
    It would be great if you could get the bug out of your system. You could write an article on it, even if it is not perfect right now and issue an updated version if you find a fix. There have been ten revisions of my dead strip article.

    Leave a comment:


  • Cdub
    replied
    Motivation on this project is a funny one. I wanted more than a lap counter, as in I wanted some basic timing functionality too. If I just wanted laps, I'd have been okay with the mechanical clicky counter.


    However, I didn't want to have to hook a computer up to the track either. I like slot cars because there is no computer, no screen, no swiping. I like the analog aspect of it. You plug it in and pull the trigger. No software updates, no wifi password, no software drivers and comm ports to fiddle with.


    I'm okay with a notepad and pencil for data collection, so I just need the timing.


    I've done a few Arduino projects before, and this seemed to be pretty straightforward. Honestly, I thought the LCD and the menus would be the hard part for me (as I hadn't done that before).


    I have experimented with a few more things the last couple of nights. I hadn't seen the Race Coordinator software before, nor any of their documentation. I took a look at their stuff and indeed they recommend doing it the smarter way. That is they are using light sensors and analog reads. They are getting tons of "debounce" and interference rejection for "free" by doing that. I may very well follow suit and make a version of my software to take the same approach.


    The circuitry described in the deadstrip wiring pdf is interesting. Schematically, what I had been doing was similar, but I was using much lower values for the resistors (R1 = 1000 and R2 = 0). As I mentioned I had tried several capacitors as well. So, I dug through my electronics box and set mine up the way that document shows. It isn't clear if you are supposed to configure the input with the internal pullup resistor or not. Since it appears the dead strip is grounding the GPIO pin I tried it with the pullup resistor on. I couldn't get it to count any laps this way, even bridging the gap in the strip with a screw driver.


    Of all of the things I've tried, the best performing has been to use a pull down resistor on the GPIO pin, and then run Vcc out to the "dead strip" and feed that 5 Volts into the GPIO at the strip. Again, I'm using the inline stirp configuration so one brush is simply bridging a small gap.


    In this configuration, the entire GPIO leg is attached to ground through a 1kOhm resistor. The other leg is tied to the output of a voltage regulator. Even with this configuration, I still had to put every ferrite choke I could fit on every single and power wire in the system. But, this was far and away the most robust configuration I've tested.


    However, I really don't like having the Arduino 5V supply just hanging out exposed like that. it wouldn't take much to accidentally ground it out and potentially damage the controller.



    FYI, another thing that isn't obvious from the pictures is that the board I'm using to tie everything together is a through hole protoboard that has all the traces in it that a breadboard has. It's pretty convenient when you are soldering things up, as you can take your breadboard design and just transfer it to the circuit board and solder everything in place. In reality, all of those traces in the PCB are just antennas, further aggravating my EMI issues.



    This whole thing has been wildly educational, if a bit painful.

    Leave a comment:

Working...
X