Site icon ElectronX Lab

Arduino ilə sensorlu fırçasız DC mühərrikin idarə edilməsi

Fırçasız sabit cərəyan (BLDC motor (Brushless Direct Current moto və ya BL motor)) mühərriklərinin iki növü var: sensorlu və sensorsuz. Sensorlu BLDC mühərriki, rotorun yerini təyin etmək üçün hall effektli sensorlarındən istifadə edir, çünki sensorsuz BLDC mühərriki BEMF (arxa elektromotor qüvvəsi) olan başqa bir texnikanı istifadə edir. Bu mövzuda bir Arduino UNO lövhəsindən istifadə edərək sensorlu BLDC motorunun necə idarə ediləcəyi göstərilir. Bu layihədə istifadə olunan BLDC motoru sadəcə bir PC CD-ROM motorudur (spindle motor).

BLDC motoru (sensorlu və sensorsuz), 3 fazalı bir motordur, yəni statorun nüvəsində 3 sarğac var. Dönən bir elektrik sahəsi yaratmaq üçün iki sarğaca bir anda enerji verilir. Bu metodu həyata keçirmək olduqca asandır, lakin sabit maqnitli rotorunun statorla kilidlənməsinin qarşısını almaq üçün,rotor maqnitlərinin dəqiq vəziyyətini bilərək, statordakı həyəcanlanmanı(maqnitlənməni) xüsusi bir şəkildə ardıcıllıqla aparılması lazımdır.

Bu motoru idarə etmək üçün bizə 3 fazalı körpü lazımdır, bunun əsas elementləri 6 MOSFET-dir. 3 fazlı körpünün ümumi dövrə sxematik diaqramı aşağıda göstərilmişdir:

Sensorlu BLDC mühərrikdə rotor vəziyyətini qeydə ala bilmək üçün 3 hall effektli sensor (A, B və C) var, bu sensorlar aşağıdakı şəkildəki kimi yerləşdirilmişdir. Bu layihədə istifadə etdiyim motor aşağıda göstərildiyi kimi çıxış pinlərinə malikdir (digər mühərriklər çıxış pinləri fərqli ola bilər).
Bu motorda hər bir hall effektli sensorun 4 pini var: VCC (H +), GND (H-) və iki çıxış (bəzi sensorlar 3 pinlə gəlir: VCC, GND və çıxış).

Əlimdə 4 pinli hall effektli sensorları olduğundan,hər birinə bir analoq müayisə edici (LM339N dördlü müqaisə edici İC istifadə etdim) əlavə etdim,beləliklə hər sensor çıxışı aşağıdakı dövrə sxemində göstərildiyi kimi (2 çıxış: + və -) girişlərə qoşulur (2 giriş: invers və qeyri invers), nəhayət sonda 3 hall effektli sensorlarından 3 çıxış əldə etdim.

Hər bir sensor 180 elektrik dərəcəsi üçün bir rəqəmsal “bir” verir və digər 180 elektrik dərəcəsi üçün bir rəqəmsal “sıfır” verir. Aşağıdakı şəkildə sensor çıxışları ilə A, B və C fazaları üçün tələb olunan motor sürücüsü voltajları arasındakı əlaqə göstərilir.

Hall effektli sensorlarına görə,3 fazalı körpü aşağıdakı cədvəldə göstərildiyi kimi idarə olunur:

Lazım olan komponentlər:

Arduino ilə sensorlu fırçasız DC motorun idarəetmə dövrəsi:

Ümumi dövrə diaqramı aşağıda göstərilmişdir.

(Bütün torpqalanmış (GND) qütblər bir-birinə bağlıdır).

Dövrədə üç IR2104S rəzə (gate) sürücü İC var, hər biri bir yüksək tərəfli mosfet və bir aşağı tərəfli mosfet sürmək üçün istifadə olunur, yüksək və aşağı tərəf arasında keçid idarəetmə xətlərinə uyğun olaraq həyata keçirilir: İN və SD. Aşağıdakı şəkildə giriş və çıxış -ın zaman diaqramı göstərilir:

Fırçasız (brushless) DC motorun sürətini idarə etmək üçün 10k potensiometr istifadə olunur.Motor PWM texnikasından (PWM-in yüksək tərəfləri yalnız) istifadə edərək idarə olunur. İstənilən vaxt intervalında bir aktiv yüksək yan mosfet və bir aktiv aşağı yan mosfet var, yəni həmişə bir aktiv PWM pini var (Arduino pin 2, 4 və ya 6).

Aşağıdakı cədvəl hall effektli sensorların vəziyyətinə görə aktiv Arduino pinlərini xarakterizə edir (pinlər: 8, 9 və 10):

Arduino kodu ilə sensorlu BLDC motorun idarə edilməsi:


Bu layihədə sadə bir proqram PWM kodunu tətbiq etdim, çünki 2, 4 və ya 6 pin üzərində aktiv PWM siqnalına ehtiyacım vardı (hər dəfə də sadəcə bir pin aktivdir), bunun üçün mən Timer2 modulundan istifadə etdim və onu prescaler ilə konfiqurasiya etdim. 1/ 8 deməkdir ki, PWM siqnal tezliyi təxminən 7.8KHz (bərabərdir: 16MHz / (8 * 256)) və 8 bitlik dəqiqlik(resoluton).

ADC modulu yalnız 0 kanalından oxumaq üçün qurulmuşdur.

Daha yaxşı kommutasiya (dəyişiklik) üçün 8, 9 və 10 nömrəli pinlərdə (hall effektli sensorun girişləri) kəsmə (interrupt) aktivləşdirilir.

PORTB – Arduino uno pinləri: 8… 13.
PORTD – Arduino uno pinləri: 0 … 7.

Arduino kodu ilə sensorlu BLDC motorun idarə edilməsinə dair video:

Aşağıdakı videoda layihənin sadə bir sxem (hardware) dövrəsi göstərilir.

Yeni yazıda bu bu dövrə daha da təkmilləşdirilmişdir.

Əlaqəli yazı: https://electron-x-lab.com/2020/04/12/arduino-il%c9%99-cd-rom-sensorlu-bldc-motor-idar%c9%99edicisi/


Mənbə: https://simple-circuit.com/arduino-bldc-brushless-dc-motor-control/

Exit mobile version