Съдържание:
- Стъпка 1: Съберете материалите
- Стъпка 2: Сглобете веригата
- Стъпка 3: Настройте ШИМ на MCU
- Стъпка 4: Програмирайте микроконтролера
- Стъпка 5: Комуникации със сериен порт
Видео: Servo Squirter - USB воден пистолет: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
Серво воден пистолет с 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
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.
Препоръчано:
Клепшидра - древногръцки воден часовник: 8 стъпки (със снимки)
Клепшидра - древногръцки воден часовник: Това е един от най -старите методи за измерване на времето - в някои култури (Египет, Гърция, Персия и др.) Е разработен - и все още се използва - преди хиляди години. За моя прост модел (и поне оригиналът не е повече от това, но
Актуализиран слънчев лазер + воден сега с Power Bank: 3 стъпки
Актуализиран слънчев лазер + Led сега с Power Bank: Използвам верига за захранване за USB и вместо суперкондензатори използвах никелов метален хидрид за светодиода и добавих лазерна показалка, а за захранващата банка използвах литиева клетка и зареждам с USB не е слънчев. И добавих резервен слънчев панел на
Воден пистолет с дистанционно управление: 6 стъпки
Дистанционно управляван воден пистолет: Тази инструкция е създадена в изпълнение на проектните изисквания на Makecourse в Университета на Южна Флорида (www.makecourse.com). Следвайки тези стъпки ще можете да направите свой собствен дистанционно управляван воден пистолет за високо налягане
IOT воден пистолет/вода Waterer: 20 стъпки
IOT Water Pistol/Plant Waterer: Това е забавен проект, който използва началната страница на Google или всеки телефон с помощник на Google, за да пръска вода върху някого или да полива някои растения. Той също така има много потенциално приложение за други приложения като светлини, отопление, вентилатори и т.н. Ако това ви харесва
Електрически воден пистолет: 10 стъпки (със снимки)
Електрически воден пистолет: За това посещение в нашия блог … https: //bit.ly/2OamVHk