PCB project - stackable mini-modules

Where did you find a tuning procedure? The docs I have don’t talk about how to do it.
It’s possible that you have them out of tune.
Are you using the 2400 baud model, which appears to have an adjustment on the rcvr module? I’m using the 4800 baud type, which does NOT have any obvious tuning capability. I wouldn’t recommend changing the tuning unless you’re sure that they’re wrong.
But if you’ve already changed it, then using a voltmeter as described before, I’d suggest playing with the tuning adjustment until you get a clear indication of a signal. It’s best to use a plastic tuning tool - if you use a metal screwdriver, the tuning will change just by bringing the driver close to the adjustment.

Side-note related to tuning: I tried using one of the Laipac xmtr modules with a Microchip rfPIC receiver module. It didn’t work with the Laipac xmtr, but it DID work with the Microchip xmtr. Using a frequency counter, I found that the Microchip modules are not very close to the ‘official’ frequency of 434.92 Mhz. The Laipac xmtr was within the spec shown in the datasheet. The Microchip modules are intended to be demos for the rfPIC chips, so they are on a much larger board, and it is easy enough to tune them by changing a capacitor value (but I haven’t done it).

Pete

Another (fainter) possibility is that you have a strong source of interference that is ‘swamping’ your rcvr, so that your signal isn’t seen amongst all the muck.
The frequencies used by these modules (434 and 315 Mhz) are used by lots of household gadgets, including garage-door openers, keyless entry systems for cars, etc.

Are you running 315 or 434? I think 315 is used by more cheap gadgets, and is more likely to see interference.

Try running the rcvr without an antenna wire connected (you should do that anyway until you get everything working). If you have an antenna wire connected, your rcvr is picking up everything within half a block or so… Maybe also try covering the rcvr with a metal box, to shield any unwanted signals.

Pete

I am using the 315MHz model. This is the 2400 baud model. It can be found here: sparkfun.com/commerce/produc … ts_id=7813

The walkthru describes tuning it as a last resort since they already come pre-tuned. sparkfun.com/datasheets/RF/K … hrough.pdf

I am using a ttl shifter from spark fun as well. There is an led light that indicates serial going into the PC. This led is constantly on which means someting is being sent but hyperterminal doesnt pick anything up.

Does the TTL shifter light up only when the signal is actually changing, or would it stay on solid simply because the serial line is always high (or low, whichever)?
You could easily test that without the rcvr, just connect the serial line manually to +5 and then Gnd.

If it only lights when things are changing, then that could be the random output from the rcvr. Note that the random output is not serial data at any particular baud rate; rather it is just the rcvr’s output randomly wiggling up and down. So Hyperterm would not necessarily see anything.

Regarding the “tuning procedure” - note that it doesn’t really tell you how to adjust it…

Pete

FYI, folks might recall at the beginning of this thread that I planned to make an SMT board this time.
To enforce that notion, I’ve ordered myself a hot-air rework/soldering station for Xmas :slight_smile: .
It’s the same brand as the ones that SparkFun sells, but it’s a model 768. I found a web store that had a bigger selection and considerably lower prices. Also ordered some various extra soldering tips and hot-air nozzles.
It’s “in the mail” as we speak…

My old Weller has served me well, but it will probably be mostly idle from now on.

I still haven’t decided what the new PCB will do. I’m now leaning towards a small board that does the following:

  • A small/medium sized PIC, such as an 18F2420.
  • The little 434 Mhz rcvr and xmtr modules from SparkFun (I’ve ruled out Bluetooth for now, because of the cost). I’ve ordered two more sets of rcvr/xmtr modules.
  • Software to do some basic half-duplex communications with other modules running the same code.
  • Several MOSFET switches for controlling motors or other gadgets.
  • I2C.
  • Some basic I/O pins.

One possible cool application of these would be in making a “fleet” (swarm) of very small bots that all are controlled by a “mother ship” (queen).
Or, this board could simply be the intelligent wireless communications port on a bot. As was suggested in an earlier post, it could be used for doing hand-held remote control and such.

Pete

I had an idea for my next PCB project:
Since I can’t settle on exactly which functionality to put on a single board, I’ll make 3 or 4 little “modular” boards that stack on top of each other (similar to PC104).
Each board would be 1.25" X 2.5" (or less), to get 3 boards from the ExpressPCB “miniboard” service, which is 3.8" X 2.5".
One board would be the MPU, it’s programming header, and perhaps a 5V regulator.
Another little board would contain some FET switches, and H-bridge, and related stuff.
Another board would include the transmitter and receiver modules mentioned in earlier replies.

The MPU board would probably be “required”, but the other boards would be optional.

The board-to-board connectors would be based on SMT IDC-type connectors, such that header pins from the bottom board go through holes in the PCB to mate with an SMT female header on the top of the board.

With this approach, someone could easily make their own board to add to the “stack”, such as a Bluetooth module, or an SD flash card, or whatever.

Pete

Saipan59,

I followed this technique and I get a constant voltage of about 1v at all times. Should I be seeing 0 or 5v?

I think you’ve got something here… :smiley:

Yes, indeed, and I think even I might be able to do something like that. You could make all sorts of interesting modules to add to this. Using the Bluetooth 2.0 dip package from Sparkfun, it would be really easy to add Bluetooth.

8-Dale

The “about 1V” is probably the random output when the rcvr is not receiving anything.

I just did some checking on the bench, and noticed these things (note that I did this with the 4800 baud version at 434 Mhz, I don’t know if yours would be different):

  1. On the xmtr, when the data line is low (0V), it is the same as when the xmtr is not powered up at all - there is no output. When the data line is high, there is a constant output (verified with an oscilloscope). So there is nothing unexpected about how the xmtr works.

  2. On the rcvr, when it receives a constant signal (xmtr is on), the data output initially goes high, but only temporarily! After about 1/4 of a second, the output goes low and stays low. There is no random noise as long as the xmtr stays on. This means that it would NOT be possible to use a super-slow baud rate (not that you would want to anyway).

As long as the xmtr output cycles on and off at least a few times a second, the rcvr output follows the xmtr input.

SO, since you have changed the freq adjustment on your rcvr, and it may be wrong, I’d suggest the following experiment:
Power up the xmtr, and connect the Data line to +5 continuously.
Monitor the output of the rcvr. I assume it will be at the “about 1V” level as you mentioned. Slowly adjust the rcvr until the output goes to either 0V or 5V.
If possible, physically separate the xmtr and rcvr by several feet (or more), and repeat the adjustment to find the best setting.

  1. It is unclear to me what the difference is between pin 2 and pin 3 on the rcvr. The output signals look basically the same.

  2. Using only the rcvr and my oscilloscope, I connected the rcvr’s antenna to a long wire (a shortwave radio antenna, which goes up to the roof of the house). Every few seconds I could see a ‘signal’ at the rcvr output (a quick string of pulses, not random noise). It is probably the transmissions of garage-door openers and other gadgets being used in the neighborhood.

Pete

For the ‘transceiver’ module, I plan to set up the TLP-434A type modules with a xmtr and rcvr that share a common antenna, running half-duplex on the same frequency.

I have a design (only on paper) that does T/R switching using a pair of PIN diodes, an inductor, a couple of C’s, and a couple of R’s. A PIC will be available to do the T/R switching, so it’s not necessary for it to be ‘automatic’.

Has anyone tried anything similar?
Is there a simpler way that is effective?
Given that the xmtr is rather low-power, is there any danger of damaging the front end of the rcvr?

Pete

Pete,

Ive got my tx and rx setup in front of me right now. I have 5V going to the input line of the tx and the rx hooked up accordingly.

I turned the adjustment while monitoring the output with a volt meter. It seems to always be around 1V no matter where the screw is positioned. I cannot get it to go to 0 or 5V at all.

I have 2 sets of these modules though, 1 I adjusted and 1 straight from sparkfun and they both look the same on the voltmeter.

BotHakr,
I guess I don’t have any other ideas, except to use some better test equipment to figure out what’s going on…

Pete

Me being a biped fan, I would love to see a board dedicated to ballance control. Like the Honda ASIMO, if pushed, the motors work against the force keeping it stable. I know there are gyros and tilt sensors, but a “smart board” that can adapt would be nice.

Answering my own question on how to best do this:
A fellow in the SparkFun forum pointed out an SA620 chip which does exactly what I need… It’s an SOIC-8 package.

Pete

That’s a good idea Mike - a “positional sensor” board or whatever, that stacks on top of the CPU board.

My initial set of boards will be the following 3 boards, which will use up an ExpressPCB “miniboard”:

  1. CPU with a 5V regulator. Possibly using a PIC 18F2525, or similar, in an SOIC-18 package.
  2. RF transceiver.
  3. Power switching, using MOSFET switches and perhaps an H-bridge also.

Pete

Ok I am getting closer!

Just for kicks I decided to hook pin 3 of the rx up to my serial port instead of pin 2. When I reset the pic setup to transmit I can see the character show up on the terminal…but only right after I reset it. It seems to be transmitting pretty good other than it only transmitting 1 character (by the way, changed it to only transmit all “hhhhhhhh” instead of hellohello…).

The walkthrough states that pin 3 on the rx is the “linear output”.

This is going to be very cool. I like your idea!

I’ve been moving forward on this project lately. The schematics are at:
www.geocities.com/saipan59/robots/stackable.zip
Each of the 3 schematic pages is a separate module, but all 3 of them are being layed out on a single board. When I get the PCBs, I’ll cut them apart.

I went with an 18F2620 on the MPU board, because it’s about the most functionality I can get in an SOIC-28 package. Nearly all the components are surface-mount.

The boards will be ‘stackable’, such that the MPU is always on the bottom, and I can plug either of the other boards on top of it (no cabling).

The FET board includes one H-bridge (up to about 4A capacity), plus 6 other switched signals (2 hi-side, 2 lo-side, and 2 that will either source or sink).

Pete

I just ordered 3 PCBs for this project. They’ll probably not get here until Tuesday the 2nd, due to the holidays.

All the files latest are here:
www.geocities.com/saipan59/robots/stackable.zip
The zip file is about 300 KB.

On the MPU portion, I added a spot for a 32.768 Khz crystal, for doing “real-time clock” stuff.

On the radio transceiver portion, I added a comparator circuit to the rcvr output, although I don’t expect to need it with the modules I have now.

Pete

The boards came today!
Here are two pix:
www.geocities.com/saipan59/robots/bare.jpg
www.geocities.com/saipan59/robots/mpu_stuffed.jpg

Everything works so far - I put some code in to blink the LED…
And, my first attempt at surface-mount soldering seems to have worked.

Pete