For our final prototype, we used Arduino UNO as the controller along with an L293D motor driver IC, LM2596 DC-DC buck converter module, 7805 voltage regulator IC, and a limit switch. A full schematic of the electronics is shown below. You can buy the electronics here: Arduino UNO, L293D motor driver, LM2596 buck converter
The device is powered by the wheelchair battery, which is a 24V, 36Ah lead acid battery. The Arduino controls the motor based on inputs from a button, a limit switch, and inbuilt timing constraints. The LM2596 buck converter IC steps down the 24V supply from the wheelchair battery to 10.5V, which is used to power the Motor and Arduino. The LM7805 voltage regulator IC steps down the 12V supply from the Vin pin of the Arduino to 5V, which is then used to bias the L293D motor driver IC. Pins 12 and 13 of the motor driver are connected to a common ground with the Arduino to ensure that our system has a stable reference voltage level. Pins 11 and 14 provide the output signal to the DC motor, whereas the pins 10 and 15 provide the motor driver with the data signals from the Arduino, which are used to select whether the motor is rotated clockwise or anti-clockwise.
The limit switch sends a signal to the Arduino when pressed against the body of the device. This signifies the swung-out position of the wheelchair arm. To bring the wheelchair arm back to its initial position, we use a timed approach. The motor is turned on for a set amount of time, which was measured, to move the arm forward. You can find a more detailed description of how the Arduino controls the motor on the Code page.