This week, the controls subsystem took three big steps forward. First, we proved that we can read the voltage of our battery accurately and with utmost precision with a simple 15-line code and a design that weighs 0.8g. All my fellow team members thought that the weight was too much, but I won them over when I told them to imagine that the 0.8g extra weight came instead from a bird pooping on our CANSAT during its descent. Second, our controls team lead, Allan, wrote a 100-line long skeleton code which was commented professionally by a code wizard throughout. The code calculates the outside air pressure during CANSAT’s descent. And finally, during our latest biweekly meeting, Allan explained why it is wise to assume that the specific heats of air are constant during descent. The whole team is proud of him because his explanation took only 30 minutes instead of seven hours, his previous all-time-low record. But since this blog is about Arduino codes, I should say that the whole team is proud of him because his explanation took only 1.8e+6 milliseconds instead of 2.52e+7 milliseconds, his previous all-time-LOW-record.
The way our voltage reader works is very simple. It is a voltage divider with 2 equivalent resistors with values over 1 million ohms to minimize the current drawn from the Arduino as much as possible. We want to minimize the current drawn by the voltage reader because we are using a lot of other sensors, and we might run tight on Arduino’s output current budget, which is only 400mA. For a battery voltage of 12V, the current drawn will roughly be 0.1mA (I =V/R). All my teammates though this value was too big, but I won them over when I told them to imagine that the 0.1mA extra drawn current was caused instead by the above-mentioned bird attaching a new biomedical sensor to the Arduino to check his health condition by taking measurements of his poop. Luckily, I bought a resistor pack over the summer that constitutes of 750 resistors with 30 distinct values that range from 10 ohms to 1Mega Ohms. I also found online tools that help you build resistance values that you don’t have by combining the resistors that you do have in series and in parallel. The picture is an example of one of these tools being utilized.
– Sevag R. Shirinian
CANSAT controls team member