Maker Pro
Maker Pro

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
 
C

Chris

Jan 1, 1970
0
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

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 www.tech-chat.de)

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
 
D

Deefoo

Jan 1, 1970
0
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

For ASK, PSK, FSK see f.i.
http://www.cs.ucl.ac.uk/staff/S.Bhatti/D51-notes/node12.html. 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
 
C

Chris

Jan 1, 1970
0
Chris wrote:
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 www.tech-chat.de)

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

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:

http://isa.umh.es/temas/micros/doc/datasheets/is1u621.pdf
http://www.dse.co.nz/cgi-bin/dse.storefront

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
 
R

roots_of_culture

Jan 1, 1970
0
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 :
http://navdeep2u.googlepages.com/grid.jpg


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 http://navdeep2u.googlepages.com/circuit.jpg

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.
 
Top