-
Notifications
You must be signed in to change notification settings - Fork 0
Software
The Coding Language used for this system is c++ with the operating system as Linux on the Raspberry Pi. As it can be seen from the system diagram of the home page, the Raspberry Pi measures the generated voltage from the DC motor, adjusts the blade pitch accordingly using a PWM (Pulse-Width-Modulation) Proportional Controller and displays these information on the Linux Terminal.
The DC Motor generates an analogue voltage signal when the blades rotate. As the Raspberry Pi does not read analogue input signals, a 12-bit ADC (Analogue-to-Digital Converter) with 4 channels (ADS1015) is used to read the input voltage signal using the I2C communication bus. It has a programmable gain from 2/3x to 16x to amplify small signals and read them with higher precision. A written c++ library for using the ADC can be found on https://github.com/hallgrimur1471/Adafruit_ADS1X15_RPi.