Giter Club home page Giter Club logo

bunnyaat's Introduction

bunnyAAT v0.0.2b

  • Warning: a senior high school level project.

PREFACE

  • I know it is strange that this repo starts with v0.0.2b. Well, the earlier versions can be found at tieba. And if you read Chinese you'll know more details about this project, which is not necessary at all since the best part (so far) is posted here at github.

HARDWARE SETUP

  • In "hardware" folder you can find autocad blueprints (.dwg) and schematic diagrames.

  • Read the schematic diagrams and you will know what boards and sensors to buy.

  • "3mm.dwg" illustrates additional parts needed to complete the structure of the antenna tracker and also the payload adapter for blacksheep quadcopter airframe, which is shown in "blacksheep.dwg".

  • "adapter.dwg" is only useful if you want to use the 23dbi MFD antenna. Otherwise you can simply glue your antenna to the moving part.

  • "base.dwg" shows you what bunnyAAT looks like. Most of its parts are bought online. One possible version of the base can be found here: https://item.taobao.com/item.htm?spm=a1z09.2.0.0.28812e8dhvkkIb&id=37631042726&_u=a2ndlmbi166b.

  • Also, it is recommended to cover the baro_sensor with a sponge and a reflective surface at the top. By doing this, we can increase sensing accuracy (but only a bit).

ABOUT SOFTWARE

  • There are two apps for android. One of the two is magvar.apk. This app connects automatically to https://www.ngdc.noaa.gov/geomag-web/#declination. By enabling the positioning service the app will return the declination value of your location. The other one is terminal.apk. It is a bluetooth terminal with macro buttons which displays aircraft status and voltage of batteries.

  • "mwc.ino" should be uploaded into the mwc flight controller board (make sure that your flight controller uses BMP180 and MPU6050, otherwise you need to modify the code). "servo.ino" should be uploaded into another pro mini board. In order to upload sketches you may need the FTDI USB to TTL tool and corresponding driver.

  • "uno.ino" is for the uno board installed on your aircraft.

CONFIGURATION

  • Change gps refresh rate to 5hz or higher.

  • Edit macro buttons in the terminal app. '0' must be set as "continue" and 'local declination value' is recommended to be set as "default".

  • Turn your tracker into debug mode by uncommenting the the first line of "mwc.ino" and put your aircraft at the same height as the antenna. Follow the instructions. When you reach the stage of calibrating the mag_sensor, the tracker should spin clockwise. If not, swap the values of LEFT and RIGHT in line 2 and 4. And if the pan servo doesn't stop, modify the STOP value too. The debug mode returns two statements "#define offAlt value" and "#define K value". Modify the values in line 5 and 6 then comment line 1 and upload. Now you are good to go.

  • When the the aircraft and AAT are exposed to direct sunlight, the baro_sensors are very likely to be affected. That is, the value returned in debug mode is not accurate anymore. You need to redo debugging or adjust the offAlt value after estimating the error.

  • The last thing. You may notice that the V_air and V_gnd is really off the track. Therefore, in "mwc.ino" and "uno.ino" you can find "#define offV", which enables you to calibrate the value by hand. For example, if V_gnd is 3.7 displayed in terminal, while its real value is 4.0, then I'll enter "#define offV 0.3 (4.0 - 3.7)".

CREDITS

  • Libraries are very helpful. I saved a lot of time by using them. I'd like to thank contributors who uploaded their libraries.

  • I don't quite understand how a kalman filter works (just for now), so the code for this part is written by Similar_Fair. Click the link below for more information: https://blog.csdn.net/sunhaobo1996/article/details/53861752.

bunnyaat's People

Contributors

ercbunny avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bunnyaat's Issues

Analog voltage isn't accurate.

Refer to schematics and see my solution of reading voltage. Now I can only make a compensation in my code and it is still not so accurate. Can somebody help improve this?
One possible reason is that I didn't take internal resistance into consideration.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.