Accio Screening Round
HANDS-ON EVALUATION TASK
Role: Controls-Intern
Task Title:
Prepare control circuit design, programming logic and position control of a linear
actuator used in a robotics system.
Technical Problem 1: Actuator Control Circuit Design
Problem Statement:
You are provided with a linear actuator that has two wires:
● Red wire
● Black wire
The actuator responds to voltage polarity as follows:
● When the Red wire is connected to +48V and the Black wire to -48V, the actuator
moves forward (up).
● When the Red wire is connected to -48V and the Black wire to +48V, the actuator
moves reverse (down).
You are given a 48V DC power supply (i.e., +48V and 0V terminals) to power the
actuator. The control will be done through a controller, which operates at 24V.
Two digital outputs from the controller are available:
● OUT_0.0 – Should command the actuator to move up
● OUT_0.1 – Should command the actuator to move down
Requirements:
Design a complete circuit diagram that:
1. Uses the available 48V power source to provide the correct polarity to the
actuator, depending on direction.
2. Uses the Controller’s 24V digital outputs (OUT_0.0 and OUT_0.1) to control the
direction. 3. Includes a safety interlock, ensuring that only one direction is active at a
time (i.e., prevent both UP and DOWN from being energized simultaneously).
You can consider any standard controller (AVR/ARM/PLC etc.)
You may provide a hand-drawn diagram or use any CAD tool (e.g., KiCad, Fritzing,
EasyEDA).
Technical Problem 2: Actuator Programming Logic
Problem Statement:
Continuing from the previous setup, the same actuator is equipped with RS-485
communication, which gives the actuator's actual position feedback.
The actuator is controlled by two controller outputs:
● OUT_0.0 – Moves the actuator up
● OUT_0.1 – Moves the actuator down
The actuator position is read via RS-485 communication.
You are given two limit values (configurable):
● Up Limit – Maximum actuator stroke
● Down Limit – Minimum actuator stroke
Requirements:
Develop a Controller Logic program (in C/C++/Python/PLC Logic/pseudocode) that
implements the following logic:
1. When the actuator reaches the Up Limit, it should automatically reverse direction
and start moving down.
2. When the actuator reaches the Down Limit, it should automatically reverse
direction and start moving up.
3. The result is a continuous up-down toggling movement based on the feedback.
4. Add counter to log number of Up and down counts.
Bonus:
● Add a condition to pause or stop movement if either limit is exceeded (e.g., sensor
fault). ● Add a startup behaviour (e.g., default start direction).
Technical Problem 3: Position Control Using RS-485 Feedback
Problem Statement:
You are provided with:
● A lifting mechanism controlled by a controller
● The position feedback can be monitored by RS-485 communication
● Two digital outputs controlling the lift:
1)OUT_0.0 – Moves the lift up
2)OUT_0.1 – Moves the lift down
A target position (in mm) can be changed during runtime and lift mechanism can
operate for a stroke length of 0-150mm.
Requirements:
Develop a Controller Logic program (in C/C++/Python/PLC Logic/pseudocode) that
implements following points-
1)Prepare position feedback based closed loop control algorithm for the actuator
operation.
2)Design the motion controller for smooth operation of the actuator w.r.t speed,
acceleration, deceleration and Jerk values for the Target distance.
3)Provide the simulation graphs for the implementation of the control loop.
4)Add actuator hardware status monitoring based on current, temperature etc.
Deliverables:
Complete the requirements part of all Technical Problem 1-3 with following
approach-
1)Executive Summary.
2)Detailed analysis and justification of your design choices.
3)High-level architectural diagrams.
4)Controller logic programs
Note:
The submission should include all the deliverables in a zip file.
In case of any ambiguity, candidates are encouraged to define assumptions
themselves and report those in the documentation.
The task is expected to be completed within 2 days, and the time taken
to finish the task after receiving the task will be noted.
Disclaimer:
The use of AI is highly discouraged. However, if required, it can be used, and the
reason must be disclosed.
Kindly submit your responses in this Google form in a ZIP file