matlab function for arduino

조회 수: 1 (최근 30일)
john white
john white 2019년 3월 13일
댓글: john white 2019년 3월 14일
Hi
I want to use matlab function to write code for Arduino boards
in the matlab function I have written this :
function [count1 count2 count2]=fcn
a1=arduino('com3','due','Libraries','RotaryEncoder');
a2=arduino('com5','uno','Libraries','RotaryEncoder');
encoder1=rotaryEncoder(a1,'D2','D3');
encoder2=rotaryEncoder(a1,'D4','D5');
encoder3=rptaryEncoder(a2,'D2','D3');
count1=readCount(encoder1);
count1=readCount(encoder2);
count3=readCount(encoder2);
end
but it showed this error:
Capture.PNG
Capture1.PNG

답변 (2개)

Madhu Govindarajan
Madhu Govindarajan 2019년 3월 13일
Based on the error it looks like you are attempting to use MATLAB Function block within a Simulink Model. In this approach, you cannot use arduino function and other MATLAB Support Package for Arduino functions as this workflow is completely different from Simulink Support for Arduino.
If you post details about your project, experts might be able to assist you with selecting the appropriate workflow.
  댓글 수: 1
john white
john white 2019년 3월 13일
actually I want to control 3 dc motors with encoders , so I have a matlab function to create a controll output signals and get the encoders position and velocity as inputs so I have used three matlab function blocks one of them is using for control function , one is used to read the encoders position and velocity and the last one is used to write the voltage of the motors and get the output signals of the control block as the input signals

댓글을 달려면 로그인하십시오.


Madhu Govindarajan
Madhu Govindarajan 2019년 3월 14일
I think you are better off using the Simulink workflow to perform controls and not use the MATLAB Support package for Arduino functions in MATLAB function blocks. Given that comment, if you want to control DC motors from an Arduino people usually use a Motor Control board or are using direct PWM signals.
So I propose you create a new question in Maker Community here mentioning details of your hardware setup including what motors you have, what is the controlling method (see above), what encoders are you using etc. This will get you the right answer the fastest.
If you are looking for generic examples, here are some links -
Madhu
  댓글 수: 1
john white
john white 2019년 3월 14일
is there any way to read the encoder pulses(or position and speed of the encoder) in simulink?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Arduino Hardware에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by