Съдържание:

Servo Squirter - USB воден пистолет: 5 стъпки
Servo Squirter - USB воден пистолет: 5 стъпки

Видео: Servo Squirter - USB воден пистолет: 5 стъпки

Видео: Servo Squirter - USB воден пистолет: 5 стъпки
Видео: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, Ноември
Anonim
Servo Squirter - USB воден пистолет
Servo Squirter - USB воден пистолет

Серво воден пистолет с USB управление. Чудесен за стрелба по нищо неподозиращи минувачи или задържане на хората с досадни въпроси встрани. Този проект е малка водна помпа, монтирана върху серво за насочена стрелба. Цялото нещо се управлява от микроконтролер и се контролира от вашата клавиатура през USB. За да видите повече от нашите проекти и безплатни видео уроци, разгледайте нашия уебсайт

Стъпка 1: Съберете материалите

Съберете материалите
Съберете материалите
Съберете материалите
Съберете материалите
Съберете материалите
Съберете материалите

Този проект е базиран на микроконтролер. Освен микроконтролера ATmega168, включен в USB NerdKit. За този проект използвахме следното: 1 Hobby Servo, Hitec HS-501 Бутална водна помпа с ниско напрежение 1 Малък n-канал MOSFET, 2N7000

Стъпка 2: Сглобете веригата

Сглобете веригата
Сглобете веригата
Сглобете веригата
Сглобете веригата
Сглобете веригата
Сглобете веригата
Сглобете веригата
Сглобете веригата

Първата част от нашата верига просто се свързва със серво. Тук е просто: един проводник от микроконтролера към серво. Има няколко различни цветни етикети в зависимост от производителя, така че проверете преди да опитате това. Схематична снимка на веригата ServoSquirter на макетната платка NerdKits Втората част на веригата позволява на микроконтролера да включва и изключва двигателя на помпата. Самият чип ATmega168 позволява само 40mA max във или извън всеки щифт, но нашата помпа изисква по -близо до 1000mA! Така че, за да контролираме това по -голямо натоварване, избрахме да използваме по -голям транзистор 2N7000. Първо обясняваме основите на използването на MOSFET (полуопроводникови полеви транзистори с метален оксид) като превключватели: привеждайки напрежението на портата над източника, можем да позволим на тока да тече от канализацията към източника. От листа с данни 2N7000, ние извадихме Фигура 1, която показва връзката между тока на източване и напрежението източник източник за различни настройки на напрежение порта-източник. Има няколко важни неща, които можете да научите от тази графика: 1. За VGS под около 3,0 волта не може да тече ток. Това е изключено състояние, наричано още „прекъсване“. 2. За малки VDS кривата изглежда приблизително линейна през началото - което означава, че електрически "изглежда" като резистор. Еквивалентното съпротивление е обратният наклон на кривата. Тази област на работа на MOSFET се нарича "триодна". 3. За по -големи VDS се достига някакво максимално ниво на ток. Това се нарича "насищане". 4. С увеличаването на VGS се допуска по -голям ток както в триодния режим, така и в режимите на насищане. И сега всъщност сте научили за трите режима на работа на MOSFET: прекъсване, триод и насищане. Тъй като контролът на портата ни е цифров (+5 или 0), ние сме загрижени само за кривата, подчертана в жълто, за VGS = 5V. Обикновено използването на MOSFET като превключвател обикновено включва триодния режим на работа, тъй като MOSFET разсейва мощността PD = ID*VDS и добър превключвател трябва да разсейва малко мощност в самия превключвател. Но в този случай имаме работа с двигател и двигателите обикновено изискват много ток (с малък спад на напрежението) при първото стартиране. Така че за първите две или две, MOSFET ще работи с висок VDS и ще бъде ограничен от максималния си ток - около 800mA от червената пунктирана линия, която нарисувахме в листа с данни. Установихме, че това не е достатъчно, за да стартира помпата, затова използвахме малък трик и поставихме два MOSFET паралелно. По този начин те споделят тока и могат ефективно да поглъщат около 1600mA заедно. Също така поради високите изисквания за мощност на помпата, използвахме стенен трансформатор с по -висок токов изход. Ако имате стенен трансформатор с по -голям от 5V изход - може би 9V или 12V - тогава имате

Стъпка 3: Настройте ШИМ на MCU

Настройте ШИМ на MCU
Настройте ШИМ на MCU
Настройте ШИМ на MCU
Настройте ШИМ на MCU
Настройте ШИМ на MCU
Настройте ШИМ на MCU

PWM регистри и изчисления Във видеото говорим за две нива, използвани от модула таймер/брояч: горната стойност и стойността за сравнение. И двете са важни за генерирането на PWM сигнал, който искате. Но за да активираме PWM изхода на вашия ATmega168 на първо място, трябва да настроим няколко регистри. Първо, ние избираме бърз ШИМ режим с OCR1A като най-висока стойност, което ни позволява произволно да задаваме колко често да стартира нов импулс, След това настройваме часовника да работи с предварително разделяне на 8, което означава, че броячът ще се увеличи по 1 на всеки 8/(14745600 Hz) = 542 наносекунди. Тъй като имаме 16-битови регистри за този таймер, това означава, че можем да настроим общия период на сигнала ни до 65536*542ns = 36 милисекунди. Ако използвахме по -голям номер на разделение, бихме могли да направим нашите импулси по -далеч един от друг (което не помага в тази ситуация) и бихме загубили разделителната способност. Ако използвахме по-малък номер на разделяне (като 1), нямаше да можем да правим нашите импулси на разстояние най-малко 16 милисекунди, както очаква нашето серво. Накрая зададохме режима за сравнение на изхода за "неинвертираща" ШИМ изход, който е описан в нашето видео. Ние също така зададохме щифта PB2 като изходен пин-не е показан тук, но е в кода. Щракнете, за да увеличите тези снимки от страници 132-134 от листа с данни ATmega168, като нашите селекционни стойности са подчертани:

Стъпка 4: Програмирайте микроконтролера

Сега е време всъщност да програмирате MCU. Пълният изходен код е предоставен на нашия уебсайт https://www.nerdkits.com/videos/servosquirter Кодът първо настройва ШИМ за задвижване на серво. След това кодът просто седи в цикъл, докато чака въвеждане от потребителя. Символите 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 След това натиснете бягство и използвайте „Запазване на настройката като dfl“, за да запазите настройките по подразбиране. Вече трябва да можете да натиснете „Изход“и да използвате minicom за разговор с NerdKit.

Препоръчано: