Arduino Servo Motor Control Development
Budget: £250 – £750 GBP
I'm looking for an experienced Arduino programmer with expertise in Control Engineering to develop code to control a servo motor in either position or velocity mode at speeds ranging from 2 rotations per second to 1 rotation every 2 minutes. It's crucial that the speed control is stable so that rotation remains stable and smooth and controlled within 1% of the speed demand.
This will involve creating a source code to read a quadrature encoder signal, to measure the phase current and control current, speed and position control loops using the SimpleFOC shield board. Control loop speed should be sufficient to meet the speed and position control required.
The proposed hardware includes an Arduino Due with a SimpleFOC motor control board and a CubeMars GL60KV25 motor. Mounted on the motor is a 1024 line encoder which is read using a AEDR-8500-102 quadrature encoder reader which provides a total of 4048 counts per rev and a once per rev marker, I can provide the motor and encoder board with a cables to connect to the Arduino board and the SimpleFOC board but the freelancer must purchase the Arduino Due and SimpleFOC boards.
Speed and position demands should be entered via a serial terminal interface, this interface should also display the error between the demanded speed and the actual speed.
Key requirements:
- Expertise with motor control
- Experience in Arduino programming
- Understanding of control loops (Current, speed, position and FOC (Field Oriented Control))
- Ability to deliver a stable and smooth slow rotation
The finished project will include the Arduino source code. Llibraries can be used but the deliverable must include source code for all library files together with a build file to recompile all files from scratch.
The motor:
CubeMars GL60KV25
https://www.cubemars.com/goods-1133-GL60.html
The controller electronics
Arduino Due with a SimpleFOC Shield controller board attached.
https://store.arduino.cc/products/arduino-due?srsltid=AfmBOoqd3AtVEam5PToZkZ7Gq9xJMGi-nFaB7ieZwD4IU8nwOjNETTFC
https://simplefoc.com/#simplefoc_shiled
This will involve creating a source code to read a quadrature encoder signal, to measure the phase current and control current, speed and position control loops using the SimpleFOC shield board. Control loop speed should be sufficient to meet the speed and position control required.
The proposed hardware includes an Arduino Due with a SimpleFOC motor control board and a CubeMars GL60KV25 motor. Mounted on the motor is a 1024 line encoder which is read using a AEDR-8500-102 quadrature encoder reader which provides a total of 4048 counts per rev and a once per rev marker, I can provide the motor and encoder board with a cables to connect to the Arduino board and the SimpleFOC board but the freelancer must purchase the Arduino Due and SimpleFOC boards.
Speed and position demands should be entered via a serial terminal interface, this interface should also display the error between the demanded speed and the actual speed.
Key requirements:
- Expertise with motor control
- Experience in Arduino programming
- Understanding of control loops (Current, speed, position and FOC (Field Oriented Control))
- Ability to deliver a stable and smooth slow rotation
The finished project will include the Arduino source code. Llibraries can be used but the deliverable must include source code for all library files together with a build file to recompile all files from scratch.
The motor:
CubeMars GL60KV25
https://www.cubemars.com/goods-1133-GL60.html
The controller electronics
Arduino Due with a SimpleFOC Shield controller board attached.
https://store.arduino.cc/products/arduino-due?srsltid=AfmBOoqd3AtVEam5PToZkZ7Gq9xJMGi-nFaB7ieZwD4IU8nwOjNETTFC
https://simplefoc.com/#simplefoc_shiled