2.5 Список соединений:

Arduino Nano:

5V → VCC датчика тока (ACS712).

GND → Общий GND схемы (H-мост, датчики, делитель напряжения).

A0 → Выход датчика тока (ACS712 OUT).

A1 → Выход делителя напряжения (для измерения напряжения батареи).

D2, D3, D4, D5 → Входы H-моста (IN1, IN2, IN3, IN4).

D9, D10 → Входы включения двигателей (ENA, ENB) на H-мосте.

H-мост (L298N):

VCC → Плюс аккумуляторной батареи.

GND → Общий GND схемы.

OUT1, OUT2 → Двигатель 1.

OUT3, OUT4 → Двигатель 2.

IN1, IN2, IN3, IN4 → Цифровые выходы Arduino (D2, D3, D4, D5).

ENA, ENB → ШИМ-выходы Arduino (D9, D10).

Датчик тока (ACS712):

VCC → +5V от Arduino.

OUT → Аналоговый вход Arduino (A0).

GND → Общий GND схемы.

IP+ → Плюс аккумуляторной батареи.

IP- → Вход VCC H-моста.

Делитель напряжения:

Резистор 10 кОм → Плюс батареи.

Резистор 20 кОм → Общий GND.

Средняя точка → Аналоговый вход Arduino (A1).

Аккумуляторная батарея:

Плюс → Вход VCC H-моста и IP+ датчика тока.

Минус → Общий GND схемы.

На рисунке 2 изображены внешний вид схемы робота в сборе. На рисунке 3 изображена вольт-амперная характеристика датчика ACS712 в зависимости от температуры окружающей среды. На рисунке 4 изображена внутренняя структура микросхемы L293D.

Рисунок 2 – Внешний вид схемы робота в сборе, изображенный в ПО Fritzing

Рисунок 3 – Вольт-амперная характеристика датчика ACS712

Рисунок 4 – Внутренняя структура микросхемы L293D, используемой в качестве двухканального Н-моста

В таблице 1 изображены возможные состояния ключей Н-моста:

Таблица 1. Схема включения Н-моста

Мотор

Режим

IN1

IN2

IN3

IN4

Левый мотор

Вперед

1/ШИМ

0

-

Назад

0

1/ШИМ

Остановка

0

0

Торможение

1

1

Правый мотор

Вперед

-

1/ШИМ

0

Назад

0

1/ШИМ

Остановка

0

0

Торможение

1

1

На рисунке 6 изображена электрическая схема разработанного робота. В состав схемы вошли два электромотора, микроконтроллер Arduino Nano, микросхема L293D, датчик тока ACS712, литий-полимерная батарея на 3.7V, и делитель напряжения, собранный из резистором номиналом 10кОм и 20кОм.

Рисунок 5 – Электрическая схема разработанного робота

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

Далее, была написана программа для микроконтроллера Arduino Nano, которая будет считывать данные от датчиков, обрабатывать их и выводить в интерактивном режиме на экран компьютера. На рисунках 6-9 приведен листинг программы в ПО Fritzing. На рисунке 10 изображен интерактивный режим работы робота, посредством передачи команд через последовательный порт. Полный скрипт программы в приложении 1. Так же, в алгоритм управления роботом была добавлена фильтрация входного сигнала по методике, описанной в [1-7].

Рисунок 6 – Создание глобальных переменных для расчета напряжения и тока и указание номеров используемых портов

Рисунок 7 – Инициализация цифровых выходов микроконтроллера для управления Н-мостом и первичное указание опций движения для проверки работы

Рисунок 8 – Основной цикл расчета напряжений и цикл управления движением

Рисунок 9 – Основные функции движения робота

Рисунок 10 – Вывод сигнала на экран с помощью Serial Monitor

Соседние файлы в папке Новый НИРС