Оглавление:
- Шаг 1. Соберите материалы
- Шаг 2: соберите схему
- Шаг 3: Настройте ШИМ на MCU
- Шаг 4: запрограммируйте микроконтроллер
- Шаг 5: Связь через последовательный порт
Видео: Сервопривод - водяной пистолет USB: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
Водяной пистолет с сервоприводом, управляемый через USB. Отлично подходит для стрельбы по ничего не подозревающим прохожим или удержания людей с назойливыми вопросами. Этот проект представляет собой небольшой водяной насос, установленный на сервоприводе для направленной стрельбы. Все это управляется микроконтроллером и управляется с вашей клавиатуры через USB. Чтобы увидеть больше наших проектов и бесплатных видеоуроков, посетите наш сайт
Шаг 1. Соберите материалы
Этот проект основан на микроконтроллере. Кроме микроконтроллера ATmega168, включенного в USB NerdKit. Для этого проекта мы использовали следующее: 1 сервопривод Hobby, Hitec HS-501 Поршневой водяной насос низкого напряжения 1 малый n-канальный полевой МОП-транзистор, 2N7000
Шаг 2: соберите схему
Первая часть нашей схемы просто подключается к сервоприводу. Здесь все просто: один провод от микроконтроллера до сервопривода. В зависимости от производителя существует несколько различных цветовых обозначений, поэтому проверьте перед тем, как пробовать это. Схематическое фото схемы ServoSquirter на макете NerdKits Вторая часть схемы позволяет микроконтроллеру включать и выключать двигатель насоса. Сам чип ATmega168 позволяет подключать или снимать максимум 40 мА на любой контакт, но нашему насосу требуется около 1000 мА! Поэтому, чтобы контролировать эту большую нагрузку, мы решили использовать транзистор большего размера, 2N7000. Сначала мы объясним основы использования полевых МОП-транзисторов (металлооксидных полупроводниковых полевых транзисторов) в качестве переключателей: поднимая напряжение затвора выше источника, мы можем позволить току течь от стока к источнику. Из таблицы данных 2N7000 мы извлекли рисунок 1, который показывает соотношение между током стока и напряжением сток-исток для различных настроек напряжения затвор-исток. Из этого графика вы можете узнать несколько важных вещей: 1. Для VGS ниже примерно 3,0 вольт ток не может течь. Это состояние выключения, также называемое «отсечкой». 2. Для небольших VDS кривая выглядит примерно линейно через начало координат, что означает, что электрически она «похожа» на резистор. Эквивалентное сопротивление - это обратный наклон кривой. Эта область работы MOSFET называется «триодом». 3. Для больших VDS достигается некоторый максимальный уровень тока. Это называется «насыщенность». 4. По мере того, как мы увеличиваем VGS, больший ток может протекать как в триодном, так и в насыщенном режимах. И теперь вы фактически узнали обо всех трех режимах работы MOSFET: отсечка, триод и насыщение. Поскольку наше управление затвором является цифровым (+5 или 0), нас интересует только кривая, выделенная желтым, для VGS = 5V. Обычно использование полевого МОП-транзистора в качестве переключателя обычно включает триодный режим работы, поскольку полевой МОП-транзистор рассеивает мощность PD = ID * VDS, а хороший переключатель должен рассеивать небольшую мощность в самом переключателе. Но в данном случае мы имеем дело с двигателем, а двигатели, как правило, требуют большого тока (с небольшим падением напряжения) при первом запуске. Таким образом, в течение первой или двух секунд MOSFET будет работать с высоким VDS и будет ограничен своим максимальным током - около 800 мА от красной пунктирной линии, которую мы нарисовали в таблице данных. Мы обнаружили, что этого недостаточно для запуска насоса, поэтому мы использовали небольшой трюк и подключили два полевых МОП-транзистора параллельно. Таким образом, они разделяют ток и могут эффективно потреблять вместе около 1600 мА. Кроме того, из-за высоких требований к мощности насоса мы использовали настенный трансформатор с более высоким выходным током. Если у вас есть настенный трансформатор с выходным напряжением более 5 В - возможно, 9 В или 12 В - тогда вы можете
Шаг 3: Настройте ШИМ на MCU
Регистры ШИМ и вычисления В видео мы говорим о двух уровнях, используемых модулем таймера / счетчика: верхнее значение и значение сравнения. Оба эти фактора важны для генерации нужного вам сигнала ШИМ, но для активации выхода ШИМ вашего ATmega168 в первую очередь нам нужно настроить несколько регистров. Сначала мы выбираем режим Fast PWM с OCR1A в качестве верхнего значения, что позволяет нам произвольно устанавливать, как часто начинать новый импульс. Затем мы устанавливаем часы на работу с предварительным делением на 8, что означает, что счетчик будет увеличиваться на 1 каждые 8 / (14745600 Гц) = 542 наносекунды. Поскольку у нас есть 16-битные регистры для этого таймера, это означает, что мы можем установить общий период сигнала, равный 65536 * 542 нс = 36 миллисекунд. Если бы мы использовали большее число деления, мы могли бы сделать наши импульсы дальше друг от друга (что не помогает в этой ситуации), и мы потеряем разрешение. Если бы мы использовали меньшее число деления (например, 1), мы не смогли бы сделать наши импульсы с интервалом не менее 16 миллисекунд, как ожидает наш сервопривод. Наконец, мы устанавливаем режим сравнения вывода для «неинвертирующего» ШИМ. вывод, который описан в нашем видео. Мы также устанавливаем вывод PB2 как выходной вывод - здесь не показан, но он есть в коде. Щелкните, чтобы увеличить эти снимки со страниц 132-134 таблицы данных ATmega168, с выделенными выбранными значениями регистра:
Шаг 4: запрограммируйте микроконтроллер
Пришло время собственноручно запрограммировать MCU. Полный исходный код доступен на нашем веб-сайте https://www.nerdkits.com/videos/servosquirter Код сначала настраивает ШИМ для управления сервоприводом. Затем код просто находится в цикле while, ожидая ввода пользователя. Символы 1 и 0 включают или выключают вывод MCU, подключенный к транзистору накачки. Это будет включать и выключать насос, давая нам возможность стрелять по желанию. Код также реагирует на клавиши '[' и ']', эти клавиши будут увеличивать или уменьшать значение сравнения на выводе PWM, что приведет к сервоприводу мотор, чтобы изменить положение. Это дает вам возможность прицелиться перед выстрелом.
Шаг 5: Связь через последовательный порт
Последний шаг - настроить компьютер так, чтобы вы могли отправлять команды микроконтроллеру. В NerdKit мы используем последовательный кабель для отправки команд и информации на компьютер. На большинстве языков программирования можно писать простые программы, которые могут обмениваться данными с NerdKit через последовательный порт. Однако гораздо проще использовать терминальную программу для последовательной связи за нас. Таким образом, вы можете просто ввести на клавиатуре и увидеть ответ от NerdKit. Windows Если вы используете Windows XP или более раннюю версию, HyperTerminal включен и должен быть в вашем меню «Пуск» в разделе «Пуск -> Программы -> Стандартные -> Связь ». Когда вы впервые открываете HyperTerminal, он просит вас установить соединение. Отмените их, пока не окажетесь на главной сцене HyperTerminal. Вам нужно будет настроить HyperTerminal, выбрав правильный COM-порт и соответствующим образом настроив параметры порта для работы с NerdKit. Следуйте приведенным ниже снимкам экрана, чтобы правильно настроить HyperTerm. Если вы используете Windows Vista, HyperTerminal больше не включен. В этом случае скачайте PuTTY (установщик Windows). Используйте указанные ниже параметры подключения, чтобы настроить Putty с использованием соответствующего COM-порта. Mac OS X После входа в приложение терминала введите "screen /dev/tty. PL* 115200", чтобы начать обмен данными через последовательный порт. Linux В Linux мы используем " minicom "для разговора с последовательным портом. Для начала запустите «minicom -s» на консоли, чтобы войти в меню настройки minicom. Перейдите в «Настройка последовательного порта». Установите следующие параметры: Конфигурация Minicom в Linux Затем нажмите escape и используйте «Сохранить настройку как dfl», чтобы сохранить настройки по умолчанию. Теперь вы должны иметь возможность нажать «Выход» и использовать minicom для разговора с NerdKit.
Рекомендуемые:
Как модифицировать сервопривод, чтобы получить обратную связь по замкнутому циклу: 7 шагов
Как изменить сервопривод для получения обратной связи по замкнутому контуру: ► Во время управления сервоприводом с помощью микроконтроллера (как Arduino) вы можете отдавать ему только приказы целевого местоположения (в сигнале PPM). С этим приказом сервопривод будет двигаться к этой цели место нахождения. Но это не мгновенно! Вы точно не знаете, когда
Добавление энкодера в сервопривод непрерывного вращения на 360 градусов Feetech Micro FS90R: 10 шагов
Добавьте энкодер в сервопривод непрерывного вращения на 360 градусов Feetech Micro FS90R: очень сложно или почти невозможно точно контролировать движение колесного робота с помощью управления двигателем с разомкнутым контуром. Многие приложения требуют точной настройки позы или расстояния перемещения колесного робота. Малый сервомотор с непрерывным вращением
Сервопривод SG90 с неизмененным конструктором Lego: 8 шагов
Сервопривод SG90 с немодифицированным Lego: использование дешевого сервопривода в сборках Lego-arduino. Новая версия с меньшим количеством деталей: https://www.instructables.com/id/Servo-SG90-With-Unmodified-Lego-V2 Есть несколько руководств по использованию Сервопривод SG90 с лего. Большинство из них требует настройки лего / сервопривода или 3D
Простой сервопривод: 12 шагов
Простая серворучка: Здравствуйте, сегодня я расскажу вам, как сделать простую роботизированную руку, которую можно запрограммировать для выполнения различных функций или просто для игры в гольф
Взломайте свой сервопривод V1.00 - превратите свой сервопривод в мощный линейный привод: 7 шагов
Взломайте свой сервопривод V1.00 - превратите свой сервопривод в мощный линейный привод: при условии, что у вас есть инструменты и сервопривод, вы можете построить его менее чем за пару долларов. Привод выдвигается со скоростью около 50 мм / мин. Он довольно медленный, но очень мощный. Посмотрите мое видео в конце поста, где маленький привод