Tuesday, November 27, 2012

Instant On Demand Learning

Well – You have to love the internet...

My trusty Compaq Mobile Workstation had a LCD Hinge break, the Laptop is a really nice performer so I didn't want to upgrade as it's got some more years in it.

So I searched around for a replacement hinge. In 5 minutes I found an online retailer that claimed to have the part. I was all set to order, but first I did a search to see if they had any reviews. They did – on their PC sales they got good reviews, but on the parts side everyone was disappointed.

What to do next – I searched eBay for the part – found a guy 500 miles away with the hinges, ordered them over a holiday weekend and the parts arrived Monday morning via first class mail. Now that's service.

The next problem was in trying to figure out how to take the Laptop apart. These things are always easy once you see how it is put together, but unless you know that – something is going to get broken.

No Problem – Just search YouTube for some videos on repairing Laptop Hinges – I could not find my exact Laptop model, so I just watched a few videos of similar sorts of HP Laptops. That was close enough.

45 minutes later I had my laptop apart and the hinges replaced. I even improved the Laptop some by placing a few more strips of household double sided tape under the keyboard which made it much more solid in a few spots.

In the past I have used the YouTube “Quick Learning” method for many other projects – such as,

* Figuring out how to properly tension my Garage Door springs
* How to upholster a headboard with fabric
* A quick refresher on Plumbing
* How to drill ½ inch holes in Concrete
* Learn about the latest Semiconductors via brief Webinars

And on and on....

You just have to love the Internet for “Instant On Demand Learning”.

Steve Hageman

Thursday, November 15, 2012

Can you use an Agilent 34401 DVM as a Waveform Digitizer?

EDN Has published an article written by me this very subject

"Use a DVM to directly digitize low-frequency noise (Part 1 and 2)"

The project I was working on involved measuring 0.1 to 10 Hz noise not only for RMS and peak-to-peak values in the time domain, but using an FFT Analyzer in the frequency domain also. I was all ready to get out a bunch of equipment and make a special test fixture, but then I remembered that my Agilent 34401 can make readings very fast and I set about exploring what can be done with just the meter itself.

When we think of DMM's we normally think of measuring very slowly moving DC signals. This month takes a look at what performance can be acheived, Next month we will take a look at how to verify the performance of our DVM as a Waveform Digitizer.

Steve Hageman

Saturday, October 27, 2012

What PCB Material do I need to use for RF?

EDN Has published an article written by me on the subject of,

"What PCB Material Do I Need to Use for RF"

A discussion with actual data to help designers faced with some of some of the myths regarding the need for exotic PCB  materials to do RF work up to 6 GHz and beyond. You might be surprised how well FR4 really performs.

Link: "What PCB material do I need to use for RF?"

Steve Hageman

Saturday, August 25, 2012

Noise Floor De-Embedding and Cross Correlation

EDN Has published a article written by me on the topic of,

Measuring small signals accurately: A practical guide

This topic is of interest to anyone who needs to make spectral based measurements near or below the measuring instruments noise floor. 

Topics include:
* Noise floor De-Embedding
* Cross Correlation

#1 - Many articles have presented the "Noise Floor De-embedding" technique, but none have presented what happens if your estimate of the actual noise floor is wrong. I show with graphs the result of mis-measurement of the instruments noise floor.

#2 - Cross Correlation is a well known technique of using two instruments a a lot of vector averages to get a result that can be below a single instruments noise floor. In plain language I simplify the math involved so that even non-DSP engineers can understand the technique.
A sample project is provided in C# for experimentation.

Steve Hageman

Thursday, July 12, 2012

A Trip Through Quality

We have posted a multipart article series on EDN about some things I have learned over the years about quality and how to test electronic products to ensure quality. Some things that work and some things that don't work are noted in the series.

The Blog posts can be read here,

Steve Hageman

Wednesday, June 27, 2012

The practicing instrumentation engineer's guide to the DFT

Steve has published a series of articles on EDN Magazine about engineering uses of the DFT and FFT. The seires Discusses practical implementation of the Discrete Fourier Transform in instrumentation applications. The series of articles focuses on the often forgotten "Calibration" factors and dispels some myths about DFT's and Windowing data in general.

Links to the articles at EDN Magazine

Friday, June 15, 2012

Bit/Bang SPI Speed of PIC18F6722

With all this work on uP's and ATMEL UC3 C Compiler Optimizations, I decided to take a look at one of my old workhorse processors the Microchip PIC16 and 18F families. I program these devices using the CCS PIC-C compiler.

Similar to the last post about UC3 processor timing when running Bit/Bang SPI type of IO quickly threw together some sample code for the PIC18F6722. I set the PIC up to run on a 10 MHz Oscillator with the 4X Internal PLL, giving a program instruction running rate of 10 MHz (the clock in these devices runs at 4 times the actual instruction rate).

The CCS compiler has a series of high level IO commands similar to the ATMEL ASF pin IO commands[1]. This mode is called “FAST_IO” and what it does is allow you to set the direction of the port pin then using a high(er) level command to set any Pin anyway you want it (using the output_bit() function).

I also built a function using direct IO. This is where C really hits the road! In CCS C we are able to directly define any bit or pin in a port using a #bit directive, then just using PIN = 1; or PIN = 0; in my program we can set that pin as requested with just one CPU instruction.

So on to the testing - since the CCS compilers that I use are always optimizing and there are no real optimization switches, we get just one number for comparison - the clock frequency of the Bit/Bang IO function (the code is very similar to the previous post on UC3 IO Optimization[1]).

Using FAST_IO the SPI clock pin frequency was: 560 kHz

Using direct Pin Banging the SPI clock pin frequency was: 716 kHz

Not blindingly fast compared to the UC3, but the PIC was using lots less power and is fast enough for many useful applications, in fact we have been using PIC's to successfully control all sorts of things from: Temperature Chambers to Cellphone Monitoring Radios since 1994.

Steve Hageman

[1] Previous Post: http://analoghome.blogspot.com/2012/06/atmeluc3-32-bit-processors-and-gcc.html