Today I have written the basics for servo control. As my panorama servos have not yet arrived, I tested with some of my spare servos (I’m an RC hobby pilot). I found a great little page which explains how to do servo control using the AVR 16-bit PWMs. This sure helped, as it pointed me into the right direction. After 20 minutes of work I got this:
Next thing will be to implement a system which allows me to move the servos in a smooth way, accelerating and decelerating so my camera will move super smoothly without shaking my tripod when moving.
I have already done some work on the CamControl software. As always, I use Linux as my development host. I use avr-gcc to compile my software and avrdude to download it via the ISP. Unfortunately I don’t have a JTAG which kind of complicates development, but with such a simple controller I can live without it.
A few words why I have chosen the Olimex AVR-MT-128 board. This board has all the major features I was looking for in a rather compact package:
LCD (unfortunately without backlight)
Five keys for navigation
A LED (which turned out to be wired parallel to the relais, so it’s rather not so useful, as the relais triggers whenever the LED is toggled)
16-bit PWMs for servo control (8-bit is not enough for smooth servo movement)
Buzzer for notification when a job is done
Plenty of IOs for additional stuff (rotary encoder, AF and shutter control, additional LEDs etc.)
4Kb of RAM (should be more than enough)
4Kb of EEPROM (nice to persistently store some settings)
128Kb Flash (more than enough)
Well, that’s about it. A rather nice board in my opinion. I plan to package it in a nice little enclosure and add a battery. So this could be used standalone without the mechanical construction. Might be useful when I just do timelapses etc. instead of always carring around the panorama construction.
I develop the software as an open-source project, partly because I use open-source components but also because I like the open-source paradigm. The source code repository is hosted on my github account here. I have ported QuantumLeaps QP-nano framework, which is a really nice small event-based operating system for small microcontrollers. I also use avr-libc which offers superb utilities for the AVR microcontroller line. I have already implement a simple keyboard driver and the basics for a menu system. Based on avr-libc I also written a LCD driver. This all works really well so far.
This are the most important components which will let me develop the software. For the mechanical construction I will have to buy some more stuff, but this can wait until my servos arrive (they are backordered). The Olimex stuff already arrived and I have already started development of the software. More on this later.
Two days ago, I built the first optical Mouseman which is a bit more optically pleasing than the prototype. Together with a college, I milled the base plates so that they fit the optical sensor. Today I did a first run of 3 Mousemans. I’ll do another run of 5 or 6 mice, so we are all equipped for our upcoming LAN party.
Well, we’re going to have a little LAN party in a few weeks and we will do a little Duke Nukem 3D revival (DNF is never going to be released anyway). Good old times! But wait, we used to have those gorgeous 3-button mice back in the days, they were called Logitech Mouseman, and had an awesome design (and most importantly 3 big mouse buttons and NO wheel). Logitech even did a “gamers edition” of the Mouseman design called the “Wingman Gaming Mouse”. Well, the only drawback was that optical mouse sensor systems were not invented back then (as was the mouse wheel, fortunately). They used these little balls to detect motion, which were constantly attracting dust, getting dirty and unresponsive all the time. So we thought, why not take these dusty old mice and upgrade them with an optical system. Today me and a friend did a first prototype. It won’t win a beauty contest yet, but it works perfectly fine! Here are a few pictures:
Yesterday I received my Canon 50D DSLR. It took me quite a bit of time to decide on this purchase, but after playing around for only a couple of minutes, I think it’s already worth it. I added a little blog at westlicht.tumblr.com just to publish some of the photos I’ll shoot with my new DSLR. Hope you enjoy.
After I have built myself an LN1176 compressor a few month ago, which I used quite often for the last album I worked on with a friend, I decided to build myself a Pico compressor. I have ordered the PCBs a few days ago, they will probably arrive next week. My intention is to use this compressor to gently compress mixes at the beginning of a mastering chain. I’m still looking for a decent DIY EQ, but I did not yet find what I’m looking for. Anyway, I’m really looking forward to build the Pico.
This weekend I took some time to experiment with my Arduinome, primarily using the pages application. This is great stuff! I did a little setup consisting of Ableton Live, pages, my BCR-2000 as well as some external gear, the x0xb0x and the Korg Radius. I routed the MIDI signals from pages through Live to my x0xb0x and the Radius, and routed the audio output of these synths back to Live, spicing them up with some effects controlled by my BCR-2000. Also I added an Impulse patch in Live to get some drums. A rather simple but very effective setup. Fun to jam anyway!
Note to myself: I really need to get myself a camera, so I can video document things like that.