This is a new project I have been working on for the last couple of mounts. A solar power autonomous plane. My goal with this project is to make a plane that is capable of sustaining powered flight using solar power.
My plane is scratch-built for the purpose of being a solar plane. Completely my own design. It has a large wing area for mounting solar cells and is relatively lightweight. The wing is built with depron and a wooden wing spar. It has a flat bottom wing profile that is similar to the classic Clark Y. The fuselage is built using balsa wood, and a fiberglass fishing pole as the tail boom. The wingspan is 2.5 meters. Total flying weight without solar sells is exactly 2 Kg, with gives a wing loading of about 24 grams per square decimeter.
The plane is using a 750 KV drone motor spinning a 13 inch propeller. This is powered by a 4-cell Li-Ion battery made of Samsung 50E 21700 cells. I am using a Mateksys 765 wing flight controller running the ArduPlane software. The plane is capable of flying GPS waypoint missions fully autonomously. There is also an airspeed sensor with a pitot tube mounted in the wing for improved speed control, and therefore improved efficiency.
I have not yet installed the solar cells on the wing. I wanted to do some flight testing first, since the solar cells are fragile and expensive. The plane is very efficient. In calm wind conditions the plane consumed 1730 mAh while cruising at 10 m/s at a constant altitude for 45 minutes. This results in an average consumption of about 2.3 Amps or about 35 Watts. Power consumption is slightly higher in windy conditions. The added weight of the solar cells on the wing will also increase power consumption slightly.
I will be using 36 Sunpower Flexible 5×5 E60 cells on the wings. The theoretical maximum power output is about 130 W, but the actual power output will be less than that. I will also be using a Genasun GV-5 charge controller that has a maximum power output of 75 W.
This video shows how the Smart RTL mode works with my ArduRover-based GPS navigation robot. The robot is capable of backtracking the path to the starting position. The robot also optimizes the path to be as short as possible, removing unnecessary loops and such.
I built a robot running the ArduRover firmware. It has a differential drive system with two brushless sensorless drone motors and 3D printed gears. The video above is an overview of the robot and what it can do. The robot is built entirely to out parts I had laying around. The chassis is made out of wood and painted to make it look a bit better.
My intention was to use this robot as a base for adding sensors and other stuff and experiment with some of the features in ArduPilot/ArduRover. I later realized that I can’t do much more since this flight controller only has 1 MB or flash. Maybe I will change the flight controller in the future, or make another rover.
So far the robot has driven a total distance of about 15 km and the 3D printed gears still work well with almost no visible wear. They are printed out of standard PLA plastic.
I made a new version of the mainboard in the balancing robot, fixing all the problems with the previous one. I also got the prototype of the remote controller working. It is sending the X and Y values of the control stick to the robot. The robot is then adjusting its speed setpoint and turning variable based on those values.
The RC input probably needs some filtering. Now I just use the values directly, and if the user does to fast movements there is a risk that the robot falls over.
I am not satisfied with the remote yet. The biggest problem is the controls sticks I chose to use. They are really bad since only a small part around the center of each axis can be used as shown in the video. This makes it hard to control the robot with precision. I will probably redesign the remote to use a real control stick from an RC controller instead.
I have also planned to make the user interface on the remote for adjusting PID values and other parameters in the robot. This is the main reason why it has a display. More about that in a future video.
I have also installed two ultrasonic rangefinder sensors. They will be used for obstacle avoidance in the future, but I will finish the remote controller first.
Made some progress on the balancing robot project. In this video, I made the first version of the PCB. It had a few problems but I still got the robot to balance. Some of the problems included:
Design error with the voltage divider and filter capacitor for the battery voltage measuring. Capacitor blew up 🙂
I forgot to connect the MISO, MOSI and SCK lines for the SPI bus.
Problem with the fotprint for the wireless module.
And a few more minior things…
Apparently, I need to check everything more carefully. Especially with the schematic, before I start to design the PCB itself. I hade also learned from many previous PCB projects that I have made, including this one, that you always need to create important/special component footprints yourself. Comunity-made footprints always have some errors, or something just decisions that I don’t like/want. Enev official footprints for components can have major problems.
In this video, I also show some of my planning of the remote controller for this robot. It will be a custom remote controller with an LCD and two analog control sticks. The controller should be able to control the robot, maybe in different ways. It will also have some kind of menu system for making adjustments to PID values and other settings.
Here is a compilation of some of my videos/projects from the past year. Plans for 2022 are to continue to make projects I find interesting. Everything from electronics to RC stuff. I will probably start the year by working on and finishing the new balancing robot.
I want to experiment more with ArduPilot also, making a multicopter platform for some experiments, and also ground rovers or maybe a boat.
Maybe I will also experiment with some new content on my YouTube channel. New video formats/video ideas etc.
Maybe I will also post some game-development-related stuff in the coming year. It was a few years since last I posted such things. But a have actually made some stuff that I have not shared. Including a DIY Unity-based RC plane simulator.
An iteration of my previous design, the Bush Beast 3. This plane has larger control surfaces and larger flaps than previous models. I also made a new landing gear design based on Mike Patey’s Scrappy plane. Of course, I still have all the features of my previous version, including reverse thrust, a DIY light system, and also a DIY gyro stabilization system to make it fly stable in high wind conditions.
I started a new two-wheeled self-balancing robot project. I have built a few balancing robots before. This time, I want to make it even better. Trying out some new things while also making the robot even better documented and easier to replicate.
In this video, I make the chassis using 3D printed parts. The parts were sponsored by JLCPCB who 3D printed them for me. The parts are made out of PA-12 Nylon using MFJ 3D printing process. But those parts can also be printed using any standard filament printer you may have at home.
In later videos, I will make a PCB and show how I code and tune the robot. The robot will be remote-controlled, and also have an autonomous obstacle avoidance mode.
The soft foam tires used are from RC plane wheels. I got them from this Swedish RC hobby shop: https://www.mbs-rcmodels.se/hjul/lattviktshjul-76mm-11g-2-pack/ I don’t think they ship outside of Sweden, or maybe they do. Maybe it is possible to find other tires that fit. I have also included STL files for the tires in the downloads if you want to try and print them out of TPU or similar.
I made my own “multi-sensor” for the FrSky radio system. An Arduino Nano reads a few different sensors and sends all the data to the Smart-Port connector on the RC receiver. This way I can get information such as battery voltage, speed, altitude, GPS position, and temperatures on my RC Radio when I fly my RC planes. This is perfect for planes that don’t have a flight controller onboard.
I actually started experimenting with making my own telemetry sensors a few years ago. Therefore my code is actually quite old. Back then, this was the only library available. I still think it works well, but today there are also other alternatives available.
At first, I just soldered a GPS and a servo connector to an Arduino NANO. But later I made a few PCBs to make them easier to assemble. My first versions had voltage monitoring of the individual cells in the flight battery, but I found that it was annoying having to plug in the balance connector of the battery in the plane.
This is my third iteration of the board. It has a single input for LiPo battery voltage monitoring with a voltage divider and filter capacitor, a BMP280 barometer for altitude and variometer measurements, a connection for a Beitian BN-220 GPS or any other NEMA capable GPS for speed and position data, and two Dallas DS18B20 temperature sensors, one onboard and one attached with cables.
Update 2022-01-07: I fixed an error in the PCB design and made a few small adjustments in the code. The links are now the updated versions.