Tuesday, March 17, 2015

Website Migrating

By Gabriel Staples
Written: 17 March 2015
Updated: 19 March 2015

Update: As of 19 March 2015, you should no longer be seeing the redirect page below, under any circumstances, no matter where you find a link to my site (whether in this site, on another site, or on a Google search). Old links should automatically redirect to the new domain. Please notify me via the comments below this post if you still see the redirect page as shown below. Thanks!

--------------------------------------------------------------------------------------------------------------------------

I am in the process of migrating this website from http://electricrcaircraftguy.blogspot.com/ to a commercial domain: http://www.electricrcaircraftguy.com/. Please be patient as I do so. 

As you click on links, including links to my website or articles that you may find in Google searches, you may be directed to redirect pages that look like this: 

Thursday, February 12, 2015

How To Use Basic HTML Text Formatting for Google Blogger Comments (add bold, hyperlinks, & italics to blog comments)

By Gabriel Staples
Written: 12 Feb. 2015
Last Updated: 14 Feb. 2015
History (newest on top):
-Added "entities" and additional clarification - 14 Feb. 2015

Other Articles:
Intro:

I've been wondering how to put hyperlinks in blog comments for quite some time now, so I finally did a little research to find out how! Read on.

If you'd like to make your next comments at the bottom of an article a little more fancy, with hyperlinks, bold, or italics, for example, here's how!  Feel free to practice your new skills in the comments below this article too, as scratch space to test your syntax.

The following commands are accepted in Google Blogger comments:

Saturday, February 7, 2015

Q&A: Question About Over-discharged LiPo--How do I quantify the amount of damage done to the battery pack?

By Gabriel Staples
Written: 7 Feb 2015
Last Updated: 7 Feb 2015

Related Articles:
High-current bench-top battery test setup by FliteTest (source: 4:08)


Question I Just Received:
-from "Lakshman

"Hi Gabriel.
I am referring to your post http://electricrcaircraftguy.blogspot.sg/2014/10/restoring-over-discharged-LiPos.html#.VNXv9mSUcp0.

I accidentally discharged my battery to 2.8v/cell today due to a faulty lipo alarm. It did not go off at 3.6V while flying my tricopter and within a minute or so, the voltage dropped to 2.8v/cell. I recharged it back to 3.8v storage at 0.2A without any issues. This was before I read that article.

How do I quantify the amount of damage done to the battery pack? I usually stop flying at or before ~80% discharge. Will it be a lousier battery after this incident?

Thank you."

Here's what I had to say...

Monday, October 13, 2014

Restoring/Recharging Over-discharged LiPo (Lithium Polymer) Batteries!

By Gabriel Staples
Written: 5 March 2014
Posted Here: 13 Oct. 2014
Last Updated: 7 Feb. 2015
-added Q&A section & link - 7 Feb. 2015

Related Articles:
Though I first posted this article on my Instructables page, I decided to update it and repost it on my main website here in order to keep my articles more consolidated and easily maintained by myself.  From this point on, I will keep the most up-to-date version of this article right here, instead of on my Instructables page, so if you want the latest info, read here.  Don't forget to subscribe to receive an email whenever I post something new by clicking the subscribe link at the top-right of this page!  I will never use your email addresses for spam.

A LiPo that self-discharged, while in my plane, hanging overnight in a tree. :(

Intro:

LiPo batteries should never be discharged below 3.0V/cell, or they may be permanently damaged.  Many chargers don't even allow you to charge a LiPo battery that is below 2.5V/cell.  So, if you accidentally run your plane/car too long, you don't have your low voltage cutoff set properly in the ESC (Electronic Speed Controller), or you leave the power switch on, forget to unplug the LiPo, get your plane stuck overnight in a tree (the same tree, three separate times, for foolishly flying in areas too small because you are too excited to fly and it's almost dark), etc. etc., you may find yourself in a situation where you've discharged your LiPo down well below 3.0V/cell.  What do you do?

Many people toss the LiPos in the trash.  I don't.  I restore them.  Here's how.

Sunday, August 3, 2014

Recommended Soldering Kit & Tutorials (for Arduino, Electronics, & Radio Control)

By Gabriel Staples
Written: 14 June 2014
Posted to blog: 3 Aug. 2014
Last Updated: 8 Oct. 2014
-20141008: added an advanced "drag soldering" link at bottom
-20140905: added more soldering iron links, & solder tip tinner/cleaner link, as well as quite a bit more info.
-20140830: added more info about soldering irons "for Radio Control" use; also added "intermediate" links to the soldering tutorials section at the end

Related Articles:
Here is a list I put together to help people get into soldering & electronics.

DIGITAL GENUINE HAKKO FX-888D, from Adafruit.com
Keep reading below for more info.

Saturday, May 31, 2014

eRCaGuy_ButtonReader Library for Arduino - Debounce and read the current button state, & most recent action ("just pressed" or "just released") easily!

By Gabriel Staples
Written: 31 May 2014
Last Updated: 31 Oct. 2014

Other Articles to Check Out:
This Article:

History (newest on top):

20141031: major bug fix; added multi-button support with a new 5-button-reader example!
20140531: I just released this library to GitHub!

Summary:

I wanted a simple and universal, yet very powerful & reliable library to read a button or switch in such a way that I can easily implement toggled actions and momentary actions, know the true, debounced state of a button or switch at any given time, and specify whether I want an action to take place when the button is *pressed* or *released.* This library makes implementing all of these things easy for me, and I now use it on all of my projects that require reading a button or switch, so I wanted to share it with others. Hopefully you find it useful too. Check out the included examples.  

This code is an elaboration of, and library form of, the main Arduino-sponsored "Debounce" example found here.  Thanks to David A. Mellis, Limor Fried (LadyAda), and Mike Walters for writing that excellent and well-thought-out example code.

Download the eRCaGuy_ButtonReader Library here --> then go to "Download ZIP" at the bottom of the right-hand pane.  See the Readme file right here too if you need help installing Arduino libraries.

Tuesday, May 13, 2014

Using the Arduino Uno’s built-in 10-bit to 21-bit ADC (Analog to Digital Converter)

By Gabriel Staples Written: 13 May 2014
Last Updated: 27 Feb. 2015
(newest on top)
-17 Feb. 2015 - changed latest link to new release: V2.1 alpha, in yellow below
-24 Jan. 2015 - added link to Version 2.0 alpha below...allows sampling rates of ~50+ kHz, and fixed bug to allow >16-bit samples to not have computation errors

A Few Other Articles to Check Out:

This Article:

Using the Arduino Uno’s built-in 10-bit to 21-bit ADC (Analog to Digital Converter)???
--Wait, what did you say!? I thought that Arduinos only had a 10-bit ADC!  How can you get, for example, 16-bit resolution out of a 10-bit ADC?  Well, the answer is oversampling.  Atmel has written a really good article about it called "AVR121 Enhancing ADC resolution by oversampling."

Before I continue, I'd like to give a very special thanks to user "fat16lib," on the Adafruit Forums, who first made this technique known unto me by his post right here, thereby inspiring me to write this, my first ever, library.

Now on to the library:

------------------------------------------------------------------------------------------------------------
27 May 2014: Update: With a ton of help from Ray Benitez, of Hackscribble, I am still evaluating the practicality & legitimacy of oversampling, via experimental data collection & analysis, in order to see if it really is increasing the precision to the degree I am claiming/hoping.

Update: 11 July 2014: I still plan on doing much more testing with my library, when I get the chance, and working on it to refine and validate it a lot more.  I want to know for myself, with certainty, how well it really is or isn't working, and what its limitations are.  One of the refinements I will make, for instance, will be to speed up the Arduino ADC from ~8kHz max sample rate to ~54kHz max sample rate, by changing the ADCSRA register to have an ADC prescaler of 16 instead of 128 (thanks to Simon Monk, pg. 82 of "Going Further with Sketches" for teaching me about this).  This way, I can see if reading the ADC faster affects the results produced by oversampling.  It will also be nice to just not have to wait so long for high-bit ADC reads that require tons of 10-bit samples to get one high-bit sample.  Meanwhile, if you are concerned about whether or not my library truly produces higher-precision ADC reads, you might just consider buying a 12 or 16-bit ADC from Adafruit.  They look really nice.  I will be using these myself to test my library eventually, in conjunction with an LTC1650CN 16-bit DAC to produce a signal to test.  As part of my test, I will vary the reference pin source from a noisy voltage regulator to a clean, dedicated reference IC chip.  This way, I can see how the noise affects the results.  Also, as part of my testing, I'll modify my library to introduce random noise (via software) to the analog readings, to see how that affects oversampling (It's possible that introducing just the right magnitude of random noise will increase precision of the oversampling process).  
Anyway, here's the Adafruit ADCs!  
12-bit ($10): https://www.adafruit.com/products/1083
16-bit ($15): https://www.adafruit.com/products/1085 
------------------------------------------------------------------------------------------------------------

Download:

Download my Library (eRCaGuy_analogReadXXbit) V1.0 alpha on GitHub by clicking here --> then click the "Download Zip" link at the bottom of the right-hand pane.  Using my library, you can actually choose any precision you want between 10 and 21 bits, when using the analogReadXXbit() function!

UPDATE 17 Feb 2015: Version 2.1 alpha available here --> then click the "Download Zip" link at the bottom of the right-hand pane.  Major overhaul of library. You now have the option to sample at ~50+khz when doing 10-bit samples, and I resolved a bug which prevented >16-bit readings from outputting correctly. This version is still in the works, but is significantly better than V1.0.  There is one thorough example contained in the library, so read it to see how to use the new functions. I HIGHLY RECOMMEND THIS 2.1 VERSION OVER THE ORIGINAL eRCaGuy_analogReadXXbit V1.0 alpha LIBRARY ABOVE. More examples coming soon.

Keep reading below: