OVCS: Електромобіль на базі Raspberry Pi

Цього «Maker Monday» ми підготували щось грандіозне — електричний «Франкенкар» на базі Raspberry Pi, зібраний із деталей різних виробників. Команда OVCS (Open Vehicle Control System) переобладнала старий VW Polo на електромобіль, яким можна керувати дистанційно.

І дітям, і дорослим, і всім іншим — я не можу наголосити на цьому достатньо, тому кажу ще раз: НЕ НАМАГАЙТЕСЯ ЦЕ ПОВТОРИТИ ВДОМА.

Революція у сфері електромобілів (electric vehicle, EV) вже майже настала. З огляду на те, що зарядні станції для електромобілів можна знайти майже скрізь, а відомі автовиробники випускають електричні версії існуючих моделей — або ж абсолютно нові моделі — майбутнє без бензину здається ближчим, ніж будь-коли. Звісно, як читач цього блогу, ви знаєте, якими можуть бути технологічні компанії, і вас не здивує той факт, що ці виробники використовують у своїх автомобілях чимало власних технологій.

Наразі цей транспортний засіб не допущений до експлуатації на дорогах загального користування

«Наш проект OVCS [Open Vehicle Control System (Відкрита система управління транспортним засобом)] покликаний подолати традиційну залежність від конкретного виробника, яка характерна для автомобілів та інших транспортних засобів», — розповідає Марк Лайнез. «Ми хочемо зробити можливим поєднання деталей різних брендів так, ніби вони завжди були призначені для роботи саме в такому поєднанні. Більшість автомобільних деталей виконують універсальні функції (гальмування, керування, відображення даних...), але «мова», якою вони «розмовляють», є різною. Тому ми вирішили, що можемо створити таку платформу, яка дозволить майстрам, таким як ми, розширювати або замінювати функції транспортного засобу деталями будь-яких брендів».

Марк та його команда розробили прототип цієї платформи, яка використовує Raspberry Pi для взаємодії між різними компонентами.

Сумісний з різними системами

Команда шукала масштабний хоббі-проект, у який можна було б з головою зануритися і який би поєднав усі їхні різноманітні інтереси. Електромобілі виявилися саме в центрі цієї діаграми Венна.

Оскільки була встановлена нестандартна рульова колонка, то чому б не встановити на неї справжнє гоночне кермо?

«[Ми] все більше турбувалися про безпеку та надійність програмних платформ для автомобілів, — каже Марк. — Ми вирішили, що це ідеальний проект, щоб дізнатися багато нового про те, як автомобільні компоненти обмінюються даними, як вони взаємодіють між собою і як ми можемо безперешкодно інтегрувати їх за допомогою сучасних мов програмування на базі готових апаратних компонентів, таких як Raspberry Pi».

У концепт-карі Raspberry Pi використовується в декількох напрямках: по-перше, для забезпечення роботи системи управління автомобілем, яку розробники називають «мозком» платформи.

«Він перетворює сигнали з різних комунікаційних шин (CAN) і направляє їх на відповідні шини», — пояснює Марк. «Загалом у нас є п’ять мереж CAN, доступ до яких здійснюється через модулі SPI, підключені до Raspberry Pi. Без цього Raspberry Pi автомобіль не міг би рухатися».

Прототип було виготовлено з дерева ще до того, як було внесено будь-які зміни в реальний автомобіль

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

І нарешті, радіомост: «Це компонент, підключений до шини CAN, який надсилає до системи VMS команди на прискорення, гальмування та керування», — пояснює Марк. За допомогою нього вони можуть дистанційно керувати автомобілем.

«З точки зору програмного забезпечення ми прагнули мати стек технологій, який був би нам знайомий і водночас міг би працювати «з коробки», що дозволило б нам легко створювати прошивку на мові високого рівня, а також значно спростило б процес її оновлення», — продовжує Марк. «Оскільки ми мали чималий досвід розробки на Elixir, ми використали Nerves. Це фреймворк для Інтернету речей, побудований на Elixir та Erlang, який базується на Buildroot (система збірки для Linux) і дає змогу писати прошивку на простому Elixir, функціональній мові високого рівня. Це значно пришвидшило та спростило наші цикли розробки, а також дозволило нам використовувати мову, з якою ми вже були знайомі».

Увімкнення заднього ходу

Однією з найскладніших задач було налагодження взаємодії між різними компонентами — наприклад, між електродвигуном Nissan Leaf та деталями від VW Polo — оскільки виробники зазвичай не оприлюднюють документацію щодо того, як саме їхні компоненти взаємодіють між собою.

Інформаційно-розважальна система, яка також працює на базі Raspberry Pi, оснащена сенсорним перемикачем передач

«Нам довелося провести реверс-інжиніринг чималої кількості повідомлень, щоб автомобіль запрацював», — розповідає Марк. «Наприклад, якщо ви хочете дізнатися, яке повідомлення надає інформацію про стан ручного гальма (затягнуте чи ні), ви переглядаєте все, що проходить по шині, кілька разів затягуєте ручне гальмо, щоб побачити, який кадр ідеально синхронізований з вашою дією, щоб виділити його ідентифікатор, а потім перевіряєте, які байти змінюються, коли ви його затягуєте… Для більш складних компонентів це комбінація декількох повідомлень, і, на щастя, існує спільнота автолюбителів, які публікують свої знахідки на онлайн-форумах. Іноді робота була вже зроблена; іноді — частково, і нам доводилося її довершувати».

За 18 місяців команді все-таки вдалося зробити свій «Франкенкар» придатним до руху, що було їхньою головною метою, — а потім вони пішли ще далі, оснастивши його дистанційним керуванням. Вони також хотіли задокументувати процес створення автомобіля, і зараз вони саме це й роблять. А що далі? «Наступна мета — зробити автомобіль безпілотним», — каже Марк.

165-й випуск офіційного журналу Raspberry Pi Official Magazine вже в продажу! 

Якщо вам сподобалась ця стаття, ви можете знайти ще більше подібних в останньому випуску офіційного журналу Raspberry Pi Official Magazine. Ви можете придбати свою копію в магазині Raspberry Pi Store в Кембриджі. Також придбання доступно через наш інтернет-магазин, через який доставка можлива по всьому світу. Або ви можете завантажити електронну версію через наш додаток на Android чи iOS.

Ви також можете оформити підписку на друковану версію нашого журналу. Ми не тільки здійснюємо доставку по всьому світу, але й даруємо БЕЗКОШТОВНИЙ Raspberry Pi Pico 2 W усім, хто оформить передплату на шість або дванадцять місяців!