0
\$\begingroup\$

I am working on a project to wirelessly check whether any of four switches are pressed and I don't want to use a microcontroller on the transmitter side. I have worked with the cheap 434MHz HT12E/D modules before, but they get jammed when more then one is transmitting at a time. Are there any alternative solutions to this problem?

\$\endgroup\$
3
  • 3
    \$\begingroup\$ Any reason to avoid a microcontroller? Something like an RFpic could replace both the encoder and transmitter. Then you could implement the Holtek protocol and introduce a pseudo-random delay rather than the continous transmission (from memory) those encoders use. \$\endgroup\$
    – PeterJ
    Commented Feb 27, 2015 at 9:36
  • 1
    \$\begingroup\$ linxtechnologies.com/blog/… this sort of thing @PeterJ ? \$\endgroup\$
    – pjc50
    Commented Feb 27, 2015 at 9:51
  • \$\begingroup\$ @pjc50, looks neat. The RFpic devices have the RF transmitter stage built in so I was thinking of replacing the TX module at the same time but of course a downside is you need a proper PCB, although the only time I've used one was to install in a keyfob so it needed the PCB either way. Seemed to give good results / range just copying the reference design layout. \$\endgroup\$
    – PeterJ
    Commented Feb 27, 2015 at 10:03

3 Answers 3

1
\$\begingroup\$

If, as I read it correctly, you have 4 independent FM transmit modules and no means of time-synchronizing them, this won't work. The 434MHz FM receiver is usually designed to receive any FM transmission over a bandwidth of about 1MHz. The receiver will lock into (after a delay of a few milliseconds) any single FM transmission and, if two transmissions are present it will get into a mess.

However, if you can route the switch wiring to one transmitter's HT12 module then this should work effectively. If this is what you are actually doing (unclear in your question) then the problem lies elsewhere.

\$\endgroup\$
1
\$\begingroup\$

If all your devices transmit on 434MHz, can you at least modulate them? Pick some relatively prime values: 1300Hz, 1700Hz, 1900Hz and 2300Hz. AM mode, double sideband, suppressed carrier.

While it would be nice for everything to match 434.0000000 MHz perfectly, chances are there will be mismatches and drift. Even so, keeping your 4 transmitter in AM mode you should be able to detect distinctive sidebands. Suppressing the carrier will eliminate noise from 4 transmitters at 0Hz, making sideband detection slightly easier.

No micro controller on the TX side, but you'll pay for that with tone-detecting software on the Rx side. Fourier transforms [or similar] will be required, for each sideband, to detect the presence / absence of each tone.

Edit: You can do the same with FM rather than AM. Just be careful with modulation indexes, and inter-modulation distortion when decoding to audio frequencies.

\$\endgroup\$
0
\$\begingroup\$

I can't think of a simple solution without microcontrollers. There are very cheap and small microcontrollers, so I also don't really see why you don't want to use them. With microcontrollers...

You could implement a basic master-slave protocol with the HT12E/D you used before. The idea is to have one master (the receiver) controlling all the data over the communication lines (the ether, that is). There are then four slaves who are only allowed to transmit when the master tells them to.

An example, where \$M\$ is the master and \$A\dots D\$ the slaves:

  1. \$M \;:\; A?\$ (is button A pressed? Only A is allowed to respond)
  2. \$A \;:\; \text{no}\$
  3. \$M \;:\; B?\$ (is button B pressed? Only B is allowed to respond)
  4. \$B \;:\; \text{no}\$
  5. \$M \;:\; C?\$ (is button C pressed? Only C is allowed to respond)
  6. \$C \;:\; \text{yes}\$
  7. \$M \;:\; D?\$ (is button D pressed? Only D is allowed to respond)
  8. \$D \;:\; \text{no}\$
  9. Go back to 1.

This is rather lightweight. You can encode all different messages (A?, B?, C?, D?, no, yes) in only three bits. That gives 24 bits per cycle. You will have some overhead, but you can run through this protocol extremely fast, so response time won't be an issue.

Note that all the devices can listen at the same time, but only one is transmitting at the time.

For more complicated master-slave protocols, you could have a look at SPI, I2C, and the like. It could give you some inspiration.

\$\endgroup\$
7
  • 1
    \$\begingroup\$ How would you implement this without a microcontroller? (I know, its a silly requirement, but its what Meet Patel states.) \$\endgroup\$ Commented Feb 27, 2015 at 9:16
  • \$\begingroup\$ thank you camil .the idea is great but to implement it .when any two 434mhz transmitter is switched on irrespective of sending data the receiver sends null and gets jammed . \$\endgroup\$
    – Meet Patel
    Commented Feb 27, 2015 at 9:19
  • \$\begingroup\$ @MeetPatel then there's something wrong with your setup. It should be possible to have multiple receivers at the same time. \$\endgroup\$
    – user17592
    Commented Feb 27, 2015 at 9:33
  • \$\begingroup\$ @WoutervanOoijen you're right, I edited to clarify. \$\endgroup\$
    – user17592
    Commented Feb 27, 2015 at 9:34
  • \$\begingroup\$ yes i should have multiple receiver for multiple transmitter .but even thats not working with the 434mhz rf modules with ht12e/12d the receiver just stucks when 2 transmitters are on. \$\endgroup\$
    – Meet Patel
    Commented Feb 27, 2015 at 9:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.