Blinking Blues
Having some trouble with arduino blink. Will write up here. Draft now, not enough to really be of use to anyone but me.
Contents
Origin
I have been messing about with steppers and simple drivers for some time. Recently I put a logic analizer into use and noticed that the switching wave forms were a bit off. Simplifying this I went back to the basic blink and took a look at it. It also had some anomolies. This began an investigation of various blink code and the results. So far I have not found code that gives good results. In this investigation I am focusing on using pulses with half periods of 500 and 5000 micro ( not milli ) seconds.
Blink
What I Expect
The blinks I worked with for this investigation were all in the 1 to 10 ms or so period time frame. I used only the microsecond built in functions. I expected that the timings would:
- be repeatable in the range of a few microseconds.
- be accurate in the range of 10 to 20 microseconds.
What I Found
- I found glitches in the waveform of up to 1 or more milliseconds ( 1000 microseconds )
- Often the glitches would repeat every 81.92 milliseconds or so. Interestingly enough if I divide this time by 16 e 16 I get 512 which is more or less a magic number.
What I Tried
- Different arduino boards
- Different pins
- Different implementations of blink
- Interrupts on and off
Issues Investigated
- Was the logic sniffer the glitched one: Do not think so, I generated a square wave on an ossicalator at 1KHz ( period 1 ms ) and looked for glitches in it. Nothing found.
Things Yet to Try
- More boards
- Different builds of the arduino software
- More pin variations
- Check unused pins, perhaps change all to output low....
Some Results
Test Setup
Logic sniffer is the dangerous prototypes single board device http://dangerousprototypes.com/docs/Logic_Sniffer_101
Measurement taken using the cursor measurement, finding some good pulses at the beginning and then visually scanning, then measuring for bad pulses later on. All recorded to a spreadsheet, that will be uploaded here.