433MHz, RX, input pin

nbw

Senior Member
hi there, I'm having a bit of difficulty getting a 433 MHz RX module to read correctly on my 40X1. I'm wondering about a few things you might be able to comment on:

1. My 40X1 is running at 8MHz rather than 4MHz (readehearing?),
2. the RX is being read in through pin Input3. Is this OK, or does it have to be an i/o pin? It seems to affect the picaxe when I do this... I have a momentary switch on input 2 that refuses to respond if the serin RX code below is activated. Take it out, and it's ok.

3. It worked on the breadboard, I used a different RX module (same brand etc) but won't work now. About 1 in 10 times, the right value gets through if I hold the RX about 1cm away from the TX!
4. I have a 170mm coiled antenna.
5. I've smoothed out the power supply to the RX as much as possible. It has regulated 5V plus a 1000uF cap, plus 0.1uF cap to buffer it.

The TX code is: serout 1,n600,(85,85,85,85,"FGW",b0)

The RX code is: serin 3,n600_4,("FGW"),byte1

I tried lowering the rate to 300, but the 40X1 wouldn't allow it.

Any ideas???!!

Thanks, and merry Xmas :)
 

Dippy

Moderator
Post a schematic.

What voltages are being used?
What is this mysterious RF module?
Post a link.
Do you have a 'scope?
(Why not? Haha. Seriously though, a 'scope could save ALL of us many hours.)
Double check your baud rates as there have been problems with inaccurate clock speeds from INTOSC.

You' ve use a 'different' Rx module?
Why can't you try the original which worked??

1000uF is WELL over the top unless you are smoothing AC ;)

A coiled antenna depends on coil diameter and number of coils, NOT specifically on length.
Have a look at Radiometrix and RF Solutions Data Sheets for proper information - don't just guess.

Is this now on PCB?
Have you used sensible RF techniques on your PCB layout? (I assume you realise the importance?)
If you've boobed or haven't done some stripboard correctly then that's down to you to check with a magnifying glass and DMM.

Finally, what is a "readehearing" ?
Is it the same as a Red Herring? :)

Sounds like it's time to get back to basics and do some simple testing.
 

hippy

Technical Support
Staff member
hi there, I'm having a bit of difficulty getting a 433 MHz RX module to read correctly on my 40X1 ... My 40X1 is running at 8MHz rather than 4MHz (readehearing?),

The TX code is: serout 1,n600,(85,85,85,85,"FGW",b0)

The RX code is: serin 3,n600_4,("FGW"),byte1

I tried lowering the rate to 300, but the 40X1 wouldn't allow it.
Perhaps the TX code needs a PAUSE after the preamble, perhaps it needs a longer preamble ?

But I suspect there's also a baud rate mis-match. If transmitting at 600 baud, using N600_4 on an 8MHz receiving PICAXE won't get you 600 baud. No N600_8 - That means that 600 baud at 8MHz isn't supported.

However, you seem to suggest it does work under some circumstances so I'm a bit confused as to exactly what you have.

As to why another input stops working with the SERIN, that suggests it's waiting in the SERIN forever.
 

SAborn

Senior Member
You quote you are running at 8Mhz on the receive end, are you running at 8Mhz on the transmit end........You will need to!!! or double the baud rate on the transmit to match the receive.

A coiled antenna is not a good thing to do, straighten it out and have it errect, at least to you get things working well.

Are you sending a preamble of garbage to wake the receiver up before sending data??

Having both TX and RX circuits too close during testing can cause problems too, have at least a meter between them.

Post both your TX and RX codes as think you could have problems there too.

On a better look.....this dont make sense to me on the RX.



.............("FGW"),byte1..................

What is "FGW" ?? and why the brackets.

Also in the TX is FGW meant to be text or a variable or what, as if its text then you need to send it as ascii with a # in front of the text.
 
Last edited:

nbw

Senior Member
Hi everyone, the sun has waken up in this part of the world, so here I am again :)

I did a test with 2 x 08M (RX and TX), everything worked fine - 30+m range easily.

Then I duplicated the circuit (RX) onto a 28X PCB I made, using the same RX and TX modules (they're generic brand, nothing special like Hope etc). Unfortunately, the 28X decided to not want to program at all despite the tests on serin pins etc.

So, I grabbed my 40X1, and using vero-type board (matrix of holes) recreated it all there. I did a quick program test (flash ye olde LED) and it was fine. To save pulling out the RX module of the dud 28X (in case Rev-Ed sent me a replacement), I put another module in the 40X1 board. So in it went to the enclosure, and there are a lot of flying leads to the various out / in pins.

I can confirm:
1. The RX module is getting 5 volts. I did notice using a scope that there's actually a triangular wave on the +-volts pin for the RX module which surprised me. It's only about 0.3 V p-p, centering around the 5 volts.
2. The 1000uF cap was to ensure nothing else nearby (like LED banks - about 80mA draw) were causing nasty dips to the poor RX. Before the cap, triangular waveform with some largeish spikes occasionally. With 1000uF (and 0.1uF and 10pF to filter out high freq noise) it's just a simple triangle
3. The circuit is so simple it's describable in words... 5V to both the RX + pins, 0V to ground pin, curly (I will straighten) wire to ANT, and a connection straight from D(data) on RX to Input3 (pin 22) of my beloved 40X1.
4. The "FGW" was my idea for a kind of header, to help reduce garbage picked up. So, the TX would send a few 85s as wake-up, then FGW (Finnian George Walker - my son's initials - it's for his cricketboard), then a byte. The RX would only 'accept' the byte if it picked up 'FGW' beforehand.

I could I suppose get the SMD 08M to run at 8 MHz (I think they can), if that would help.
 

nbw

Senior Member
I meant to add - the 40X1 is *ahem* fairly well secured in place now, so I can measure / scope the component side of the board... not the other. I can cut the legs of the RX and replace with another if need be, and there's one spare i/o port and one spare out port I can easily get to if need be.
 

hippy

Technical Support
Staff member
I think the main problem is you've taken A+B+C which worked and replaced it with X+Y+Z which doesn't. That's a lot of possibilities on what could have gone wrong amongst all that may be right and I'm still not sure of the baud rates used.
 

nbw

Senior Member
OK, well I'll try to sort those variables out. Does anyone have some thoughts about NOT being able to use a pure input pin for RX? A thought: what about using the [timeout] feature the 40X1 has to time out the serin?

I can confirm that the 08M is running at 4MHz, and it's currently at 300 baud. The 40X1 has a 8MHz resonator - if I issued at setfreq m4, would that override the 8MHz resonator? If so, then maybe I could use 600 baud on the 40X1, and it would operate at 1/2 speed - i.e. 300?
 

nbw

Senior Member
Oh, it's nearly 2am over there. Talk to you later folks. Hope the snow is easing up a bit! I have friends in Devon and Eastbourne who were recently snowed in, they couldn't quite believe the weather.
 

SAborn

Senior Member
Here is a test program for you to try, you will need to split it for the TX and RX programs.

You will also need to change the pin numbers to suit what you are using for .....TX and for ....RX pins.

Give it a go as it should work if your hardware is setup correctly.

You will also need to have a baud of 9600 set in the terminal window to get text back onto the screen, and your program cable plugged into the RX circuit board.
If the terminal window dont show then press "F8" on your keyboard.

The terminal window should show .....CODE = 100 Data = 12345 .....when data is received and written to screen

Code:
'TRANSMIT &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&



symbol code 	=	b1

symbol data_out =  	w2

symbol TX 		= 	2


setfreq m8

code = 100
data_out = 12345

Main:
	
	'transmit:
	
	serout TX ,T2400,($aa,$aa,#code,$aa,$aa,#data_out )

	pause 100
	
	goto main


'*********************************************************



'RECEIVE &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    				
symbol code_in =            b1

symbol data_in =		 w2

symbol RX = 		 1

setfreq m8							

code_in = 0
data_in =0
								

START:						

							
	serin RX ,T2400,#code_in,#data_in	
	
	pause 50

	sertxd ("CODE = ", #code_in,"    DATA = ", #data_in,13,10) 
	
	pause 200
	
	goto start
 

hippy

Technical Support
Staff member
A thought: what about using the [timeout] feature the 40X1 has to time out the serin?
To achieve what ? It won't actually help for a situation where you want to wait to receive something.

I can confirm that the 08M is running at 4MHz, and it's currently at 300 baud.
Not the 600 baud as stated originally ?

The 40X1 has a 8MHz resonator - if I issued at setfreq m4, would that override the 8MHz resonator?
Yes SETFREQ M4 will AFAIR cause the resonator to be overridden. Test with a simple SERTXD loop; if at 8MHz it will need 9600 baud to be readable, at 4MHz it will need 4800 baud ... and to pre-empt the next question with SETFREQ M2, SERTXD would be at 2400 baud.

If so, then maybe I could use 600 baud on the 40X1, and it would operate at 1/2 speed - i.e. 300?
You would use N300_4, N600_8, N1200_16, N2400_32 or N4800_64 to select 300 baud while at 4MHz; but none of those are available. You can't get 300 baud out of a PICAXE 40X1 at 4MHz or above using SERIN. At 4MHz the baud rates available are 600, 1200, 2400 and 4800 baud.

You can however use SETFREQ M2 and then N600_4 at 2MHz to get 300 baud.

I'm not really sure why you're so low as 300 baud. Most RF modules should work at 1200 or 2400 baud which is achievable without any messing about on the 08M and 40X1.
 

nbw

Senior Member
My earlier reading on the 433 modules suggested a low baud of 300 was good for better data reliability. The TX baud is 300 now (I tried it at 600 too). Will check that that 40x1 is running at 4MHz. I'd be perfectly happy with the thing running at 1200 or higher, even 600. I will have a few plays with it this afternoon.

I was thinking a timeout on the serin might be ueful to allow the rest of the mainloop to continue if serin was hanging eg.

mainloop:
do stuff
serin [timeout for 0.2s]
do other stuff
goto mainloop
 

Dippy

Moderator
nbw.
Have you tried a simple resistor/wire link to make sure your comms bit is OK?
It's an easy way to make sure the baud from one is happy in the other.

If the RF link is good through wire then it should be OK through RF.


Let's not flounder around , let's be methodical.

1. A 300mV p-p triangle on your supply line? Have you got a crappy power supply or is there something on the power line causing this? Are you sure there are no HF pulses? Turn your 'scope up to uS per div.
You should be smoothing things around the causes of this noise and noise decoupling around small devices.
Keep that noise OFF the power rails.
Example: If you have switched power devices then put a fat cap near where they connect to the power rail. Thus, any transients are taken from the cap and NOT the power rail. Then the power rail acts as an RC filter. HF decouple too if necessary.


2. "Does anyone have some thoughts about NOT being able to use a pure input pin for RX?"
- eh?
You need an Input to read the RF output.
Any PICAXE with fixed Input is nothing more than A.N.Other PIC where the frimware has preset the TRIS/ADCON/similar. Nothing magic..
The variation on a PIC Input is whether it is TTL or ST. (Basically the voltage threshold for sensing High/Low).
if anything else has happened then it's your circuit or you've muggered it.


3. Have you looked into the specs for a helical antenna yet? You didn't confirm you understood the reply.

4. Have you swapped out parts with known-to-be-working parts?


5a. And finally. These RF Modules. Are they a decent recognised make or some cheap anonymous (usually) Chinese crap?
5b. Are we trying to polish a turd? :)
Give us a Data Sheet so we can estimate happy baud rates and possible things to check.
I have seen cheap RF modules which are so slow to respond that your desired baud rate is screwed on the RFRxO/P. Check timing with your 'scope.
 

nbw

Senior Member
Hi there Mr. Dippy, good evening! A little floundering is good for the sole..... :)

1. I know - I was surprised as anything to see that triangle. My face must have had the same expression as the last time my wife offered me "some fun" - many years.

2. I wondered if a simple input pin on/off might not be best - maybe the RX module needs a true i/o port... just a thought (that rhymes!)

3. As in, use a straight piece of wire, don't coil it? Trying that soon.

4. Going to try a different RX in a breadboard a, using it's own 5V supply, b, using the 40X1's supply, c, 40X1's current RX with a different 5V supply

5. These are Sum Dum Mak brand, very cheap.
5b. I have various grades of turd-polishing cloth at the ready, 200-grit, 600-grit, etc.

5c. Datasheet. Unfortunately, Sum Dum Mak don't supply datasheets. They only come on the Nek Gray Ahp brand ;-)
 

westaust55

Moderator
@nbw,

Just realised that the thread I pointed you to above did not have some example code for the 08M and 40X1.
I have rectified that now (added post 35) if you wish to look at my working code.

While I had always happily operated at 600 baud, I just tried some tests at 1200 which were successful, but without too much investigation, no joy at 2400 baud.

Keep in mind that my modules use the very basic Keymark 433 TX and RX modules as available from Jaycar for around AUD$12 each.
 

MFB

Senior Member
I thought the introduction of the NKM2401 Manchester encoder/decoder chip would probably put an end to the “try adding/removing a pause or two” dialogue. These cheap 8-pin devices really can achieve reliable operation using low cost radio modules. I have used them with the 433 MHz AM modules (£10 a set) from Maplin Electronics and found the implementation to be very straightforward, thanks to the comprehensive documentation supplied by Rev Ed. The alternative Manchester encoding/decoding approach would be to use PICAXE chips that supports rfin and rfout commands.
 

westaust55

Moderator
Potentially true MFB.

However, the old thread I gave a link to was from around April 2009.
The Rev Ed AXE213 modules (http://www.rev-ed.co.uk/docs/axe213.pdf) from the datasheet came out around Oct 2010 so quite recent to the extent that the "All Datasheets" page does not have a link to that sheet yet.

The AXE213 mouldes are available at the Rev Ed Online Store:
http://www.techsupplies.co.uk/epages/Store.sf/en_GB/?ObjectPath=/Shops/Store.TechSupplies&ViewAction=DetailSearchProducts
but not from Australian agents/reseller Microzed to date.

Finally not everyone will want want to spend the extra coin of their respective realm for the NKM2401 Manchester encoder/decoder functionality.

However the inclusion of the TX enable signal for the TX module on the Rev Ed product saves a PICAXE output and a transistor for TX enable on the transmitting PICAXE.
 
Last edited:

Dippy

Moderator
CHCHCrappo + No Data Sheet = Ohh God! Tightfist Alert! :eek::)

An extra coupla bucks could have bought you something that is KNOWN to work.
If you have little or no experience then you are just adding 'unknown variables' to a design equation.
For an extra coupla quid you could have had something working NOW and not having to suffer me ranting about the risks of being tight. :)
Saving money at all costs ... just like my Dad. aaargh. haha.
[End rant]


OK, back to Basics.

1. Have you done a simple wired Serout to Serin to check your code and baud rates?

2. " I wondered if a simple input pin on/off might not be best - maybe the RX module needs a true i/o port"
- Eh? We seem to be going round in circles. I haven't got any idea what you are talking about now, sorry.
A PIC/axe i/o port is set (in code somewhere) as an Input or an Output . If set as an Input then it is also set as a Digital or Analogue. TRIS etc. That's it. End of. No magic.

3. So, you haven't looked into helical versus whip antenna design as suggested?
For testing over a couple of metres I doubt it'll make any odds, but let me find an example for you....
http://www.radiometrix.com/files/additional/tx2arx2a.pdf
PAGE 8.


4. Unknown modules. You should be studying the RF module Output signal when it receives Serial Data from the Tx.
You should be looking at timing , level and shape.
Your Rx O/P may be very noisy so you will have to be careful with triggering.
Ensure your chosen baud is miles away from typical noise frequency.
(Or spend a tenner and get something decent. Stop propping up some crap Manuf. who just wants your money and couldn't give a poo about quality. Oh, I'm off again :) )

5. I'm going to phone the Samaritans...
I seem to remember someone here who bought some CH cheapo Tx and Rx modules. Turned out they were incompatible. You get the service you pay for.

Manchestering is quite easy. I can give you non-PICAXE code if you want to translate it.
But if your modules are crap then you can Manchester until you are blue in the face.
You are back to potential turd polishing (Technical term: po$$ibly pi$$ing into the wind).
IF they are compatible and actually work then you should be able to get a serial link right NOW.

BUT START from basics or get decent stuff...
 

nbw

Senior Member
Ok, ok, calm down folks... yes, I know they're cheapos - I got them cheap, if they work great, if not, caveat emptor etc. I thought I'd do the sanity check to make sure I hadn't cocked up anything else before blaming the modules - which may be ok. You know, occasionally the odd thing from China does work...

I Will do the tests you've suggested and post the results.
 

nbw

Senior Member
BUT! I won't throw out the tightfisted crappo modules just yet til I can be sure I'm not mostly / solely to blame :)

Good night all
 

Dippy

Moderator
Absolutely.
But you need to get back to basics.

If you haven't got a data sheet you need to test and measure.
I'd spend 30 minutes 'scoping with different signals and making notes.

Then throw them away :)
(Just kidding. I'm sure they are far better than RF Solutions / Radiometrix and WanHungLow).
 

SAborn

Senior Member
Did you see the test program i posted to you some way back??

You flounder around with this and that and not even use a test routine to prove if its a hardware or software problem you have.

Its called process of elimination and the only way to work with these modules.

Ones guessing you only read the last post listed..........How rude!
 

MFB

Senior Member
I know times are hard (and set to get harder!) but £1 (+ VAT) for a set of NKM2401 chips is still a bargain when you consider the amount of time that can be spent trying to 'software tune' a cheap radio link. Even if you do develop a data format that works it will probably not be reliable with another set of RF modules or operating environment.

Assuming you can find the money from somewhare, the only reason not to use the NKM2401 (or the rfin and rfout PICAXE feature) with low cost modules is if you need to squeeze the maximum data rate from the available RF bandwidth. The overheads associated with Manchester encoding/decoding require about twice the bandwidth for a given data rate than FSK modulation, which is usually able to achieve an over-air rate of 1200bps from even the most cheap and nasty RF link.
 

hippy

Technical Support
Staff member
I know times are hard (and set to get harder!) but £1 (+ VAT) for a set of NKM2401 chips is still a bargain when you consider the amount of time that can be spent trying to 'software tune' a cheap radio link.
The NKM2401's are incredible little stunners and IMO definitely value for money.

I say that not to sell them per se but as someone who hadn't done much 433MHz RF and ran into all the hours of frustrations and "nothing happens" in trying to get a software link to work. With the NKM2401's on AXE213 boards I got a link up and running in an incredibly short time with a reliable transmission distance far greater than I ever achieved before.

In the cases where a separate receiver front-end would be ideal for a project, two NKM2401's are as cheap as a PICAXE which would be previously have been suggested with less coding effort.

There are cases where direct software control does make sense, or is a fun thing to try in itself, but as we know from the posts on the subject in the past it can often be far more difficult than it first appears. A whole set of factors have to be correct for anything to work at all and it can mean a lot of floundering in the dark making guesses at what may be wrong. You need a very focused mind, absolute confidence in what you are doing and why, and you still have to hope the bits of the jigsaw fall into place. One tiny thing wrong and it may never work. It is one of those cases where I'll admit that an oscilloscope is a great help.

I'll also admit that my first attempt with an NKM2401 had problems. The first RF module did not work, a different second one instantly did. After a lot of investigation and experimenting it turned out that the first module had to be wired differently to how the datasheet showed it. C'est la vie, but it illustrates how one weak link in a chain can break everything which is otherwise perfect. If it hadn't been for the second module working it would have been an even tougher job figuring out where the problem was, though knowing the NKM2401 should and does work did point in the direction of where the problem was.

That's the moral; the more that is known to "should work" the easier it is to narrow down what is not working. If nothing is known to work then it's a mammoth task finding out what doesn't.

Start from the basis of previous posts and all the forum's expertise and investment in what should work. Don't cut corners, don't get ahead of yourself. Start with a solid foundation, get that working, then move forward.
 

SAborn

Senior Member
FSK works quite fine from my testing for use up to 50M +++ and is all about how you transmit the data and the antenna used,

I would not bag fsk for general purpose use as i have very reliable logged data from such modules.

Consistant logged data (currenly 4 times per second) will show errors if they occur and for over 12 months there is zero errors to date.

Get it right and the system works .....get it wrong and you will get garbage....simple!!
 

John West

Senior Member
(snip)
I'm sure they are far better than RF Solutions / Radiometrix and WanHungLow).
Hey! I've got 20 Radiometrix xmit modules that I shelled out 25 cents apiece for! Now yer tellin' me they're no good? Dang!

I knew I shoulda talked 'em down another nickel. Dang!
 
Last edited:

hippy

Technical Support
Staff member
the RX is being read in through pin Input3. Is this OK, or does it have to be an i/o pin?
Just to settle this one definitively - The pin through which the PICAXE receives data from the RF receiver module needs to be an input-only or an I/O pin configured as input. Either will work.

It may be necessary to choose a pin which has TTL input characteristics rather than Schmitt Trigger characteristics depending upon the voltage levels the RF receiver module puts out. If the datasheet does not state the voltage levels, or there is no datasheet, you will have to use an oscilloscope to determine what those voltage levels are.

If you choose an input pin with TTL characteristics you should have less problems than if choosing a pin with Schmitt Trigger characteristics. If an ST input doesn't receive suitable voltages the PICAXE will not detect any incoming serial even if that is being output from the RF receiver module.

You may also need to use an oscilloscope to determine the serial polarity ( Nxxxx or Txxxx baud rates ) for both the RF transmitter modules and RF receiver modules. You will need suitable test programs to do this. You may get lucky and be able to determine the polarities simply by trying the four possible combinations.

Ideally you ultimately want a test program which sends a known sequence over the air through a transmitter module and to see the result from the receiver module which matches on an oscilloscope.

You can do this 'blind', without an oscilloscope, even with LED+R to show when data is passing along a signal line, but it it is much harder if something doesn't work as you cannot as easily identify what isn't working.
 

bpowell

Senior Member
I was thinking a timeout on the serin might be ueful to allow the rest of the mainloop to continue if serin was hanging eg.

mainloop:
do stuff
serin [timeout for 0.2s]
do other stuff
goto mainloop
Hi nbw,

I'm not an expert on the RF stuff, so I will let the experts speak to that...however, I thought I'd mention (since I didn't see anybody mention this) the "timeout" function will not work as you expect it to with an RF link. The timeout function will timeout if NO data is received in the time specified, however, with these "dumb" RF modules (which I love by the way) you are CONSTANTLY receiving data, it's just all garbage...that's why you need the qualifer ("FGW") (Love the name by the way) so the Picaxe knows: "Okay, I'm receiving all this crap, but when I see "FGW" I'm going to capture that next byte and move along..."

The timeout would work fine on a hard-wired circuit, or with a higher-end RF module..but on the 433 mhz, you're just going to have to have your code wade through the noise until it finds what it's looking for.

Good luck!
 

nbw

Senior Member
Here is a test program for you to try, you will need to split it for the TX and RX programs.

You will also need to change the pin numbers to suit what you are using for .....TX and for ....RX pins.

Give it a go as it should work if your hardware is setup correctly.

You will also need to have a baud of 9600 set in the terminal window to get text back onto the screen, and your program cable plugged into the RX circuit board.
If the terminal window dont show then press "F8" on your keyboard.

The terminal window should show .....CODE = 100 Data = 12345 .....when data is received and written to screen

Code:
'TRANSMIT &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&



symbol code 	=	b1

symbol data_out =  	w2

symbol TX 		= 	2


setfreq m8

code = 100
data_out = 12345

Main:
	
	'transmit:
	
	serout TX ,T2400,($aa,$aa,#code,$aa,$aa,#data_out )

	pause 100
	
	goto main


'*********************************************************



'RECEIVE &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    				
symbol code_in =            b1

symbol data_in =		 w2

symbol RX = 		 1

setfreq m8							

code_in = 0
data_in =0
								

START:						

							
	serin RX ,T2400,#code_in,#data_in	
	
	pause 50

	sertxd ("CODE = ", #code_in,"    DATA = ", #data_in,13,10) 
	
	pause 200
	
	goto start
I haven't ignored this. I'm just concentrating on eliminating the hardware side of things i.e. power supply ok, input pin ok is correct etc.

I know Australia is probably a bit miffed at losing the Ashes, but no need to lay into people on the pax forum... LOL I will get to your code (and thanks)
 

nbw

Senior Member
Just to settle this one definitively - The pin through which the PICAXE receives data from the RF receiver module needs to be an input-only or an I/O pin configured as input. Either will work.
That's all the confirmation I needed. Thanks - one more thing eliminated from the list of probs! :)
 

nbw

Senior Member
I mentioned most of that in #14 and #19 but no response.

Maybe his TRIS was set to 0x00 :rolleyes:
Wire link testing is today. Father was visiting from Australia so not as much time spent on the 433 as I would have liked. Enough time for some sentiment to build up on this post though - crumbs! I'm getting there guys, I've got a cranky wife and kids to contend with as well :)

I do have a test program. The TX send five different bytes, one each when a button is pushed. The RX picks them up and beeps 1 - 5 time depending on what button was pushed. (Not a complete moron ;-)
 

nbw

Senior Member
Hi nbw,

I'm not an expert on the RF stuff, so I will let the experts speak to that...however, I thought I'd mention (since I didn't see anybody mention this) the "timeout" function will not work as you expect it to with an RF link. The timeout function will timeout if NO data is received in the time specified, however, with these "dumb" RF modules (which I love by the way) you are CONSTANTLY receiving data, it's just all garbage...that's why you need the qualifer ("FGW") (Love the name by the way) so the Picaxe knows: "Okay, I'm receiving all this crap, but when I see "FGW" I'm going to capture that next byte and move along..."

The timeout would work fine on a hard-wired circuit, or with a higher-end RF module..but on the 433 mhz, you're just going to have to have your code wade through the noise until it finds what it's looking for.

Good luck!

Yeah, I wondered if it would get much in the way of false bytes etc, I have read these modules do drop bytes, esp. at higher speeds. That's why I tried to lower the baud rate and include the qualifier as well. Of course if as in my case, the modules are suspect or the engineer might have missed something... :) I'll keep plugging away.
 

bpowell

Senior Member
Yeah, I wondered if it would get much in the way of false bytes etc, I have read these modules do drop bytes, esp. at higher speeds. That's why I tried to lower the baud rate and include the qualifier as well. Of course if as in my case, the modules are suspect or the engineer might have missed something... :) I'll keep plugging away.
Yeah, there is just garbage pouring in all the time on those modules...I only know this, becuase I tried the "Timeout" myself, and had to figure out why it wasn't working! :)

I wrote a program to just grab data and spit it onto a screen from the RF, and it was non-stop garbage...just the noise of the cosmos I suppose. So, I thought I'd save you a little time and mention that Timeout doesn't work.

I do use my 315mhz pair quite reliably at 1200 baud and they shoot at eachother from about 30 meters from within two structures: pump house, fully insulated and built to housing code, transmitter inside ---> receiver is inside my house...so I'm quite happy with the performance and baud-rate.

I wish you luck, and will follow this thread!
 

eclectic

Moderator
Perhaps already mentioned,
but if not:

Add an 08m as the "doorman".

When it receives the password NGW,
it wakes up the "boss" 40X1
(Who can "listen" using setint/interrupt).

e
 

nbw

Senior Member
OK, started with a few hardware basics:

1. Other RX module, used off this supply (3.7V to 5V LM2621 circuit) - also gets a rough triangular supply for power,
2. The above RX Module, off a LM2940 5V low droput regulated supply - fine, less than 50mV ripple,
3. The in-circuit RX module, off the above LM2940 supply - fine also
4. Checked supply to 40x1 - triangular also!
5. Check output of LM2621 - triangular and spiky - not good at all. I suspect the LM2621 has died an unnatural death.

Now with the above, I can for now use the 2940 regulated supply and try some of the code suggestions above... will keep you posted!

Happy New Year
Barney
 
Last edited:

Dippy

Moderator
Oh, a DC-DC chip has made an appearance.. ;)
Has this had a mention before?
If we'd had a full schematic and description we may have seen this so sorry if I missed a bit .


I've never used that particular chip but have designed a number of other boost circuits.
Experience has shown me that even a teeny-tiny change can make a huge difference to performance.
I have used Linear LT1303s in hundreds of RF circuits without problem, but found that moving components by 1mm had a huge affect on noise. They really are fussy. So if the designer of your PSU PCB wasn't aware of this then that might explain the lousy performance. (Assuming they used good components as opposed to cheap chod).
I used Radiometrix and RF Solutions modules and they were flawless.


Anyway, sounds like you are getting your teeth into it.
I hope the RF modules turn out to be good value. Only 20 man-hours so far.... :)
Happy New Year.
 

nbw

Senior Member
Oh don't be like that LOL it was working fine before, I suspect a dodgy (under-rated) inductor is at least partially to blame. I'm not sure I like these LM2621 chips; the MAX ones seem a bit more reliable. Dammit, I only want 5V @ 0.2A from a 3.7A Li+ battery... not asking for world peace and a pretty young thing to bring me my supper!!

Previously the circuit was driving the 40x1, 2 banks of 8 LEDs @ 8mA each, 6 x 4543 BCD LCD drivers, and a grubby little 555 oscillator driving the backplanes at 100Hz. Output from the DC-DC was as smooth as a baby's bum, less than 10mV ripple. Now it's up and down and jerking like a Vivian Street girl; very disconcerting.
 

Dippy

Moderator
I'm teasing mate , but seriously though , not mentioning a DC-DC in the mix was a significant omission. :rolleyes:

Noise performance is very much down to design and component choice.
Those things are in your hands I assume?

It's like saying that your omelettes are horrible and asking us how to make a nice one - and then telling us 3 days later that, oh by the way, the milk is sour :)

What I'm saying to you is that it IS possible for successful RF circuit using a Boost design - as long as you have got it right.
Does that chip require a minimum load to keep regulation? You can shove as many maicrofarads in as you like but if the load is wrong or the caps are the wrong type etc. then you are peeing into the wind.

If your DCDC is crappy I bet there are more horrors in your lines than just a triangle wave.
How fast can your scope sample?

Now knowing all this you should be feeding your RF circuits with nice smooth DC and developing it upwards.
Start from BASICs. Get rid of the unknowns. Keep the design equation simple.
 
Top