Съдържание:

Платформа Stewart с PID контролирано топче за балансиране на топка: 6 стъпки
Платформа Stewart с PID контролирано топче за балансиране на топка: 6 стъпки

Видео: Платформа Stewart с PID контролирано топче за балансиране на топка: 6 стъпки

Видео: Платформа Stewart с PID контролирано топче за балансиране на топка: 6 стъпки
Видео: ПИД-регулирование (пропорционально-интегральное и про... 2024, Юли
Anonim
Image
Image
Вземете материали
Вземете материали

Мотивация и цялостна концепция:

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

В тази инструкция; което е предназначено за технически разбиращия се хакер, програмист или инженер, ще използваме Arduino Uno като наша платформа за микроконтролер. Затвореният контур за обратна връзка първо започва, когато усети позицията на плътен метален сачмен лагер, лежащ върху плосък резистивен екран, който докосва непосредствената позиция на топките. След това тази позиция се подава в контролер с пропорционална интегрална производна (PID), който сме програмирали в Arduino Uno. Направих този код с отворен код и го свързах в проекта. Контролерът има за задача да възстанови топката до всяка позиция, избрана от потребителя на масата, дори когато е значително смутена. Структурната поддържаща платформа, която ще използваме, е известна като „платформа Stewart“и се поддържа от шест независими свързващи пръта, задвижвани от серво мотори, което ще осигури до шест степени на свобода; X, Y и Z преводи, преобръщане, височина и завъртане (ротации съответно по осите X, Y и Z). Конструирането и програмирането на такава изключително мобилна платформа представлява своите собствени предизвикателства, така че за този проект ние ще призовем само степента на свобода, като оставим останалите като незадължителни надстройки на функционалността, ако потребителят желае. Заедно с платформата, която премества топката към някоя от набора от статични потребителски позиции, напредналите програмисти ще намерят лесно да подобрят програмата и да добавят известна промяна, като заменят нашата статична, дефинирана от потребителя позиция, с полу-непрекъсната следа от потребител дефиниран път, като осма цифра, кръгова траектория, името ви с курсив или любимият ми поток на живо от нечий стилус или пръст на собственото им мобилно устройство! Приятно хакване!

Стъпка 1: Вземете материали

Вземете материали
Вземете материали
Вземете материали
Вземете материали
Вземете материали
Вземете материали

Необходими материали:

1. Няколко листа акрил 1/4 "и 1/8"

2. 6 - Серво мотори (Използвахме HS5485HB Servo's)

3. 6 - Свързващи пръти с резба (регулируеми)

4. 6 - Серво рамо с обработка с ЦПУ с множество отвори за регулиране

5. 12 - Краищата на съединителната пръчка Heim

6. 6 - Пръчки (регулируеми)

7. 1- 17-инчов USB кабелен резистивен панел с сензорен екран (сензорно положение на сачмения лагер)

Стъпка 2: Подгответе материали

Подгответе материали
Подгответе материали
Подгответе материали
Подгответе материали
Подгответе материали
Подгответе материали

Най -добрият начин да изрежете акрила е да използвате лазерна камера. Достъпът до такъв може да бъде труден, така че акрилът също може лесно да се реже с помощта на режещи инструменти, с които сте запознати, правилно обучени и могат да работят безопасно. Ако правех това например у дома, щях да използвам ръчен трион. Цялостната форма на платформата Stewart не трябва да съвпада точно с модела, който построих. Искам обаче да посоча няколко опростяващи възможности. Първо, много по -лесно е да картографирате степента на свобода на височината и ролката, като използвате три базисни, вместо стандартните две. това става, като закрепването на свързващите пръти към действителната платформа е равностоен триъгълник. Това ви позволява да пренебрегнете всички усложнения от намирането на степента на свобода на височината и наклона (DOF) от нулата, вместо това ние използваме 3 нелинейно независими "бази", които са просто картата на този ъгъл на триъгълника нагоре. Това би било предизвикателство за вас или мен да изпишем координати в тази основа, но взаимозависимостта на тази база лесно се управлява от кода. Това опростяващо предположение е ключово за пренебрегване на всички тънкости на геометрията. Вижте снимката MS Paint графична и бяла дъска за подробности.

След като парчетата бъдат изрязани, ще трябва да пробиете всички отвори, към които се свързват вашите свързващи пръти и сферични съединения. Внимавайте да съобразите размера на отвора с подходящия хардуер, който използвате. Това е жизненоважно, за да работят избраните от вас крепежни елементи. Размерите на отворите се основават на размера на крана, който ще ви е необходим за вашата закопчалка. За да направите това, намерете онлайн справка за конкретния размер на крана, стъпка и тип нишка (глоба срещу курс). Препоръчвам нишки на курса за акрил, но ако трябва да използвате фина нишка, трябва да се получи, тъй като това все пак използвахме. Сега е време да преминем към сглобяването.

Стъпка 3: Сглобете материали

Сглобяване на материали
Сглобяване на материали
Сглобяване на материали
Сглобяване на материали
Сглобяване на материали
Сглобяване на материали
Сглобяване на материали
Сглобяване на материали

Внимателно сглобете материалите според спецификациите. Бъдете особено внимателни, за да не отстраните винтовете. След като това стане, ще трябва или да промените хардуера, като оразмерите и пробиете по -големи дупки и ги почукате, или ще трябва да изрежете изцяло ново парче акрил. Обърнете внимание, че също трябва да бъдете внимателни с сензорен резистивен екран. Крехка е !!! В края на краищата това е тънък слой стъкло. Обърнете внимание, че ние самите сме имали инцидент.

Стъпка 4: Програмиране

Програмиране
Програмиране

Програмирането може да отнеме известно време. Тук уменията ви за програмиране наистина могат да се изплатят. Не е нужно да можете да пишете кода от нулата, но ако можете да намерите добре коментиран и организиран изходен код, който да промените, това прави живота много по -лесен. Ето връзката към нашия изходен код: https://github.com/a6guerre/Ball-balanced-on-Stew…, помогнете си! Със сигурност не е оптимизиран, но свърши работата! Не забравяйте, че използваме три отделни неортоганални, нелинейно независими основи за картата на контролите. Ние просто четем всичко в x, y и картографираме към A, B и C. Този отговор след това се настройва глобално, за да коригира колко повече или по -малко искаме системата да реагира.

Стъпка 5: Тестване

Тук тестваме степента на свобода. Забележете сега как се изплащат нашите три основи! Например, за да получим DOF на ролката, просто слизаме с една единица вляво, докато се изкачваме с една единица вдясно и обратно, за другата посока. Също така е важно да сте свършили достатъчно добра работа, филтрирайки шума от сензорния екран. Това е жизненоважно за наличието на добри данни, които да се подават във вашия PID.

Стъпка 6: Фина настройка и наслада

Фазата на тестване наистина беше само за отстраняване на грешките. Тук се фокусираме върху фината настройка на системата за управление. това се прави най -добре с предварително зададен алгоритъм. Любимото ми е да подхождам към това като критичен амортизиращ проблем, Ахм! Аз съм физик! Така че изключвате амортизационния срок! Т.е. производният термин, който действа като плъзгащ термин. Сега топката ще се колебае диво! Целта е обаче колебанията да бъдат възможно най -близки до хармоничните, а не да растат или да се разпадат, доколкото е възможно. След като това е направено, включвате термина за деривати и го коригирате, докато се върне в равновесие възможно най -бързо. Тогава се постига критично амортизиране. Ако обаче това не работи, има много други добре доказани схеми за настройка за PID контролирани системи. Намерих това в wikipedia, под PID контролер. Много благодаря, че разгледахте моя проект и моля, свържете се с всякакви въпроси, ще се радвам да отговоря на всички ваши въпроси. Специална бележка: Искам да отбележа, че този проект от началото до края беше направен от Miracle Max Guerrro и аз за малко под четири седмици, включително изчакване в продължение на две седмици за нов екран, заседнал в митницата, след първия ни счупен. Така че, моля, извинете, че далеч не е перфектно изпълнение. Приятно хакване!

Препоръчано: