DIY Servo Controller - Initial Mill XY Test

by Ivan Hamilton 9/13/2008 7:35:00 PM

After months of putting it off, I jumped in and slapped two motors on to my mill.

I've already identified that the XY mechanisms on my mill aren't going to be up to the task (they have excessive backlash in both the bearing mount & the nuts).

Therefore, it's not worth spending too much time on the installation, as I'll need to redo it when I upgrade the mechanisms. I still hadn't done a "real world test" on my DIY servos & controller, and was keen to see the mill's table move.

Enter the angle grinder, 2 short pieces of RHS and some hose clamps...

So, what did I learn?

Keyboard: The wireless flexible keyboard I got is great. Chuck it where you need it.

Current Draw: It's not unusual in my 1:1 setup to see the motors draw 10A @ 12V. Hopefully this should drop when we switch to 36V. w

H-bridge Temperature: The H-bridge chips got hot. Real hot. I couldn't keep my finger on the heat sink, hot. Since pairs of H-bridges share heat sinks, I swapped the Y axis onto a different pair than the X axis. Then they both got hot... How hot? Not that hot: 57°C. I put a small fan near and let it continue to run: 32°C (ambient was 25°C). Not neccessary, but a larger heat sink or small fan would keep it cool.

PID Tuning: The inertia & friction of the table's screws changed the tuning requirements quite dramatically.

Encoder Inputs: Since I only used 2 of 4 servo channels on my controller, the other 2 encoder inputs were left floating. Phantom transitions on these lines fire interrupts and unnecessarily consume controller time.

Limit Switches: This was a simple test, and no limit switches were installed. Luckily, the flexible coupling slipped when it attempted to go beyond the table's travel. Limit switches are a must.

DIY Flexible couplings: OK, small length of hose with hose clamps. While there is some twist in the soft hose I used, when you consider the 0.2mm of existing screw backlash (@ 3mm/rev) equals 24°, the <10° of hose twist & <6° of servo error is quite acceptable (for now).

The Z axis hasn't had anything done yet, but that's OK. Baby steps. Although it would be easier, I don't want to automate the quill since it's got a lot of play in its rack & pinion setup. I should get moving on the ball screw upgrade and automate the column.

Even with only the X & Y axes done, the machine is transformed. I'm happy to perform any required Z movement manually for the time being.

All in all... I'm pleased, and it's quite exciting (chips will fly soon).

Currently rated 2.1 by 18 people

  • Currently 2.055556/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

CNC | Electronics | Mechanics

StackOverflow.com - Don't hate the player, hate the game

by Ivan Hamilton 9/11/2008 7:09:00 PM

This is a follow up to my original StackOverflow experience. Bear in mind, this was based solely on my initial interaction with the site (I've gained a little more experience since). I'm not knocking the whole concept, and I know it's "still in beta". Anyway, that post gained commentary on J&J's podcast #21.

Firstly, for Joel, I'm the 1 in 10 who has no stake in anything. I have no interest in the failure of StackOverflow. I don't think it's a bad idea, in fact I loved the idea. I still do. I'm just rethinking the implementation, as I don't think the problem is an easy one. I think I cared, because I believed in the idea so much. As for the effort in registering a domain name and throwing a site up... 20 minutes & Paint.NET.  Ivan needs a girlfriend? My fiancée thinks I spend enough time listening to Joel, without having to hear from him that she's not fulfilling her duties.

Jeff suggested two options:

  1. Leave comments - I didn't have to rep to do this at first. But after earning a little rep, I had already run around and done this. And what I found most amazing, is that two of three of the authors have come back and changed their answers (but personally I have doubts that this would stay the case once the novelty wears off).
    So how do I like the game now? Not much, but I'm hopeful. I'm left feeling a little empty (I know... whinge, whinge, whinge). I don't like the idea that an incorrect answer will sit there at the top until enough people bug the author of it to get it edited. Maybe I feel it's unjust that a top rated answer is later changed to say "Whoops. I'm wrong. What Fred said below it right", yet Fred gets no cred. Maybe I'm just pissy that I don't have the rep to go and change these things on a whim. Maybe I'm pissy that to get that rep, I'd need to give "popular" answers... "Survey says!"
  2. Vote it down - I would, but it hurts my rep to vote answers down. As Jeff's stated before, the site is setup to be "anti-down". Many of Jeff's comments draw parallels to gaming, and voting something down damages your own reputation. No gamer would set themselves backwards for no gain (I also think, there's not enough down-voters to correct these situations).

I do agree that you should never look at any site and take the "accepted" or top rated answer as lore. As it's not hard to check all the answers to see if what you're after is mentioned there. Well, not hard for some of us in our "areas of expertise", but I've worked with many people before who have taken code from "Expert Q&A" sites, and wondered why it didn't work. They didn't understand the answer, so couldn't understand why it should have worked, and therefore couldn't fix it when it didn't. I worry for these people... maybe they're just lost.

Jeff makes many references to Wikipedia, but Wikipedia has massive guidelines on it's content. And from Wikipedia, here's what I think StackOverflow may be missing: Verifiability. I don't know how you get people to, firstly answer, and secondly vote, based upon such criteria, but I'm worried that without it, it's too open to group opinion.

I've seen some great answers on StackOverflow, and hope to continue to.  But I'll stand by my original point. How many times did you watch "Family Feud" and ask yourself "What random drug smoking monkeys did they survey to get that as the most popular answer?". Be wary of the popular posts.

P.S. Jeff, I love you man. Joel had the daggers out, but you were there for me. ;-)

Currently rated 1.9 by 34 people

  • Currently 1.882351/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Date raped by StackOverflow.com

by Ivan Hamilton 9/7/2008 2:27:00 PM

Falling in love with StackOverflow.com

I have been very interested by the idea of StackOverflow and have been listening to the podcasts with great enthusiasm. A place for programmers to get and receive answers. A place where good answers rise to the top. A place where the knowledgeable get the recognition.

I'm not naive, I've read the criticism, but it couldn't be that bad. There's always jerky naysayers around every endeavor. Although not really relevant to the site's development, I was seriously concerned (shocked actually) when Jeff Atwood suggested NOLOCK as an answer to a SQL locking problem... without even understanding the root cause. Was it a sign?

A couple of days ago I got my beta invite. I was so excited. This early in its life, the site would contain only those truly devoted to IT knowledge. Awesome!

I jumped in and looked around for a topic that I know well enough to give answers on. I found a question on C#, something I know moderately well.

Question #1: C# Language Syntax - Control Flow

The top rated answer had nearly 10 times the votes as any other answer, a pure winner... and was plain wrong. It confidently made a statement, that was simply incorrect. The second top answer was... just confused. It stated incorrect facts about an aspect of the question that weren't even relevant.

I posted a "correct" answer... but without any up-votes, it disappeared into the obscurity of the bottom of the page. And let's face it, when was the last time you looked at the second page on Google?

OK, it's only one crappy question & answer. It was time to find a better question.

Question 2#: C# Language Feature - Variance

OK, even more my style. So much so, I've even previously posted here on variance in C#.

So, let's... oh shit. The top rated answer... wrong. Oh crap, the question's author has even selected it as the "accepted answer". In fact, its opening statement doesn't even make sense. The only relevant word it uses, is the exact opposite of what the question is asking about... and it's used... vaguely. How does this answer have 5 times the votes of the first accurate answer? The next top answer is off-track and doesn't answer the question, merely repeating something about the question that the author already knows.

It's just bad luck... I've picked 2 bad examples. A third... I should try a third. Jokes always reveal themselves at the third item.

Question 3#: C# Date Algorithm

Hey... this one was asked by Jeff Atwood himself. He wouldn't... shit. The top answer is nice, highly up-voted, but contains a serious implementation flaw. Not one that you'd get bitten by very often, but it shows that people aren't exhibiting much skill or care.

I can't take any more.

Falling out of love with StackOverflow.com

My new friend Christie said the other day: "Half the people in this world are below average." It really struck a chord (just not the "this world" part). What's important here is that half of the anything in anything are below average (well, below median technically, unless it has a symmetric distribution). Half the practicing brain surgeons are below average. Scary huh?

Half the developers that visit StackOverflow are below average. But, they can influence the "value" of answers, and herein lies the problem. Charlie once said "ignorance more frequently begets confidence than does knowledge". It appears that those who are least capable of making accurate judgments on the value & accuracy of responses at StackOverflow, are the ones doing so the most. And that generates a lot of noise. Or so I thought...

But it's not noise. Back in the day, it was much easier for someone to say (and think): "The earth is really a flat plate supported on the back of a giant tortoise". It's something they can somewhat understand, and from their perspective it sounds valid enough. It's also means they don't have to accept that they don't really know the basics of the topic. And there's also confirmation bias - people expect answers that match their prior beliefs. Would someone accept the belief "The earth has sufficient mass for its self-gravity to overcome rigid body forces so that it assumes a hydrostatic equilibrium" when that's something they've never experienced, and it would mean accepting that they don't know anything about it?

Years ago I read a novel research paper on what's now referred to as the Dunning-Kruger effect. If you want to understand a little more about the below average half, read this. But the key tenets are:

  1. Incompetent individuals tend to overestimate their own level of skill.
  2. Incompetent individuals fail to recognize genuine skill in others.

What happens when you give them them power to vote? Self appreciating chaos.

These answers are not being up-voted at random. They're selected because those are the answers that appeal to this relatively unskilled group. And what answers appeal to a below average group? Fairly simple answers, with a bit of techno-babble just beyond their full reach. They rely on existing ideas and buzzword recognition, without trying to understand any of the more thorough responses that might make them feel intimidated. Who writes such vague, inaccurate & terrible responses? A member of the same group.

These incorrect, inaccurate and often unintelligible "answers" go rocketing up the charts. Later attempts to get correct information included are doomed to obscurity, being dwarfed by the popularity of the initial wank-fest of mediocrity.

Devoid of any accuracy-based-recognition, it's just popularity driven by popularity - much like I remember high school.

Follow Up:  StackOverflow.com - Don't hate the player, hate the game

Currently rated 3.8 by 23 people

  • Currently 3.782609/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Quad H-Bridge Design - Ideas

by Ivan Hamilton 9/4/2008 1:36:00 PM

I'm thinking about the quad H-bridge board I want to build to match my quad DC servo controller.

Standard thinking is a discrete bridge built from four MOSFETs and a pair of half-bridge drivers: 4 x IRFP260 @ ~$5 + 2 x IR2184 @ ~$3 = 200V 30A ~$26
But for lower voltages STMicroelectronics make the VNH3SP30-E a "Automotive fully integrated H-bridge motor driver": 1 x VNH3SP30-E = 36V 30A ~$8

These are used by the H-bridge boards I've currently got (packing a lot of power in to a small space). I was initially scared by SMD devices like this, but having seen people achieve amazing results without specialised equipment, I think it's worth the effort.

The only feature I feel is missing is current limiting. The VNH3SP30-E has internal thermal, over-voltage and over-current protection, but that won't stop it delivering 30A to your stalled 2A motor. Dropping a resistor between the VNH3SP30-E and GND would allow you to determine the current by measuring the voltage at VNH3SP30-E's GND pins and combining that with your knowledge of the resistor's value.

Let's use a low 0.01Ω resistor:

  • V = IR = 30A x 0.01Ω = 0.3V
  • P = I²R = (30A)² x 0.01Ω = 9W 

Therefore, for a 30A draw to show 0.3V, a 0.01Ω 9W current sensing resistor is needed: let's say 2 x 0.02Ω 5W resistors in parrallel.

For low current systems (<3A), the 0.03V drop may be too small to adjust. Let's use a slightly higher (but still very low) 0.1Ω resistor:

  • V = IR = 3A x 0.1Ω = 0.3V
  • P = I²R = (3A)² x 0.1Ω = 0.9W

A single 1W 0.1Ω current sensing resistor could be used in low current situations to make the drop more pronounced.

Add an LM339 to compare the 4 drops against a reference voltage and pass that thru a 4081 quad 2-input AND chip with the PWM signal for the H-bridge.

Piece of cake!

Currently rated 3.0 by 2 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

CNC | Electronics

Powered by BlogEngine.NET 1.3.1.30
Original theme by Mads Kristensen

About the author

Name of author Ivan Hamilton
"My inner nerd can beat up your inner nerd."

E-mail me Send mail

Adsense

Calendar

<<  July 2017  >>
MoTuWeThFrSaSu
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

View posts in large calendar

Recent comments

Tags

None

    Entropy

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2017

    Sign in