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

Raspberry Pi -ээр анивчдаг AVR/Arduino: 3 алхам (зурагтай)
Raspberry Pi -ээр анивчдаг AVR/Arduino: 3 алхам (зурагтай)

Видео: Raspberry Pi -ээр анивчдаг AVR/Arduino: 3 алхам (зурагтай)

Видео: Raspberry Pi -ээр анивчдаг AVR/Arduino: 3 алхам (зурагтай)
Видео: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Долдугаар сарын
Anonim
Raspberry Pi -тэй AVR/Arduino анивчдаг
Raspberry Pi -тэй AVR/Arduino анивчдаг

Системийн програмист (ISP) бол олон микроконтроллерыг програмчлахад ашиглаж болох төхөөрөмж юм, жишээ нь ATMega328p нь Arduino Uno-ийн тархи юм. Та USBtinyISP гэх мэт зүйлийг худалдаж авах эсвэл Arduino ашиглаж болно. Энэхүү зааварчилгаа нь Raspberry Pi -ийг ISP болгон хэрхэн ашиглахыг танд үзүүлэх болно.

Arduino IDE -ийг бүрээсний доор чипс асаахад ашигладаг avrdude програмыг олон програмисттай хамт ашиглах боломжтой. Үүний нэг сонголт бол Pi -ийн өргөтгөлийн порт дээрх SPI тээглүүрийг ашиглах явдал юм. Би хэрхэн тохирох холболт хийх, чип асаах болгондоо утсыг дахин хийх шаардлагагүй, мөн avrdude -ийг хэрхэн суулгах, ашиглах талаар perfboard дээр энгийн хэлхээ холбож өгөх талаар тайлбарлах болно. Би бас энэ аргыг ашиглан ATmega эсвэл ATtiny гэх мэт AVR чип дээр Arduino IDE ашиглан програмуудыг хэрхэн эмхэтгэхийг танд үзүүлэх болно.

Шаардлагатай зүйлс:

  • Хамгийн сүүлийн Raspbian суулгасан Raspberry Pi
  • 40 зүү эрэгтэй толгойн залгуур (эсвэл хэрэв та хуучин Pi-тай бол 26 зүү)
  • Таны Pi -д холбогдох IDE кабель
  • 16 МГц давтамжтай болор резонатор
  • 22 pF конденсатор (2)
  • LED (1) нь програмистын статусыг заана
  • 8, 14 ба/эсвэл 28 зүү бүхий IC залгуурууд нь ямар хэлбэрийн чипийг анивчихыг хүсч байгаагаас хамаарна
  • Зарим перфрон самбар, утас, гагнуур

Алхам 1: Cobbler хавсралт бий болгох

Cobbler хавсралт барих
Cobbler хавсралт барих
Cobbler хавсралт барих
Cobbler хавсралт барих
Cobbler хавсралт барих
Cobbler хавсралт барих

Дөрвөн утастай цуваа гэж нэрлэгддэг цуваа захын интерфэйс (SPI) нь нэг мастер төхөөрөмж ба нэг буюу хэд хэдэн боол төхөөрөмжүүдийн хооронд харилцах арга юм. Бид үүнийг ашиглан чипийг гялсхийх бөгөөд Pi -г мастер, чипийг боол болгоно. Та Pi болон таны чип хоёрын хооронд дараах холболтуудыг хийх болно (төрөл бүрийн AVR болон Pi өргөтгөлийн портуудын холболтыг үзнэ үү.

  • MOSI (master-out-slave-in) тээглүүрүүдийг хооронд нь холбоно уу
  • SCLK (хуваалцсан цаг) тээглүүрийг хооронд нь холбоно уу
  • Чипээс гэнэтийн өндөр хүчдэлээс хамгаалахын тулд MISO (боолчлох мастер) тээглүүрийг 220 Ом эсэргүүцэлтэй холбоно уу.
  • Pi дээрх GPIO 25 -ийг чип дээрх RESET зүү рүү шууд холбоно уу. Пи програмчлахдаа энэ зүүг намхан татдаг тул програмчлахгүй байх үед өндөр байлгахын тулд бид 10К эсэргүүцэл, 1К хамгаалалтын резистор бүхий LED нь эерэг хүчдэлд ажилладаг бөгөөд програмчлах үед бидэнд сайхан харааны санал өгөх болно.

Бид газар болон цахилгаан (3.3V) тээглүүрүүдийг Pi болон програмчлахыг хүссэн чипсүүдийн хооронд холбодог. Хэрэв та мэдэхгүй байгаа бол Raspberry Pi -ийн тээглүүр нь 5В -ийг тэсвэрлэдэггүй бөгөөд 3.3В -оос дээш хүчдэл гарч ирвэл гэмтэх болно. Хэрэв ямар нэгэн шалтгаанаар програмчлагдсан чипүүдэд 5V хүч шаардлагатай бол бид түвшний шилжүүлэгч чипийг ашиглан Pi -ийн тээглүүрийг хамгаалж чадна, гэхдээ би 3.3V -ийг ашиглахад ямар ч асуудал гараагүй тул аюулгүй тоглуулж, эд ангиудыг хэмнэхийг зөвлөж байна.

Эцэст нь бид чип дээрх XTAL тээглүүрээр 16 МГц болор осцилляторыг холбодог бөгөөд үүнийг 22pF конденсатороор дамжуулан холбодог. AVR чипийг өөр өөр давтамжтайгаар ажиллуулахаар тохируулж болох бөгөөд мөн энэ давтамжийг тодорхойлохын тулд дотоод болон гадаад эх үүсвэрийг ашиглахаар тохируулж болно. Хэрэв таны чип давтамжийн эх үүсвэр болгон гадаад болор ашиглахаар тохируулсан бол та түүнгүйгээр дахин програмчлах боломжгүй болно. Үгүй бол тэнд байгаа эсэх нь хамаагүй.

Та сүүлчийн зурган дээрх бүдүүвч схемийг гутлын хавчаарыг самбар дээр угсрах гарын авлага болгон ашиглаж болно. Та хүссэн хэмжээгээрээ олон буюу цөөн тооны IC залгууртай байж болно, зохих тээглүүрүүдийг Pi ба болортой зэрэгцүүлэн холбоно уу. Н. Б. Хэрэв та миний прототипийн дүрсийг гарын авлага болгон ашиглаж байгаа бол би нэмэлт толгойн залгуур, залгуур нэмж өгснөөр би холбоогүй шалтгаанаар Пи дээрх зүү рүү нэвтрэх боломжтой болно гэдгийг анхаарна уу.

Алхам 2: Avrdude -ийг суулгаж ашиглах

Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах
Avrdude -ийг суулгах, ашиглах

Pi дээрээ avrdude суулгахын тулд зүгээр л бичнэ үү

sudo apt-get суулгах avrdude

Дараа нь та SPI интерфэйсийг идэвхжүүлээгүй бол идэвхжүүлэх шаардлагатай болно. Үүнийг хийх тушаалын мөрийн арга байдаг боловч Raspberry Pi тохиргооны хэрэгслийг ашиглах нь илүү хялбар байдаг. Төрөл

sudo raspi-config

SPI -ийг идэвхжүүлэхийн тулд Interface Options руу очно уу.

Чипээ гялалзуулахын тулд Pi -ийнхээ тууз кабелийг perfboard хэлхээний холбогч руу залгаж, чипийг зохих IC залгуурт оруулна уу (зөв тийш харсан эсэхийг шалгаарай).

Програмыг асаахдаа чип дэх гал хамгаалагчийг зөв тохируулсан эсэхийг шалгах хэрэгтэй. Эдгээр нь яг хэдэн цагийн хурдтай ажиллах, чип бичихдээ EEPROM -ийг устгах эсэх зэргийг зааж өгөх чипийн жижиг хэсгүүд юм. Та бит бүрийг хэрхэн тохируулахыг мэдэхийн тулд AVR -ийн бүрэн үзүүлэлтийг уншиж болно. engbedded.com/fusecalc дээр байрлуулсан гал хамгаалагчийн тооцоолуурыг ашиглах нь илүү хялбар байдаг. Ашиглаж буй AVR хэсгийн нэрийг сонгоод "Онцлог сонголт" хэсэгт хүссэн сонголтоо сонгоно уу. Би ихэвчлэн цагийн тохиргоог зөв хийж, бусад зүйлийг анхдагчаар үлдээдэг. Та "Цуваа програмчлалыг идэвхжүүлсэн" CHECKED, "Дахин тохируулахыг идэвхгүй болгох" -ыг ЧАНААГҮЙ орхихыг хүсэх болно, эс тэгвээс та чипийг дахин програмчлах боломжгүй болно. Зөв тохиргоо хийсний дараа та "Одоогийн тохиргоо" хэсгийг доош гүйлгэж, зураг дээр үзүүлсэн шиг AVRDUDE аргументыг хуулж болно.

Гал хамгаалагчийг тохируулахын тулд командыг оруулна уу

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p

Энд байгаа хэсэг нь таны ашиглаж буй чиптэй тохирч байна. Та sudo ardude -c linuxspi -p? Төрөл оруулаад хэсгийн нэрсийн жагсаалтыг олох боломжтой. Програмаа асаахын тулд энэ нь таны одоогийн лавлахад байгаа эсэхийг шалгаад оруулна уу

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U flash: w:: i

Хоёр командын дараа чипийг өөрчлөх үед LED асах болно.

Алхам 3: Arduino програмыг AVR -д оруулах

Arduino програмыг AVR дээр авах
Arduino програмыг AVR дээр авах
Arduino програмыг AVR дээр авах
Arduino програмыг AVR дээр авах
Arduino програмыг AVR дээр авах
Arduino програмыг AVR дээр авах

Энэхүү зааварчилгааны гол чиглэл бол аль хэдийн эмхэтгэсэн програмуудыг чип дээр анивчуулах явдал бөгөөд тэдгээрийг хэрхэн бичих, эмхэтгэх биш. Гэсэн хэдий ч Arduino IDE -ийг ашиглан хоёртын файлыг хэрхэн эмхэтгэж, энэ аргыг ашиглан нүцгэн AVR чип рүү оруулах талаар тайлбарлахыг хүсч байна, учир нь Arduino -ийг сурахад харьцангуй хялбар бөгөөд маш олон заавар, жишээ байдаг.

Нэгдүгээрт, та анивчдаг AVR чипүүдийн талаархи мэдээллийг нэмэх хэрэгтэй бөгөөд ингэснээр IDE нь тэдгээрийг хэрхэн эмхэтгэхээ мэддэг болно. Жеймс Слеман github дээр байдаг зарим тохиргооны файлуудыг маш сайн цуглуулдаг. Тэдгээрийг ашиглахын тулд Arduino IDE дахь "Preferences" цэсийг нээгээд "Нэмэлт самбар менежерийн URL" талбарын хажууд байгаа хайрцгийг дарна уу. Дараах URL -уудыг гарч ирэх харилцах цонхонд хуулж буулгана уу.

Дараа нь "Хэрэгслүүд" цэс рүү ороод "Самбар" дэд цэснээс "Самбарын менежер …" сонголтыг олоорой. Самбар менежер харилцах цонхонд жагсаалтын доод хэсэгт гүйлгээд DIY ATmega болон DIY ATtiny самбарыг суулгана уу.

Хөтөлбөрөө эмхэтгэхийн тулд эхлээд "Процессор" цэснээс зөв чип, мөн процессорын хурдыг зөв сонгосон эсэхээ шалгаарай. "Ачаалагчийг ашиглах: Үгүй" сонголтыг сонгоно уу, учир нь бид Pi -тэй шууд байршуулах бөгөөд ингэснээр ихэвчлэн Arduino ачаалагч ачаалах нэмэлт зайг ашиглах боломжтой болно. Одоо "Баталгаажуулах" товчийг дарна уу (шалгах тэмдэг). Энэ нь таны програмыг байршуулахыг оролдохгүйгээр хөрвүүлэх болно (та өөрөө энэ алхамыг хийж байгаа болохоор).

Бүх зүйл сайн байна гэж үзвэл та одоо эмхэтгэсэн програмаа Pi рүүгээ оруулах хэрэгтэй. IDE нь програмыг өөрөө байршуулах зориулалттай тул түр байршилд нуудаг. Windows дээр энэ нь таны хэрэглэгчийн лавлахад 'arduino_build' -ээр эхэлсэн фолдер доторх AppData/Local/Temp дотор байдаг.. Hex файлыг хайж олоорой - энэ бол таны програм! Үүнийг FTP эсвэл USB зөөгч ашиглан Pi рүүгээ илгээгээрэй, та бизнес эрхэлдэг.

Үүнийг хийхийн тулд програмуудаа эмхэтгэхийн тулд Windows PC эсвэл Mac байх шаардлагатай бөгөөд үүнийг Pi руу илгээдэг. Үүнийг Pi дээр хийх нь үнэхээр гайхалтай байх болно, гэхдээ харамсалтай нь Raspbian репозиторид байгаа Arduino IDE -ийн албан ёсны хувилбар нь нэлээд хуучирсан бөгөөд ТУЗ -ийн менежергүй байна. Үүнгүйгээр нүцгэн AVR -ийг хөрвүүлэх зохих тохиргоог нэмж оруулах нь арай илүү төвөгтэй юм. Таны Pi дээр Arduino -ийн хамгийн сүүлийн хувилбарыг эмхэтгэх заавар байдаг - хэрэв та үүнийг хийхийг хүсч байвал тэдгээрийг хайж олоорой! IDE -ийг IDE дотроос чип асаахын тулд linuxspi програмист ашиглан IDE -ийг ашиглах боломжтой байх ёстой гэж би бодож байна (өөрөөр хэлбэл "татаж авах" товчийг ашиглан), гэхдээ энэ бол миний тэвчээр, ур чадварын түвшнээс давсан зүйл биш юм. нэг арга, үүнийг сэтгэгдэл дээр бичээрэй! Эцэст нь та програмыг AVR-C дээр шууд бичиж, avr-gcc ашиглан Pi дээр хөрвүүлж, Raspberry Pi дээр AVR хөгжүүлэх бүрэн платформыг өгч болно. Би үүнийг бага зэрэг хийсэн бөгөөд хэрэв та энэ замаар явахыг хүсч байвал би танд баяр хүргэж байна. Гялалзаж эхэл!

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