To drive a CONCENS actuator, in the case of an electronic personalization request, not covered by standard available electronic board, a good suggestion is to use an open source hardware.
ARDUINO is one of the most popular: with few components, depending by your goals, you can realize quickly a personalized prototype electronic board.
With minimum skills and knowledge of software and hardware, it’s easy to develop a complete electronic board, starting by basic operations up to a complete system with specific functions.
This solution interface the Hall sensors in quadrature with multiply x 4 up 8000 RPM without reserved input interrupts
For high quantity production, this can be engineered in a customized product at low cost.
Object to be controlled: CON35 & CON50 in line linear actuators
This develop must be meet the following requirements.
Because of their compact size these actuators don't have inside end strokes, and the duty cycle must be limited at 10% to avoid damage of the motor. In the cases of motor stall or overload, motor must immediately be turned off, until accumulated thermal energy inside the motor is dissipated.
The position may be controlled with the hall sensors option, that gives two low resolution signals like an encoder.
The operations are intend to be controlled manually by operator.
Synchronous movement function could be required with other linear actuators.
Simple automatic motions, controlled by "motion tasks" saved in EEPROM can be further developed.
Analysis and guidelines of the project
It is very important to evaluate the main technical requirements of the project. All the possible technical
solutions are a compromise between the cost and the available HW/SW capability.
In this case the main guidelines are:
- Quick develop of the prototype
- The main operations functions are made under operator control (MANUAL mode).
- An option must be developed for remote control via fieldbus (RS485 multipoint).
- An option must be developed for systems with dual or multi actuators, moved in synchronous mode.
- An option must be developed for an automatic simple programmed sequence of cyclic movements.
- The electronic board must be cheap (prototype and possible production in quantities).
- The main difficult is the counting of the pulses of the sensors, at maximum motor revolutions (about 9000 RPM).
This requires an high sample rate of the signals and this reduce the number of the Sw operations that may be executed between two sample.
- A function must be available for a simple operation of the zero calibration and a learning SW of the end strokes
- Due to the incremental nature of the hall sensors, at each power down the actual position must be saved in EEPROM and restored at each power up.
Hw/Sw platform chosen (Arduino)
The electronic board has been developed using an Arduino MICRO. It is a member of the ARDUINO boards based on ATMEL embedded microprocessor
from Arduino website...
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be standalone or they can communicate with software running on a computer (e.g. Flash, Processing, MaxMSP).
The boards can be built by hand or purchased preassembled; the software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, you are free to adapt them to your needs.
Strategy chosen (Simple Real Time Operating System)
Due to the destination in the automatism field of these actuators, without go too deep, in special technical analysis,
from the control point of view, the system may be divide in three main loops.
- The first must run at minimum of 2 kHz (necessary to count of the pulses).
- The second could run at 200 Hz ( start/stop command movements and position regulation in the case of synchronous movements).
- The third may be executed at 20 Hz ( for non critical real time functions)
In order to reach these goals, a simple Real Time Operating System (real time tasks manager) has been developed.
Prototype (video demonstration)
The functions programmed are:
- Manual calibration of the stroke
- Manual start/stop operation with speed trapezoidal profile
- Automatic cycle of motion tasks.
- Motor overcurrent control
The Calibration is required only during the commissioning.
The actual position is saved in EEPROM at each power down and reloaded at each power up.
In "Manual operation" the movements are under operator control through the forward and reverse commands. The program automatically controls the limits of the stroke and stops the movement in the case they are reached.
In the above video sample, is programmed a cycle with three motion tasks.
Each task could be programmed with different position, speed and pause.
The motion tasks are saved in EEPROM.
Full Technical Documents (.pdf)
- Hardware Description
- Software Description
- Calibration sequence function
- Emergency Stop Function
- Decodes and counts pulses function
- End strokes control function
- In position function
- Main loop program
- Motor overcurrent control function
- Motor control function
- Micro pins associated functions
- Speed meter function
- Speed control mode function
- Speed trapezoidal profile function
- Start ADC conversion function
- Task counter
- Task manager
- Test status input function
- Library and variable declarations
- Write (save) SW max stroke function
- Write (save) counter pulses function