Jump to content
 

zephyr9900

Members
  • Posts

    8
  • Joined

  • Last visited

zephyr9900's Achievements

3

Reputation

  1. According to Pololu's website, they have distributors all over the world (with the disclaimer that the distributors might not carry the entiere product line, which might be what you experienced...), as well as shipping internationally from the US. https://www.pololu.com/distributors Randy
  2. I have a small desktop CNC mill (Nomad 883) and have just started to experiment with "trace isolation routing" fabrication of single-sided PC boards. This involves drawing the traces in CAD, and using a small cutter (in my case 0.50mm) to rout the trace outlines just through the copper layer. The turntable driver is my first fully-successful board. It does not have DCC capability (which would be easy to add with a slightly revised board) but my use will be by manually throwing a momentary toggle switch on the fascia. Pins 2 through 9 of the Arduino connect directly across to pins EN (enable) through DIR on the DRV8880, other than SLP (sleep) which I hard-wired to the +5V supply to keep the board "awake" permanently. (I offset the DRV8880 strictly for space requirements so it appears that the pins are off registration.) I am supplying the 5V logic supply using a Power Trends PT5101 switching regulator that I had surplus from an old CNC stepper driver. This supplies enough current that I'll connect it to a bus under the upcoming layout to supply the 5V for the main DCC++ Arduino board. The actual purpose of this post is to confirm that the Pololu DRV8880 board's current scaling does work well. In my simple Arduino sketch, I keep the current at 25% while the turntable is stationary, and immediately before moving set it to 100%, returning to 25% immediately after the movement is complete. Not an earth-shaking development for sure, but a power and heat savings given that the turntable will spend most of its life standing still. For what it's worth, here my code //Prague_TT //Code to turn Prague turntable half a turn with momentary switch actuation #include <AccelStepper.h> #include <MultiStepper.h> const int EN=2; const int M1=3; const int M0=4; const int T1=5; const int T0=6; const int STEP=8; const int DIR=9; const long int target=2000; //steps per half rotation with 5:1 geardown int Stepping= false; //is the TT in motion? AccelStepper stepper(1,STEP,DIR); //define the stepper and the pins it will use void setup(){ pinMode(EN, OUTPUT); //output enable pin pinMode(M1, OUTPUT); //step mode high bit pinMode(M0, OUTPUT); //step mode low bit pinMode(T1, OUTPUT); //current set high bit pinMode(T0, OUTPUT); //current set low bit pinMode(STEP, OUTPUT); pinMode(DIR, OUTPUT); pinMode(10, INPUT_PULLUP); //trigger digitalWrite(EN,HIGH); // enable outputs digitalWrite(M1,HIGH); //put in 1/4-step mode digitalWrite(M0,HIGH); digitalWrite(T1,HIGH); //put in quarter-current mode digitalWrite(T0,HIGH); stepper.setMaxSpeed(9); stepper.setAcceleration(1); stepper.setCurrentPosition(0); } void loop() { if (digitalRead(10) == LOW && Stepping == false) { Stepping = true; } if (Stepping == true) { digitalWrite(T0,LOW); //put into full-current mode digitalWrite(T1,LOW); stepper.moveTo(-target); //CCW since negative stepper.runToPosition(); //turn half a turn stepper.setCurrentPosition(0); //zero the position for next time digitalWrite(T1,HIGH); //put back into quarter-current mode digitalWrite(T0,HIGH); Stepping=false; } } Randy
  3. Rigid, that's a nice little backplane you've made. Smart design--not threading traces between the pads etc.--I'll probably do something similar for my setup. I have a small desktop CNC and can do boards by trace isolation routing with a sharp V-bit, which doesn't lend itself to traces between pads. And I like the bellows coupling you used in lieu of the more common helical-beam. When you're going to the trouble of backlash compensation in the software, things like that just complete the package. Randy
  4. Before I found the DRV8880 I was thinking--maybe I could disconnect the current-setting pot of an A4988 or similar from Vref, and supply a Vref replacement by a PWM output from the Arduino keeping a small cap charged for smoothing... That would theoretically allow setting the stepper current through software. But that's crazy thinking. Randy
  5. The enable pin shuts down the FET's entirely, so there is no power to the stepper at all. That might be a useful feature for manually positioning the table but it doens't provide any holding current. That is what I'm excited about with the DRV8880. For years, I've used driver boards using the older A3977 for my former Sherline CNC lathe and mill, and current lathe, with the enable line jumpered "on". With open-loop control one just can't take the risk of powering down the stepper and hoping nothing moves... Randy
  6. Thanks to all who have contributed to this thread. I have learned a lot in the past few days by reading it all! My own turntable will be Arduino (Pro Mini) controlled but not DCC. Just a push button to index it 180 degrees at a time--one incoming road and just a short over-run track opposite. I don't plan on any sensors--just hold the table in alignment to the incoming road with a little jig that fits between the railheads during power-up. The stepper will have a belt reduction to the table, so snapping to the default full-step position at power-up will not move the table perceptibly. In my professional life, I've been using stepper motors since the L/R-driver days. In all the laboratory equipment I've been involved in designing, we dropped the holding current to the steppers after a move was completed. Steppers produce much higher holding than running torque for a given current, so this is a safe way to decrease power dissipation. None of the Arduino motor shields, nor any single-board stepper drivers seem to have this feature. But last night I discovered a new board from Polulu, the DRV8880 based on a TI chip. This has two digital inputs that allow selecting 25%, 50%, 75% or 100% of the operating current which is itself adjusted by the typical trim pot. Polulu's webpage for the board is https://www.pololu.com/product/2971 Two digital lines from the Arduino will allow selecting full current at the beginning of a move, and reducing the current at the end of the move. Since a turntable spends the vast majority of its time in a static position, this driver has the potential of decreasing the motor and driver power dissipation and thus heating. I have ordered one and am eagerly awaiting it. Randy
  7. Thank you, Don. (light comes on) traintable = train + turntable. That makes sense. I'm envisioning the traverser to have three cassettes forming its tracks, that can be attended to at longer intervals. So I'll take it that forward-projecting legs (or at least feet) won't present a significant tripping hazard, and providing curtains will be enough of a visual cue to avoiding them? The increased depth of the base will help the stability much (even 6 inches front and back will double the depth of the support). Maybe I could make parallel legs and thin projecting aluminum plates at the bottom? It would be just moving the "fulcrum" outwards that I would need. Thank you for sparking the train of thought! Randy
  8. Hello all, I'm a recovering "armchair modeler" in the process of rejoining the Association. I've set a goal of having a running exhibition layout by the start of next year, using two 4 x 1 foot baseboards plus a 16-inch by 1 foot extension for a traverser (I'm assuming that is what is meant by "train table" but I'm a foreigner living abroad...) All of the display layouts here are similar to Ntrak and T-track in that they are large rectangles or other meandering shapes that are inherently stable on the floor. I plan to mount my long, shallow layout at a 54-inch height, and worry about the fore-and-aft stability, especially on the typical carpeted floor of the local convention centers. I've played with the idea of ballasting the spreaders at the bottom of the legs with large, water-filled containers, or is that a daft idea and I should make deeper legs that protrude behind the layout--it is to be front-operated so I don't want to be tripping over front-protruding legs? I'll appreciate any advice and/or experience. Randy
×
×
  • Create New...