Hi I’m an electrical engineering student working on my senior design project. Being an electrical engineer I have little experience with actual applications as the technology students have, so I need some hand-holding to walk me through this. I can design a transceiver easy enough, just not be able to use it! My delegated portion of the project is to become an expert in RF data links and to send data to a microcontroller. Any and all help will be GREATLY appreciated. I thought it’d be best to go straight to the guru’s. Thanks!
Well to sum up my project:
I have to get a computer to communicate through the serial port (DB9 I assume) and transmit data wirelessly to a device which will in turn control four, independent dc motors. Size and power consumption are in the highest regards, so the smaller it is and the less power it needs is wanted greatly. The transceiver I’ve found looks to be very small and applicable to what I need:
Is it possible to just use this to allow the computer send data through the serial port to the transmitting uMiRF, which will then send it to the device? This may save me tons of time design an interface on my own which will connect the computer to the uMiRF.
I’ve been looking at a few previous posts and I’m very impressed. Any help would rock. Thanks!
Programming, fortunately for me, is not what I’ll have to worry about for now. I have another group member who will specialize in that. I just have to find the RF data link components and be able to create a schematic and hook-em-up.
First thing, what range are you looking for? I hope you’ve checked the range test listed in the first one, and remember that that’s with 50% error rate.
Second, yes, you can use the mIRF serial interface for the PC side, no problem!
Third, to use the mIRF with an MCU you’ll probably want a 3.3V part, although you’d have to check the electrical spec to see if it’s listed as 5V tolerant. Speed isn’t much of an issue, so pick your favorite. 3.3V PIC, 3.3V AVR, ARM, whatever. The PIC will probably be the lowest power and most tolerant to mistakes. The AVR will be fast for an 8 bit processor. The ARM’s a full fledged 32 bit processor, and may just be more hardware than you want to deal with, plus it MAY need more power than the other two.
You’ve seen the issues that people have had with the Nordic timing. Zigbee modules may not be as “fast” but may provide a more bulletproof design with good range. Maxstream modules (digikey?) may work for you. Downside is that it’s more complex and I think the programmer at least would get more engineering kudos if they got a Nordic system to work They also talk async serial, so you’d need a functioning standard baud rate serial port on your MCU. This can vary from trivial to downright annoying if you need to use a specific crystal frequency to avoid data error.
And… what kind of motors? I mean, all you need is some DC output? Like a PWM? Or even better a DAC? In this case you may use some parts, by Microchip, and up to 4 can be controlled with just 2 lines of I2C. Speed should be enough for motors (i.e. < 100-200 uSec settling time).
I’m interfacing Nordic 2401 (in Sparkfun modules) with USB, and it’s quite straightforward (one you move on some basic… misses )
I personally use the MiRF-v2 boards from SparkFun, which use the nRF24L01 chips, the successor of the 2401. I have developed some software that I can send to you if you want to take a look at how to get them working (I’ve posted links in this forum before, but the code requires you to write several functions of your own). The only problem is that these chips will not interface directly to your computer and you will have to get a MAX232 chip and a microprocessor to act as a go-between. This is the primary advantage of the SparkFun uMiRF boards you linked to, as they have both the level translation and the microprocessor I referred to already on board. The only problem is they use they use the nRF2401 chips, which are much more difficult to deal with than the 24L01 chips (as several users on this forum have been experiencing lately).