Friday, July 29, 2011

Microcontroller PCB for Attitude System (Thesis) - III

I've assembeled one of the 10 cards I received, which is prettty straight forward. I had some problems with a batch of LM317 voltage regulators. The pads on the component was oxidised, so I had to sand down the terminals! Better order some new ones, together with some atmega8 chips, as I'm running out fast with all these projects.

By the way, the atmega8 is nowhere near powerfull enough to do the full attitude computations. The atmega8 will do data gathering and send it to the usart port in raw ascii. Incidently, I forgot to include ground on the usart header! I guess I was thinking of the stk500/600 cards.

That's it for now. I will start looking for a programming language that supports usart under w7-64, no easy task...


Wednesday, July 27, 2011

Microcontroller PCB for Attitude System (Thesis) - II

The PCB that I intend to use as a prototype interface board arrived from iTeadStudio today. The quality is quite good, and for only $9.99 + shipping, this service is what I will be using from now on (except for very high tollerance stuff).

Half of the boards have been electricly tested, and are marked in red on one side.

There are a few minor issues, all of which I can live with. The main issue is that the silkscreen was converted to the same font. This caused som silkcreen to get into a few vias, and at one place it was almost completely gone. As long as I'm aware of this in the future, it's not going to be a problem.

Here is the front side of the PCB




And here is the back

Friday, July 22, 2011

New rotary encoders

Just quick update, I've recieved the new rotary encoders. These ones also sport a momentary push switch. I think I'll use that function for starting and stopping the count-down. Perhaps I'll throw in a double-tap to reset to zero. Anyway, they work well, so hopefully I'll find some time soon to finish up the electronics and programming side of the project. If I have the time tomorrow I'll shop around for some  building materials for the enclosure.


Saturday, July 9, 2011

Microcontroller PCB for Attitude System (Thesis)

Didn't feel like coding yesterday, so I decided to make a uC PCB for the attitude sensor stack. I wanted to make the PCB a little more general purpose than just a PCB for interfacing with the sensors, so I've added pin-rows for all I/O-pins with annotation. Other than that, I've added header for USART, two I2C headers, a voltage regulator, and three regulated power headers. As with the other sensor PCBs, I have added 3.5mm mounting holes in the corners so that the cards can be stacked.



I'm trying out yet another PCB fabricator, iTeadStudio, which is by far the cheapest I've seen. For ten 50x50mm two-layered, green solder mask and HASL plated, it cost $14 including shipping! I also added the 'Open PCB' option, which is where they will send you two random PCBs from another order. How cool is that!

I am a little concerned that I've pushed the tolerances a bit, but we'll see when I get the PCBs. ITead specify 6mil a minimum, and recommend 8mil (0.2032 mm), but I think it should be fine.

I'll probably get the boards in a couple of weeks time, until then I will keep program using Atmels STK600 monster of a dev kit. I'll get a ICD debugging header so I don't have to lug it around with me, not to mention that horrible ZIF socket system...

Monday, June 13, 2011

First use of Multi-Purpose PCB (UV timer) - Part 1

This was to be a timer system for UV exposures of DIY PCBs. I have already made up and used the UV board, but it was a bit messy to use (pull the power to turn off).

The idea was to have a button for start/stop, and a rotary encoder for adjusting exposure time. Sadly, the encoder was DOA, so I will order a new one. In the mean time I've coded the display, and found out that the atmega8 doesn't have a PC7 (forgot about that), I had wired it to ground on the PCB. This meant I had to some pair wire instead of the 10-pin header.

The FET works brilliantly, and you can see the UV board hooked up, but not on at the moment. When on, the FET doesn't even get hot to the touch, so no need for a cooling rib.

So before I get a new rotary encoder, all that is left to do is to wire up a start/stop button (reset button is already in place).


Wednesday, June 1, 2011

New PCB service

Made up a sort of prototype PCB in CADStar and sent it away to a new manufacturer I'm trying out. I'm pleased with the quality, two layer eletrical, solderstop, two sided silk screen, and very cheap. Just two minor errors on the PCB on my part: I used 6mm switches instead of 3mm, and there's possibly one air wire, but that could be an auto-router glitch. In the image below, I've mounted the microcontroller, ISP, and a header for unregulated power. This was to test the microcontroller, which worked like a charm.



The board is based around an ATMEGA8, and has most of the standard parts is use: regulator, a few switches, a FET, rotary encoder, USART, I2C, and ISP of course. In addition, all IO ports are fully connected to 2x5 STK500/STK600 type headers with power: Any additional circuitry I can take from the pin headers.

Gerbers, schematics and PCB-file available on request.

Happy hacking!

Combined Accelerometer & Gyroscope

This is from my Master thesis, where I'm building and attitude refference system (ARS) for pitch/roll/heave and vibration compensation for echo location systems.

I've buildt two kinds of accelerometer sensor boards already, based on Freescale and ST-microelectronics chips. The latest addition is the gyroscope board, based on a chip from Invensense. And here they are, finally merged (with the Freescale accelerometer board).



I'll be using Labview and Matlab to implement my ARS algorithm now.

Later I will build a power and interface board, and of course the micro-controller board, making the final system a four stack fully modular design.

Happy Hacking!