Tag Archives: Arduino

10-Pin offset header for Arduino

A few years ago, I started making offset headers for the Arduino. These headers allow you to make shields using standard-spaced perfboard, by correcting the shift of that one strangely-placed Arduino header. With the introduction of the Leonardo, The Arduino … Continue reading

Posted in Mechanical | Tagged , | Comments Off on 10-Pin offset header for Arduino

PID Library moved to GitHub

As per the request by the Arduino Team, I’ve moved the Arduino PID Library to GitHub. I’ve also used this opportunity to: Make the Library Arduino 1.0 compliant Release the Library under a GPLv3 License The google code site will … Continue reading

Posted in Coding, PID | Tagged , | 2 Comments

Google is Keeping the Offset Header

I have a one-track mind whenever I see a new Arduino variant. My eyes drift to one spot to see if the offset is still there. Naturally I did the same thing when I saw that Google is releasing its … Continue reading

Posted in Mechanical, Projects | Tagged , | 1 Comment

PID Q&A Group

Over the past week I’ve had several great conversations regarding the new PID Library, and regarding PID in general. Of course those are all in my email, so you can’t see them. This highlights another problem with the previous version … Continue reading

Posted in PID | Tagged , | Comments Off on PID Q&A Group

How Fast is the Arduino PID Library?

A couple people have asked me about speed since v1 was released. Since I had no idea, I decided I should do a little benchmarking. (Tests were done on a Duemilanove with the ATMega168.) The Test The code above is … Continue reading

Posted in PID | Tagged , | 2 Comments

Improving the Beginner’s PID: Direction

(This is the last modification in a larger series on writing a solid PID algorithm) The Problem The processes the PID will be connected to fall into two groups: direct acting and reverse acting. All the examples I’ve shown so … Continue reading

Posted in Coding, PID | Tagged , , | 92 Comments

Improving the Beginner’s PID: Initialization

(This is Modification #6 in a larger series on writing a solid PID algorithm) The Problem In the last section we implemented the ability to turn the PID off and on. We turned it off, but now let’s look at … Continue reading

Posted in Coding, PID | Tagged , , | 7 Comments

Improving the Beginner’s PID: On/Off

(This is Modification #5 in a larger series on writing a solid PID algorithm) The Problem As nice as it is to have a PID controller, sometimes you don’t care what it has to say. Let’s say at some point … Continue reading

Posted in Coding, PID | Tagged , , | 10 Comments

Improving the Beginner’s PID: Reset Windup

(This is Modification #4 in a larger series on writing a solid PID algorithm) The Problem Reset windup is a trap that probably claims more beginners than any other. It occurs when the PID thinks it can do something that … Continue reading

Posted in Coding, PID | Tagged , , | 13 Comments

Improving the Beginner’s PID: Tuning Changes

(This is Modification #3 in a larger series on writing a solid PID algorithm) The Problem The ability to change tuning parameters while the system is running is a must for any respectable PID algorithm. The Beginner’s PID acts a … Continue reading

Posted in Coding, PID | Tagged , , | 6 Comments