مهندس اتمتة - Automation Engineer مهندس اتمتة - Automation Engineer
recent

آخر الأخبار

recent
recent
جاري التحميل ...

ربط محرك تيار مستمر ببرنامج automatios engineer - Matlab

وهنا يتم التحكم ف محرك التيار المستمر (DC Motor) باستخدام المتحكمات والبرنامج الهندسي الشهير (Matlab) :-




يتم استخدام من المتحكمات لوحه (ِArduino Uno) وربط الوحه Uno مع الماتلاب للتحكم في موتور الدي سي وفي هذا البرنامج التعليمي سوف يتم كيف التحكم في محرك DC MOTOR باستخدام اردوينو اونو مع وجه الماتلاب وهذا اول استخدام الماتلاب لذا يتم استخدام كود بسيط مثل اليد كا وميض(فليشر). 


انشاء انتر فيس (واجهة) مستخدم رسومية MATLAB للتحكم في محرك DCMOTOR:- 

بعد الحصول على اعدادات من المتلاب والاردوينو يتم تعيين انشاء واجهه المستخدم الرسومات جي يو اي للتحكم في موتور دي سي.

تم فتح نافذه منبثقه ثم عليك بتحيديد واجهه مستخدم رسوميات جديده كما هو موضح بالصوره


وعليك الان اختيار ثلاث مفاتيح ضغط بوش بوتون للدوران في الاتجاه عقارب الساعه والاخر في الدوران عكس عقارب الساعه وايضا مفتاح للتشغيل والايقاف أي ان عليك ان تعمل تلاث مفاتيح الاول يتم الضغط عليه ليعمل المحرك في الدوران لليمين وام الثاني كي يعمل المحرك في الدوران في التجاه اليسار والمفتاح الثالث عمل استوب للموتور التيار المستمر كما هو موضح بصوره.



وللتعديل في حجم المفتاح او تغيير الديزاين الخاص بالمفتاح ما عليك غيرضغط  ضغطه  فوق المفتاح واحده وسيعطيك اختيار السحب من احد الزوايا المفتاح ومن خلال الضغط المزدوج على المفتاح يمكنك تغيير لون وخريطه وعلامه هذا المفتاح الذي قمنا بتخصيص ثلاث مفاتيح كما هو موضح بالصوره.

وأيضا كما في صوره الموضحة في الموقع 


يمكنك تخصيص المفاتيح المستخدمة في وجهه حسب اختيارك، الآن عند حفظ هذا المشروع، يتم إنشاء رمز في نافذة محرر من الماتلاب والكود الخاص بلوحه الاردوينو الخاص بك لأداء أي مهمة متعلقة بمشروعك ، عليك دائمًا تحرير هذا الرمز الذي تم إنشاؤه ، وفي اخر الصفة يوجد كود محرر Arduino IDE


وفي اعلي الصفحه يوجد الرسم التخطيطي لربط Matlab بالوحه Arduino uno الشهيرة وفي المستقبل نضع في صفحه جديده من الموقع ربط Matlab وArduino باستخدام برنامج Proteus كا محاكي للوحه Arduino 


وشكرا عزيزي المهندس وهنا نضع كود المستخدم في لوحه Arduino uno  

كما يمكنك منتابعة قناتنا علي اليوتيوب من هنا


CODE ARDUINO UNO:-


function varargout = DCmotor(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @DCmotor_OpeningFcn, ... 'gui_OutputFcn', @DCmotor_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function DCmotor_OpeningFcn(hObject, eventdata, handles, varargin) guidata(hObject, handles); function varargout = DCmotor_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; clear all; global a; a = arduino(); function clockwise_Callback(hObject, eventdata, handles) global a; writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D6', 1); pause(0.5); function anticlockwise_Callback(hObject, eventdata, handles) global a; writeDigitalPin(a, 'D5', 1); writeDigitalPin(a, 'D6', 0); pause(0.5); function stop_Callback(hObject, eventdata, handles) global a; writeDigitalPin(a, 'D5', 0); writeDigitalPin(a, 'D6', 0); pause(0.5);


عن الكاتب

Eng/ELhussein.tawfeiq

التعليقات


جميع الحقوق محفوظة

مهندس اتمتة - Automation Engineer