Тестовий стенд для вимірювання тяги двигуна та ефективності сопла

Дисклеймер: я не схемотехнік і не аероспейс інженер. В мене доволі базові знання у цих сферах і коли мені потрібно зробити більше, я наймаю на фріланс біржах людей, які в цьому розбираються.

Для одного з моїх проектів, мені потрібен був стенд, який міг би керувати соленоідом і вимірювати тягу, яку створюють балончики з СО2 та ефективність сопла.

І в даній статті, я б хотів розповісти про те, як я його будував і з якими труднощами зіштовхнувся.

ТЗ:

Є балончик з СО2 під великим тиском (такі використовують для пневматичних пістолетів, пейнтболу, для газування содової). І мені потрібно було дізнатись, яку тягу вони можуть дати (так як там тиск 800 psi), що, теоретично, може створити непогану тягу. І мені потрібно було знати в числах, що означає це «непогану тягу».

Пневматична установка:

Так як балончик просто містить газ під великим тиском (800 psi) і якщо підключити його напряму до соленоідного клапану , то ми будемо отримувати постійно різні значення (так як тиск буде все менший і менший) і спрогнозувати, яка буде тяга під час наступного відкриття клапану майже неможливо.

Щоб вирішити дану проблему, можна використати регулятор тиску (їх є багато, я взяв той, що використовується для пейнтболу. головне щоб вхідний тиск був 800+ psi). Регулятор тиску працює так, що він отримує на вхід різний тиск (800, 700, 600 psi), а на виході завжди буде одне значення (насправді там не прям константне значення, але це теж залежить від якості регулятору).

Тож ми підключаємо балончик з СО2 до нашого регулятору тиску, потім вихід від нього до клапану з соленоідом і на вихід клапану додаємо наше сопло.

Клапан з соленоідом працює дуже просто. В нормальному стані він закритий, але коли подати на нього 12V DC 0.6A він «відкривається» і пропускає газ або рідину.

Тестовий стенд:

Щоб замірити тягу, ми можемо зробити прості «ваги» які будуть вимірювати з якою силою тисне на них наша пневматична установка.

Для того щоб заміряти ці значення нам потрібен load cell, точний (24+ біти) АЦП і мікроконтроллер, який буде інтерпретувати значення з цього АЦП.

Якщо шукати в інтернеті, то майже всі інструкції як таке реалізувати, будуть використовувати ось такий набір (дешевий load cell і HX711 АЦП)

Моя рекомендація: не беріть його:)

Як воно працює: load cell працює таким чином, що при згинання/стисканні/скрученні він міняє свій опір і відповідно якщо пропустити через нього струм, то цю зміну можна буде зафіксувати за допомогою точного АЦП.

А тепер нюанси і чому його краще не брати:

  • Цей load cell має довгі, не захищенні проводи, які будуть реагувати на будь-який «шум» з середовища і будуть впливати на значення, яке буде читати АЦП. Також цей load cell сам не ізольований і навіть зміна температури буде також впливати (банально якщо подути на нього). Тож краще знайти load cell промислового застосування, який також матиме ізоляцію. Щось типу таких

  • Модуль АЦП. Так як він дуже дешевий, то в ньому багато копромісів (вам потрібне якісне джерело струму для нього, так його коливання будуть також впливати на якість даних) і також він має тільки 10SPS (означає що він може читати напругу тільки 10 разів в секунду). Чого досить якщо ви робите кухонні ваги, але якщо вам потрібно «ловити» хоча б зміни на рівні 10мс — це точно не цей модуль. Так як 10SPS означає, що ви можете отримати тільки 10 значень за 1 секунду (це 100мс різниця), а також ви ще хочете трохи «згладити» шум. І для цього потрібно брати хоча б середнє значення 3-5 зчитувань. Що означає затримку в 300-500мс.

Рекомендація:

Краще взяти модуль хоча б типу Adafruit NAU7802, який може дати до 320 SPS. А в ідеалі взагалі щось з Analog Devices типу AD7124 чи AD7766. В них менше шумів і там уже можна читати дані 19,200 SPS і більше. Але такі модулі вже сильно важче знайти або навіть прийдеться робити свою плату.

Поки я взагалі зупинився на готовому модулі від m5stack Mini Scales Unit. Хоча він використовує HX711 під капотом, його було достатньо для того щоб отримати хоча б якісь значення.

Керування соленоідом:

Так як ми хочемо контрольовано відкривати клапан (наприклад на 200мс) і заміряти тягу протягом цих 200мс, то нам потрібен інструмент, яким ми зможемо контрольовано подавати напругу на соленоід.

Для цього можна використати транзистор, так як швидкість його «відкривання/закривання» досить велика. Я брав готовий модуль з мосфетами, таких досить багато і працюють вони дуже примітивно: вам просто потрібно підключити його до якогось GPIO вашого мікроконтролера і подати HIGH коли потрібно відкрити і LOW — коли закрити.

Тепер найцікавіше — тести.

Це приклад роботи пневматичної установки без сопла. Як бачимо тяги не достатньо навіть для того щоб «посунути» саму установку.

А ось тут я додав сопло, параметри якого згенерувала одна з ЛЛМ.

Уже трохи краще.

Але які дані ми власне отримали?

Ось відео вже з усією установкою з керуванням з власного застосунку.

У лог файлах значення доходили до 59 грам при тиску в 160 psi.

8373 49.25
8385 59.79
8397 59.79
8410 59.79
8423 59.79
8435 59.79

Але на скільки ефективне сопло згенероване ЛЛМ?

Зі мною також працює аероспейс інженер, який спроектував сопло під цю задачу.

У лог файлах після заміни сопла були вже такі значення:

161858 33.49
161873 33.49
161888 104.45
161903 104.45
161918 104.45
161934 104.45
161950 104.45
161966 104.45
161981 129.50
161996 129.50

Як бачимо, тяга виросла до 129 грам, що більше ніж х2 від попередніх значень. І це з ідентичним вхідним тиском.

Додам також картинки сопла в розрізі.

Сопло згенероване ЛЛМ:

Сопло розраховане інженером:

Обидва сопла були надруковані на 3д принтері PETG пластиком.

UI для тестового стенду:

Може комусь цікаво буде на чому воно було зроблене.

Так як останні 8 років я працюю з .Net, то для таких задач я використовував windows forms. Але дизайн у таких застосунків.... + вони працюють тільки на windows. Тож я перейшов на використання ElectronJS.

Під капотом це Chromium + NodeJS. Завдяки цьому, можна робити кросплатформерні застосунки з непоганим дизайном. Так як можна взяти умовний VueJs + Bootstrap і за 1-2 вечора накидати щось, що не соромно буде показувати. Звісно він буде «їсти» більше ресурсів, так як під капотом Chromium, якому потрібно більше RAM. Але я задоволений співвідношенням result/effort. (також є ще Tauri, але я ще не використовував його для своїх задач)

Висновки:

Якщо підсумувати, що ми використали для побудови даної установки:

Електроніка:

  1. Arduino UNO
  2. m5stack Mini Scales Unit
  3. Mosfetti 4 Channel MOSFET Driver Board
  4. 12V DC solenoid valve
  5. 12V 5A power source

Пневматична установка:

  1. СО2 картридж
  2. Регулятор тиску для пейнтболу
  3. 1/8 tubing
  4. solenoid valve
  5. сопло, надруковане на 3д принтері

UI App:

  1. ElectronJS
  2. Vite + VueJS
  3. Bootstrap
  4. ChartJS

З СО2 балончика з вихідним тиском в 160 psi можна отримати 120+ грам тяги.

Також цей набір електроніки можна використати для вимірювання тяги саморобного ракетного двигуна з потужністю до 50N. Просто замінивши соленоід на електронний запалювач. Щоб міряти тягу більших двигунів, потрібно буде вже збирати самому установку з load cell та АЦП (які компоненти краще використовувати наводив вище).

Я не став розписувати все детально, так як стаття і так вийшла занадто довгою. Але якщо щось цікаво, то можу доповнити. Вихідний код не публікую, так як він дуже примітивний і був написаний майже весь за допомогою ЛЛМ:)

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

не всі знають шо таке соленоїд... і виміряти тягу..
щоби що?
якби в першому абзаці окреслити загальну картину... проблему, мету і т.п....

Боже... LLM намалювало відверту херню. Навіть близько не сопло Лаваля. А взагалі для такої оцінки будувати стенд не мало сенсу від слова зовсім — на такому рівні все розраховується — це курсова десь 3-го курсу ХАІ, каф. 401

А взагалі для такої оцінки будувати стенд не мало сенсу від слова зовсім — на такому рівні все розраховується

розрахунки робились перед тим як реалізовувати фізично, і результат вимірювання був схожий з теоретичними значеннями.

ну і розрахунки розрахунками, але завжди є ще реальність: точність 3д принтера, або якщо відкрити клапан на кілька секунд, то тяга буде потроху зменшуватись, бо регулятор тиску не підтримує прям константний тиск на виході, а це без тестів не дізнаєшся (залежить звісно від самого регулятора і документації до нього)

Ось як падає тяга з часом

7103 49.40
7115 49.40
7128 48.21
7140 48.21
7153 48.21
7165 48.21
7178 48.21
7190 48.21
7202 48.21
7215 47.05
7228 47.05
7240 47.05
7252 47.05
7265 47.05
7277 47.05
7290 47.05
7303 46.10
7315 46.10
7327 46.10
7340 46.10
7353 46.10
7365 46.10
7377 46.10
7390 46.10
7402 45.31
7414 45.31

А навіщо ТАМ 3Д принтер? Банальна деталь, тіло обертання, можна було просто розточити. Сопло на такій тязі навіть не треба було профілювати — конічне буде працювати так само.
Ні, я розумію. якщо хотілося погратися то так, цікавий спосіб витратити час та гроші.

бо в мене з інструментів тільки 3д принтер:)

Ох... Якщо хочете щось нормальне отримати заведіть токарний станочок :). І почитайте щось на тему ракетних двигунів, сопел і надзвукового газу. Бо ото що Вам АІ видав фахівець покриє матом навіть не рахуючи нічого.

LLM намалювало відверту херню

мабудь навчалось на діснеївських мультах

Цікаво — а сопло Лаваля придатне тільки для реактивної тяги?
Якщо, скажімо, нам треба дути в турбінку (радіальну), то тут також треба Лаваля, чи можна обійтись чимось простішим?

Все залежить від тиску газу, коефіцієнту реактивності турбіни, витрати газу і вимог до турбіни. Знайдіть фахівця який вам все це порахує і спроектує турбіну.
Задача сопла Лаваля — розігнати газ до надзвукової швидкості і Лаваль його придумав для парової турбіни до речі.

цікаво, не знав про таке

Підписатись на коментарі