Showing posts with label Arduino. Show all posts
Showing posts with label Arduino. Show all posts

Sunday, September 6, 2020

Ballistics Calculators

I've been working on a system to take with me shooting. It's essentially an external ballistics application for my Android phone that gives me bullet path calculations. It's not meant to be a whiz bang super ballistics calculator that will tell you everything for every bullet and condition. It's set up to calculate the functions I want for a limited number of cartridges, loading conditions and projectiles.

The first thing I did was develop the means to make any corrections needed for the flight path due to temperature, humidity or altitude. These can be all lumped together by calculating the air density. This is the circuit for the Assistant set-up. It's a little module (Bosch BME280) that reads temperature, atmospheric pressure, and relative humidity. I use those inputs to calculate the air density. It also accounts for any altitude corrections that might need to have been made through the direct reading of the atmospheric pressure. In fact the manufacturer likes to claim you can get an altitude within a meter or so from it. The values are read in and sent via Bluetooth to my Android app.

Sunday, August 23, 2020

Odds and Ends

I prefer to build my own applications for things. I like to create and then maintain a bunch of building blocks that I can quickly adapt them for any particular application. I have put some of them in my public downloads drive which can be accessed from the links in the lower right side of the blog. The phone apps and u-processor executables have virtually no self-checks or error avoidance in them. They're not really intended for everyday users they're more for people looking to adapt them for their own use, so you've been cautioned.

Thursday, July 30, 2020

Building an Engine Controller: The Interfaces

With the distributor signal capture, conversion and subsequent use by the microprocessor the injectors and plugs have to be mated to the processor. A similar thing has to be done for the relays for the monitor board. For the relays there are any number of Arduino compatible relay boards available. Typically these contain opto-isolators so you have to take the output pin LOW to turn the relay on. That's the case here. For the fuel injectors I am using high impedance ones so they can be turned on and off with a MOSFET without a  resistor in-line. For the Coil on Plugs (COP) there are usually 2 and 3 wire systems. I'm using a 3 wire set-up so that the TC4469 gate driver can drive them directly.

Wednesday, July 29, 2020

Building an Engine Controller: The microprocessor

Obviously to run the whole thing I need a microprocessor. There are some great products out there to help in a build like this. Most of the work I have done in the past has been using PIC products. This required working in Assembly which I don’t particularly care for. I don’t know what the current state of affairs is with PIC these days so I really can’t say. Fortunately there are a number of suites to build a system using C++ as the programming language. I’ve used both the ST Micro STM32 system and the Arduino based system in various builds. I prefer the Arduino system because a lot of work has been done by other people and various routines are freely available. I also like the Arduino IDE suite. One other important factor is the footprint required. I chose to use two Arduino Nano boards for this build.

Tuesday, July 28, 2020

Building an Engine Controller: The Signal

Any engine control unit uses crankshaft and camshaft position to determine the timing of the various events needed to run an engine. The D16 series Honda engine has three variable reluctance (VR) wheels located in the distributor. The first wheel has one tooth on it which provides an index for the other two wheels. The second has 4 teeth on it and are positioned such that the pistons are at top dead center (TDC) when the tooth is positioned over the magnet. Finally the third wheel has 16 teeth on it to provide a crankshaft position signal (CPS). A photo of the interior of the distributor and a three dimensional drawing of the Honda VR wheels is shown.