Представляем Н-мост, драйвер коллекторных двигателей в формате одноюнитового Troyka-модуля.
С подключением моторов и соленойдов обычно возникает куча проблем. В отличие от микросерв моторы — даже самые слабые — нельзя подключать напрямую к микроконтроллеру.
Микроконтроллеры не предназначены для работу с мощной нагрузкой, сила тока на GPIO измеряется всего десятками миллиампер. Даже слабым моторам нужно в разы больше.
Если в проекте мотор всегда должен вращаться в одном направлении, можно использовать силовой ключ. Но если понадобится реверсировать двигатель, придётся менять местами провода. Или подключить мотор через Н-мост.
Модуль построен на базе чипа TB6612FNG компании Тошиба. Изначально чип рассчитан на управление сразу двумя потребителями тока. Но мы решили, что возможность управлять более мощными моторами важнее и поэтому запаралелили каналы. Теперь модуль без перегрева работает с током в 1,2 Ампера, и не сгорает от пиков до 2,3.
К управляющей электронике модуль подключается двумя шлейфами. Нижняя тройка ног задаёт направление вращения мотора и питает модуль. Верхняя — служит для управления скоростью вращения мотора.
Подключите пин E к выходам микроконтроллера, поддерживающими ШИМ. Изменяя частоту импульсов мы сможем регулировать скорость вращения моторов. Для этого нам нужно указать скорость вращения, а контроллер обработает команду с помощью специальных библиотек и выдаст сигнал нужной скважности.
Н-мост — это фактически две параллельные цепи с четырьмя выключателями. Схема похожа на букву Н или латинскую H — отсюда и название устройства.
Если попарно открывать и закрывать ключи в Н-мосте, мы сможем менять направление вращения электромотора, не переподключая мотор.
Проблема в том, что при неправильном положении выключателей возможны большие неприятности. Например — КЗ. Этого допускать нельзя: за считанные секунды батарейка ощутима разогрелась и если бы мы не разомкнули цепь она могла бы взорваться.
Чтобы проверить модуль в деле, мы добавили моторы, аккумулятор и колёса от #Робоняши к обычному Slot Shield-у, добавили BlueTooth-модуль HC-05 и запустили Slot Bota-а погонять по складу. Что из этого получилось — смотрите в ролике и на wiki.
( ! ) Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 16777216 bytes) in /home/domains/malitikov.ru/public_html/wp-includes/class-wpdb.php on line 2322
wpdb->get_col( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ', $x = ??? )
.../class-wp-query.php:3300
9
0.3525
22770600
wpdb->query( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ' )
.../class-wpdb.php:3107
10
4.5620
603812176
mysqli_fetch_object( $result = class mysqli_result { public $current_field = 0; public $field_count = 1; public $lengths = [0 => 7]; public $num_rows = 1516847; public $type = 0 } )
.../class-wpdb.php:2322
( ! ) Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 16777216 bytes) in /home/domains/malitikov.ru/public_html/wp-includes/class-wp-recovery-mode.php on line 173
wpdb->get_col( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ', $x = ??? )
.../class-wp-query.php:3300
9
0.3525
22770600
wpdb->query( $query = 'SELECT wp_posts.ID\n\t\t\t\t\t FROM wp_posts \n\t\t\t\t\t WHERE 1=1 AND wp_posts.post_type = \'post\' AND ((wp_posts.post_status = \'publish\'))\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t ' )
.../class-wpdb.php:3107
10
4.5620
603812176
mysqli_fetch_object( $result = class mysqli_result { public $current_field = 0; public $field_count = 1; public $lengths = [0 => 7]; public $num_rows = 1516847; public $type = 0 } )