Archive for October, 2007

Knowledge Updates

14 October, 2007

Recently I’ve moved into University. I’m doing a course in Electronic Engineering, and I hope to gain a masters at the end of it.

So far I’m in my 5th week (4rd week of teaching) and I’m finding it very different, but also very interesting. The day is split up into hour blocks, with the first 50 minutes for lectures, and the remaining 10 minutes so that you can rush to the next thing on the timetable. I get 6 hours a week in laboratories messing around with components, and then the rest is theory, and there is quite a bit of that, with me spending about 26 hours a week working. There is on top of that exercises and prep work to be done outside of lectures and labs. That makes it quite intensive as courses go.

I’m living in halls on campus, however there are only 7 people on my floor, 3 girls and 3 other boys. As our floor is none too spacious we have gotten to know each other quite well and enjoy ourselves. I’m a bit new to actually living away from home so things are very different for me, but I seem to be managing.

All this change in scenery has not slowed my electronics. Today I received my latest order from Rapid. This consisted of about 300+ 0.1µF capacitors, 50×2 header pins, a 35A 600V bridge rectifier and an AVR ISP MKII. I bought the 0.1µF capacitors because they are rather ubiquitous in electronics as de-coupling capacitors, they are also used in the Arduino Diecimila, but more about that later. The 50×2 header pins are for in circuit programmers, to go along with the AVR ISP MKII for the new AVR projects that I’m planning. However the 35A 600V bridge rectifier is for an older project, I wanted to see if it could be practically be used in the intended application, or whether it would just be destroyed, unfortunately the intended application is a secret for the moment. The AVR ISP MKII is, unsurprisingly, for programming AVR projects. I also wanted to get it for burning Arduino boot loaders.

Recently a new Arduino board, the Arduino Diecimila has been released. This board is an updated version of the Arduino NG, which I own. It features a couple of new features, most notably a 3V3 out and an auto reset function. With the NG you needed to press reset to load a new program onto it, and it took 10 seconds to initialize the program when power was turned on, with the Diecimila this is not necessary and it boots up much faster. Normally I’d need to buy a new batch of Arduino Diecimila ATMega168s and boards, but by making some small alterations to the boards, detailed here or here. I went and made the modification to my Arduino NG board as you can see here:

An Arduino NG board with a 0.1µF capacitor soldered between 2 test points. This provides functionality similar to an Arduino Diecimila.

I also needed to upload a new boot loader onto the ATMega168 in order to take full advantage of the 0.1µF capacitor. To do this I needed to connect up the AVR ISP MKII that I also received today. This fitted onto the 2×3 pin header at the rear of the Arduino NG.

The Arduino is connected to the AVR ISP MKII which is burning a modified NG/Diecimila boot loader from Lady Ada.

Once it was all connected I need to make a few modifications to the boot loader. I did this using Lady Ada’s instructions here, this ended up looking like this:

A screen shot of the AVR Studio 4 screen where I upload the boot loader onto the Arduino.

This was just after uploading the new boot loader to the Arduino NG. I found that this worked perfectly and I shall be doing the same to the rest of the Arduino hardware that I own. I’m also now aiming to start working more with Arduino.

Now with these improvements to my base Arduino I took another look at my accelerometer project, I’m aiming to get the code finished, all be it in a rough-ish form by the end of the week. Once I’ve done that I’ll be posting here about the hardware changed, aims and the code.

Arduino Joy Part 2

5 October, 2007

Previously I had got both my Arduino and the accelerometer shield working, with it returning values of “x:453 y:450 z:395.” But I had no idea of what they meant. After doing a little detective work on the data sheet I figured that around 450 meant 0g, that is to say, it was not experiencing any gravity in those planes. This then meant that around 395 meant it was experiencing +/- 1g as I was unsure of the intended orientation of the sensor. After rechecking the data sheet it seemed the chip was designed to be facing down, this would mean that around 395 meant -1g. Doing some rough maths (450 – 390 = 60) I guessed that a change of 1g was equivalent to 60. This would mean that +1g would be about 510. I turned the Arduino module and the shield over and lo and behold I got a value of about 510 in the Z axis. What remains is to turn this int value into a float value of how many much g the board is experiencing.

I also very recently received a Babe bones Arduino Breadboard PCB and soldered it up, and this is what I received.

This is a shot of the parts that make up the Bare Bones Arduino before they're soldered together.

And a closer look at the top of the unpopulated PCB:

A view of the top of the Bare Bones Arduino PCB.

I then preceded to start soldering it up, starting with the surface mount inductor, then the continued with the smallest components, and ending with the largest. This allows me to rest it on the work surface as I solder, greatly easing construction. Below I have a picture of the Bare Bones Arduino board fully soldered up. I have to say i find it to be a great kit which is very simple to understand and then solder together. I only now need to figure out a way of getting a USB->TTL cable.

A shot of the completed Bare Bones Arduino.

I found it fairly simple if not rather tight to fit it into my mini-breadboard but it fitted and seems to work perfectly. I’ll post again later with some news of how it’s worked for me.

One other thing I’ve been keeping an eye on is, again, at uHobby, where Mr Fowler has now finished development of a Signal Generator that is designed to fit on the header pins attached to the Bare Bones Arduino. You can see his post here and his earlier post on the Signal Generators development here. One thing that is touched upon often is the feeling that comes from ordered PCB’s arriving, begin soldered up, and then working! I, as yet, have yet to order PCB parts, but I have made my own, and I’ve found it to be very relaxing.