I’ve been unbelievably busy over the past couple weeks. Last Thursday my boss approached me and asked if I could work over the weekend. He wanted to complete and submit a grant by the deadline (Monday at 5pm). Scientific research grants are not easy to prepare. ~40 pages of forms to fill out, biographies to design for each of the lab workers, budget appropriation plans, animal handling protocol approval forms, plus 12 pages of scientific dialogue explaining the experiment. Now, I know that it may not sound like much, but trust me – it’s a very dense (11 and 9pt Arial font, single spaced) paper which takes about 2.5 hours for me to read from start to finish. Being the only native English speaker in the laboratory, I’m expected to assist in the polishing of its dialogue, as well as thoroughly evaluate its scientific content and offer suggestions. To make a long story short, I worked really hard (really long days) on Friday, Saturday, Sunday, and Monday to accomplish this. Monday afternoon when it was done (at about 4pm) I went home and collapsed in exhaustion. I don’t know how my boss does it! He worked on it far more than I did, and over that weekend he didn’t sleep much at all. Anyway, in exchange for my over-weekend work I got Tuesday and Wednesday off.
So, what did you do on your mid-week weekend? Well, I knew in advance that I’d have two days to bask in freedom and to do whatever I wanted. I prepared ahead of time by ordering a small handful (I think 4?) of ATMEL AVR type ATTiny2313 chips from Digi-Key at $2.26 per chip. I know I could have gotten better deals elsewhere “Like $1.88 per chip from RoboticsWorld) but the truth is that I had a random assortment of items I wanted to buy, and although all these different companies offered them, I feel I saved in the long run by ordering everything from a single source, cutting down on shipping costs. I also was impressed by the delivery time! I got my boxes in the mail on Monday. Way better (and cheaper) than ordering from the UK or Hong Kong.
The first thing I did with these chips was try to program them. Unlike the embarrassingly-easy PICAXE chips which can be programmed a form of BASIC cod from 2 wires of a serial port, the AVR series of chips are usually programmed from assembly-level code. Thankfully, C code can be converted to equivalent ASM (thanks to AVR-GCC) and loaded onto these chips. The result is a much faster and more powerful coding platform than the PICAXE chips. PICAXE chips are great for rapid development or for a starting platform for microcontroller education, but I feel that I’m ready to tackle something new. Anyway, I built a straight-through parallel programmer for my ATTiny2313 chips. It was based upon the dapa configuration and connects to the appropriate pins of the ATTiny 2313. However I would recommend that you be safe (protect your parallel port and microcontrollers) by installing the proper resisters (~1k?) between the devices, but I didn’t do this. No no. I live on the wild side. I eat danger for breakfast.
I decided to dive right in to the world of digital RF transmission and should probably go to jail for it. I blatantly violated FCC regulations and simply wired my microcontroller to be able to control the power level given to a 3.579545 MHz oscillator. Check out the circuit. The antenna is the copper wire sticking vertically out of the breadboard.
These crystals release wide bands of RF not only near the primary frequency (F), but also on the harmonic frequencies (F*n where n=1,2,3…). I was able to pick up the signal on my (uber-old) scanner at its 9th harmonic (32.215905 MHz). Supposedly the harmonic output power is inversely proportional to n. Therefore the frequency I’m listening to represents only a fraction of the RF power the crystal is putting out at its primary frequency. Unfortunately the only listening device I have (currently) is the old scanner, which can only listen above 30 mhz.
Remember when I talked about the illegal part? Yeah, I detected harmonic signals being emitted way up into the high 100s of MHz. I don’t think it’s a big deal because I doubt the signal is getting very far, but I’m always concerned about irritating people (Are people trying to use Morse code at one of the frequencies? Am I jamming my neighbors’ TV reception?) so I don’t keep it on long. Once I get some more time, I’ll build the appropriate receiver circuits (I have another matched crystal) and install a low-pass filter (to eliminate harmonics) and maybe even get a more appropriate radio license (I’m still only technician). But for now, this is a proof-of-concept, and it works. Check out the output of the scanner.
Something I struggled with for half an hour was how to produce a tone with a microcontroller and the oscillator. Simply supplying power to the oscillator produces a strong RF signal, but there is no sound to it. It’s just full quieting when it’s on, and static noise when it’s off. To produce an AM tone, I needed amplitude modulation. I activated the oscillator by supplying power from the microcontroller with one pin (to get it oscillating), and fed it extra juice in the form of timer output from another pin. The fluctuation in power to the oscillator (without power-loss) produced a very strong, loud, clear signal (horizontal lines). I wrote code to make it beep. Frequency can be adjusted by modifying the timer output properties. The code in the screenshot is very primitive, and not current (doesn’t use timers to control AM frequency), but it worked. I’m sure I’ll write more about it later.