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

Геттогийн хөгжлийн орчин: 5 алхам
Геттогийн хөгжлийн орчин: 5 алхам

Видео: Геттогийн хөгжлийн орчин: 5 алхам

Видео: Геттогийн хөгжлийн орчин: 5 алхам
Видео: Venice, Italy Canal Tour - 4K 60fps with Captions 2024, Долдугаар сарын
Anonim
Геттогийн хөгжлийн орчин
Геттогийн хөгжлийн орчин

Хэсэг хугацааны өмнө би Atmel AVR серийн чипүүдийг програмчилж эхлэх хурдан бөгөөд бохир "el cheapo" аргыг нийтэлсэн: Ghetto Programmer (хувилбар 1.0) Түүнээс хойш би цус соруулж, дахин цус соруулж, өөрөөр тохиргоогоо сайжруулсан. Үүнийг баримтжуулах нь зүйтэй гэж бодсон. Зорилго нь уян хатан, авсаархан, зөөврийн, хаана ч хамаагүй ашиглах боломжтой, AVR-д суурилсан микроконтроллерийн загварчлах орчинг олж авах явдал байв. Хямд үнээр (ish). Тэгээд цааш нь үргэлжлүүлэлгүйгээр энд Ghetto Development Environment (GDE) (1.2 хувилбар) байна.

Алхам 1: иж бүрдэл

Энэхүү иж бүрдэл
Энэхүү иж бүрдэл

Үндсэн хэрэгсэл нь дараахь зүйлийг агуулдаг: USB програмист. Учир нь та микроконтроллерыг зөөврийн компьютерээсээ хаанаас ч хамаагүй програмчлахыг хүсч байна. Учир нь USB бол +5v -ийн маш хэрэгтэй эх үүсвэр юм. Таны тоглож буй чип бүрийн хувьд нэг ширхэг. Миний хувьд энэ нь 8 тээглүүртэй (ATtiny13, 15), 20 зүүтэй (ATtiny 2313), 28 зүүтэй (ATmega8) нэг гэсэн үг юм. Гэрлийн гэрэл. Таны кодонд ямар нэг зүйл буруу байвал түүнийг оношлохын тулд гэрэл асаах шиг юу ч арилгадаггүй. Нэмж дурдахад LED анивчих програм нь микроконтроллеруудын "Сайн уу ертөнц" юм. Эцсийн эцэст энэ бол хөгжлийн хэрэгсэл юм.

Алхам 2: USB програмист

USB програмист
USB програмист
USB програмист
USB програмист

Ghetto Programmer (v.1.0) дээр би зэрэгцээ порт програмист ашигласан. Энэ нь маш энгийн бөгөөд хямд бөгөөд хурдан байдаг. Гэхдээ миний зөөврийн компьютерт зэрэгцээ порт байхгүй, би цуваа порт програмист хийх талаар бага зэрэг тоглосон боловч үнэн хэрэгтээ тэд USB хувилбар шиг нарийн төвөгтэй бөгөөд цуваа портууд ч ховордож байна. Үнэндээ миний зөөврийн компьютер үнэхээр USB -тэй. Тиймээс энэ бол USB юм. Эргэн тойрноо харахад USBTiny програмист нь маш энгийн бөгөөд үнэгүй GNU/AVR-GCC хэрэгслүүд дээр ажилладаг. Та өөрөө хийх үү эсвэл иж бүрдэл худалдаж авах уу? Хэрэв та ATTiny2313 програмыг (зэрэгцээ программисттай) аль хэдийн програмчилж, 12 МГц болорыг тойруулан суулгаж чадвал DIY арга нь сайн байдаг. USBTiny Page нь үндсэн ойлголтуудыг өгдөг. Тэр програмчлалын кабелийг зэрэгцээ портоор тасалдаг, гэхдээ хэрэв би дахин эхлүүлж байгаа бол үүнийг стандарт 6 зүү толгой дээр дуусгах болно. (Яагаад? Яагаад гэвэл энэ нь стандарт юм.) Энд түүний зүүг оруулаад доорх зурган дээрээс кабелийн байршлыг шалгана уу. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSIIХэрэв та өөрийн гараар хийсэн бол миний туршлагаас суралцаж, сайхан хуванцар хайрцагт хийнэ үү. Хэрэв ингэхгүй бол 12 МГц -ийн болор тасрах үед энэ нь эцэстээ бүтэлгүйтэх болно. Тиймээс одоо би үүнийг ашиглаж байна … Хурдан бөгөөд дэгжин арга бол Ladyada-ийн USBtinyISP хэрэгсэл юм. Энэ нь танд $ 22 буцааж өгөх болно, гэхдээ та сайхан ПХБ, урьдчилан програмчлагдсан ATTiny2313, сайхан кабель бүхий цэвэр хайрцаг авах болно. Түүхий эд ямар ч байсан 15-16 доллартай тэнцэх бөгөөд та Digikey -ийг дуудаж, 2313 програмчлах талаар санаа зовох хэрэггүй болно. Бүгдийг нийлүүлэхэд 30 минут - 1 цаг шаардагдана. Spururge. Надад итгэ. (Харьяалал байхгүй, сэтгэл ханамжтай үйлчлүүлэгч) Тэгээд энэ линкийг л харсан: Ladyada -ийн AVR хичээл надад маш сайн санагдаж байна. (Мөн Ladyada-ийн дизайн болон анхны USBTiny нь өөр өөр USB бүтээгдэхүүний таних код ашигладаг болохыг анхаарна уу. Хэрэв та эдгээр хоёрын хооронд шилжиж байгаа бол ID мөрүүдийг олж, avrGCC-ийг дахин хөрвүүлэх шаардлагатай болно. Холбогдох вэб хуудсууд дээр зааварчилгаа байгаа гэж бодож байна..)

Хэрэв та Ubuntu Linux систем дээр ажиллаж байгаа бөгөөд USBTiny програмист ашиглаж байгаа бол багаж хэрэгслийг бүхэлд нь ажиллуулах командууд энд байна: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (туршсан) Хэрэв танд AMD64 нуман хаалга байгаа бол танд бас хэрэгтэй байж магадгүй: byacc libusb-dev flex bison libc6-devand дараа нь AVRdude-ийг гараар эмхэтгэх: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## AMD64-д шаардлагатай нөхөөс: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude -5.5.usbtiny.64bit.patch./configure make && install sudo avrdude -p attiny2313 -c usbtiny ## to test) Хэрэв та "avrdude: AVR төхөөрөмжийг эхлүүлж, зааврыг хүлээн авахад бэлэн байна" гэх мэт зүйлийг олж харвал та дахин хийлээ. Тийм ээ, програмист програмистын стандарт схемүүдийн диаграмыг Вендел Оскайд өгсөн.

Алхам 3: Програмчлалын өлгий

Програмчлалын өлгий
Програмчлалын өлгий
Програмчлалын өлгий
Програмчлалын өлгий
Програмчлалын өлгий
Програмчлалын өлгий

Ghetto Programmer v.1.0 дээр би стандарт бус зүү оролттой, эмэгтэй зүү толгойтой програмын өлгий ашиглаж, эд зүйлээ наасан. Стандарт бус тээглүүр нь муу санаа юм, учир нь та өлгийгөө өөр хэн нэгний програмисттай хамт ашиглах боломжгүй болно. Эмэгтэй зүү толгойнууд нь хөгжилтэй байсан, учир нь та LED-ийг шууд залгаж болно, гэхдээ би илүү төвөгтэй зүйл хийж эхлэхэд би үүнийг ямар ч байсан талхны талбарт холбож өгөх болно. Шинэ өлгийтэй болсноор би зуучлагчийг таслав. Гар утас бага байх нь илүү дээр юм. Гэхдээ энэхүү өлгий загварын хамгийн том давуу тал нь та AVR чипийг залгах боломжтой хаана ч хамаагүй өлгий залгах боломжтой юм. Энэ нь асар том болж хувирсан. ISP -ийн хэлхээг робот эсвэл өөр зүйлд зохион бүтээхийн оронд та энэ өлгий хэсгийг IC залгуурт наалдана уу. Дараа нь та роботынхоо тархийг хэлхээгээр програмчлах/дахин програмчлах боломжтой. Хөгжүүлээд дуусаад AVR-ийг шууд залгаарай, дараагийнх руугаа ороорой. Өлгий хийх нь хангалттай хялбар бөгөөд 6 зүү толгойноос зүүгээ зөв газруудад холбоход л хангалттай. чипс. Энэ удаад би сийлсэн ПХБ ашигласан. ATTiny13/15 өлгий нь 8-зүү утсан ороомогоор хийгдсэн байдаг. Би эдгээрт дуртай. Чипийг гоёмсог дугуй нүхэндээ оруулах нь хялбар бөгөөд урт хөл нь талхны тавцан дээр нэмэлт цэвэрлэгээ хийдэг. Би ПХБ -ийн ул мөрийг Sharpie ашиглан гараар хийсэн. ATTiny2313 өлгийг Eagle болон лазер цаасан хор дамжуулах аргаар хийсэн. Би 20 зүү бүхий утас ороосон залгуур олж чадаагүй тул 10 зүү бүхий 2 толгой дээр гагнасан 20 зүүтэй ердийн залгуурт хандах шаардлагатай болсон. Энэ нь богинохон хөлтэй өлгийтэй болох боловч энэ нь ажилладаг. Миний схемд ашигласан схем ба PDF файлыг доор өгөв. Аль алинд нь би нэмэлт шугамыг гар утсаар холбох шаардлагатай болсон. Амьдрал ийм шүү дээ.

Алхам 4: Гэрлийн гэрэл

Гэрлийн гэрэл
Гэрлийн гэрэл
Гэрлийн гэрэл
Гэрлийн гэрэл

Энгийн байдал өөрөө. Хэрэв тэд тийм ч тохиромжтой биш байсан бол би эдгээрийг огт дурдахгүй.

Эсэргүүцлийг гагнах (150-220 ом бол сайн үзүүлэлт юм) зарим LED-ийн сөрөг тугалган дээр шууд гагнах. Энэ нь ойролцоогоор 2v-6v-ээс асахгүй болно. Мөн резистор нь аль тал нь сөрөг болохыг санах боломжийг танд олгоно. Цахилгаан байгаа эсэхийг мэдэхийг хүссэн газартаа наалдуулаарай. Энэ транзистор үлээгдсэн эсэхийг олж мэдээрэй. Никад батерейны багцыг урт хугацааны шөнийн гэрэл болгон хувиргаарай. Ухаалаг кодын интерфэйсийг ашиглан микропроцессорын утгыг уншаарай (аажмаар). Эсвэл тэдгээрийн 8-ыг хий, тэгвэл та нэг байт дэлгэцтэй болно (дээр нь Cylon нүдний идэвхитэй найрлага орно). Олон олоорой. Тэднийг одоо хий.

Алхам 5: Төгсгөл

Төгсөв
Төгсөв

Тиймээс энэ "систем" нь миний хөгжлийн бараг бүх хэрэгцээг хангадаг. Энэ нь модульчлагдсан, өргөтгөх боломжтой, авсаархан, зөөврийн юм.

Жишээлбэл, би найзынхаа хуриманд явах замд онгоцны 4 оронтой дэлгэц дээр (танилцуулга хуудас) гүйлгэх зурвас ажиллуулах журмыг боловсруулсан. Онгоцны үйлчлэгч нартай сайн мөс зүсэгч хийдэг. Энэхүү потенциометр -> ADC -> ХОУХ -нд суурилуулсан амперметрийг миний буйдан, хоолны ширээний хооронд талхалж, кодлож, дибаг хийж, найзууд ирэхэд 2 минутын дотор цэвэрлэнэ. (Энэ нь тоолуур хийх цагын сэрүүлгийг тохируулах хэсэг юм.) Би дэгээ тоглохыг хүссэн үедээ заримдаа тохиргоогоо ажиллуулдаг. Жижиг уут чихэр (зарим конденсатор ба резистор, залгах утас, транзистор, пьезо чанга яригч, фотодиод, микрофон, жижиг мотор гэх мэт) нэмбэл та MacGuyver-ээс хол байх болно.

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