Невгамовний не дрімає ворог

Так писав поет А згадалося це сьогодні з різних причин, одна з яких ..

Спостерігаючи за рухом робота, я помітив, як при русі вперед він «забирає» вліво Причин тому може бути декілька Наприклад, деяка нерівність підлоги, якщо підлога має покотитися в одну сторону, це буде провокувати робота повертати в бік ухилу Два двигуна, що приводять у рух робота, можуть мати дещо різні параметри, від чого один з них обертається швидше, інший повільніше І, нарешті, гусениці, які натягнуті на колеса, можуть бути трохи різної довжини, а за рахунок різного натягу гусениць може виникати різниця в їх русі

Якщо проблема прямолінійності в русі стає істотна, то, ймовірно, можна використовувати вбудовані модулі PWM для корекції цього руху

Про модулях PWM ми говорили, про них можна прочитати в керівництві до конструктора Не буду переповідати, а просто процитую:

Стандартна техніка управління двигуном передбачає подачу напруги безпосередньо на двигун При цьому двигун працює на повній швидкості Іноді ця швидкість буває занадто високою У таких випадках найпростішим способом управління частотою обертання ротора мотора є регулювання подається на нього напруги Найбільш популярною є техніка ШІМ (PWM, широтно-імпульсна модуляція) При використанні цієї техніки відбувається управління шириною позитивного імпульсу Напруга, що подається на двигун, буде обчислюватися як середнє значення по періоду ШІМ Відношення ширини позитивного імпульсу до загальної ширини імпульсу (періоду повторення імпульсу) називається коефіцієнтом заповнення Він вимірюється у відсотках (%)

Рис 417 (А) – повна напруга (Б) – коефіцієнт заповнення ШІМ 50% (В) – коефіцієнт заповнення ШІМ 75% (Г) – коефіцієнт заповнення ШІМ 25%

Робота ШИМ в конструкторі здійснюється за допомогою команд, включених до бібліотеки середовища програмування MicroC PRO:

Pwm1_Set_Duty (220) / / Двигун A 85% заповнення Pwm2_Set_Duty (255) / / Двигун B 100% заповнення

Самі модулі PWM описані в datasheet Якщо в симуляції останньої схеми в Proteus підключити осцилограф до висновку RC2, це вихід PWM1, то можна побачити роботу ШІМ

Рис 478 Вихід ШІМ на екрані осцилографа

У попередній програмі, правда, виходи ШІМ не використовуються Але при необхідності їх можна задіяти

Ми отримали можливість випробувати роботу датчика відстані в поєднанні з вбудованим в мікроконтролер модулем АЦП

Ми перевірили роботу програми, що управляє рухом робота, і що дозволяє йому

«Бачити» перешкоди, щоб обходити їх

Ми отримали деяке уявлення про організацію роботи АЦП І отримали можливість перевірити цю роботу за компютером

Якщо в перших дослідах з рухомим роботом його рухи були завчено-безглуздими, то тепер в них зявився сенс: робот шукає свій шлях, долаючи перешкоди

Застосовуючи інший, ніж в даному конструкторі датчик, ви повинні (або краще сказати, я рекомендую) скласти таблицю значень, які зчитуються АЦП при різному віддаленні від перешкод Так зроблено в керівництві до IE-ROBOPICA Наприклад, при тому значенні, що використано в програмі, робот-таки примудряється застрявати на перешкодах, трохи віддалених від лінії прямої видимості Можна встановити датчик на платформу, зєднану з серводвигуном і повертати його, це так, але можна спробувати змінити відстань до перешкоди, при якому роботу потрібно буде щось зробити

Якщо змінити рядок тексту в програмі:

if (Adc> 100) / / Якщо виявлений обєкт в допустимому діапазоні відстаней

то робот успішніше вибирається із заставленого меблями коридору на відкритий простір А головне, все-таки, це можливість все перевірити, все випробувати, поекспериментувати ..

Джерело: Гололобов ВН, – Самовчитель гри на паяльнику (Про електроніці для школярів і не тільки), – Москва 2012