Дата публикации: Nov 12, 2012 6:35:46 PM
Не успел я собрать программируемый пульт для квадрокоптера, как возникла очередная, весьма неприятная проблема. При попытке подключить Arduino Nano, находящейся в составе пульта, к моему ноутбуку, стала появляться ошибка USB. А точнее, ошибка идентификации устройства USB.
Для проверки работоспособности самого контроллера, я попробовал отключить его от схемы пульта. В таком виде, Arduino штатно соединился с IDE и успешно принял прошивку (фью..., не сгорела). После проверки печатной платы на предмет замыканий ножек устройств, никакого криминала обнаружено также не было. Следовательно, источник проблемы определенно находился в схеме самого пульта.
После последнего удачного подключения, я внес в схему только одно изменение - подключил выход регулятор напряжения к ноге 5v, вместо Vin . Таким образом, основным нарушителем спокойствия был признан именно регулятор. Чтобы проверить гипотезу, вся схема регулятора была продублирована на макетной плате, с использованием другой идентичной Arduino Nano. В результате поочередного отключения элементов регулятора был найден главный источник проблемы. Им оказался конденсатор 100мкф, в выходной цепи регулятора напряжения.
Перерыв интернет, мне не удалось обнаружить сообщений о подобных неприятностях с Arduino. Единственное что удалось найти, это рекомендации по емкости в цепи питания USB тракта. Выходило, что эта самая емкость может достигать 47мкФ. Однако, после замены конденсатора на менее емкий, проблема не ушла. (Задним умом я предполагаю, что в Arduino имеется свой конденсатор в выходной цепи встроенного регулятора, емкость которого суммировалась с емкостью моего.)
В итоге, еще раз перечитав даташит по регулятору LM7805 я выяснил, что конденсатор в выходной цепи вовсе не обязателен, и при желании достаточно будет поставить керамический 100нф. Что и было в последствии сделано.
После очередной модификации, пульт наконец успешно подключился к Arduino IDE, и мне удалось закачать на него свежую прошивку. Теперь уже точно ничего не помешает запуску коптера :-E