كيفية استخدام YYNMOS-4 MOSFET رباعي القنوات للتحكم في محركات التيار المستمر من 5 أمبير إلى 20 أمبير أو شرائط الإضاءة LED
في هذا الدليل، سنستكشف كيفية التحكم في أحمال التيار المستمر المختلفة، مثل المحركات وأشرطة الإضاءة LED، باستخدام وحدة MOSFET YYNMOS-4 ذات الأربع قنوات. تتيح لك هذه الوحدة إدارة شدة الأضواء أو سرعة المحركات بفعالية. مع قدرتها على التعامل مع أحمال تتراوح بين 5A إلى 20A، يمكن أن تكون مكونًا أساسيًا في مشاريعك الإلكترونية.

سنقوم بتوصيل وحدة MOSFET بأردوينو، مما يتيح لنا التحكم في الأحمال عبر تعديل عرض النبضة (PWM). هذه الطريقة تمكّن من التحكم السلس في تشغيل المحركات والأضواء. للحصول على دليل بصري، أوصي بمشاهدة الفيديو المتعلق (في الفيديو عند :00).
شرح الأجهزة
يتضمن وحدة YYNMOS-4 أربعة ترانزستورات MOSFET يمكنها التعامل مع تيارات كبيرة، مما يجعلها مثالية لتشغيل أنواع متعددة من الأحمال. يعمل كل ترانزستور MOSFET بمقاومة منخفضة (من 10 إلى 16 مللي أوم عند التشغيل)، مما يسمح بتوصيل الطاقة بشكل فعال. يمكنك توصيل ما يصل إلى أربعة أجهزة بحد أقصى للتيار يبلغ 5 أمبير لكل منها، ومع التبريد المناسب، يمكن زيادة ذلك إلى 20 أمبير.
بالإضافة إلى الترانزستورات MOSFET، يتميز الوحدة بوجود أطراف إدخال لإشارات التحكم وأطراف إخراج لتوصيل الأحمال الخاصة بك. يمكن أن تقبل الإدخالات إشارات تتراوح من 3 فولت إلى 20 فولت، مما يجعلها متوافقة مع معظم المتحكمات الدقيقة، بما في ذلك أردوينو. تتضمن الوحدة أيضًا مصابيح LED للإشارة إلى حالة كل مخرج، مما يوفر تغذية راجعة بصرية أثناء التشغيل.
تفاصيل ورقة البيانات
| الصانع | YYNMOS |
|---|---|
| رقم القطعة | YYNMOS-4 |
| جهد المنطق/الإدخال والإخراج | ٣-٢٠ فولت |
| جهد الإمداد | ٥-٣٦ ف |
| التيار الخارجى (لكل قناة) | ٥ أ |
| التيار الذروي (لكل قناة) | 20 أ |
| إرشادات تردد PWM | ~1 كيلوهرتز |
| عتبات منطق الإدخال | عالي: > 3 فولت، منخفض: < 1 فولت |
| انخفاض الجهد / RDS(on)/ تشبع | 10-16 مΩ |
| الحدود الحرارية | حتى 85 درجة مئوية |
| حزمة | وحدة PCB القياسية |
| ملاحظات / متغيرات | متوافق مع وحدات التحكم المنطقية القابلة للبرمجة |
- تأكد من وجود تبريد مناسب للتيارات التي تزيد عن 5 أمبير.
- تحقق من تصنيفات الجهد قبل توصيل الأحمال.
- استخدم إشارات PWM للتحكم في السرعة أو الكثافة.
- كن على دراية بالحدود الحرارية لتجنب السخونة الزائدة.
- تحقق مرة أخرى من الأسلاك لمنع حدوث دوائر قصيرة.
تعليمات التوصيل


لربط وحدة YYNMOS-4، ابدأ بتوصيل مصدر الطاقة. وصل الطرف الموجب من مصدر الطاقة لديك إلىDC+الطرف السالب في الوحدة والطرف السالب إلى الـDC-المحطة. ستتصل كل حمولة ترغب في التحكم بها بأحد أزواج المخرجات. على سبيل المثال، قم بتوصيل القطب الموجب للحمل الخاص بك بالم terminal output المعني والقطب السالب بالأرض.
لإشارات التحكم، قم بتوصيل دبابيس PWM من الأردوينو الخاص بك إلى دبابيس الإدخال المقابلة في وحدة YYNMOS-4. على سبيل المثال، إذا كنت تستخدم الدبابيس 3 و5 و6 و9 على الأردوينو، فاوصلهما إلى مدخلات PWM في الوحدة. تأكد من أن الأرضي من الأردوينو متصل أيضًا بالأرضي لوحدة YYNMOS-4 للحفاظ على نقطة مرجعية مشتركة.
أمثلة على الكود وشرح مفصل
الشفرة التالية توضح كيفية تعريف الدبابيس الضرورية والتحكم في المحركات أو مصابيح LED باستخدام إشارات PWM. المتغيرmotorهي مصفوفة تحتفظ بأرقام الدبابيس للرجوع إليها بسهولة.
int pin1 = 3; // PWM pin for motor 1
int pin2 = 5; // PWM pin for motor 2
int pin3 = 6; // PWM pin for motor 3
int pin4 = 9; // PWM pin for motor 4
int motor[]={NULL,pin1, pin2, pin3, pin4};
في هذا المقتطف، نحدد أربعة دبابيس PWM للتحكم في كل محرك أو LED. المصفوفةmotorيسمح لنا بالرجوع بسهولة إلى هذه الدبابيس لاحقًا في الشيفرة.
الخدماتloop()توضح الدالة كيفية تفعيل المحركات بسرعات مختلفة:
void loop() {
motorON(1, 75); // Run motor 1 at 75% speed
delay(4000); // Wait for 4 seconds
stop(1); // Stop motor 1
delay(3000); // Wait for 3 seconds
}
يقوم هذا الجزء من الكود بتفعيل المحرك 1 بسرعة 75% لمدة 4 ثوانٍ، ثم يتوقف لمدة 3 ثوانٍ. يسمح ضبط السرعة والتوقيت بتحكم مرن في الأحمال.
للحصول على الكود الكامل، يرجى الرجوع إلى البرنامج الكامل المحمل أسفل المقال.
عرض / ما يمكن توقعه
عند الانتهاء من توصيل الأسلاك وتحميل الكود على الأردوينو الخاص بك، يجب أن تلاحظ المحركات أو مصابيح LED تستجيب لإشارات PWM. ستبدأ المحركات بالسرعات المحددة ويمكن إيقافها أو ضبطها ديناميكيًا. إذا لاحظت أي مشاكل، تحقق من وجود عكس في القطبية أو الأسلاك غير الصحيحة، حيث أن هذه من الأخطاء الشائعة (في الفيديو في 12:30).
توقيتات الفيديو
- 00:00 ابدأ
- 00:58 شرح الأجهزة
- 07:53 شرح الأسلاك
- 10:13 شرح كود الأردوينو لـ YYNMOS-4
- 14:51 عرض بدون أردوينو
- 16:32 عرض توضيحي باستخدام أردوينو
++
/*
* This is Arduino code to control 4 DC motors' speed or 4 LED light strips or other DC loads
* by utilizing a YYNMOS-4 4-channel MOSFET module.
We can control 4 DC motors with voltage from 5V to 35V and 5A each.
Get the code and wiring from https://robojax.com/RJT338
* Written by Ahmad Shamshiri on July 13, 2020
* in Ajax, Ontario, Canada. www.robojax.com
*
*
* Watch video instructions for this code: https://youtu.be/G9uHVcITHf8
*
If you found this tutorial helpful, please support me so I can continue creating
content like this.
or make a donation using PayPal http://robojax.com/L/?id=64
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int pin1 = 3;//pwm
int pin2 = 5;//pwm
int pin3 = 6;//pwm
int pin4 = 9;//pwm
int ON = HIGH;
int OFF = LOW;
int motor[]={NULL,pin1, pin2, pin3, pin4};
void setup() {
Serial.begin(9600);
Serial.println("Robojax.com 4 DC Motor or LED");
pinMode(motor[1], OUTPUT);
pinMode(motor[2], OUTPUT);
pinMode(motor[3], OUTPUT);
pinMode(motor[4], OUTPUT);
}
void loop() {
motorON(1, 75);//run motor 1 at 75% speed
delay(4000);//for 4 seconds
motorON(4, 100);//run motor 4 at 100% speed (or 100% light intensity)
delay(4000); //for 4 seconds
stop(1);//stop motor 1
delay(3000);//keep it stopped for 3 seconds
stop(4);//stop motor 4
delay(3000); //keep it stopped for 3 seconds
for(int i=0; i<=100; i++)
{
motorON(1,i); //change speed of motor 1
delay(100);
}
delay(3000);//keep running for 3 seconds
stop(1);//stop motor 1
delay(3000);//keep it stopped for 3 seconds
for(int i=100; i>=0; i--)
{
motorON(1,i); //change speed of motor 1
delay(100);
}
delay(3000); //keep it running for 3 seconds
for(int i=0; i<=100; i++)
{
motorON(4,i);
delay(100);
}
delay(3000);//keep it at for 3 seconds
for(int i=100; i>=0; i--)
{
motorON(4,i);
delay(100);
}
}// loop
/*
motorON(int n, int sp)
* @brief Runs the specific motor n with speed sp
* @param n, is an integer from 1 to 4
* @param sp, is speed in % from 0 to 100
* @return does not return anything
* Written by Ahmad Shamshiri
* www.Robojax.com code July 13, 2020 in Ajax, Ontario, Canada
*/
void motorON(int n, int sp)
{
if(n >=1 && n <=4)
{
int speed=map(sp, 0, 100, 0, 255);
analogWrite(motor[n],speed);
Serial.print("Load ");
Serial.print(n);
Serial.print(" @");
Serial.print(sp);
Serial.println("%");
}else{
Serial.println("Motor/load number should be between 1 and 4");
while(1);// stop forever
}
}//motorON(int n)
/*
stop(int n)
* @brief Stops the specific motor
* @param n, is an integer from 1 to 4
* @return does not return anything
* Written by Ahmad Shamshiri
* www.Robojax.com code July 13, 2020 in Ajax, Ontario, Canada
*/
void stop(int n)
{
if(n >=1 && n <=4)
{
digitalWrite(motor[n], LOW);
Serial.print("Load ");
Serial.print(n);
Serial.println(" Stopped");
}else{
Serial.println("Motor/load number should be between 1 and 4");
while(1);// stop forever
}
}//stop(int n)
الأشياء التي قد تحتاجها
-
أمازون
-
إي باي
-
علي إكسبريساشترِ YYNMOS-4 4 قناة MOSFET من علي إكسبريسs.click.aliexpress.com
-
علي إكسبريساشترِ YYNMOS-4 4 قناة MOSFET من علي إكسبريسs.click.aliexpress.com
-
علي إكسبريساشترِ YYNMOS-4 4 قناة MOSFET من علي إكسبريسs.click.aliexpress.com
الموارد والمراجع
-
خارجي1N4148 (T4) شريحة دايود سريع التبديل SMD (PDF)pdf.datasheetcatalog.com
-
خارجي60N03 MOSFET، 12mΩ، 30V، 45A ورقة بيانات (PDF)cdn.datasheetspdf.com
-
خارجي
ملفات📁
لا توجد ملفات متاحة.