Design of Modular Robotic Arm Remote Control Car based on Arduino Development Board

: This research aims to design and implement an Arduino modular robotic arm remote control car, providing new possibilities for improving product universal control and comprehensive development boards. By integrating the PWM expansion chip PCA9685 with integrated I2C communication and two TB6612 motor driver chips, a new development board is designed to realize a modular multi-functional remote control car that can be controlled remotely, using Mecanum wheels with decelerating DC Motors carry out the motion and are equipped with robotic arms that can operate with precision. Using Arduino for design and programming, functions such as image transmission, tracking, Bluetooth, and gravity control can be realized. This robotic arm remote control car has a wide range of applications and can be used in various occasions. Through debugging, optimization and repeated testing, it has shown excellent performance under various conditions, and has certain reference value for the application of Arduino in engineering technology, scientific research and other fields. This article introduces the structural design, implementation, component selection, program design and other processes in detail, in order to provide certain guidance and reference for similar research.


Introduction
With the development of science and technology, information technology is playing an increasingly important role in our lives.Arduino-based products have a wide range of applications in real life and industrial production, such as education and learning, automation and industrial processes, prototypes and proof of concept, etc. [1,2].However, embedded development products are usually developed with professional hardware and software and specially designed, lacking universal control means and comprehensive motherboards.As an easy-to-use open source electronic prototyping platform, Arduino can be easily started, which greatly facilitates electronic designers and programming learners.This creates conditions for creating modular robotic arm remote control cars that are easy to operate and teach.This robotic arm remote control car uses RC remote control and a PWM expansion chip integrated with I2C communication, including PCA9685 [3] and two TB6612 motor driver chips [4].The RC remote control can control any Arduino project after adjustment on the receiving end.The driver chip can control 4 brushed DC motors or 2 DC motors (or 2 DC motors and one DC motor) through I2C communication, and reserves a Bluetooth module, NRF24L01 (2.4G) wireless module [5], I2C port, etc., very suitable for making various drones, robotic arms, robots and other projects.It is small in size (7*3.4CM)and can be programmed using the popular Arduino library (Adafruit Motor Shield V2).Corresponding functional modules can be arbitrarily matched according to needs, and functional modules can be disassembled and replaced.It aims to provide a simple, low-cost, and highly customized platform to help learners better use remote control technology, mechanical design and Arduino programs.Product development.
Currently, there is no control board that is universally applicable to various Arduino products.The existing technology cannot be promoted for practical applications due to functional limitations and differences in chips and programs [6].Therefore, based on the advantages of the Arduino platform and PWM expansion chip, the modular robotic arm remote control car [7] is designed, which has the advantages of simple structure, low cost, and high developability.It can improve the controllability and functionality of the remote control robotic arm car, and improve Value.

Structural Design of Motor and Remote-Control Main Control Board
The motor main control board is a multi-functional motor expansion board developed based on Arduino Nano, as shown in Figure 1.The main board integrates a PWM expansion chip (including PCA9685 and two TB6612 motor driver chips), and can control 4 through I2C communication [8] There are brushed DC motors or 2 stepper motors (or 2 DC motors and 1 stepper motor), and the expansion board is small in size and can be stacked using the popular Arduino library (Adafruit Motor Shield V2 Library) Program and match the corresponding functional modules according to your needs, such as: JDY-31 Bluetooth module, HC-SR04 ultrasonic ranging module, ESP32CAM image transmission module, etc. Various modules can be disassembled and combined through expansion boards, which is very convenient.
The remote control main control board is a multi-functional remote control expansion board developed based on Arduino, as shown in Figure 2. It integrates the Arduino Pro Mini control chip, an MPU6050 accelerometer and gyroscope module [9], and an NRF24L01 wireless module, through HT7333-3.3v and the AMS1117-3.3vvoltage regulator control the voltage to reach the operating voltage of 5v.The NRF24L01 module can increase the remote control range to about 700 meters by adding a receiving antenna.Due to the differences in specifications and functions of the two chips, in order to have multiple chip functions on one circuit board, the two chips need to be integrated according to the type and function of the chip, so that the structure can match a variety of different types of components, and can be used through Simple connections and programs enable communication between multiple chips, so the structure is reasonably designed.

Overall Structure of Motor and Remote
Control Main Control Board

Motor Main Control Board Structure
As can be seen from Figure 1, the external power supply of the motor power input port (8) uses a 5-12V DC power supply to power the motor.After the motor power input port (6) stabilizes 5V, it can power up to four bidirectional DC motors or two the stepper motor is powered and the port is drawn through the development board female socket and GPI/O port.Among them, (9) provides power for propellers, servos, RGB light rings, etc.The development board integrated with Nano V3.0 (Adafruit Motor Shield V2) uses the Arduino library [10] (10) to write the program through the I2C port (3) Connect multiple expansion boards to realize the control of multiple expansion boards.The corresponding functions can be realized by adding corresponding functional modules.There is also an external switch jumper port (7).After removing the jumper port, Connect the switch to the control motor to input power on and off.It is equipped with a VIN jumper port (5).Just insert the jumper cap to effectively prevent the power supply from being connected reversely or the chip from being inserted backwards, causing burnout.Among them, the NRF24L01 wireless module port (1) can be equipped with a receiving antenna to achieve remote image transmission and remote control, or it can be used with a remote control loaded with the same module.The JDY-31 Bluetooth module port (2) can be remotely controlled by other Bluetooth-enabled electronic devices through the program after loading the module.At the same time, it can be used with a computer remote control carrying the same module to achieve shortdistance control.Multiple extensions can be superimposed through the I2C port.To use the board, each expansion board must have a different I2C address.The default basic I2C address of the expansion board is "0x60".You can change the I2C address by switching the address on the bottom of the expansion board.When multiple expansion boards pass the I2C port (3) when communicating, the required functions are achieved by adding a variety of different modules on the expansion board to achieve the effect of controlling multiple terminals.

Remote Control Main Control Board Structure
As shown in Figure 2, the Nano V3.0 development board interface (8) uses two lithium batteries for power supply, generating a voltage of about 7.4V.The voltage is reduced to 5V through the voltage regulator on the RAW pin of the development board.Subsequently, Turn the toggle switch 3 (10) to the ON end, and use the joystick (1) to adjust the remote control car's forward, backward, lateral movement and other operations.The overall system uses a differential DC motor and a Mecanum wheel [11].According to the characteristics of the Mecanum wheel, the remote control car can achieve 360° movement and can achieve lateral movement.By opening the toggle switch 2 (7), the program of the joystick (1) can be disabled, so that the remote control car stops in place and can only move laterally.This mode is mainly used to control the height of the machine and clamping.Rotate the rotary switch (2) to adjust the size of the analog quantity to increase or decrease the response speed of the remote control car.Toggle switch 3 ( 6) is used to control the SSD 1306 OLED LCD screen, which can display the status of the switch and analog quantities in real time.When the toggle switch 2 ( 7) is closed, the height of the robotic arm can be controlled by pressing the switch (9) on the left side, and the opening and closing of the clamp can be controlled by pressing the switch (9) on the right side.

Superposition of Multiple Expansion Boards
The superposition of multiple expansion boards is used by superimposing multiple expansion boards through I2C ports.Each expansion board must ave a different I2C address.The default basic I2C address of the expansion board is "0x60", which can be switched by giving the address on the bottom of the expansion board.Tin the pad to change the I2C address.Take two expansion boards as an example.Board 0 is connected to a sub-board 1.The I2C address switching pad on the bottom of the expansion board has a solder short circuit at the A0 position.The address is changed from the default "0x60" to " 0x61", The pads from right to left (A0~A1) correspond to address bits 0#~2# respectively.Examples are as follows: Expansion board 0#: address = 0x60 compensation value = binary "0000" (no pad tinning) Expansion board 1#: address= 0x61 compensation value = binary "0001" (only A0 is tinned) By analogy, up to 32 I2C addresses, that is,32 expansion boards can be used in combination, which means that it can independently control up to 128 DC motors or 64 DC motors, and can be used in combination.

Robotic Arm Structural Design
The structural design of the robotic arm [12] is the key to realizing its movement and function.Combining domestic and foreign data, a multi-degree-of-freedom robotic arm was designed based on the structure of the remote control car, as shown in Figure 3.The robotic arm includes the following parts: 1. Base: The base is the bottom part of the robotic arm, which can provide stable support and fixation.It is designed with a disc-shaped base.
2. Rotating part: The part that connects the base and the arm can realize the rotation of the mechanical arm.The design uses a GA12-N20 reduction motor to drive the rotation of the base, and the programming language is used for accurate positioning.
3. Arm frame: The main support structure of the robotic arm is composed of multiple brackets and can move up and down.Connected by bolts, height adjustable via lever.
4. Clamp: The clamp at the end of the robot arm can realize functions such as clamping, loading and unloading.5. Control system: The control system of the robotic arm [13] consists of an Arduino program, and the movement and operation of the robotic arm can be controlled through the Arduino program.As the core of the control system, the expansion board provides a wealth of interfaces and functional ports.
The above is the overall structural design of the robot arm, which depends on the application requirements and expected functions.Specific application requirements can be met by optimizing material selection, number and type of joints, sensor configuration, etc.

Overall Structure of the Robotic Arm
The robotic arm is entirely 3D printed, and the components are spliced and bolted to the remote control car to achieve the expected effect of modular disassembly.The robotic arm can achieve movement in 6 degrees of freedom.The overall structure consists of a steering gear, a rotating table, a fixture, and other components.The robotic arm is made of lightweight acrylic material, and the steering gear is made of low-priced and high-torque SG90.Compatible with Arduino program settings.The structural strength of the robotic arm remote control car can be improved by changing the material and model.
The robotic arm rotates through the motor (8) to adjust the gripping direction of the robotic arm.The gripping height of the robotic arm can be adjusted through the cooperation of the No. 2 servo (3) and the No. 3 servo ( 6) with the robotic arm fixed rod.Then Grasp is performed by controlling the cooperation between the No. 2 servo (1) and the robot arm clamp (1).The robot arm is lifted through the lever cooperation between the robot arm fixed rod ( 5) and the robot arm connecting rod (4).The motor and servo on the arm are connected to the motherboard.After writing the program, the rotation and clamping of the robotic arm can be controlled through wireless communication with the RC remote controller.

Motor Steering Gear Selection and Power Calculation
In the design of the modular robotic arm remote control car, a decelerated DC motor is used that is more suitable for the structure and function.In terms of voltage, it is driven by a battery, so the rated voltage is 3-7.4V.DC motors are suitable for continuous rotational motion scenarios.Different from the discrete motion of stepper motors, there is a brush and a set of coils on the rotor.DC power is provided to the coils to generate a magnetic field, thereby causing the rotor to rotate continuously.
The geared motor [14] can convert the high-speed rotation of the motor into low-speed and high-torque output.By selecting different reduction ratios, precise control of the speed can be achieved.It can perfectly match the all-round Mecanum with multiple tangentially arranged spoke structures.wheel.In terms of rotation speed, it needs to be able to achieve n=1000r/min.In the design, the outer radius of the Mecanum wheel is R=24mm, the inner radius is r=12mm, and there is a circular hole in the center with a radius of r 0 =1.6mm.The estimated mass of the Mecanum wheel is 24g.
Extending the rotational inertia calculation formula to wheel calculation, the rotational inertia calculation formula [15] can be obtained: (1) In the formula: I z is the moment of inertia, kg•m 2 ; m is the mass, kg; R is the outer radius of the wheel, mm; r is the inner radius of the wheel, mm; r 0 is the radius of the central hole, mm.
Substituting the data of R, r, r 0 into equation ( 1), the moment of inertia I z =4.289×10 -6 kg•m 2 can be obtained.
The formula for calculating the rotational moment is In the formula: M is the rotational moment, N•m; J is the moment of inertia of the rotating body, kg•m 2 ; α is the angular acceleration of the rotating body, rad/s 2 .
The angular acceleration formula is In the formula: Δω is the change in angular velocity, rad/s; Δt is the change in time, s.
The angular velocity formula is In the formula: ω 1 is the initial rotation angular speed of the motor, rad/s; T is the motion period, s.
Substituting the data of n into equation ( 4), we can get ω 1 =104.72rad/s.
Assume that the time it takes for the motor to stabilize its speed to the rated speed is 1s, that is, Δt=1s.Substituting the data into equation (3), we can get α=104.72rad/s 2 .
Substituting the obtained moment of inertia I z and angular acceleration α into equation ( 2), the moment M=4.491×10 - 4 N•M can be obtained.
The rotational power is In the formula: P is power, W. Substituting the above data into equation ( 5), we can get P=0.0471W.
According to parameters such as power, voltage, speed, etc., select the reduction motor model, and finally determine that the rated voltage of the motor is 5V and the speed is about 120r/min.The final selected motor model is GA12-N20, with a fixed reduction ratio of 10.The specific parameters are shown in Table 1.According to the working environment of small torque, light weight and high response speed required by the overall mechanism size, the rated voltage of the motor is 5V, the torque is 1.5Kg/cm, and the weight is 9g.The specific parameters are shown in Table 2. Servo servoX;//(Select the servo object, X is the servo number) Servo1.attach(Y);//(Select the X servo link pin position, Y is the pin number) for (pos = 0; pos <= n; pos += 1) {;//(control the steering gear rotation angle n) The above is the main program index statement.Through the cooperation between languages, different modes of motor rotation and steering gear output modes can be realized.By adjusting different parameters, the output values of the motor and steering gear can be realized.

Conclusion
Based on the combination of the remote control main control board and the combination of two main control boards as the motor main control board, the combined design of the modular robotic arm and the program design based on the Arduino open source platform, a modular robotic arm remote control car was designed.The remote control commands control the rotation of the motor to realize the movement of the remote control car.The steering gear drives the rod to control the mechanical arm.By superimposing the control board with different functional modules, wireless, tracking, image transmission, gravity sensing and other functions can be realized.Its structure is smart and easy to operate, and the remote control can also be used to control other Arduino devices.Not only can it help develop skills in areas such as coding, circuits, and problem solving, but it can also serve as a research tool in certain areas.Can be programmed to perform specific tasks, collect data, and assist in experiments.Researchers can exploit them in areas such as humancomputer interaction, computer vision, or artificial intelligence.
Engineers can combine and adjust modules according to actual needs, and with a variety of sensors and actuators, the robotic arm remote control vehicle can complete tasks such as grabbing, carrying, and search and rescue.This intelligent design enables the robotic arm remote control vehicle to complete various tasks in complex environments, improving production efficiency and work safety.
All in all, the design of the modular robotic arm remote control car based on the Arduino development board adapts to the development trend of modern technology.This scalability and flexibility make the development and application range of the robotic arm remote control car wider and is suitable for smart industry and automation technology development.

Table 2 .
SG90 model steering gear parameters

Program Design 3.2.1. Introduction to Program Environment
The program includes a motor program and a steering gear program.The selected motors and steering gears are both DC input and have a rated voltage of 5V.The program uses the open source platform Arduino.The programming language is similar to C/C++, but it has rich library functions and sample codes, provides rich peripheral support, and has high compatibility.After downloading the Arduino IDE for the compilation environment, you can then use Windows, Mac OS, Linux and other environments for development.You can use it after installing Adafruit Motor Shield V2.Controlling multiple stepper motors at the same time or using acceleration control mode requires additional installation of the Accel Stepper library.