Агуулгын хүснэгт:

Servo Squirter - USB усны буу: 5 алхам
Servo Squirter - USB усны буу: 5 алхам

Видео: Servo Squirter - USB усны буу: 5 алхам

Видео: Servo Squirter - USB усны буу: 5 алхам
Видео: Servo Motor Squirter Project 2024, Арваннэгдүгээр
Anonim
Servo Squirter - USB усны буу
Servo Squirter - USB усны буу

USB удирдлагатай servo усан буу. Хажуугаар нь өнгөрч буй хүмүүсийг буудах, эсвэл ядаргаатай асуултуудыг хүмүүст өгөхгүй байх нь гайхалтай юм. Бүх зүйлийг микроконтроллероор удирддаг бөгөөд гарнаасаа USB -ээр удирддаг. Манай бусад төсөл, үнэгүй видео хичээлүүдийг үзэхийн тулд манай вэбсайтыг https://www.nerdkits.com дээрээс үзээрэй.

Алхам 1: Материалыг цуглуулах

Материалыг цуглуулах
Материалыг цуглуулах
Материалыг цуглуулах
Материалыг цуглуулах
Материалыг цуглуулах
Материалыг цуглуулах

Энэхүү төсөл нь микроконтроллер дээр суурилсан болно. USB NerdKit -д багтсан ATmega168 микроконтроллероос бусад. Энэ төслийн хувьд бид дараахь зүйлийг ашигласан: 1 Hobby Servo, Hitec HS-501 Бага хүчдэлийн поршений усны насос1 Жижиг n-суваг MOSFET, 2N7000

Алхам 2: Хэлхээ угсрах

Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах
Цахилгаан хэлхээг угсрах

Манай хэлхээний эхний хэсэг нь servo -тэй холбогддог. Энд энгийн зүйл байна: микроконтроллероос servo руу нэг утас. Үйлдвэрлэгчээс хамаарч хэд хэдэн өнгөний шошго байдаг тул үүнийг туршиж үзэхээсээ өмнө шалгаарай. NerdKits талбар дээрх ServoSquirter хэлхээний бүдүүвч зураг Хэлхээний хоёр дахь хэсэг нь микроконтроллерт насосны моторыг асаах, унтраах боломжийг олгодог. ATmega168 чип нь зөвхөн 40mA max -ийг дурын зүү рүү оруулах эсвэл гаргах боломжийг олгодог боловч манай шахуурга 1000 мА -д ойртохыг шаарддаг! Ийм том ачааллыг хянахын тулд бид илүү том транзистор болох 2N7000 -ийг ашиглахаар шийдсэн. Эхлээд бид MOSFETs (Метал исэл хагас дамжуулагч талбайн эффект транзистор) -ийг унтраалга болгон ашиглах үндсийг тайлбарлаж байна: Хаалганы хүчдэлийг эх үүсвэрээс дээш авснаар бид ус зайлуулах хоолойноос эх үүсвэр рүү урсах боломжийг олгодог. 2N7000 мэдээллийн хүснэгтээс бид хаалганы эх үүсвэрийн хүчдэлийн өөр өөр тохиргоонд зориулж ус зайлуулах гүйдэл ба ус зайлуулах эх үүсвэрийн хүчдэлийн хоорондын хамаарлыг харуулсан Зураг 1-ийг гаргаж авлаа. Та энэ графикаас сурч болох хэд хэдэн чухал зүйлийг мэдэж болно: 1. 3.0 вольтын доор VGS -ийн хувьд гүйдэл дамжуулахыг зөвшөөрдөггүй. Энэ бол "таслах" гэж нэрлэгддэг унтраах төлөв юм. 2. Жижиг VDS -ийн хувьд муруй нь гарал үүслээр ойролцоогоор шугаман харагддаг бөгөөд энэ нь цахилгаанаар резистор шиг "харагддаг" гэсэн үг юм. Эквивалент эсэргүүцэл нь муруйн урвуу налуу юм. MOSFET -ийн үйл ажиллагааны энэ хэсгийг "триод" гэж нэрлэдэг. 3. Илүү том VDS -ийн хувьд гүйдлийн хамгийн дээд түвшинд хүрсэн байна. Үүнийг "ханалт" гэж нэрлэдэг. 4. Бид VGS -ийг нэмэгдүүлснээр триод ба ханалтын горимд илүү их гүйдэл дамжихыг зөвшөөрдөг бөгөөд одоо та MOSFET үйлдлийн бүх гурван горимын талаар мэдэж авсан: таслах, триод, ханалт. +5 эсвэл 0), бид зөвхөн шар өнгөөр тодруулсан муруйн талаар санаа зовж байна, VGS = 5V. Ер нь MOSFET -ийг унтраалга болгон ашиглах нь ерөнхийдөө триодын горимыг хамардаг, учир нь MOSFET нь PD = ID*VDS хүчийг сарниулдаг бөгөөд сайн унтраалга нь унтраалгад бага хүч зарцуулдаг. Гэхдээ энэ тохиолдолд бид мотортой харьцдаг бөгөөд моторыг анх асаахад маш их гүйдэл шаарддаг (хүчдэл бага зэрэг буурдаг). Эхний эсвэл хоёр секундын турш MOSFET нь өндөр VDS -тэй ажиллах бөгөөд хамгийн дээд гүйдэлээр нь хязгаарлагдах болно - бидний өгөгдлийн хуудсан дээр зурсан улаан зурааснаас 800 мА орчим. Энэ нь насосыг ажиллуулахад хангалтгүй болохыг олж мэдээд бага зэрэг заль хэрэглэж, хоёр MOSFET -ийг зэрэгцүүлэв. Ингэснээр тэд гүйдэл дамжуулж, ойролцоогоор 1600 мА -ийг үр дүнтэй шингээж чадна. Харин насосны эрчим хүчний өндөр шаардлагаас шалтгаалан өндөр гүйдлийн гаралттай ханын трансформаторыг ашигласан. Хэрэв та 5 В -оос дээш гаралттай хананы трансформатортой бол 9V эсвэл 12V байж магадгүй

Алхам 3: MCU дээр ХОУХШ -ийг тохируулна уу

MCU дээр ХОУХШ -ийг тохируулна уу
MCU дээр ХОУХШ -ийг тохируулна уу
MCU дээр ХОУХШ -ийг тохируулна уу
MCU дээр ХОУХШ -ийг тохируулна уу
MCU дээр ХОУХШ -ийг тохируулна уу
MCU дээр ХОУХШ -ийг тохируулна уу

ХБХ -ийн бүртгэл ба тооцоолол Видео бичлэгт бид таймер/тоолуурын модульд ашигладаг хоёр түвшний тухай ярьдаг: дээд утга ба харьцуулах утга. Эдгээр нь хоёулаа хүссэн PWM дохиог үүсгэхэд чухал ач холбогдолтой боловч ATmega168 -ийн PWM гаралтыг идэвхжүүлэхийн тулд бид хэд хэдэн бүртгэлийг тохируулах ёстой. Нэгдүгээрт, бид OCR1A-тай Fast PWM горимыг сонгож, шинэ импульсийг хэдэн удаа эхлүүлэхээ дур мэдэн тохируулж, дараа нь тоолуур нэмэгдэх болно гэсэн үг юм. 8/(14745600 Гц) = 542 наносекунд тутамд 1 -ээр. Бид энэ таймерт зориулсан 16 битийн бүртгэлтэй тул дохионы нийт хугацааг 65536*542ns = 36 миллисекунд болгож тохируулах боломжтой гэсэн үг юм. Хэрэв бид илүү том дижитал дугаар ашиглавал импульсээ арай хол зайтай болгож болно (энэ нь энэ тохиолдолд тус болохгүй), тэгээд бид шийдвэрээ алдах болно. Хэрэв бид жижиг хэлтсийн дугаар ашигласан бол (жишээ нь 1 гэх мэт) бидний импульс бидний servo-ийн хүлээж байгаа шиг дор хаяж 16 миллисекундын зайтай байж чадахгүй. гаралт, үүнийг манай видеонд тайлбарласан болно. Бид мөн PB2 зүүг энд харагдахгүй байгаа кодын гаралтын зүү болгон тохируулсан бөгөөд эдгээр зургуудыг ATmega168 мэдээллийн хуудасны 132-134 хуудаснаас томруулахын тулд манай регистрийн утгын сонголтуудыг тодруулсан болно.

Алхам 4: Микроконтроллерыг програмчилна уу

Одоо MCU -ийг програмчлах цаг болжээ. Бүрэн эх кодыг манай вэбсайтаас авах боломжтой https://www.nerdkits.com/videos/servosquirter Код нь эхлээд servo жолоодохын тулд PWM -ийг тохируулдаг. Дараа нь код нь хэрэглэгчийн оролтыг хүлээх хүртэл хэсэг хугацааны дараа л сууна. 1 ба 0 тэмдэгтүүд нь насосны транзистортой холбогдсон MCU зүүг асаах буюу унтраана. Энэ нь насосыг асаах, унтраах бөгөөд бидэнд дураараа галлах боломжийг олгодог бөгөөд код нь '[' ба ']' товчлууруудад хариу өгдөг бөгөөд эдгээр түлхүүрүүд нь ХОУХ -ны зүү дээрх харьцуулах утгыг нэмэгдүүлэх эсвэл бууруулах бөгөөд энэ нь servo -ийг үүсгэдэг. байрлалыг өөрчлөх мотор. Энэ нь буудахаасаа өмнө онилох боломжийг танд олгоно.

Алхам 5: Цуваа порт харилцаа холбоо

Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо
Цуваа порт харилцаа холбоо

Сүүлийн алхам бол компьютерийг тохируулах бөгөөд ингэснээр та тушаалуудыг микроконтроллер руу илгээх боломжтой болно. NerdKit дээр бид цуваа кабелийг ашиглан тушаал, мэдээлэлээ компьютерт илгээдэг. NerdKit руу цуваа портоор холбогдох боломжтой ихэнх програмчлалын хэл дээр энгийн програм бичих боломжтой. Гэхдээ бидний хувьд цуваа холболт хийхийн тулд терминал програмыг ашиглах нь илүү хялбар байдаг. Ингэснээр та гар дээр бичээд NerdKit. Windows -ээс ирсэн хариуг харах боломжтой. Хэрэв та Windows XP эсвэл түүнээс өмнөх хувилбарыг ашиглаж байгаа бол HyperTerminal -ийг оруулсан бөгөөд Start цэсэнд "Start -> Programs -> Accessories -> гэсэн хэсэгт байх ёстой. Харилцаа холбоо ". HyperTerminal -ийг анх нээхэд холболт тохируулахыг танаас хүсдэг. HyperTerminal -ийн үндсэн хэсэгт очих хүртэл эдгээрийг цуцална уу. Та HyperTerminal -ийг тохируулж, COM портоо зөв сонгож, NerdKit -тэй ажиллахын тулд портын тохиргоог зохих ёсоор тохируулах хэрэгтэй болно. HyperTerm -ийг зөв тохируулахын тулд доорх дэлгэцийн агшинг дагана уу. Энэ тохиолдолд PuTTY (Windows суулгагч) татаж авна уу. Mac OS X -ийг зохих COM портыг ашиглан Putty -ийг тохируулахын тулд доорх холболтын тохиргоог ашиглана уу. Терминал програмд орсны дараа "screen /dev/tty. PL* 115200" гэж бичээд цуваа портоор холбогдож эхлээрэй. Linux, Linux дээр бид ашигладаг. minicom "цуврал порт руу ярих. Эхлэхийн тулд консол дээрх "minicom -s" командыг ажиллуулж minicom -ийн тохиргооны цэс рүү орно уу. "Цуваа портын тохиргоо" руу очно уу. Параметрүүдийг дараах байдлаар тохируулна уу: Linux дээр Minicom -ийн тохиргоо хийсний дараа escape товчлуурыг дарж, тохиргоог анхдагчаар хадгалахын тулд "Тохиргоог dfl болгон хадгалах" командыг ашиглана уу. Та одоо "Exit" дээр дарж NerdKit -тэй ярилцахдаа minicom ашиглах боломжтой байх ёстой.

Зөвлөмж болгож буй: