The generator’s output frequency. This frequency can be varied by the potentiometer and should be as close as possible to 34 Khz to match the tank circuit resonance frequency. You can monitor the generator’s frequency by using an oscilloscope, probing one end of the perimeter wire cable (while the other end of the cable is connected to the generator circuit output) and connecting the oscilloscope probe’s ground to the generator’s GND. You can keep the coil at a fixed distance from the loop cable while varying the generator frequency potentiometer to obtain the best results.
Verify that the inductances are oriented correctly on the perimeter cable. The inductors longitudinal axis should be perpendicular to the perimeter wire axis.
Your assumption about the generator’s current could also be correct. Please, verify that the 12V generator’s power supply can provide at least 500mA
I purchased this kit to use to detect a wire that is .5" underground energized at 30000Hz. I made a modification to the capacitors C1 and C2 (from 22nF to 27nF) to make the resonant frequency closer to the 30000Hz.
I have a question concerning filtering and amplification.
How would I connect a bandpass filter to constrain the signal detection to a bandwidth of ~28k to ~32k?
When I first tested this circuit (unmodified), I measured the detection distance to only be around 5cm (with the potentiometer rotated for 34kHz, coil rotated correctly, generator supply at 12V,500mA). What else can I do to increase this detection distance? Higher gain Op Amps? LNA?
Normally, I would increase to power into the generator, but im expecting to detect a wire with ~300mA. So that’s not a possible action.
The Bandpass filter would be after the tank circuit stage. You can use this tool to design/calculate the requirements of the filter depending on the filter’s type (Chebyshev, Butterworth, Bessel, etc…), the order, the lower cutoff frequency, the upper cutoff frequency and other requirements. For an example, a bandpass 1st Order Chebyshev filter with a lower cutoff frequency of 28KHz and 32KHz upper cutoff frequency with a passband ripple of 0.1 dB will require a 242.9nF capacitor and a 116.4uH inductor connected in parallel (with Rs = 50Ohms and Rl = 50 Ohms for input/output impedance).
This also depends on your perimeter cable length and gage. If you can’t lower the cable length, try with a lower cable gage.
Hi there. Bought the product. Build the product. Now I could use some help with the Arduino code. Based on the original blog post, I mistakenly assumed the Sensor output would be a steady voltage based on the proximity of the sensor to the wire. But, no, it is a waveform that floats to different levels based on the proximity. That’s fine, except I can’t see how I would write Arduino code to read the level. Analog input. Sure. I get that. But, depending on when I take the reading, I’m going to get a wildly different value based on what point in the waveform the read occurs.
Guidance please. Am I missing something really glaringly obvious?
My guess is that I need to feed the output of the sensor circuit to an RC circuit to level out the signal such that the Arduino can use it as a true proximity level signal. Yes? No? If yes, guidance on the values of C and R as it feeds into an Arduino Analog input?
@cbenson no worries. Looks like a quick and dirty RC with 0.1uF and 270 Ohm resister does what I need. Those are values I happened to have on hand. (Unfortunately, I only had one of each, so yet another trip to the store…) That takes most of the waveform out of the sensor line. Next issue is that one of the sensor outputs is being biased about 1.5v with zero signal input. Best guess is I blew the op-amp in the build process. Admittedly, my soldering skills are not fantastic. Either that or the chip was bad to start with. I’ve checked each stage of the 2-step amp path, and it’s all exactly as expected until the final output. I bought 2 units (I learned long ago never buy one of anything, especially if it has a long lead tim), so I’ll build the second one and see how that behaves. I’ll use a IC socket this time if I can find one in my parts bin.
@cbenson I just confirmed that the 1.5v bias is an issue of the board I built first. Second attempt is working properly. No way to know whether the Op-amp chip was defective to start with or whether I blew it while soldering (My money is on user error.) I’d still appreciate your thoughts on the best way to construct the RC circuit between the sensor board and the Arduino, and values you have found or think would work best. Thanks. Oh, and since I failed to say this at the beginning… THANK YOU for making this available. You saved me boatloads of time.
@djcrone Unfortunately, we don’t have an Arduino example code dedicated for this, other than the AnalogRead Arduino example. Please note that the primary objective for this project was to be able to detect a perimeter wire using some basic components as a NE555 timer chip, Op-amps and tank circuits and not intended to obtain an accurate measure of the proximity of the perimeter wire to the sensors. The idea is, by continuously reading the analog value from the sensor boards, calculating maximum amplitude of the sensor’s output wave, and defining thresholds (based on pre-measurements), the robot controller can obtain a rough idea on how close it is to the perimeter wire. Not sure if using an RC circuit at the output of the sensor board would be effective/useful for your application as you will only be getting rid of the waveform up to/down to a certain frequency (depending on the configuration of your RC circuit and its cut-off frequency)… We see two ideas that could improve the functioning of the sensors approximating the distance to the perimeter wire, one is hardware based and the other is software :
Using a full wave rectifier with a filter capacitor at the output of the sensor board
I would like to use this system to move a robot into a building. Currently I am in test and I had a small problem. Even though I placed a fixed inductor over the perimeter wire, the input signal was not stable so the analog outputs that control my motors were not so. The only way I found to make the signal more stable is to use on both receiver outputs, a 1N4004 diode, and on either side of the diode I installed a 470uf capacitor with a 2.2k resistor parallel to the ground and is then connected to the analog inputs A0 and A1 of the Arduino. Now the outputs are much more stable but the reaction to the displacement of the inductors is longer but still satisfactory.
Have you tested this with a Robomow RS630 2016 or 2019 model? Do you know the frequency they typically use? The perimeter switches are on backorder for a couple of months and they’re charging as much as $200 shipped.
We unfortunately didn’t try this perimeter wire kit with the Robomow RS630. Not sure if the frequency used for detecting the perimeter wire of the Robomow is an information that is available.
Unfortunately, with this method, there is no way for the robot to “know” if it’s inside or outside the surface delimited by the perimeter wire. Using this circuit will only let the robot detect the perimeter wire (or how far to the perimeter wire depending on the sensor output analog signal amplitude).
Hello,
Thanks a lot for the great article
I am building a robotic lawn mower, and would need a boundary/fence wire of about 300m (about 984 feet). Will one emitter be enough to power this wire? What was the largest wire length tested?
Best regards
The perimeter wire we used to test the generator circuit was 100’ long. This doesn’t mean that the wire can’t be longer.
From the datasheet of the NE555, the maximum recommended current output of the chip is 200mA. Therefore, with a VCC of 12V, the maximum power output would be 2.4 Watt.
So theoretically, the total output resistance should be less than 60 Ohms. There is an output resistance of 47 Ohms in the generator circuit, so it leaves 13 Ohms for the loop wire resistance.
A 20 AWG wire gauge is rated for 10.15 Ohms of resistance per 1000ft, therefore, the maximum theoretical length of the perimeter wire, would be approximately 1238’.
Is there any information of part sources like a datasheet for the inductors? I am trying to get some mechanical info such as dimensions to create a housing for both inductors.
The Manufacturer SKU of these inductors is RLB0914-102KL. Here is the datasheet of these inductors. Also, the manufacturer provides an STP cad file that might help you when creating the housing.