Raspberry Pi
90 min
Share

كيف تتحكم فى محرك خطوى بواسطة لوحة راسبيرى باى 5 ؟

هناك العديد من أنواع المحركات المختلفة متنوعة الاستخدامات. أحد هذه الأنواع هو المحرك الخطوى، والذي سمى بهذا الاسم لأنه يتحرك بخطوات دقيقة ويسمح لك بالتحكم في سرعة واتجاه دوران المحرك بدقة عالية.

Project Video

Overview

في هذا المشروع، سوف نستخدم لوحة راسبيرى باى 5 للتحكم في محرك خطوى. حيث سنجعل المحرك يدور دورة كاملة في الاتجاه الايمن ومن ثم يدور دورة كاملة في الاتجاه المعاكس(الايسر).

Getting the Items

Raspberry Pi 5 Single Board Computer
Get Item
5V DC Stepper Motor & Drive Module
Get Item
Jumper Wires - Female to Female (40 Pack)
Get Item

Steps

Wiring it Up

قم بتوصيل الاسلاك بين لوحة راسبيرى باى 5 وبين المحرك الخطوى كما ترى فى الصورة التى فى الاسفل.

التوصيلات من المحرك الخطوى :

• طرف الطاقة الموجب من لوحة تشغيل المحرك الخطوى← منفذ ال 5 فولت بلوحة راسبيرى باى 5

• طرف الطاقة السالب من لوحة تشغيل المحرك الخطوى← منفذ الجراوند بلوحة راسبيرى باى 5

• طرف IN1 من لوحة تشغيل المحرك الخطوى ← منفذ رقم 14بلوحة راسبيرى باى 5

• طرف IN2من لوحة تشغيل المحرك الخطوى ← منفذ رقم 15 بلوحة راسبيرى باى 5

• طرف IN3 من لوحة تشغيل المحرك الخطوى ← منفذ رقم 18 بلوحة راسبيرى باى 5

• طرف IN4 من لوحة تشغيل المحرك الخطوى ← منفذ رقم 23بلوحة راسبيرى باى 5

Coding

الان على الراسبيرى باى الخاص بك اضغط على ال menu ومن ثم اختر  programmingومن ثم قم بفتح برنامج Thonny ide.

الآن انسخ هذا الكود فيه، وظيفة هذا الكود هو جعل الراسبيرى باى 5 يتحكم فى حركة محرك خطوى بحيث يجعله يدور دورة كاملة فى الاتجاه الايمن ومن ثم يدور دورة كاملة فى الاتجاه المعاكس .

import gpiod

import time

# Define the control pins

ControlPin = [14, 15, 18, 23]

# Create a GPIO chip and get the lines

chip = gpiod.Chip('gpiochip4')

lines = [chip.get_line(pin) for pin in ControlPin]

# Configure the lines as outputs

for line in lines:

   line.request('stepper_motor', gpiod.LINE_REQ_DIR_OUT, 0)

# Define the segment pattern

seg_right = [

   [1, 0, 0, 0],

   [1, 1, 0, 0],

   [0, 1, 0, 0],

   [0, 1, 1, 0],

   [0, 0, 1, 0],

   [0, 0, 1, 1],

   [0, 0, 0, 1],

   [1, 0, 0, 1]

]

seg_left = [

   [0, 0, 0, 1],

   [0, 0, 1, 1],

   [0, 0, 1, 0],

   [0, 1, 1, 0],

   [0, 1, 0, 0],

   [1, 1, 0, 0],

   [1, 0, 0, 0],

   [1, 0, 0, 1]

]

delay = 0.001 #You can control the acceleration from the delay value !

# Run the stepper motor for 512 steps

for i in range(512):

   for halfstep in range(8):

       for pin in range(4):

           lines[pin].set_value(seg_right[halfstep][pin])

       time.sleep(delay)

for i in range(512):

   for halfstep in range(8):

       for pin in range(4):

           lines[pin].set_value(seg_left[halfstep][pin])

       time.sleep(delay)

       

# Release the GPIO lines

for line in lines:

   line.release()

Testing it Out

الآن قم بتشغيل الكود البرمجى، وسوف تجد أن لوحة راسبيرى باى 5 تتحكم في حركة المحرك الخطوى بحيث يدور دورة كاملة فى الاتجاه الايمن ومن ثم يدور دورة كاملة فى الاتجاه المعاكس.

Resources

No items found.