2.2 Выбор компонентов

Основным компонентом предполагаемого стенда был выбран микроконтроллер Arduino Nano. Это микроконтроллер с достаточным количеством входов/выходов для подключения датчиков и управления процессом измерений, а так же с возможностью чтения как цифровых, так и аналоговых сигналов, что убирает потребность использования в данном стенде отдельного аналогово-цифрового преобразователя. Рабочее напряжение для данного микроконтроллера 5 В, а так же он оборудован стабилизатором входного напряжения, что позволит использовать широкий спектр источников питания цепи, при необходимости, в том числе и исследуемую ячейку ТАБ. В качестве основного измеряющего устройства был выбран датчик тока ACS712, позволяющий измерять силу тока с высокой точностью без сложных систем контроля и записи сигнала. Чувствительность данного датчика – 0.185 В/А. Допустимый предел силы тока, протекающий через данный датчик – 5 А, что должно быть достаточно для исследования малоемкой ячейки ТАБ. Для зарядки батареи был использован источник постоянного тока напряжением 5 В и силой тока 0,5 А. В качестве драйвера двигателя выбран MINI L293D - интегрированный высоковольтный,

четырехканальный драйвер высокого тока, разработанным для принятия стандартных логических уровней и индуктивных нагрузок привода (например,

реле, соленоидов постоянного тока, шаговые двигатели), переключения силовых транзисторов. Для упрощения использования в качестве двух мостов каждая пара каналов оснащена входом включения. Для логической цепи предусмотрен отдельный вход питания, позволяющий работать при меньшем напряжении и включены внутренние защитные диоды. Данный драйвер подходит для использования в системах с ШИМ модуляцией на частотах до 5

кГц.

2.3 Разработка схемы

11

Для разработки робота с двумя электромоторами, микроконтроллером

Arduino Nano, датчиком тока и аккумуляторной батареей, можно использовать модифицированную схему Н-моста, изображенную на рисунке 1. Эта схема соответствует описанным требованиям и включает все необходимые компоненты для управления движением, а также питания робота от аккумуляторной батареи.

В состав робота войдут:

1.Микроконтроллер: Arduino Nano.

2.Двигатели: 2 коллекторных двигателя постоянного тока на 3.7V.

3.Драйвер двигателей: двухканальный H-мост (например, L298N или

L293D) для управления двигателями.

4.Датчик тока: ACS712 (датчик тока на эффекте Холла).

5.Аккумуляторная батарея: Литий-полимерная батарея 7.4V LiPo 260 mAh 5C, разделенная на две отдельных ячейки. Для данной работы будет использоваться одна ячейка из двух, обеспечивающая напряжение в

3.7V и ёмкость в 130 мА/ч.

6. Делитель напряжения: Для измерения напряжения на клеммах батареи.

Рисунок 1 – Схема подключений Н-моста на микросхеме L293D MINI

12

2.4Схема подключения

1.Подключение двигателей:

Два двигателя постоянного тока подключаются к выходам H-моста (L298N

или L293D).

Входы H-моста (IN1, IN2, IN3, IN4) подключаются к цифровым выходам

Arduino Nano (например, D2, D3, D4, D5).

Входы включения двигателей (ENA, ENB) подключаются к ШИМ-выходам

Arduino (например, D9, D10) для регулировки скорости.

Питание H-моста (VCC) подключается к аккумуляторной батарее (7.4V).

Земля (GND) H-моста подключается к общему GND схемы. 2. Подключение датчика тока (ACS712):

Вход датчика тока (VCC) подключается к +5V от Arduino Nano.

Выход датчика (OUT) подключается к аналоговому входу Arduino (например,

A0).

Земля (GND) датчика подключается к общему GND схемы.

Датчик тока подключается в разрыв цепи между аккумуляторной батареей и

H-мостом для измерения тока, потребляемого двигателями. 3. Подключение аккумуляторной батареи:

Плюс батареи подключается к входу VCC H-моста и через датчик тока.

Минус батареи подключается к общему GND схемы.

Для измерения напряжения батареи используется делитель напряжения (два резистора, например, 10 кОм и 20 кОм), подключённый к аналоговому входу

Arduino (например, A1).

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

Arduino Nano:

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

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

13

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.

14

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

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

15

Рисунок 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кОм.

16

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

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

Далее, была написана программа для микроконтроллера Arduino Nano,

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

17

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

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

18

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

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

19

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

20

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