Как да контролираме времето на движение на линейни задвижвания

Как да контролираме времето на движение на линейни задвижвания?

Guest Writer
Guest Writer
PA Engineer

В последната ни публикация „Как да“ ще разгледаме как да контролираме времето на движение на линеен задвижващ механизъм с помощта на микроконтролер. Микроконтролери дават много свобода в управлението на движението и това е само един пример за почти безкрайно количество налични опции за управление на движението. В зависимост от вашето приложение, примерният проект в тази статия може да бъде коригиран, за да отговаря на вашите изисквания, независимо дали ще добавите друг задвижващ механизъм с време или ще увеличите захранването, за да се справи с по-мощен линеен задвижващ механизъм, всичко зависи от вас.

Разгледайте всички наши микроконтролери за най-доброто управление на задвижващите механизми!

Управление на движението с помощта на микроконтролер

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

 

Какво ще ви е необходимо

За този пример ще използваме следните компоненти за управление на линеен задвижващ механизъм:

Разгледайте пълната ни гама от електрически линейни задвижвания, подходящи за всяко приложение!

Свързващи компоненти

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

Първо, нека свържем нашите задвижващ механизъм to our LC-80 MegaMoto Plus shield by attaching the two wire leads from the actuator to the A/B screw terminals on the LC-80. Then, we need to connect the LC-80 to our power supply, in this case, the PS-20-12. We do this by attaching positive and negative wires from the power supply to the BAT +/- terminals of the LC-80.

Накрая, трябва да свържем LC-80 към LC-066, което е толкова просто, колкото да ги залепим един върху друг, както е показано на изображението по-долу.

 

Photo of microcontrollers by Progressive Automations

Изберете правилната система за управление за вашия задвижващ механизъм и разгледайте нашата гама!


Коригиране на кода

За да получим пълен контрол над движението на нашия задвижващ механизъм, ще трябва да направим известно програмиране на линейни задвижващи механизми с нашето Arduino устройство. Подготвили сме примерен код, в който задвижващият механизъм се разгъва и след това прибира за 10 секунди във всяка посока, в рамките на 300-секунден цикъл.

//Използвайте джъмперите на платката, за да изберете кои пинове ще се използват int EnablePin1 = 13; int PWMPinA1 = 11; int PWMPinB1 = 3; int extendtime = 10 * 1000; // 10 секунди, по 1000, за да се преобразува в милисекунди int retracttime = 10 * 1000; // 10 секунди, по 1000, за да се преобразува в милисекунди int timetorun = 300 * 1000; // 300 секунди, по 1000, за да се преобразува в милисекунди int duty; int elapsedTime; boolean keepMoving; void setup() { Serial.begin(9600); pinMode(EnablePin1, OUTPUT);//Активирайте платката pinMode(PWMPinA1, OUTPUT); pinMode(PWMPinB1, OUTPUT);//Задайте изходите на двигателя elapsedTime = 0; // Задаване на време на 0 keepMoving = true; //Системата ще се движи }//край на настройката void loop() { if (keepMoving) { digitalWrite(EnablePin1, HIGH); // активиране на двигателя pushActuator(); delay(extendtime); stopActuator(); delay(10);//малко забавяне преди прибиране pullActuator(); delay(retractime); stopActuator(); elapsedTime = millis();//колко време е минало? if (elapsedTime> timetorun) {//ако са минали 300 секунди, спиране Serial.print("Изминалото време е над максималното време за изпълнение. Максимално време за изпълнение: "); Serial.println(timetorun); keepMoving = false; } }//край на if }//край на главния цикъл void stopActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 0); // скорост 0-255 } void pushActuator() { analogWrite(PWMPinA1, 255); analogWrite(PWMPinB1, 0); // скорост 0-255 } void pullActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 255);//скорост 0-255 }

 

Важно е да прегледате кода ред по ред, за да се опитате да разберете какво се случва. По този начин можете да персонализирате кода, за да изпълнява цял набор от други задачи. Засега обаче най-важната част е първата секция и цикълът за настройка, който се фокусира върху присвояването на пинове и задаването на скоростта на цикъла.

Трябва да конфигурирате пиновете на нашия LC-80 така, че да съответстват на това, което е в първата част на кода, като зададете джъмперите на LC-80 или коригирате кода. В този случай, задайте пин "Enable" на D13, пин "PWMA" на D11 и пин "PWMB" на D3. Пинът "Enable" е това, което управлява и захранва двигателя и без него, задвижващият механизъм ще спре да се движи и няма да може да бъде управляван. Пиновете "PWMA" и "PWMB" контролират удължаването и прибирането на задвижващия механизъм. В този пример не са ни необходими пиновете "Sensor", така че не се притеснявайте да избирате нищо там.

Управлението с таймер на линеен задвижващ механизъм вече е завършено. Можете да качите кода в Arduino, като използвате тяхната IDE (изтеглете от уебсайта на Arduino). След като вашият линеен задвижващ механизъм се разгъва и прибира, защо не си поиграете малко с кода? Опитайте да коригирате времето за разгъване/прибиране в кода, качете го отново в Arduino и вижте как реагира линейният задвижващ механизъм. Чрез коригиране на тези числа в кода можете да контролирате скоростта и общото време на цикъла на движение въз основа на желаното от вас приложение.


Заключение

По-долу сме включили видеоклип на действие на задвижващ механизъм за синхронизация. За видео примера искахме да покажем друг начин за промяна на времето, затова го накарахме да се удължава и прибира за 5 секунди в рамките на 20 секунди.

As stated earlier, this is just one example of a way you can alter the motion of an actuator with the help of our microcontrollers. If you have your own custom control method in mind, you can have a control system built specifically to your custom requirements with the help of our talented engineering staff. They will guide you through the process and make sure you have full control over your units. If you'd like to learn more about the custom order process take a look at our страница за персонализирани поръчки.