Мазмұны:

Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!): 4 қадам
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!): 4 қадам

Бейне: Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!): 4 қадам

Бейне: Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!): 4 қадам
Бейне: Lesson 01 Arduino Boards | Robojax Arduino Step By Step Course 2024, Қараша
Anonim
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / Сыртқы 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!)
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / Сыртқы 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!)
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық мониторингі бар!)
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық мониторингі бар!)

Мақсаттары:

  • 8 МГц сыртқы сағатынан 3,3 В жұмыс істейтін автономды Arduino құру үшін.
  • Оны Arduino Uno-дан (5В-да жұмыс істейтін) ISP (ICSP ретінде де белгілі).

    Жүктеуші файлын өңдеу және жүктеушіні жазу (ISP арқылы)

  • FTDI кабелі арқылы автономды Arduino -дан сериялық ақпаратты оқи білу

    FTDI кабелінсіз Arduino автономды сериялық ақпаратын оқи білу

Кіріспе:

Мен өзімнің жеке жобамды құруға тырыстым, бірақ жеке Arduino -ны іске қосу, бағдарламалау және бақылау бойынша толық нұсқаулықтарды көрмедім, әсіресе 8 МГц сыртқы сағатта жұмыс істейтін және 3.3 В және Arduino UNO бағдарламалаған. Мен бірнеше жеке нұсқаулықтарды біріктірдім және несие төлеуге болатын жерде несие беру үшін ақпаратты қайдан алғанымды анықтауға тырыстым. Бұл нұсқаулық - бұл мен өз жобамды құрған кезде шешімдерді іздеу мен оның бөліктерін іздеудің көптеген күндерінің нәтижесі. компаниялар, бірақ мен айтып отырған нақты элементтерді қосу маңызды болғандықтан.

Біз бастамас бұрын жиі қойылатын сұрақтар:

Неліктен оны провайдермен бағдарламалау және FTDI арқылы бақылау қажет? Неліктен оны FTDI арқылы бағдарламалай алмайсыз?

Біз сақтандырғыш параметрлерін жаңа жүктеуші жүктеу арқылы өзгертуіміз керек, және сіз мұны сериялық байланыс арқылы жасай алмайсыз. Жүктеушіні ISP арқылы жазу керек. Бұл ATMEGA328 чипі алдын ала жүктелмегендер үшін де пайдалы.

Неліктен мен дәл осындай сериялық мониторингі бар провайдер кабелін пайдаланбаймын?

Мүмкін, мен сияқты, сізде біреуі жоқ шығар, және сіз оны жіберуді күтпей, өзіңізде бар нәрсені қолданғыңыз келеді! Менде FTDI кабелі бар (бірақ сіз оны қажет етпейтінін білесіз, бірақ бұл сіздің өміріңізді жеңілдетеді).

Маған Uno -дан автономды Arduino -ға логикалық деңгейдің ауысуы қажет емес пе?

Иә, сіз жасайсыз, бірақ мен оны өзіңіз қалай жасау керектігін көрсетемін. Интернет провайдер кабелі сияқты, менде де жоқ.

Мен оны сыртқы қуаттан ажыратқым келеді. Мен мұны қалай істеймін?

Батарея қуатынан тәуелсіз Arduino -ны қалай өшіру керектігін көрсететін көптеген нұсқаулықтар бар. Мен мұны қалай істегенімді жазамын және оны осында байланыстырамын [кейінірек енгіземін].

НҰСҚАУ

1 -қадам: автономды Arduino құру

Автономды Arduino құру
Автономды Arduino құру
Автономды Arduino құру
Автономды Arduino құру

1) Осы сілтеме бойынша жеке Arduino құрыңыз. Нұсқаулықтың сізге қажет бөлігі - бұл «ATMEGA8/168/328 негіздері».

  • Сіз Arduino Uno -дан 3.3V -тен тәуелсіз Arduino -ны қуаттай аласыз. (Оқу құралының «Қуат көзіне айналу жиілігін қосу» деп аталатын бірінші бөлімін өткізіп жіберуге болады.
  • 16 МГц сағатты 8 МГц жиілікке ауыстырыңыз.
  • VCC және Gnd (екі жағы) VRef және Gnd арасында 0.1 uF қақпақтарын қосыңыз.

    • Менде бұл суреттер жоқ, бірақ олар менің жобаларымда бар!
    • Мен бұл суреттегі 16 МГц осциллятор екенін білемін. Мен фотосуретті нұсқаулықта не істегенімді білмес бұрын түсірдім!

ATMEGA328p түйреуіш кескін көзі мұнда.

Ақаулықтарды жою бойынша кеңестер

  • ATMEGA -ның 1 -ші шкафына VCC -ден 10 к резистор арқылы жоғары орнатылғанына көз жеткізіңіз. Егер түйреуіш жерге тұйықталған немесе өзгермелі болса, ол жұмыс істемейді.
  • Сымдар мен осциллятордың дұрыс салынғанын екі рет тексеріңіз.
  • 8 МГц осциллятор үшін 22pF конденсаторларды пайдаланғаныңызға көз жеткізіңіз. Ол басқаша жұмыс істемейді.
  • Құрылғының қуат көзіне қосылғанына көз жеткізіңіз.

2 -қадам: Интернет провайдерінің сымы

ISP сымдары
ISP сымдары
ISP сымдары
ISP сымдары

2) Интернет провайдерінің бөлігін жасаңыз

Сіз бұл нұсқаулықты ұстанатын боласыз, бірақ өте маңызды қадам.

Нұсқаулықты орындауға болмайтындығыңыздың себебі - сізде маңызды бөлік жоқ: сіз 3.3В құрылғысын 5В қосылымдарынан тікелей бағдарламалай алмайсыз. (Кем дегенде, мен алмадым: мен мұны жасамайынша жұмыс істемейді). Сізге 5В сигналдарын БҰҰ -нан 3.3Vstandalone Arduino -ға ауыстыратын логикалық деңгейлік ауыстырғышты енгізу қажет.

Егер сізде логикалық деңгейдің ауыстырғыш тақтасы болмаса, оны резисторлардың көмегімен жасауға болады. Логикалық деңгей ауыстырғыштың бәрі шын мәнінде (егер сіз төмен қарай жылжып отырсаңыз) - бұл кернеу бөлгіш. Сізге тым жоғары немесе тым төмен 6 резистор қажет. Мен 220 Ом резисторды қолдандым, бірақ мен тіпті 10 к резистор жұмыс істейтініне сенімдімін.

SCK (цифрлық түйреуіш 13) және MOSI (цифрлық түйреуіш 11) үшін кернеуді бөлгішті қолданып, кернеуді үштен біріне азайтыңыз. Негізінде сізде бір Uno SCK және MOSI болады, содан кейін резистор (220 Ом), содан кейін SCD және MOSI дербес Arduino -ға қосылады және жерге 2 резистор (барлығы 440 Ом) қосылады.

Сонымен, осы бөлімнің басындағы сілтемені оқыңыз, бірақ SCK пен MOSI арасындағы кернеу бөлгіштерін қосыңыз. Естеріңізде болсын, SCK, MISO, MOSI және RESET Uno -дағы 13, 12, 11 және 10 түйреуіштер, бірақ түйреуіштер 19, 18, 17 және 1 дербес Arduino!

Ақаулықтарды жою бойынша кеңестер

  • Сымдарды тексеріңіз

    • Егер сіз бағдарламаны жазу кезінде 0 -ге тең құрылғы қолтаңбасын алсаңыз, онда сіздің сымдарыңыз өшіп қалуы мүмкін немесе автономды Arduino қуат алмайды.
    • Сонымен қатар, қалпына келтіру сымы Uno -дағы 10 -дан автономды Arduino -да 1 -ге дейін жеткізілгеніне көз жеткізіңіз
  • Вольт бөлгіштерді тексеріңіз

    SCK және MOSI резисторлары үшін 1: 2 (жоғары жағы: төменгі жағы) қатынасы бар кернеу бөлгіштері бар екеніне көз жеткізіңіз. Мысалы, +5в жағында 220 резистор, содан кейін жерге 220 220 Ом резисторы (барлығы 440 Ом) ортасында автономды Arduino сигналын береді

3 -қадам: Жүктеуші файлын өңдеңіз, жүктеушіні жазыңыз және эскизіңізді жүктеңіз

Жүктеуші файлын өңдеңіз, жүктеушіні жазыңыз және эскизіңізді жүктеңіз
Жүктеуші файлын өңдеңіз, жүктеушіні жазыңыз және эскизіңізді жүктеңіз
Жүктеуші файлын өңдеңіз, жүктеушіні жазыңыз және эскизіңізді жүктеңіз
Жүктеуші файлын өңдеңіз, жүктеушіні жазыңыз және эскизіңізді жүктеңіз

3) Жүктеуші (board.txt) файлын өңдеңіз және жүктеушіні автономды Arduino -ға жазыңыз. Эскизді жүктеңіз

Жүктеуші файлын өңдеу

Дербес Arduino -ны іске қосу үшін жүктеушінің жүктелген сақтандырғыш параметрлерін өзгерту қажет болады. Әйтпесе, сіз жүктеушіні жүктей аласыз, бірақ ешқандай эскиздерді орындай алмайсыз.

Сіз қоңыр түсіруді толығымен алып тастай аласыз, бірақ мен оны ұсынбаймын. Оның орнына біз оны 2,7 В -тан төмендетіп (әдепкі бойынша менің чипке кіретін) және оны 1,8 В -қа ауыстырамыз. Сайып келгенде, сақтандырғыш калькуляторын пайдаланып, сіз қоңыр күйге келтіру параметрлерін таңдай аласыз.

Менің тақталар файлы келесі жерде болды:

C: / Program Files (x86) Arduino / hardware / arduino / avr

Дегенмен, сіздің аппараттық қалтаңызда /arudino /-дан басқа бірнеше board.txt файлы болуы мүмкін. ATMEGA328p (3.3V, 8 МГц) бөлімін өзгертетіндіктен, Сіз / arduino / location -де board.txt файлын өңдейсіз.

Arduino IDE -ді қайта орнатсаңыз немесе жаңартсаңыз, өңделген board.txt файлын жоғалтуыңыз мүмкін (осы хабарламаға сәйкес). Бұл дегеніміз, егер сіз Arduino IDE -ді жаңартсаңыз, дәл сол Arduino -дан басқасын жасағыңыз келсе, осы параметрлерді қайта өзгертуге тура келеді.

Board.txt файлында төмен жылжыңыз немесе «Pro Mini» іздеңіз. Бөлім «pro.name = Arduino Pro немесе Pro Mini» деп аталады. «Pro.menu.cpu.8MHzatmega328 = ATmega328P (3.3V, 8 МГц)» кіші бөліміне төмен айналдырыңыз.

«Pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses = _» деген жолды іздеңіз.

Параметрлерді xFE етіп өзгертіңіз. (pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses = 0xFE).

Сақтау және шығу.

Жүктеуші жүктелуде

Сіз мұны жасағаннан кейін, 1 -ден 5 -ке дейінгі провайдер нұсқаулығындағы «Нұсқаулар» бөлімін орындауға болады.

Түсіндіру үшін кейбір нәрселер:

  • «Arduino провайдер ретінде» эскизін жүктеген кезде сізге дұрыс COM порты мен процессор таңдалғанына көз жеткізу керек.

    Бұл жағдайда, сіз Arduino-ның COM портын Tools-> Port: COM X (Arduino Uno) ішінен таңдағаныңызды білдіреді және тақта Arduio Uno

  • Дұрыс бағдарламашыны таңдаңыз: Tools-> Programmer-> Arduino ретінде ISP ретінде.

    ArduinoISP немесе ArduinoISP.org ЕМЕС

  • Жүктеуді күйдірмес бұрын «Pro or Pro Mini» тақтасы мен процессорды «ATMEGA328p (3.3V, 8 МГц)» етіп өзгертіңіз.

    Дұрыс тақта түрін таңдамайынша, процессор бөлімін көрмейсіз

Эскиздер жазар алдында Жүктеушіні автономды Arduino -ға жазыңыз.

Эскиз жүктелуде

Бұл өте маңызды. Енді сіз Arduino бағдарламасын жасай аласыз: Uno және Standalone. Егер сіз дұрыс құрылғыға жүктемесеңіз, жоғарыдағы бөлімді қайталап, Unduo -да Arduino -ны ISP бағдарламасы ретінде қайта жазуыңыз керек.

Эскизді жүктегенде, Құралдар -> Программист көмегімен жүктеу түймесін немесе Ctrl+Shift+U пернелерін басыңыз. Сіз сондай -ақ shift пернесін басып тұра аласыз және көрсеткі белгішесін баса аласыз, бірақ жылжуды ұстамай көрсеткі белгішесін баспаңыз.

Ақаулықтарды жою бойынша кеңестер

  • Ақаулықтарды жою үшін нақты шығуды қосыңыз.
  • «Құрылғының қолтаңбасы - барлығы 0!» [Бұл жағдай болуы ықтимал.]

    • провайдердің сымдары бөлімін қараңыз. Немесе сіз дербес Arduino сымын дұрыс қосқан жоқсыз немесе ол қосылмаған.
    • Дұрыс COM порты мен тақта / процессорды таңдағаныңызға көз жеткізіңіз. Жүктегішті күйдіріп жатқанда, сіз Pro Mini 3.3V 8 MHz жүктеушісін жанып жатқандығына сенімді болуыңыз керек немесе сақтандырғыштар дұрыс орнатылмаған.
  • «Мен board.txt файлын өңдедім, бірақ түзетулерді көрмеймін»

    Дұрыс board.txt файлын өңдегеніңізге көз жеткізіңіз. Егер өңдеулер жұмыс істемесе Arduino IDE жаңартуға тырысыңыз немесе / аппараттық / қалтадағы басқа қалталарды уақытша алып тастаңыз

  • «Board.txt бағдарламасының шағын бөлігін таба алмаймын!»

    Сіз дұрыс board.txt файлын іздемейсіз. Arduino // hardware/arduino/қалтасын тексеріңіз

4 -қадам: сериялық байланыс

4) Дербес құрылғыны сериялық байланыс арқылы бақылаңыз

Сіз мұны 2 әдіспен жасай аласыз, сондықтан егер сізде FTDI кабелі / ажырату тақтасы болмаса, бұл әлемнің соңы емес. Есіңізде болсын, сіз жеке Arduino -ға жүктеген эскизде Serial.print нұсқалары болуы керек, егер сіз оны бағдарламада жазбасаңыз, сіз ештеңе көрмейсіз!

Егер сізде FTDI кабелі болмаса

Жүктеушіні күйдіріп, қажетті бағдарламаны жазғаннан кейін, Arduino Uno -дан ATMEGA328 DIP чипін алып тастауға болады (өте мұқият және оның қай бағытқа оралғанын есте сақтап). Бұл үшін тегіс ұшты пайдалануды ұсынамын.

Сіз автономды Arduino RX -ті Uno RX -ке және TX -ке TX қосуға болады. Иә, бұл керісінше, бірақ сіз Uno туралы ақпаратты IDE сериялық мониторына «жіберу» деп ойлай аласыз. Сондықтан сіз бұл жағдайда RX -ты TX пен TX ro RX -ке қоспайсыз. Бағдарламаны іске қосқан кезде Arduino Uno COM портын таңдағаныңызға көз жеткізіңіз және сериялық монторды ашыңыз. Сіз Ардуиноның сериялық шығарылымын көре аласыз.

(Бұл шешім Robin2 -ге есептеледі.)

Егер сізде FTDI кабелі / тақтасы болса

(Мен Sparkfun FTDI тақтасын қолданамын, оны артқы жағындағы дәнекер тақтасын қолдана отырып 3.3В -ке айналдырдым)

Желілік тақтаның GND -ін Arduino -ның жеке жеріне жалғап, RX -ті Arduino TX пен TX -ке RX -ке қосыңыз. (Егер сіз жай сериялық бақылауда болсаңыз және ештеңе жазбайтын болсаңыз, жай ғана RX тақтасын Arduino TX -ке қосуға болады).

Осы кезде Uno OR FTDI кабелі арқылы жеке Arduino -ны қосу мүмкіндігі бар екенін есте сақтаңыз. Екі қуат көзін бір уақытта қоспаңыз! COM портын өзгертуге тура келетінін ескеріңіз, себебі ол Arduino Uno COM портынан өзгеше болады.

Ақаулықтарды жою бойынша кеңестер

  • - Мен ештеңе көрмеймін!

    • Дұрыс COM порты қосылғанын тексеріңіз.
    • Сізде соңғы FTDI драйверлері бар -жоғын тексеріңіз.
    • ЖЕР ҚОСЫЛҒАНЫН ҚАМТЫҢЫЗ.
  • «Мен тек сериялық мониторда қоқыс шығаруды көремін!»

    • Сіз жақсы белгі болатын нәрсені аласыз.
    • Дегенмен, FTDI тақтасының кернеуін тексеріңіз.
    • Автокөлік Arduino TX -те 3,3 В шығарады, ал егер 5 вольтты күтетін болса, FTDI тақтасы оны қабылдамауы мүмкін.
    • Бод жылдамдығын тексеріңіз.
    • Жерге қосылғанына және тек бір қуат көзіне қосылғанына көз жеткізіңіз! (Яғни, жеке Arduino -ны Uno мен FTDI тақтасынан қоспаңыз.

Ұсынылған: