Досліди дилетанта тому що я робив танк з бездротовим управлінням

Здоров'я, дорогий читачу!

«Давним-давно, у далеко-далекій галактиці.»(с), а якщо серйозно, то давно хотілося зібрати якогось робота, та ось руки ніяк не доходили. І тут відбулося: є модель танка, відповідні мікросхеми та час (О_о) (ага у WOT треба менше грати).

Піддослідний: Модель Т34 масштабом 1:48, доставлена ​​з Південної Кореї.

дилетанта

В описі моделі вказано "... MOTORIZED 2CH R/C". Власне, це редуктор з парою двигунів – для кожної гусениці свій.

дилетанта

Екіпаж танка: "Командир танка" - Atmega8PU, "Радист" - HC-06, "Механік водій" - L293D, "Заряджаючий" і "Навідник" відмовилися брати участь. наприклад, тут. Як виявилося, двигуни моделі не хотіли стартувати, чи бачите, що їм струму не вистачало (у драйвера максимум 600 мА на канал). Довелося замінити їх на QX-FF-130-11340. Ці двигуни не настільки вибагливі.

З напрямом обертання начебто зрозуміло: подав відповідні висновки 0 чи 1, і драйвер зрозумів у який бік крутити. Використовуємо, PC0, PC1, PC3 та PC4 – для регулювання напрямку обертання двигунів. А як регулювати швидкість обертання? На допомогу приходить ШІМ, подробиці, наприклад, тут. Його (ШИМ) буде генерувати таймер T2 у режимі Fast PWM (для моїх цілей достатньо). PB3 він OC2 – висновок який можна з'єднати з таймером Т2. Він то і буде передавати ШІМ на ноги драйвера, які відповідають за вмикання двигунів.

Тепер лишилося вирішити, як передавати команди «Командиру». Хм, Atmega8PU здатний спілкуватися UART. А хто ще так може, та ще й повітрям? Правильно Bluetooth модульHC-06.

Думки в купу і принципова схема:

тому

Тепер втілюю схему в життя, поки що на макетній платі.

тому

Поки як джерело живлення виступає комп'ютерний БП - тут і 5В є і 12. Але танк то повинен бути бездротовим, отже, буде батарейка, і тому потрібно розділити живлення. Для цієї мети використовую стабілізатор LM7805, він якраз 5В видає.

Відмінно, все працює як годинник. Тепер не погано було б помістити «екіпаж» безпосередньо в танк. Вільного місця в корпусі мало, всього 5х4 см. Значить, плата має бути маленькою. Повозившись у Sprint-Layout v6, отримав це:

дилетанта

За допомогою луту з'являється плата:

тому

досліди

досліди

Настає хвилюючий момент. Саджу «екіпаж» у танк, подаю харчування, командую – вперед! Ура він починає рухатися, але якось дивно - періодично зупиняється, доводиться повторювати команду по кілька разів. Що за нісенітниця, на макеті ж все працювало? Досвідченим шляхом було з'ясовано, що «Командира» іноді контузит, тобто. Atmega8 періодично перезавантажується. З чого раптом? Виявляється, справа була не в бабині…, ну Ви зрозуміли). Для початку не погано було б почитати мат. частину, а потім проектуватися.

Але вже пізно, пробую хоч якось виправити це. Напаяв на двигуни керамічні конденсатори 0,1 мкФ. Ніжку RESET не погано б до живлення притягнути через резистор 10КІМ. Для цього ізолюю куточок від землі (1), зв'язую отриманий майданчик (2) з живленням і додаю резистор (3).

досліди

Контролер все одно іноді перезавантажується. Хоча й не так часто, як раніше. В принципі, можна грішити прошивкою. Гаразд, це не баг, це фітча. І, дуже ймовірно, що перезавантажень не буде, коли живитиме танкакумулятор.

Комплектуючі:1. Модель танка Т34 – 1 шт. 2. Atmega8PU - 1 шт. 3. Модуль HC-06 – 1 шт. 4. Драйвер L293D - 1 шт. 5. Стабілізатор LM7805 – 1 шт. 6. Електродвигун QX-FF-130-11340 3 - 12V - 2 шт. 7. Керамічний конденсатор 0,1 мкФ – 2 шт. 8. Резистор 10 Ком – 1 шт.

Як спілкуватися з «командиром»На контролер можна надіслати будь-який символ (1 байт). Є символи-команди і є всі інші. Якщо прийшла команда – вона виконується, інакше – просто ігнорується. Символи-команди: “q” – ліва гусениця вперед “w” – права гусениця вперед “a” – ліва гусениця стоп 4>“s” – права гусениця стоп “z” – ліва гусениця назад “x” – права гусениця назад “0” – потужність двигунів 0 (обидві гусениці стоп) “1” – потужність двигунів 25% “2” – потужність двигунів 50% “3” – потужність двигунів 75% “4” – потужність двигунів 100%

Далі контролер посилає "!" (Вас чую). Якщо останній символ надійшов секунду тому, контролер відправляє “?” (Прийом? Як чути?). На відповідь подається 1 сек. Якщо протягом цієї секунди не надійшло жодного символу, танк зупиняється.