Satura rādītājs:

AVR/Arduino mirgo ar Raspberry Pi: 3 soļi (ar attēliem)
AVR/Arduino mirgo ar Raspberry Pi: 3 soļi (ar attēliem)

Video: AVR/Arduino mirgo ar Raspberry Pi: 3 soļi (ar attēliem)

Video: AVR/Arduino mirgo ar Raspberry Pi: 3 soļi (ar attēliem)
Video: Lesson 2: Getting Arduino Software and using Documentation for SunFounder Arduino Kit | SunFounder 2024, Novembris
Anonim
AVR/Arduino mirgo ar Raspberry Pi
AVR/Arduino mirgo ar Raspberry Pi

Sistēmas programmētājs (ISP) ir ierīce, kuru varat izmantot daudzu mikrokontrolleru programmēšanai, piemēram, ATMega328p, kas ir Arduino Uno smadzenes. Jūs varat iegādāties kaut ko līdzīgu USBtinyISP vai pat izmantot Arduino. Šī pamācība parādīs, kā lietot Raspberry Pi kā ISP.

Programmu avrdude, ko Arduino IDE zem pārsega izmanto mikroshēmu zibspuldzei, var izmantot kopā ar daudziem programmētājiem. Viena no tās iespējām ir izmantot SPI tapas Pi paplašināšanas portā. Es paskaidrošu, kā izveidot atbilstošus savienojumus, salikt vienkāršu shēmu uz perfboard, lai jums nebūtu jāpārslēdz elektroinstalācija katru reizi, kad vēlaties mirgot mikroshēmā, un kā instalēt un lietot avrdude. Es arī parādīšu, kā ar šo metodi iegūt programmas, kas apkopotas, izmantojot Arduino IDE, uz AVR mikroshēmas, piemēram, ATmega vai ATtiny.

Nepieciešamās lietas:

  • Raspberry Pi ar instalēto jaunāko Raspbian
  • 40 kontaktu ligzda vīriešiem (vai 26 tapas, ja jums ir vecāks Pi)
  • IDE kabelis, lai izveidotu savienojumu ar jūsu Pi
  • 16 MHz kristāla rezonators
  • 22 pF kondensatori (2)
  • LED (1), kas norāda programmētāja statusu
  • 8, 14 un/vai 28 kontaktu IC ligzdas, atkarībā no tā, kādas formas mikroshēmas vēlaties mirgot
  • Daži perforators, vadi, lodēt

1. darbība. Kurpju stiprinājuma izveide

Ēku kurpju stiprinājums
Ēku kurpju stiprinājums
Ēku kurpju stiprinājums
Ēku kurpju stiprinājums
Ēku kurpju stiprinājums
Ēku kurpju stiprinājums

Seriālā perifēriskā saskarne (SPI), saukta arī par četru vadu seriālu, ir saziņas veids starp vienu galveno ierīci un vienu vai vairākām palīgiekārtām. Mēs to izmantosim mikroshēmu zibspuldzei, Pi kā galveno un mikroshēmu kā vergu. Jūs izveidosit šādus savienojumus starp Pi un mikroshēmu (lai uzzinātu, kuras tapas ir), skatiet iepriekš minētos kontaktus dažādiem AVR un Pi paplašināšanas portiem:

  • Savienojiet kopā MOSI (master-out-slave-in) tapas
  • Savienojiet SCLK (koplietošanas pulksteņa) tapas kopā
  • Pievienojiet MISO (master-in-slave-out) tapas kopā ar 220 omu rezistoru, lai pasargātu Pi no negaidīti augsta mikroshēmas sprieguma
  • Pievienojiet GPIO 25 uz Pi tieši mikroshēmas RESET tapai. Programmēšanas laikā Pi izvelk šo tapu zemu, tāpēc mēs izmantojam 10K rezistoru, lai tas būtu augsts, kad neprogrammējam, un LED ar 1K aizsardzības rezistoru, kas darbojas līdz pozitīvam spriegumam, lai programmēšanas laikā sniegtu mums jauku vizuālu atgriezenisko saiti.

Mēs savienojam zemējuma un strāvas (3.3 V) tapas starp Pi un mikroshēmām, kuras mēs vēlamies programmēt. Ja jūs vēl nezināt, Raspberry Pi tapas nav izturīgas pret 5 V - tie tiks sabojāti, ja uz tiem parādīsies vairāk nekā 3,3 V. Ja programmētajām mikroshēmām kāda iemesla dēļ ir nepieciešama 5 V jauda, mēs varētu izmantot līmeņa pārslēdzēja mikroshēmu, lai aizsargātu Pi tapas, taču es neesmu saskāries ar problēmām, izmantojot 3.3 V - tāpēc es iesaku to spēlēt droši un ietaupīt uz komponentiem.

Visbeidzot, mēs savienojam 16MHz kristāla oscilatoru pāri mikroshēmas XTAL tapām, ko arī savienojam ar zemi, izmantojot pāris 22pF kondensatorus. AVR mikroshēmas var iestatīt darbam dažādās frekvencēs, kā arī var iestatīt, lai šīs frekvences noteikšanai izmantotu iekšēju vai ārēju avotu. Ja jūsu mikroshēma ir iestatīta kā ārējs kristāls kā frekvences avots, jūs bez tā nevarēsit pārprogrammēt. Pretējā gadījumā nav svarīgi, vai tas ir tur.

Jūs varat izmantot ķēdes shēmu pēdējā attēlā kā ceļvedi kurpju stiprinājuma montāžai uz perforatoru. Jums var būt tik daudz vai maz dažādu formu IC ligzdu, cik vēlaties, vienkārši pievienojiet atbilstošās tapas paralēli Pi un kristālam. N. B. ja jūs izmantojat mana prototipa attēlu kā ceļvedi, ņemiet vērā, ka es pievienoju dažas papildu galvenes tapas un kontaktligzdas, lai es varētu piekļūt Pi tapām nesaistītu iemeslu dēļ.

2. darbība: Avrdude instalēšana un lietošana

Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana
Avrdude instalēšana un lietošana

Lai instalētu avrdude savā Pi, vienkārši ierakstiet

sudo apt-get install avrdude

Pēc tam jums būs jāiespējo SPI saskarne, ja tā vēl nav ieslēgta. Lai to izdarītu, ir komandrindas veids, taču ir daudz vieglāk izmantot Raspberry Pi konfigurācijas rīku. Tips

sudo raspi-config

un dodieties uz saskarnes opcijām, lai ieslēgtu SPI.

Lai uzliesmotu mikroshēma, pievienojiet lentes kabeli no jūsu Pi savienotājam uz perfboard shēmas un ievietojiet mikroshēmu atbilstošajā IC ligzdā (pārliecinieties, vai tā ir vērsta pareizajā virzienā).

Mirgojot ar programmu, jums arī jāpārliecinās, ka mikroshēmā ir pareizi iestatīti drošinātāji. Tie tiešām ir tikai biti mikroshēmā, kuru iestatījāt, lai norādītu, ar kādu pulksteņa ātrumu darboties, vai dzēst EEPROM, rakstot mikroshēmu, utt. Jūs varētu izlasīt pilnu AVR specifikāciju, lai noskaidrotu, kā iestatīt katru bitu, bet ir daudz vieglāk izmantot drošinātāju kalkulatoru, kas pieejams vietnē engbedded.com/fusecalc. Atlasiet izmantoto AVR daļas nosaukumu un apgabalā "Funkciju izvēle" izvēlieties vajadzīgās opcijas. Es parasti tikai pārliecinos, ka pulksteņa iestatījumi ir pareizi, un pārējās lietas atstāju pēc noklusējuma. Gandrīz vienmēr vēlaties atstāt “Sērijveida programmēšana iespējota” PĀRBAUDĪTU un “Atiestatīt atspējotu” NEPĀRBAUDĪTU - pretējā gadījumā jūs nevarēsit pārprogrammēt mikroshēmu. Ja jums ir pareizi iestatījumi, varat ritināt uz leju apgabalu "Pašreizējie iestatījumi" un nokopēt AVRDUDE argumentus, kā parādīts attēlā.

Lai iestatītu drošinātājus, ievadiet komandu

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

kur daļas nosaukums atbilst jūsu izmantotajai mikroshēmai. Daļu nosaukumu sarakstu var atrast, ievadot sudo ardude -c linuxspi -p? Tipu. Lai aktivizētu programmu, pārliecinieties, vai tā ir jūsu pašreizējā direktorijā, un ievadiet

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

Pēc abām komandām gaismas diode iedegsies mikroshēmas modificēšanas laikā.

3. darbība. Arduino programmu pievienošana AVR

Arduino programmu pievienošana AVR
Arduino programmu pievienošana AVR
Arduino programmu pievienošana AVR
Arduino programmu pievienošana AVR
Arduino programmu pievienošana AVR
Arduino programmu pievienošana AVR

Šīs pamācības galvenais uzsvars tiek likts uz jau apkopotu programmu pārvilkšanu mikroshēmās, nevis uz to rakstīšanu vai apkopošanu. Tomēr es gribēju paskaidrot, kā jūs varat apkopot bināros failus, izmantojot Arduino IDE, un iegūt tos uz tukšām AVR mikroshēmām, izmantojot šo metodi, jo Arduino ir samērā viegli iemācīties, un ir tik daudz pamācību un piemēru.

Pirmkārt, jums būs jāpievieno informācija par jūsu mirgojošajām AVR mikroshēmām, lai IDE zinātu, kā tām apkopot. Džeimss Sleemans ir ļoti noderīgi salicis dažus iestatīšanas failus, kas ir pieejami vietnē github. Lai tos izmantotu, Arduino IDE atveriet izvēlni "Preferences" un noklikšķiniet uz lodziņa blakus laukam "Papildu dēļu pārvaldnieka vietrāži URL". Parādītajā dialoglodziņā nokopējiet un ielīmējiet šādus URL:

Pēc tam dodieties uz izvēlni "Rīki" un apakšizvēlnē "Dēlis" atrodiet opciju "Dēļu pārvaldnieks …". Dialoglodziņā Boards Manager ritiniet uz leju līdz saraksta beigām un instalējiet DIY ATmega un DIY ATtiny dēļus.

Lai apkopotu savas programmas, vispirms pārliecinieties, vai izvēlnē "Procesors" esat izvēlējies pareizo mikroshēmu, kā arī pareizu procesora ātrumu. Atlasiet opciju "Izmantot sāknēšanas ielādētāju: nē", jo mēs augšupielādēsim tieši ar Pi un tādējādi varēsim izmantot papildu vietu, ko parasti aizņem Arduino sāknēšanas ielādētājs. Tagad noklikšķiniet uz pogas “Verificēt” (atzīme). Tas apkopos jūsu programmu, nemēģinot to augšupielādēt (jo jūs pats veicat šo darbību).

Pieņemot, ka viss notiek labi, tagad jums jāiegūst apkopotā programma savā Pi. IDE tos slēpj pagaidu vietā, jo tā ir paredzēta programmu augšupielādei. Operētājsistēmā Windows tas atrodas lietotāja direktorijā AppData/Local/Temp mapē, kas sākas ar “arduino_build”. Meklējiet.hex failu - tā ir jūsu programma! Nosūtiet to uz savu Pi, izmantojot FTP vai ar USB zibatmiņu, un jūs sākat biznesu.

Lai to izdarītu, jums ir nepieciešams Windows PC vai Mac, lai apkopotu savas programmas, kuras pēc tam nosūtāt uz Pi. Būtu patiešām slidens, ja to varētu izdarīt pašā Pi, bet diemžēl Raspbian krātuvē pieejamā oficiālā Arduino IDE versija ir diezgan veca un tai nav padomes pārvaldnieka. Bez tā atbilstošu iestatījumu pievienošana tukšiem AVR ir nedaudz sarežģītāka. Tur ir apmācības, lai savā Pi apkopotu jaunāku Arduino versiju - ja vēlaties to darīt, atrodiet tās! Es arī uzskatu, ka vajadzētu būt iespējai panākt, lai IDE izmantotu linuxspi programmētāju, lai mirgot mikroshēmu no paša IDE (ti, izmantojot pogu "lejupielādēt"), taču tas pārsniedz manu pacietību un prasmju līmeni - ja jūs zināt veids, ievietojiet to komentāros! Visbeidzot, jūs varētu vienkārši rakstīt programmas tieši AVR-C un apkopot tās uz Pi, izmantojot avr-gcc, sniedzot jums pilnīgu AVR izstrādes platformu Raspberry Pi. Es to esmu izdarījis pavisam nedaudz, un, ja jūs vēlaties iet šo ceļu, es jūs apsveicu. Mirgo!

Ieteicams: