Signal/Pulse Modulation Help!!

Hi all, i am setting up multiple infrared transmitters and multiple infra red recivers, all connected to a pic micro controller (pic 16f877). if i want to transmit unique id's from each transmitter to be recieved and decoded by the pic, which method of signal or pulse modulation is the best.

I saw a lot about ASK, PSK, FSK - how are these different to pulse modulation techniques, cause they seem the same to me. For eg: PSK and PPM (pulse position modulation).

Is PPM the best way for me to go about this?

knowledge level- basic.. so please bear with me

Reply to
akarsh000
Loading thread data ...

Hi. If you're doing an IR transmitter/receiver project with a PIC, you might be overthinking this a bit.

The standard "gotcha" in infrared transmitting/receiving is the problem of ambient light. If you've got a guaranteed dark room, and you know for sure one transmitter and one receiver are pointed right at each other and a fixed distance away, with no other sources of light, there are a lot of cool things you can do.

But years of commercial development of that wondrous American invention, the TV remote control, showed that in a wide variety of transmission environments, most of the cool things you can do don't work very reliably. Also, while IR LEDs are pretty fast, phototransistors are pretty slow.

So, the current commonly accepted transmission method is simple. You purchase an IR LED and hook it up to PIC 1. You then purchase an IR receiver module which has an internal filter tuning it to a fairly specific frequency (say, 38KHz), and hook it up to PIC2.

Now you're ready to send and receive data. To send a logic "1", PIC1 uses its internal clock to strobe the IR LED at a frequency matching the IR receiver (say, 38KHz) for about 20-50ms. (50% duty cycle). To send a logic "0", the PIC keeps the LED off. The strobes are picked up by the IR receiver, which gives a steady 50 ms.demodulated logic signal that can be read by PIC2.

Standard rules of serial communication apply here. I would suppose you would want a start bit, followed by some bits for receiver ID, plus the code you would want to transmit. Television remote controls typically only send one data word of information at a time. If you're interested in communicating a lot of data, or if you want to ensure the data is valid, you may want to do a checksum. You could also give each receiver the capability to transmit, where it could either send an ACK or NACK, or retransmit the checksum to acknowledge the data. Up to you

-- many ways to skin the cat, depending on the specifics of your project and how sure you want to be that the data was received properly.

Now, if you're doing multiple transmitters, you'll have a problem here. Obviously the IR pulses of two transmitters have the capability of stepping all over each other, and garbling the transmission. You may want to set up an environment where one PIC is the arbiter, and gives permission for each transmitter to speak in turn. This is commonly done in RS-485, where there are multiple transmitters sharing the same line. But this is primarily a software problem, which you'll have to work out.

This setup is brutally slow (20 to 50 bits per second?!?!), but fairly reliable. You may also want to add some fault tolerance into this setup, as stuff happens (but usually it's not called stuff).

Here's how simple the hardware end of your project can be (view in fixed font or M$ Notepad):

| | VCC | + | | | .------o-------. VCC | | | + | | | IR LED | | | | V~ | | | -~ | | | ___ | | | o-----|___|----' | | | 150 ohm | | PIC | | | | VCC | | | + | | | | | | | .-o-. | | | | | | | | | |\\ | | o--------o | ) | | | | |/ | | | | | | | | '-o-' | | | | | | | === | | | GND | '------o-------' | | | === | GND (created by AACircuit v1.28.5 beta 02/06/05

formatting link

A couple of hardware notes: Good crystals on all the PICs. Be sure to get IR LEDs which match the optimum wavelength of the detector you choose. Be sure to use good grounding practice, and ground the case of the detector -- it can make a big difference. When you're setting this up, you'll also have to keep in mind that the LEDs and receivers are somewhat directional -- unless you've only got 3 devices, you're going to have issues with all the devices seeing each other. Mirrors may help here.

Feel free to post again if you have more questions. I'd be interested in knowing how many transmitters, how many receivers you have. How much information of what kind are you sending? I'd also like to know if this is for the Diploma program or the Bachelors degree program, and if this is the senior project. Do you have a deadline here? And you might want to mention a name.

make yourself MIghTy ;-) Chris

Reply to
Chris

For ASK, PSK, FSK see f.i.

formatting link
These are carrier modulation techniques: ASK modulates the amplitude of a carrier, PSK modulates the phase of a carrier and FSK modulates the frequency of a carrier.

PPM is modulates the position of a pulse in time and there is not necessarily a carrier involved. Look it up in Wikipedia.

Since you did not give any details about your application I cannot say which method would be best for you.

--DF

Reply to
Deefoo

One more thought. If you want more speed (highly desirable, I'd guess) you might want to go to one of your Go Week sponsors, Dick Smith Electronics, and obtain a couple of parts.

Look at their Infrared Buffered Sensor with Lens (DSE P/N Z1955, equivalent to Sharp # IS1U621) for NZ$8.44, and their Infrared Emitting LED Diode 5mm (DSE Cat No. Z3235) for NZ$2.12. These are a little pricey, but they're matched at 940nm wavelength, and the Sharp detector/buffered bandpass filter is supposed to be pretty fast. It looks like you will be able to get bit rate easily over 100 bits per second, possibly quite a bit more. Note that the detector output requires an external pullup -- see the data sheet:

formatting link
formatting link

Use the recommended applications circuit on page 5 of the data sheet, and make sure the 47uF cap is a good tantalum one. If you use a standard electrolytic, you'll have as many problems as if you omitted the cap entirely. The 1000pF cap on the output is also not optional. I would guess you could start out with a 2.2K pullup at the output (Ve).

Once you get to this point, you've basically got a programming project. Take some time to look at serial data protocols to get a head start on this, and to optimize your project.

Again, feel free to post if this doesn't do it.

Fortune favours the brave, and heavily favours the educated. ;-) Chris

Reply to
Chris

Hey Chris, Firstly thanks a lot for all the info.

I am trying implement to multiple stationery transmitters.. and mobile receivers Unfortunately itz not going to be in dark room.. but i have got around the problem of interference from ambient light by implementing a gyrator circuit on a photodiode receiving circuit.

The receivers can move quickly out of range from the transmission radius, hence I do not have the liberty of using the paired Tx's and Rx's, as the system is time critical. I had considered the components from dicksmith, but the minimum "high level pulse width" is 400us and a similar "off pulse width", this would make the data transmission time too long. Hence i had to abandon the use of this.

This is also keeping in mind that to address the problem of interference from multiple transmitters, i would like to ensure only one transmitter transmits at a time, so this adds to my time constraints as well. so i would have to finish transmitting for all transmitters and come back to the first transmitter in lesser time than my receiver would move away from it.

I am sori i was not expecting all the info you gave me, i should have explained my total situation. In brief i am going to have multiple transmitters in a matrix connected to a microcontroller which will generate multiple id's and arbitrate transmission to "sequential one at a time only". refer :

formatting link

My receiver can move quickly away from these transmitters, i would like to shorten my total transmission period to at least 10ms or less. (considering i have 256 transmitters or maybe even more)

I have developed a receiving circuit which addresses the problem of ambient light.. refer

formatting link

In this situation the problem that arises is that in order to know which id the receivers have received i will have to setup wireless transmission from the receivers. or I could implement the transmitters as being mobile, in which case all i have to do is use a PIC already mounted on the mobile units to transmit a programmed id. And i can still use the grid architecture with the receivers connected to micro pins (keyboard kind of system). The problem with this would be that since all mobile units would be transmitting, there would be multipath interference.

so this is where I am stuck at with the signal modulation - PPM is excellent - but not when there is mutlipath interference....

and this for a bachelors degree programme, i do have a deadline a couple of months away. Sounds like you are familiar with MIT. :)

cheerz Akarsh

P.s - please excuse simplistic use of language, electronic amateur.

Chris wrote:

Reply to
roots_of_culture

Refer:

formatting link

i have given the details of how the system works in the link above.

be best. am i wrong? please suggest..

akarsh

Deefoo wrote:

Reply to
akarsh000

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.