Мазмуну:

Башка Arduino менен AVR (arduino) кантип программалоо керек: 7 кадам
Башка Arduino менен AVR (arduino) кантип программалоо керек: 7 кадам

Video: Башка Arduino менен AVR (arduino) кантип программалоо керек: 7 кадам

Video: Башка Arduino менен AVR (arduino) кантип программалоо керек: 7 кадам
Video: Объяснение прошивки Marlin 2.0.x 2024, Ноябрь
Anonim
AVR (arduino) программасын башка Arduino менен кантип программалоо керек
AVR (arduino) программасын башка Arduino менен кантип программалоо керек
AVR (arduino) программасын башка Arduino менен кантип программалоо керек
AVR (arduino) программасын башка Arduino менен кантип программалоо керек
AVR (arduino) программасын башка Arduino менен кантип программалоо керек
AVR (arduino) программасын башка Arduino менен кантип программалоо керек

Бул көрсөтмөлөр пайдалуу, эгерде:

* atduga168 менен arduino алдыңыз жана жергиликтүү электроника дүкөнүнөн atmega328 сатып алдыңыз. Анын arduino жүктөгүчү жок *, сиз ардуинону колдонбогон долбоорду түзгүңүз келет - жөн гана AVR чипи (USBTinyISP сыяктуу) - сизде таза attiny2313/attiny48 ж.б. Адатта сизде жаңы чипти программалоо үчүн USBTinyISP сыяктуу ISP (Системдик Программистте) болушу керек эле. Ардуиного ээ болгондон кийин, сиз аны программист болууга үйрөтө аласыз, Рэндолл Бондун жасаган чоң ишине ыраазычылык. Ал Mega -ISP - программист сыяктуу иштеген ардуино эскизин жараткан.

1 -кадам: Сизге эмне керек?

Сизге эмне керек?
Сизге эмне керек?

* иштеп жаткан Arduino (же клон - мен BBB - BareBonesBoard жана RBBB - RealBareBonesBoard by ModernDevices колдонуп жатам) * сиз программалагыңыз келген чип (atmega8, atmega168, atmega368, attiny2313, attiny13 менен) провайдердин башы * 3 лед + 3 резистор * панель зымдары бар такта

2-кадам: Mega-isp программистин нан тактасында жасоо

Нан тактасында Mega-isp программистин жасоо
Нан тактасында Mega-isp программистин жасоо
Нан тактасында Mega-isp программистин жасоо
Нан тактасында Mega-isp программистин жасоо
Нан тактасында Mega-isp программистин жасоо
Нан тактасында Mega-isp программистин жасоо

Ардуинону чипке программалоого туташтыруунун эки жолу бар.

Сиз avr чипиңизди панельге туташтырып, 5v менен GNDди тийиштүү казыктарга туташтырсаңыз болот (маалымат барагын текшериңиз!) + Тарткычты баштапкы абалга келтирүү үчүн чипке arduino. Бул Arduinoдогу линиялар жана алардын функциясы 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Баштапкы абалга келтирүү) Же сиз 2x3pin ISPтин башын жасай аласыз, аны бир (башка arduino тактасын) камсыз кылган тактага туташтырсаңыз болот. Үчүнчү сүрөттө провайдердин башкы түйүнү бар. Программисттин статусун көрсөтүүчү 3 лед бар. пин 9 - көк жетектөөчү - анын программисттин угуусу. пин 8 - кызыл жетектөөчү - катаны билдирет пин 7 - жашыл LED - программалоо жүрүп жатканын көрсөтүп турат (мен жалкоо болгондуктан менин орнотууларымдагы түстөргө дал келген жок) Бул жерде Fritzingде тартылган чиймелер бар. MEGA-isp калканч. Бүркүттө калканды Ярослав Осадчий ойлоп тапкан. Сиз бүркүт файлдарын анын сайтынан ала аласыз:

3 -кадам: Эскизди жүктөө

Эскиз жүктөлүүдө
Эскиз жүктөлүүдө

Эскизди mega-isp google кодунан жүктөп алыңыз. (Жазуу учурунда avrisp.03.zip). Аны ачып, arduino ide иштетип, avrisp.pde ачыңыз. Аны arduino тактаңызга жүктөңүз. Жүрөк ритми согуп башташы керек.

4 -кадам: Avrdude менен колдонуу

Avrdude менен колдонуу
Avrdude менен колдонуу

Avrdude (жана аны колдонгон бардык GUIлер) менен колдонуу үчүн 'avrisp' программистин тандоо керек. эң коопсуз бит ылдамдыгы - 19200.

Сиздин жаңы атмега168ди командалык саптан сынап көрүү үчүн аракет кылыңыз: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 -бул arduino менин Linux кутучага туташкан порт (сиздиники com5 болушу мүмкүн). Муну arduino IDEде Tools -> Serial Port аркылуу текшерсе болот. Сиз алууңуз керек: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR түзмөгү инициализацияланган жана көрсөтмөлөрдү кабыл алууга даяр Окуу | #################################################### | 100% 0.13s avrdude: Түзмөктүн колу = 0x1e9406 avrdude: safemode: Сактандыргычтар OK avrdude аткарылды. Рахмат. Бул баары жакшы экенин билдирет. Эгер каталар пайда болсо - акыркы кадамды текшериңиз.

5 -кадам: USBtinyISP камтылган программасын Attiny2313ке күйгүзүү

USBtinyISP камтылган программасын Attiny2313 күйгүзүү
USBtinyISP камтылган программасын Attiny2313 күйгүзүү
USBtinyISP камтылган программасын Attiny2313 күйгүзүү
USBtinyISP камтылган программасын Attiny2313 күйгүзүү
USBtinyISP камтылган программасын Attiny2313 күйгүзүү
USBtinyISP камтылган программасын Attiny2313 күйгүзүү

USBTinyISP - LadyAdaдан улуу программист, чынында арзан - 22 $. Менде запастык аттиний 2313 жана кээ бир тетиктер бар болчу, ошондуктан мен аны өзүм жасоону чечтим. Эгерде сизде PCB жасоо боюнча тажрыйбаңыз жок болсо, анда мен сизге комплектти сатып алууну сунуштайм, анткени бул өзүңүз жасай алганга караганда сапаты жогору:). Жок дегенде ПХБны сатып алгыңыз келсе, куруңуз. Аны Adafruitтен алсаңыз болот. ATtiny2313 туташтырыңыз Акыркы сүрөттө сиз ISIN үчүн кызыл түстөгү казыктары бар attiny2313 көрө аласыз. Сүрөт LadyAda avr үйрөткүчүнөн алынган. Камтылган программаны күйгүзүү: USBTinyISP программасын таңгактан чыгарыңыз. Чипке баары туура келгенин текшерүү үчүн spi dir'ге өтүп, $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 чуркаңыз. Эми сактандыргычтарды орнотуңуз: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Эми 12 мГц тышкы осцилляторду чипке тиркөө керек. Жана камтылган программаны күйгүзүңүз: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Сиздин attiny2313 USBTinyISP камтылган.

6 -кадам: Arduino жүктөгүчүн күйгүзүү

Arduino жүктөгүчүн күйгүзүү
Arduino жүктөгүчүн күйгүзүү
Arduino жүктөгүчүн күйгүзүү
Arduino жүктөгүчүн күйгүзүү
Arduino жүктөгүчүн күйгүзүү
Arduino жүктөгүчүн күйгүзүү

Мен бир аз алдап койдум, анткени мен байланыштарды жөнөкөйлөтүү үчүн RBBB колдондум. Схема №2 сүрөттө. Эгерде сиз 2 ардуинону колдонсоңуз, #3 сүрөттү колдонуңуз жана ISP пинин ICSP 2x3header'ге экинчи (кул) arduino аркылуу туташтырыңыз. GUI жолу Бул бир аз татаал себеби, сиз жөн гана Tools-> Boot Bootloader-> WR/ AVR ISP колдоно албайсыз, себеби демейки ылдамдыгы мега-isp үчүн өтө чоң. Arduino IDE менен келген avrdude.conf табыңыз (arduino/hardware/tools/avrdude.conf ичинде) жана avrisp программистинин чегин 115200дөн 19200гө чейин өзгөртүңүз (312 -саптын тегерегинде) avrdude.conf программист id = "avrisp" табыңыз жана өзгөртүңүз.; desc = "Atmel AVR ISP"; baudrate = 115200; # демейки 115200 түрү = stk500;; кимге: программист id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # демейки 115200 түрү = stk500;; Эми сиз Tools -> Burn Bootloader -> w/AVR ISP колдоно аласыз (Tools менюсунан туура тактаны тандагандан кийин) Commanline Сиз ошондой эле командалык сапты колдоно аласыз: arduino/hardware/bootloaders/atmega/Makefile түзөтүп, ISPTOOL/PORTту өзгөртүңүз. /SPEED to: # avrdude isp инструментинин параметрлерин киргизиңиз ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 жок сиз $ make diecimila_isp деп жазып, сактандыргычтарды жана жүктөгүчтү күйгүзүңүз. көздү күйгүз!

7 -кадам: Мүчүлүштүктөрдү оңдоо

Мүчүлүштүктөрдү оңдоо
Мүчүлүштүктөрдү оңдоо

Каталар: avrdude: ser_open (): "/dev/ttyUSB0" түзмөгүн ача албайт: Мындай файл же каталог жок Сизде туура эмес порт (-P) көрсөтүлгөн же arduino туташкан эмес. байланышты текшериңиз avrdude: Түзмөктүн колу = 0x000000 avrdude: Yikes! Түзмөктүн кол тамгасы жараксыз. Байланыштарды эки жолу текшерип, кайра аракет кылыңыз же бул чекти жокко чыгаруу үчүн -F баскычын басыңыз. Бул кандайдыр бир жалпы ката. Сиздин чип таанылган жок. Тактадагы байланышты текшериңиз (GND/5V казыктарга туташканбы?) Сиз бул катаны чипиңиз тышкы осцилляторду колдонуу үчүн конфигурацияланганда жана ал иштебей турганда аласыз (бирөө жок же туура термелбей жатат - 22pf caps жокпу?)

Сунушталууда: