BTS7960 Motor Driver عبارة عن وحدة H-Bridge قوية قادرة على التعامل مع التيارات العالية ، مما يجعلها مثالية للتحكم في محركات DC في مشاريع الروبوتات والأتمتة. في هذا البرنامج التعليمي ، ستتعلم كيفية الاتصال والتحكم في BTS7960 مع Raspberry Pi لقيادة محرك.
ماذا ستحتاج
- التوت بي (أي نموذج مع إمكانيات GPIO ، على سبيل المثال ، PI 3 ، PI 4)
- وحدة تشغيل محرك BTS7960
- محرك العاصمة (مناسب لمشروعك)
- إمدادات الطاقة الخارجية (مطابقة الجهد المحرك الخاص بك والمتطلبات الحالية)
- الأسلاك الأسلاك والبلوز
الخطوة 1: فهم سائق محرك BTS7960
تتضمن وحدة BTS7960 جسران نصف طاقة عالية القدرة على قيادة المحركات ذات التيارات تصل إلى 43A. يميز:
- دبابيس إدخال PWM للتحكم في السرعة
- دبابيس التحكم في الاتجاه
- الحماية الزائدة والحرارية
pinout
دبوس | وصف |
---|---|
VCC | مدخلات الطاقة المنطقية 5V |
GND | أرضي |
RPWM | مدخلات PWM للحركة الأمامية |
LPWM | إدخال PWM للحركة العكسية |
r_en | تمكين الدبوس للحركة الأمامية |
l_en | تمكين الدبوس للحركة العكسية |
محرك+ (م+) | محطة إيجابية المحرك |
محرك (M-) | المحرك السلبي المحرك |
فين | إمدادات الطاقة الحركية الخارجية |
GND (السلطة) | أرضية لإمدادات الطاقة الحركية |
الخطوة 2: توصيل BTS7960 إلى Raspberry Pi
الاتصالات
BTS7960 دبوس | التوت بي دبوس |
---|---|
VCC | 5V |
GND | GND |
RPWM | GPIO18 (قناة PWM 0) |
LPWM | GPIO19 (قناة PWM 1) |
r_en | GPIO23 |
l_en | GPIO24 |
اتصالات مزودات المحركات والطاقة
- قم بتوصيل محطات المحرك بـ محرك+ (م+) و محرك (M-) دبابيس.
- قم بتوصيل المحطة الإيجابية لمصدر الطاقة الخارجي إلى فين.
- قم بتوصيل أرض مصدر الطاقة الخارجية بـ GND (السلطة) دبوس.
ملحوظة: تأكد من أن مصدر الطاقة الخارجي يتطابق مع الجهد والمتطلبات الحالية للمحرك.
الخطوة 3: تمكين PWM على Raspberry Pi
للتحكم في سرعة المحرك ، ستستخدم PWM (تعديل عرض النبض). Raspberry PI GPIO دبابيس 18 و 19 دعم الأجهزة PWM.
تمكين PWM عبر تكوين Raspberry Pi
- افتح الجهاز وتشغيله:
sudo raspi-config
- انتقل إلى خيارات الواجهة> P5: I2Cوتمكين I2C.
- حفظ وإعادة تشغيل Raspberry Pi:
sudo reboot
الخطوة 4: كتابة كود بيثون للتحكم في المحرك
تثبيت RPi.GPIO
مكتبة للتحكم في دبابيس GPIO إذا لم يتم تثبيتها بالفعل:
pip install RPi.GPIO
مثال رمز بيثون
يوضح هذا المثال كيفية التحكم في سرعة المحرك واتجاهه باستخدام BTS7960.
import RPi.GPIO as GPIO
import time
# Pin Definitions
RPWM_PIN = 18
LPWM_PIN = 19
REN_PIN = 23
LEN_PIN = 24
# GPIO Setup
GPIO.setmode(GPIO.BCM)
GPIO.setup(RPWM_PIN, GPIO.OUT)
GPIO.setup(LPWM_PIN, GPIO.OUT)
GPIO.setup(REN_PIN, GPIO.OUT)
GPIO.setup(LEN_PIN, GPIO.OUT)
# PWM Setup
frequency = 1000 # PWM frequency in Hz
rpwm = GPIO.PWM(RPWM_PIN, frequency)
lpwm = GPIO.PWM(LPWM_PIN, frequency)
# Start PWM with 0% duty cycle (off)
rpwm.start(0)
lpwm.start(0)
try:
while True:
# Enable Forward Motion
GPIO.output(REN_PIN, GPIO.HIGH)
GPIO.output(LEN_PIN, GPIO.LOW)
# Set forward speed (50% duty cycle)
rpwm.ChangeDutyCycle(50)
lpwm.ChangeDutyCycle(0)
time.sleep(2)
# Enable Reverse Motion
GPIO.output(REN_PIN, GPIO.LOW)
GPIO.output(LEN_PIN, GPIO.HIGH)
# Set reverse speed (30% duty cycle)
rpwm.ChangeDutyCycle(0)
lpwm.ChangeDutyCycle(30)
time.sleep(2)
except KeyboardInterrupt:
print("Stopping motor...")
finally:
rpwm.stop()
lpwm.stop()
GPIO.cleanup()
الخطوة 5: اختبار الإعداد الخاص بك
- قم بتوصيل إمدادات المحرك والمحرك.
- قم بتشغيل نص Python:
python3 bts7960_control.py
- راقب سرعة تغيير المحرك والاتجاه كما مبرمجة.
استكشاف الأخطاء وإصلاحها
-
المحرك لا يعمل:
- تحقق من اتصالات الأسلاك.
- تحقق من مصدر الطاقة الخارجي.
-
PWM لا يعمل:
- تأكد من تكوين GPIO18 و GPIO19 لـ PWM.
- تحقق من قيم دورة العمل في البرنامج النصي.
-
وحدة الحرارة المفرطة:
- تأكد من أن السحب الحالي للمحرك لا يتجاوز تصنيف BTS7960.
تطبيقات BTS7960 مع Raspberry Pi
- التحكم في محركات التيار المستمر عالي الدقة في الروبوتات
- بناء المركبات الآلية أو الروبوتات
- إنشاء أنظمة آلية للتطبيقات الصناعية
- تطوير الأنظمة التي يتم التحكم فيها عن بُعد
خاتمة
يعد برنامج تشغيل محرك BTS7960 حلاً قويًا وفعالًا لقيادة المحركات عالية الجودة. إلى جانب إمكانيات GPIO الخاصة بـ Raspberry PI ، فإنه يفتح العديد من الاحتمالات لمشاريع الروبوتات والأتمتة. باتباع هذا الدليل ، يمكنك إعداد BTS7960 والتحكم فيه لإنشاء أنظمة قوية الآلية. قم بتجربة ترددات PWM المختلفة ودورات الرسوم لتحسين الأداء لتطبيقك المحدد!