Using Analog Pins on a Doosan Robot
The Doosan robot controller is equipped with 16 digital inputs and 16 digital outputs, all operating at 24V. However, when working with devices or systems requiring lower voltage, such as microcontrollers, the analog ports on the controller come in handy. These analog pins can both detect and send signals in the range of 0-10V, making them ideal for communication with devices like Arduino or ESP32.
Overview of Analog Ports:
Inputs:
- o AI1
- o AI2
These are used for detecting analog signals (0-10V) coming from an external device.
Outputs:
- o AO1
- o AO2
These are used to send analog signals (0-10V) from the robot controller to an external device.
Applications of Analog Ports:
Sending position or speed data from the robot to an external microcontroller.
Receiving sensor data (for example distance or detecting an object) to adjust the robot’s operations.
How to Use Analog Ports with Microcontrollers:
Connecting to the Robot’s Analog Ports:
Connect the AI1/AI2 pins to the output pins of the external device (e.g., Arduino PWM output pin converted to analog using a low-pass filter).
Connect the AO1/AO2 pins to the input pins of the microcontroller (e.g., Arduino’s analog input or ESP32’s ADC pin).
Configuration in the Doosan Controller:
Access the Doosan robot’s programming interface and configure the analog inputs and outputs for your application.
Specify the input voltage range (0-10V) for AI1/AI2 if the robot’s software requires it.
Define the output signal for AO1/AO2 in the program logic. For example, you can set AO1 to output a voltage proportional to the robot’s position or speed.
Interfacing with a Microcontroller:
Use the microcontroller’s analog ports to read signals from AO1/AO2. For example, if AO1 outputs 5V, the microcontroller can interpret this as 50% of the range (0-10V). Watch out for the max voltage of the microcontroller, an Arduino can handle up to 5v and an ESP32 3.3v you can either make sure the voltage does not go above this or use resistors.
Practical Example:
Sending Data to the Robot: Use an Arduino to send sensor readings like from an infrared sensor to the robot’s AI1 pin. Program the robot to respond to changes in the voltage.
Receiving Data from the Robot: Output a voltage from AO1 proportional to the robot’s end-effector speed. Read this voltage with the Arduino and display it on a screen or use it to control another device.