Снимка на безчетков контролер за постоянен ток, когато е свързан с Arduino и линеен задвижващ механизъм

Непрекъснато удължаване и прибиране на хода на задвижващия механизъм с безчетков DC мотор

Guninder Malhi
Guninder Malhi
PA Engineer

Този урок ще ви помогне да разберете управлението на контролер за безчетков DC мотор, когато е свързан с Arduino и линеен задвижващ механизъм. Тази програма може да се използва за непрекъснато удължаване и прибиране на хода на задвижващия механизъм.

Преди да започнем, нека разгледаме компонентите, които ще използваме в този урок:

  1. Arduino Mega (може да се използва и Arduino Uno).
  2. LC-241.
  3. PA-14 с безчетков мотор.
  4. Захранване PS-13-12.
  5. Съединителни кабели.

 Arduino Coding

Линейният задвижващ механизъм има 2 комплекта кабели, излизащи от него, единият комплект е за двигателя, а другият комплект е за крайните изключватели. Схемата на фигурата по-горе показва как да се свържат компонентите заедно.

КОД ЗА НАСТРОЙКА НА ПИН

int out_lim = 45; // пин на външния краен изключвател

int in_lim = 53; // вътрешен пин на крайния изключвател

int run_f = 25; // стартиране на пин на контролера
int run_r = 30; // обръщане на пина на контролера

Тази част от кода се грижи за инициализацията на пиновете, които ще се използват за получаване и изпращане на данни. В този случай са използвани само цифрови пинове, но могат да се използват и аналогови.

КОД ЗА НАСТРОЙКА НА КОНТУРА

невалидна настройка() {

  Serial.begin(9600); // инициализира серийната комуникация със скорост 9600 бита в секунда
pinMode(out_lim, INPUT_PULLUP); // конфигурира пин 45 като входен пин
pinMode(in_lim, INPUT_PULLUP); // конфигурира пин 53 като входен пин
pinMode(run_f, OUTPUT); // конфигурира пин 25 като изходен пин
pinMode(run_r, OUTPUT); // конфигурира пин 30 като изходен пин

 

retract(); // прибира хода при стартиране

  забавяне(500);
}


Цикълът „setup“ конфигурира кои пинове ще се използват за изход и кои за вход. Както може да се види в кода, пинове, свързани с крайни превключватели, ще се използват за четене на състоянията на крайните превключватели, а пинове, свързани с „RUN“ и „REV“ на LC-241, ще се използват за запис в него. Първоначално кодът изпълнява и функция за прибиране, за да се прибере напълно преди стартиране.

КОД ЗА ДЕФИНИЦИИ НА ФУНКЦИИ

void extend() // тази функция позволява на двигателя да работи

{
 digitalWrite(run_f, LOW);
 digitalWrite(run_r, HIGH);

 }

void retract() // тази функция обръща посоката на въртене на двигателя
{
digitalWrite(run_f, LOW);
digitalWrite(run_r, LOW);
}

void run_stop() // тази функция деактивира двигателя
{
digitalWrite(run_f, HIGH);
digitalWrite(run_r, HIGH);
}


Тази част обяснява функциите, използвани за управление на мощността и посоката на въртене на двигателя. Ще активираме или деактивираме двигателя, като запишем „0“ или „1“ на пин „RUN“ и след това същите команди на пин „REV“, за да обърнем посоката на въртене на двигателя.

КОД НА ГЛАВНИЯ КОНТУР

Невалиден цикъл() {

  int out_lim_state = digitalRead(out_lim); // чете крайните изключватели и запазва стойността им
int in_lim_state = digitalRead(in_lim);

  Serial.print("стойност на външния краен изключвател"), Serial.println(out_lim_state); // 0 -> крайният изключвател е натиснат
  Serial.print("стойност на вътрешния краен изключвател"), Serial.println(in_lim_state); // 1 -> крайният изключвател не е натиснат

ако (out_lim_state == 0 && in_lim_state == 1) // ако външният краен изключвател е натиснат, а вътрешният не е (изтеглен докрай)
  {
retract(); // прибиране на хода
  }

  иначе ако (out_lim_state == 1 && in_lim_state == 0) // ако вътрешният краен изключвател е натиснат, а външният не е (изтеглен докрай)
{
extend(); // удължаване на хода
}

 

Цикълът „loop“ основно чете входовете от крайните изключватели, за да провери дали превключвателите са натиснати или не, и след това въз основа на това просто променя посоката на въртене на двигателя.

Повечето линейни задвижвания на пазара са инсталирани с четков DC двигател и следователно работният цикъл, наличен с този двигател, прави донякъде невъзможна непрекъснатата работа на устройството. В Progressive Automations, ние даваме на нашите клиенти свободата да изберат безчетков DC двигател за нашия модел PA-14, което им дава още повече възможности за техните проекти.