Go Down

Topic: Radio Communication, Incomplete data on the receiving end (Read 2364 times) previous topic - next topic

GustavoMcSavy

I posted earlier about AFSK signals using a library called SoftModem. I moved on from SoftModem and onto one called LibAPRS. I'm a lot closer to successfully transmitting data now. I am able to communicate between the two arduinos with a wired connection, but I'm having trouble with the radio connection.

I'm losing about half of my data between the radios.

This picture is the data over wired connection. The yellow is the data and the blue is the enable pin.

Sorry it's blurry, it's about 840ms long if you cant tell.

This is what the data looks like on the radio receiver.

It's barely half as long and the ends look pretty mangled.

Not sure why the pictures aren't showing up today, but if you click on the icons it should take you to the picture.

I'm not entirely sure if this is a software or hardware issue, but I believe it's hardware, since it works with a  wired connection. Could the transmitter require more time delay between the enable and the signal?

Paul_KD7HB

" Could the transmitter require more time delay between the enable and the signal?" You must have changed the delay or you would not be asking the question. What happened when you increased the delay?

Paul

GustavoMcSavy


Southpark

I posted earlier about AFSK signals using a library called SoftModem.
Do you mean the AFSK works over cable, and having issues when transmitting over wireless?

For the wireless system....... are the two audio tones modulating a high frequency carrier?.....You transmit the RF signal.... and at the receiver, you recover the audio tones from the RF carrier?

Oh.... hang on..... I see now, after looking at your diagrams on the other thread. May need to see if your wireless link is allowing sustained data communications..... with no interruptions or hold-ups. Otherwise, yeah..sure, things could drop out. hmmmm....but then again, if error checking is used, then should be ok.

raschemmel

This picture is the data over wired connection. The yellow is the data and the blue is the enable pin.
Sorry it's blurry, it's about 840ms long if you cant tell.

This is what the data looks like on the radio receiver.
It's barely half as long and the ends look pretty mangled.

Quote
..but then again, if error checking is used, then should be ok.
Talk is cheap.
Illustrate how you would do that.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

GustavoMcSavy

I have error checking, what I need is fewer errors. 0 of 10 transmissions have successfully made it through. I have a buffer on the receiver input to square up the signal, but I'm not sure what else I can do.

Southpark


I see. Yeah... are you using methods like manchester encoding for synchronisation? I reckon you're really close to getting things working.

jremington

Quote
I have a buffer on the receiver input to square up the signal, but I'm not sure what else I can do.
This is a bad idea. The software expects from the receiver  (in the ideal case) a clean, sine wave audio signal. An analog input is used, not digital.

I suggest to closely follow the directions on the microAPRS site for coupling the receiver signal to the modem.

Micromodem input signal requirements:
Quote
Minimum analog input level for good decode is about 100mV peak-to-peak

GustavoMcSavy

#8
Aug 09, 2016, 03:47 am Last Edit: Aug 09, 2016, 05:56 am by GustavoMcSavy
This is a bad idea. The software expects from the receiver  (in the ideal case) a clean, sine wave audio signal. An analog input is used, not digital.
Well that explains why I just discovered the wired connection works only 1 in 5 attempts. No wired connection should have a failure rate that high. It's getting the digital signal.

I'll try removing the buffer.

Also, I see the schematic for the micromodem transmitter uses 4 digital pins to make a DAC with a mic level output that goes to the radio. I don't think the TX pin on my transmitter is made to take a mic as an input, it wants a DC coupled CMOS logic signal. I've also noticed, only 1 of the 4 pins actually had any signal output, so I've been using that pins digital output. Are there changes I need to make on the transmitter too?

Southpark

Well that explains why I just discovered the wired connection works only 1 in 5 attempts. No wired connection should have a failure rate that high. It's getting the digital signal.
AFSK is usually analog signals changing frequency right? So analog signals would still be coming in through the transmission line. The interpretation of the changing frequency behaviour is where the digitally coded message is meant to be recovered.

jremington

Quote
Are there changes I need to make on the transmitter too?
The transmitter section of microModem generates a low level audio output, suitable for the MIC input of a transceiver.

If your radio transmitter does not have a MIC input, it is not suitable for use with microModem. No wonder that you are having problems!

GustavoMcSavy

I see. Yeah... are you using methods like manchester encoding for synchronisation? I reckon you're really close to getting things working.
I'm not familiar with Manchester encoding, but the library should be taking care of everything that I'm aware of.

AFSK is usually analog signals changing frequency right? So analog signals would still be coming in through the transmission line. The interpretation of the changing frequency behaviour is where the digitally coded message is meant to be recovered.
Yes, but I sent the signal through a wire instead of the radio, so the signals are not coming through the transmission.

If your radio transmitter does not have a MIC input, it is not suitable for use with microModem. No wonder that you are having problems!
Ouch, I was afraid of that. Is there any way to make it work with what I have?

raschemmel

From what I have seen so far this project never had a feasibility study or a design review.
It sounds like there is no basis for this project to work.
How exactly did you come up with the current design ?
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

jremington

Quote
It sounds like there is no basis for this project to work.
It will work very well, providing the appropriate transmitter and receiver are used appropriately. I have done so and am quite happy with the performance.

GustavoMcSavy

#14
Aug 09, 2016, 07:16 am Last Edit: Aug 09, 2016, 09:34 am by GustavoMcSavy
From what I have seen so far this project never had a feasibility study or a design review.
It sounds like there is no basis for this project to work.
How exactly did you come up with the current design ?
I guess I haven't explained my project well enough then.

I'm transmitting GPS locations using APRS radio transmissions. First I looked at a simple circuit called Micromodem. I used this design to make a receiver, which I erroneously added a buffer to.  I ran into trouble when I was trying to get the software designed for it onto the arduino. It required a bunch of complicated steps, AVRdude, and a tool kit. I couldn't figure it out, so I found a library called SoftModem that would allow me to use the same frequencies and baud. It was working for the most part, but there were issues correctly interpreting the data on the receiver. I couldn't figure it out, then Jremington showed me the LibAPRS library. Since it was just another arduino library, I could easily study the library files, write some code based on the example, and upload it to the arduino. Within minutes I was able to send APRS packets between two arduinos using a wired connection.

For a connection between the two radios, I figured I could leave out the DAC circuit, and just give the digital signal right to the transmitter. I could only find one of the 4 DAC pins actually doing anything, and on the active one all the signal was present. That's why it worked wired. Then I tried it with the radios, and discovered some issues. That's why I made this post. I later discovered that my wired transmissions weren't working out as good as it appeared at first because I slowed them down and saw that only 1 in 5 were getting through. Now I see that I can't use the library like this so easily.

Complications? Yes. But infeasible? I can't see how, based on how many others have been successful with this library. I'll admit I didn't have it fully planned out, but this isn't a job to me, it's a hobby. I never planned out my lego builds when I was a kid either lol.

The next step is to figure out the difference between the mic input of a normal radio, and the digital input of my radio. Then I will see if I can make adjustments to the code circuit or both to make it compatible.

Transmitter Datasheet: HX1

Go Up