I'm pretty excited. The blimp flies and is as controllable as a large envelope full of helium in a drafty house can be ;)
The blimp shown here is a whopping 38" in diameter, and is not the one that the blimp's gondola is designed for (24" diameter, 8" high). I'm waiting for the 24" one to arrive from Canada next week.
There's a lot of magnets attached as ballast to keep this one at hover height.
So what's different about this revision and why does it fly?
Motors are spinning super fast and drawing about 200mA each.
New motor drivers provide motors with battery voltage, but control voltage is separate, allowing for motors to get maximum power.
Board is 0.8mm thick and cut the weight of the PCB in half - thank you @oshpark!
Buck boost converter is slightly on the edge with allowing 1.3A, but is much more capable than the voltage regulator in earlier revisions.
Code has been revised so that there is no lag between control switch and motor.
I had a memory leak in which the ram was spinning down and causing the connection to drop. Turns out the libraries (2.4.1) provided for ESP8266WiFi have a bug. A down rev (2.4.0) fixed that problem, but it still took me a day to figure it out.
Evaluate battery draw with special wattmeter designed to look at single cell draw
The hardware is there to measure battery levels, add this to code and send signal when low.
There are still connection loss issues, hopefully adding error handling to code will address this.
FUN! Design controller for joystick and buttons. I'm envisioning a figure eight so that it fits nicely in the hand.
Test with 24" blimp when that arrives
Add ESP reset switch or button to gondola hardware
Add ESP reset switch of button to joystick hardware
I designed an intermediary board to test out a new buck-boost voltage regulator, new motor driver, and a tag connect cable. For those of you in the ESPxxx forum, this is v2 intermediary board with EN tied to VBATT.
I intend to run the board with a single cell Lithium battery no less than 3.6V.
For testing, I am using a benchtop power supply (adjustable V, 3A) or a wallwart (5V, 1.6A).
The new voltage regulator, ADP2504, can provide a current output (see diagram on page 6) of over 800mA at VIN 3.6V. The inductor is rated for 700mA. Capacitors are X5R type.
Screenshot of ADP2504 schematic::
So far, I have populated the board with the ADP and the ESP-12S.
These two weird things are happening:
With power input from benchtop > 4.6V, ESP is able to program and hold the program. Under 4.6V, it is iffy, meaning that the program does not run all the time. Same (expected) results with wallwart at 5V.
Current draw after ESP reset is less than 60mA, but sometimes (often at lower voltage) the current draw jumps up to as much as 210mA.
Does anyone have an idea why this could be happening?
UPDATE: benchtop power supply is wonky and gives inconsistent readings, shuts off randomly, and probably puts out inconsistent power. My best guess is that its constant current output is stuck on something not desirable. I've had it for over 8 years, so....
To add to the gotchas:
New Macbook Pro is incompatible with anything FTDI (seriously WTF)
Fluke 16 measures a full 0.1V higher than the benchtop - no clue what is accurate now.
3VDC wall wart with indecipherable 2008 cell phone end now chopped off puts out something definitely not 3V!
Brand new air gun is making a horrible death rattle.
I decided to go the route of a redesign on a couple of components. It was obvious that the voltage drop in the original voltage regulator was causing the regulator to be a steady 3.3V, especially as the single cell battery dropped below 3.7V. This caused the the ESP to reset occasionally.
I've chosen an Analog Devices buck-boost regulator to replace the AP2112. Yes it costs $1.57 more than something else, but this one has a lot of documentation, and is more likely to work the first time.
After @Ted Yapo commented on my last log, I also realized that the fan motor driver I chose has a high voltage saturation need on the two outputs, limiting the power actually available to the motor itself. I've used fan drivers for other projects and like the simplicity of the part, but I redesigned the board to include an actual brushed motor driver.
I made a square, somewhat spread-out PCB to test the new features, it's an intermediate step before putting all these new parts on the board and having no space to probe.
I sent it off last night to @oshpark's super swift service. It includes:
Tag Connect layout! >> this one I'm really excited about
New buck-boost >> already realized I forgot to put the thermal vias in
New motor driver >> only one, so the the buck-boost won't be getting that hot anyway :)
On-off linear switch (replaces annoying momentary)
My flight test showed me that my motors didn't have enough lift/ draw enough current/ rotate fast enough. I ordered several motors to test from Uxcell ranging from 13,000 rpms to 40,000 rpms.
All the motors I bought have rpm ratings + voltage, but no kV rating.
Motor kV (the rpm constant, not kilovolts) is the relationship between rpm and generated back emf (force). It's defined as the number of revolutions per minute (rpm) that the motor will turn when 1V is applied to the motor with no load. So rpms/ volt.
A low kV (more winds, thinner wire) will have higher volts/ less amps/ higher torque so it can swing a larger propeller.
A high kV (less winds, thicker wire) will have low volts/ higher amps/ lower torque for swinging a smaller propeller.
The blimp is working a lot better. The motors are just not fast enough, nor are the propellers moving enough air to make enough of a difference. I put a 500 mA battery on it which is why now there are 5 balloons needed to hold it up :/ (I am afraid to weigh the gondola now).
Tonight I got all the motors working and attached the blimp's gondola to a big purple cube filled with Helium.
There it is! The blimp sort of hovers and falls at the same time despite the motors turning as fast as they can. You can barely feel any lift from the poor little things! I've bought a lot of motors from random places, so now it's going to be time to figure out the right one with the right propeller.
The motors I'm using pull 230 mA at max speed. The drivers I'm using spec a max of 70 mA, although I'm pulling 110 mA (and no heat, maybe I'm misreading something?).
I think the main problem is the battery though. It's one cell, 105 mA, so it just doesn't have enough ooomph. I also haven't measured the inrush current yet... could be that it's just killing the battery in one short second.
Define best possible scenario for battery + motors (GAINING WEIGHT NOOOO)
Order new motors
Revisit motor drivers
Add 2 momentary buttons to controls for up/ down (save joystick for forward/ reverse/ left/ right)
Today I connected a Feather (Adafruit's HUZZAH + some other niceties) with a giant red joystick. The joystick switches ON-OFF via 4 microswitches rather than proportional movement. That's OK, the motor drivers I've started out deliver an ON-OFF signal as well. All 4 switches work and have been tested using the onboard LED on the ESP8266 (on the HUZZAH).
Working on making one ESP8266 (connected to joystick) talk to the other ESP8266 (connected to motors + blimp). Found a project on Instructables to get started with. Now the motors are controlled by joystick :)
There's some massive lag here, not really sure why.
Rev 3 arrived from Oshpark, and most of the hardware issues are fixed.
I've had so many comments on how to cut some of the weight- thank you!
From your suggestions, I've removed the PCB under the antenna, saving a couple of grams. Great idea!
I've chosen to keep the battery charging on the PCB. In the final piece, there will be a lot of fast changes and I hate swapping batteries while *doing*other*stuff*. Those tiny battery connectors are a total PITA. A really good idea, but no :)
PCB changes in this rev:
ESP footprint fix
New micro USB part with legs that grab into the PCB (thanks to @Voja Antonic for this hint)
Larger diode that I can see the cathode end (picked one that is way too large, it's in the top left next to label C1 :)
Battery off switch, which is the wrong part
PCB cutout under antenna
Net: 19.1 grams with everything on the board is exactly 3 grams too heavy. I think this is OK, the programming header won't need to be there in the final (-1.2 grams) and there will likely be some other reduction.
Changes for next rev:
New ESP (ESP-M2 or ESP8285)
Pogo pin fixture
Slide switch for battery OFF
Capacitor footprints should be the same (nitpicking)
The blimp board that combines ESP, motor controllers, and battery charging is here!
I assembled this in a few off hours before Supercon without the tools that I'm used to. Tried out a hot air gun for assembly for the first time and I really liked it for removing misplaced components. I think I'll stick with my pancake griddle for faster assembly though :)
You can see (green area) where I ripped the USB port off the PCB and the traces too... a friend fixed it by adding a piece of the board he was working on to mine. <3
I am going to redesign using a micro USB with legs so it doesn't fall off.
Also, the board is a bit overweight, but only by a few grams. I will have to see how I can reduce.