Here is a list of all the postings Mike Blandford has made in our forums. Click on a thread name to jump to the thread.
|Thread: Your standard insatallation of FRSKY equipment|
Are you aware of the problem notified by FrSky of the "lockout/uncommanded servo movement" problem with the "X" protocol, and the recently released firmware update for Tx modules and receivers?
|Thread: 1S Wattmeter|
I just tried your values in a spreadsheet. If I scale your readings by 0.95 and add 0.1, then your readings match the multimeter values almost exactly up to 3A.
One solution might be to provide a "wetting voltage" to the analog input to bias the A2D. I would try something like reducing R1 form 10K to 2K2, then adding a 470K resistor between the "top" of R1 and VCC (3.3V). This would provide an A2D count of about 14 when no current is flowing. Then use:
#define AOFFSET 14
If you just add the offset as you suggest, try also testing for ((Atemp+LOOPS/2)/(LOOPS) being zero and set Amps to zero if it is, otherwise do the calculation. This would give a reading of zero when no current is flowing, but jump to 150mA to 200mA (correctly) when current is flowing. You just would not be able to measure a current of less than the offset value. From your data, I think you would need to add 2 rather than 1.
Above 3A, since you say the tracks are getting warm, then you are seeing the track resistance increasing causing the wattmeter to read too high. Either declare the meter only reads to 3A, or you could try to compensate for the overreading in the software. The amount of heating is a square law (of course).
Peter, I think you are correct, the A2D is starting from -200mA in effect. What I saw was the wattmeter value reading 0 when 200mA was still flowing.
I've put your readings into a spreadsheet and created a graph (x-y). The result is a very nice straight line, but that doesn't go through (0,0). It suggests the wattmeter will read 0.2A when no current is flowing. Do you see this?
The problem is, I think, the A2D is not guaranteed to return a value of 0, when the input voltage is 0. Typically (from the data sheet), it will return a value of 2 (reference voltage of 4V), but this may be higher, particularly if the input voltage doesn't actually reach 0 when no current is flowing and the reference voltage is 1.1V (as is used here).
Since each A2D count of 1 represents 50mA, an offset count of 4 will give 200mA. It looks like an offset calibration value is needed.
Peter: Do they both drift the same way (both higher or both lower) or do they drift in opposite directions (one higher and one lower)?
A comment regarding using uint8_t (8-bit unsigned value) variables. The definition for C (and C++) is that these will be extended to an int (signed value) before they are used in any calculation.
A comment on the use of the copper tracks as the current sense resistor. Copper increases in resistance as the temperature rises. The change is around 2% for every 5 degree C change.
If you want to detect the minimum voltage, I would use something like this:
if ( Min_Volts == 0 )
When calculating the average, like this:
I would round the value by doing:
A few general comments. Note that in programming, things are not necessarily right or wrong, just different!
A variable defined as an "int" may take both positive and negative values. If a variable doesn't have a meaningful negative value, then it is advantageous to declare it as an "unsigned int".
If you are setting a variable to a constant value, and never changing it, then it is often useful to declare it using a "#define".
In your code above, this could apply to "loopcount" and to "loops".
To help reading code when you go back to it after some time, it is useful to follow some "standardisation".
For example, I use:
#defines are in all capitals,
I built myself a wattmeter many years ago. I just looked up the logic I used for reading the analog values.
Two analog values are read. Every 4mS a single read is done, alternating which channel is read. 16 values for each input are accumulated. The average of these is calculated (add 8 then divide by 16).
Four of each of these averages are then accumulated and averaged. These resulting values are then used to calculate the voltage and current.
I did this in two steps because I'm using an external, 12-bit A2D chip and accumulating more than 16 values would overflow a 16-bit storage.
In summary, every 512mS, I read each analog input 64 times and use the average value. This gave a good, stable display.
My wattmeter also included an optical tachometer input and a pot used to generate a servo pulse for the ESC, so I could use it "standalone". It could also measure the receiver pulse width, and integrated the current to give used mAh.
|Thread: Warning X8R RX - do not use with CDI on IC powered 'planes|
While I'm aware of the X8R having a problem, as I only fly electric, I've never had any problems myself.
Since it appears the problem couldn't be fixed in software, it seems to me that electrical noise is causing one, or more, devices in the Rx to experience a hardware lockup. My question then is what is the mechanism by which this noise enters the Rx?
Three main possibilities occur to me:
1. Pickup on the antennae.
Not a lot to be done about (1) other than screening of the ignition cabling and increasing the distance of the antennae from the ignition circuit.
(2) May be reduced/eliminated by wrapping the Rx in metal foil (as I suggested earlier).
(3) Might be mitigated by placing ferrite rings on the cables near the Rx.
It would be interesting if these ideas could be tested to see if they improve matters or solve the problem.
NOTE that if either (2) or (3) work or improve matters then it would be a good idea to fit them on any ignition aircraft regardless of the make of the Rx in use.
Have you ever tested with the X8R wrapped in metal foil? This was a solution for some 35MHz receivers with early electric power.
If using CDI, then it is documented that you should be using the 'PRO version of a 'X' receiver.
|Thread: 1S Wattmeter|
Any reason why you need a separate power supply for the Arduino rather than use the single cell as the supply?
The ATMEGA328 still runs OK at 8MHz down to 2.4V, and you could use the internal 1.1V reference for the A2D converter.
|Thread: Neuron ESC problem|
When I had the problem, I got this from RCGroups:
"Try increasing ramp up power, or if that does not help, turn lo rpm power protection off. When you turn off low rpm power protection, you may have to set current limiting in order to avoid desyncs."
If you are using a motor with low kv, then the "low rpm power protection" may be kicking in.
The "ramp up" power fixed my problem, but I was using a 600 kv motor. You might try a few more experiments with the lower kv motor and the "low rpm power protection".
I had a similar problem, I ran my neuron first on 3 sells as I didn't want the current to go too high,it all worked fine.
The solution was to change the ramp up power setting, I went from 50% to 75%, then it worked OK on 3 cells again.
|Thread: What Traders are still offering Mail Order? Services?|
Not sure if they have been mentioned but I had a delivery from DB Sport and Scale yesterday. As with all deliveries it is now in quarantine for 72 hours before I touch it, a glove was worn to get it to the quarantine area, and the glove is also in the quarantine area.
|Thread: Liability of Open Source radios|
Well, the FrSky XJT module uses 3.3V to power the SE2431L power amplifier chip, so you could only try to increase the output power by increasing the supply voltage to (the absolute maximum voltage for the device of) 3.6V.
Then you could see an output power increase from 22.5 to 24 dBm, but only if you also increase the input signal by 3dBm (from 0dBm to 3dBm). Since the input signal is that provided by the CC2500 chip, and that can only output a maximum of +1dBm, you can't do that! In any case, the output power from the CC2500 is controlled by the (non-open source) firmware in the module.
I can't actually see that suggestion achieving anything significant, while risking exceeding the max. supply voltage of 3.6V and destroying the SE2431L
At best, I reckon you might get a 0.5dBm gain in output power, so increasing the output from 100mW to 112mW, which might get you an extra 6% of range!
I have over 20 transmitters, all running open source firmware. Apart from the 4-in-1 module, they all use a 2.4 GHz RF module that is closed source firmware provided by the original manufacturer and the open source firmware has NO access to the RF chip programming.
The multi-protocol module firmware is open source (started as a hardware and software DIY project), and this controls the RF chip(s) directly. They all have an output power setting controlled by the firmware.
The open source software is released under the GNU General Public License.
Extract from the V2 version, the V3 version is similar:
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|Thread: What Traders are still offering Mail Order? Services?|
I ordered from T9HobbySport yesterday, the Royal Mail tracking says it will be delivered today.
When it arrives, it will be picked up while wearing gloves and placed in a quarantine area in the spare room, along with the gloves, and not touched for 72 hours. Maybe that is being paranoid, but why take chances?
The 72 hours applies to everything we get, including food shopping, we have a quarantine shelf in both the fridge and the freezer, and several pairs of gloves each.
Unfortunately no, partly because the format of the .otx files changes at times with major releases of openTx, so it would be a lot of work to be able to handle all the different versions.
Yes, plenty of help around, and hours of videos, but some people are not so interested in spending hours watching/learning, so an easier user interface may be more appropriate. So when you want to edit a model, you start from this:
Possibly because erskyTx is easier to use! He want's "throttle cut", erskyTx provides a safety switch menu where you just select a "sticky throttle cut" function.
I've often been asked about openTx "I know it will do X, but where do you find the setting". Navigating the openTx menus, on the radio, is quite awkward at times, erskyTx provides an easy to navigate menu index page.
erskyTx also provides easy to configure "Voice Alerts". All the things you need to make an alert are in one place, instead of needing to set up logical switches, and special functions separately.
There are quite a few users who definitely prefer erskyTx!
Want the latest issue of RCM&E? Use our magazine locator link to find your nearest stockist!