Automative infinte circular motion of Aerotech Ensemble Motion Controller (5.06.000) via MATLAB
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm trying to move a stage with an Aerotech Ensemble Motion Controller (v5.06.000) via MATLAB, but instead of a full circular motion I only get multiple arc trajectories in one direction.
Does anyone have experience with this controller?
clear; clc; close all;
arch = computer('arch');
if strcmp(arch,'win32')
addpath('C:\Program Files (x86)\Aerotech\Ensemble\Matlab\x86');
else
addpath('C:\Program Files (x86)\Aerotech\Ensemble\Matlab\x64');
end
X = 0;
Y = 1;
disp('Connecting...');
h = EnsembleConnect;
EnsembleMotionEnable(h, X);
EnsembleMotionEnable(h, Y);
EnsembleMotionFaultAck(h, X);
EnsembleMotionFaultAck(h, Y);
% ====== USER PARAMETERS ======
R = 10; % mm
Speed = 1; % mm/s
% ====== CURRENT POSITION (this will become top of circle) ======
startX = EnsembleStatusGetItem(h, X, EnsembleStatusItem.PositionFeedback);
startY = EnsembleStatusGetItem(h, Y, EnsembleStatusItem.PositionFeedback);
% ====== BREAK BUTTON ======
DlgH = figure('Position',[800 500 200 120]);
H = uicontrol('Style','PushButton', ...
'String','Break', ...
'FontSize',16, ...
'FontWeight','bold', ...
'Position',[20 20 160 60], ...
'Callback','delete(gcbf)');
disp('Continuous circular motion started...');
while ishandle(H)
EnsembleMotionCWRadius(h, X, startX, Y, startY, R, Speed);
EnsembleMotionWaitMode(h, 1);
end
EnsembleMotionHalt(h);
EnsembleDisconnect();
1 Kommentar
Ayush
am 16 Dez. 2025 um 6:32
Hi,
The repeated "EnsembleMotionCWRadius" command seems to be sending the same arc move each time, so the stage only traces multiple arcs in one direction instead of a full circle. To achieve continuous circular motion, you might need to update the arc endpoints or use a different approach.
Antworten (0)
Siehe auch
Kategorien
Mehr zu Manage System Data finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!