Kazalo:
- 1. korak: Izdelava samostojnega Arduina
- Korak: Ožičenje ponudnika internetnih storitev
- 3. korak: Uredite datoteko zagonskega nalagalnika, zapisite zagonski nalagalnik in naložite svojo skico
- 4. korak: Serijska komunikacija
Video: Samostojna Arduino 3.3V W / zunanja ura 8 MHz, ki se programira iz Arduino Uno prek ICSP / ISP (s serijskim nadzorom!): 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Cilji:
- Za izdelavo samostojnega Arduina, ki deluje na 3.3V pri 8 MHz zunanji uri.
-
Za programiranje prek ponudnika internetnih storitev (znanega tudi kot ICSP, serijsko programiranje v vezju) iz Arduino Uno (deluje pri 5V)
Če želite urediti datoteko zagonskega nalagalnika in zapisati zagonski nalagalnik (prek ponudnika internetnih storitev)
-
Če želite prebrati serijske podatke iz samostojnega Arduina prek kabla FTDI
Če želite prebrati serijske podatke s samostojnega Arduina brez kabla FTDI
Preambula:
Poskušal sem zgraditi svoj samostojen projekt, vendar nisem videl celovitih navodil o delovanju, programiranju in spremljanju samostojnega Arduina - še posebej tistega, ki deluje z zunanjo uro 8 Mhz in 3,3 V ter ga je programiral Arduino UNO. Sestavil sem več ločenih vodnikov in poskušal sem navesti, od kod sem dobil podatke, da navedem, kje je dolg zapadel. Ta priročnik je rezultat večdnevnega iskanja rešitev in iskanja njegovih delov hkrati, medtem ko sem gradil svoj projekt. Prav tako sem povezal več uporabnih izdelkov, ki bi mi prišli prav zato, ker nisem povezan z nobenim od podjetja, ampak ker je pomembno vključiti posebne postavke, na katere se nanašam.
Pogosta vprašanja, preden začnemo:
Zakaj ga morate programirati pri ponudniku internetnih storitev in spremljati prek FTDI? Zakaj ga preprosto ne morete programirati prek FTDI?
Nastavitve varovalk bomo morali spremeniti tako, da bomo vnesli nov zagonski nalagalnik, tega pa ne morete storiti prek serijske komunikacije. Zagonski nalagalnik morate zapisati prek ponudnika internetnih storitev. To je uporabno tudi za tiste, ki nimajo vnaprej naloženega čipa ATMEGA328.
Zakaj ne bi uporabil samo kabla ponudnika internetnih storitev s serijskim nadzorom, kot je ta?
Morda tako kot jaz slučajno nimate enega in namesto da čakate, da ga pošljete, bi radi uporabili tisto, kar imate! Imam kabel FTDI (čeprav boste na koncu ugotovili, da ga niti ne potrebujete: samo olajša vam življenje).
Ali ne potrebujem prestavljalca logične ravni iz Uno v samostojni Arduino?
Ja, imaš, ampak pokazal ti bom, kako si ga sam narediš. Tako kot kabel ponudnika internetnih storitev ga tudi slučajno nimam.
Hočem, da ga poženem iz zunanjega napajanja. Kako to naredim?
Obstaja veliko vodnikov, ki prikazujejo, kako zagnati samostojni Arduino iz baterije. Napisal bom, kako sem to storil, in ga povezal tukaj [bom vstavil kasneje].
VODIČ
1. korak: Izdelava samostojnega Arduina
1) Na tej povezavi sestavite samostojni Arduino. Edini del vodnika, ki ga potrebujete, so "Osnove ATMEGA8/168/328".
- samostojni Arduino lahko napajate iz 3.3V iz Arduino Uno. (Lahko preskočite prvi del vadnice z naslovom "Dodajanje vezja za napajanje."
- Uro 16 MHz zamenjajte z uro 8 Mhz.
-
Dodajte 0,1 uF zgornje meje med: VCC in Gnd (na obeh straneh) VRef in Gnd.
- Nimam teh na sliki, vendar jih imam v svojih projektih!
- Vem, da je na fotografiji 16 MHz oscilator. Fotografiral sem, preden sem v vodniku ugotovil vse, kar sem naredil!
Vir slike pinout ATMEGA328p tukaj.
Pogosti nasveti za odpravljanje težav
- Prepričajte se, da ste ponastavili visoko nastavljeno vrednost preko 10k upora iz VCC na pin 1 ATMEGA. Če je nožica ozemljena ali plavajoča, ne bo delovala.
- Dvakrat preverite, ali ste pravilno vstavili žice in oscilator.
- Za oscilator 8 MHz uporabite 22pF kondenzatorje. Drugače ne bo šlo.
- Prepričajte se, da je naprava napajana.
Korak: Ožičenje ponudnika internetnih storitev
2) Ustvarite del ponudnika internetnih storitev
Temu vodniku boste sledili z majhnim, a zelo pomembnim korakom.
Razlog, zakaj ne morete preprosto slediti vodiču, je, ker pogrešate pomemben del: 3.3V naprave ne morete programirati neposredno iz 5V povezav. (Vsaj nisem mogel: ne bi delovalo, dokler tega ne storim). Vstaviti morate logični menjalnik, ki preusmeri 5V signale iz UNO na samostojni Arduino 3.3V.
Če nimate plošče za prestavljanje logičnega nivoja, jo lahko naredite z upori. Vse, kar je v resnici menjalnik logične ravni (dokler se premikate navzdol), je delilnik napetosti. Potrebovali boste 6 istih uporov, nič previsoko ali prenizko. Uporabil sem 220 ohmske upore, vendar sem prepričan, da bi delovali tudi 10k upori.
Pri SCK (digitalni pin 13) in MOSI (digitalni pin 11) uporabite napetostni delilnik, da napetost zmanjšate za tretjino. V bistvu boste imeli en Uno SCK in MOSI, nato upor (220 ohmov), nato SCK in MOSI, priključen na samostojni Arduino in 2 upora (skupaj 440 ohmov) na maso.
Torej, preberite vodnik, povezan na začetku tega razdelka, vendar vključite delilnike napetosti med SCK in MOSI. Ne pozabite, da so SCK, MISO, MOSI in RESET zatiči 13, 12, 11 in 10 na Uno, vendar so zatiči 19, 18, 17 in 1 na samostojnem Arduinu!
Pogosti nasveti za odpravljanje težav
-
PREVERITE OŽIČENJE
- Če med pisanjem programa dobite podpis vseh 0, potem je ožičenje skoraj zagotovo izklopljeno ali pa samostojni Arduino ne dobiva energije.
- Prepričajte se tudi, da imate žico za ponastavitev od 10 na Uno do 1 na samostojnem Arduinu
-
PREVERITE DELOVNIKE NAPETOSTI
Prepričajte se, da imate napetostne delilnike z razmerjem 1: 2 (visoka stran: nizka stran) za upore za SCK in MOSI. Npr. 220 upor na strani +5v in nato 2 220 ohmska upora (skupaj 440 ohmov) proti tlom s signalom proti samostojnemu Arduinu na sredini
3. korak: Uredite datoteko zagonskega nalagalnika, zapisite zagonski nalagalnik in naložite svojo skico
3) Uredite datoteko zagonskega nalagalnika (board.txt) in zaženite zagonski nalagalnik v samostojni Arduino. Naložite svojo skico
Urejanje datoteke zagonskega nalagalnika
Če želite zagnati samostojni Arduino, boste morali urediti nastavitve varovalk rjavega zagona nalagalnika. V nasprotnem primeru boste lahko nanj zapisovali zagonski nalagalnik, vendar ne boste mogli zagnati skic.
Odkrivanje porjavitve lahko popolnoma odstranite, vendar tega ne priporočam. Namesto tega ga bomo znižali z 2,7 V (kar je privzeto prišlo na mojem čipu) in ga zamenjali z 1,8 V. Na koncu pa lahko z uporabo kalkulatorja varovalk izberete, katere nastavitve rjavenja želite.
Moja datoteka datotek je bila na tem mestu:
C: / Program Files (x86) Arduino / hardware / arduino / avr
Vendar pa imate v mapi strojne opreme lahko več datotek board.txt, razen /arudino /. Datoteko board.txt boste urejali na / arduino / lokaciji, ker boste spreminjali razdelek ATMEGA328p (3,3 V, 8 MHz).
Urejena datoteka Board.txt lahko izgubite, če znova namestite ali posodobite Arduino IDE (v skladu s to objavo). To pomeni, da morate posodobiti Arduino IDE, če želite ustvariti še enega istega samostojnega Arduina.
V datoteki board.txt se pomaknite navzdol ali poiščite »Pro Mini«. Razdelek ima naslov "pro.name = Arduino Pro ali Pro Mini". Pomaknite se navzdol do pododdelka "pro.menu.cpu.8MHzatmega328 = ATmega328P (3,3 V, 8 MHz)".
Poiščite vrstico z napisom "pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses = _"
Spremenite nastavitve na xFE. (pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses = 0xFE).
Shrani in zapri.
Zažiganje zagonskega nalagalnika
Ko to storite, lahko sledite razdelku »Navodila« v priročniku za ponudnike internetnih storitev od 1. do 5. koraka.
Nekaj stvari je treba pojasniti:
-
Ko naložite skico "Arduino kot ponudnik internetnih storitev", morate zagotoviti, da ste izbrali pravilna vrata COM in procesor.
V tem primeru to pomeni, da ste v Orodja-> Vrata: COM X (Arduino Uno) izbrali vrata COM vašega Arduina in plošča je Arduio Uno
-
Izberite ustreznega programerja: pod Orodja-> Programer-> Arduino kot ponudnik internetnih storitev.
NE ArduinoISP ali ArduinoISP.org
-
Preden zažgete zagonski program, spremenite ploščo "Pro ali Pro Mini" in procesor na "ATMEGA328p (3,3 V, 8 MHz)".
Oddelek procesorja ne boste videli, dokler ne izberete pravilne vrste plošče
Zaženite zagonski nalagalnik na samostojni Arduino, preden poskusite nanj narisati skice.
Nalaganje skice
To je zelo pomembno. Zdaj lahko programirate bodisi Arduino: Uno in samostojno. Če ne naložite na pravilno napravo, morate ponoviti zgornji razdelek in Arduino znova zapisati kot program za ponudnike internetnih storitev na Uno.
Ko naložite skico, kliknite Orodja -> Naloži s programerjem ALI kliknite Ctrl+Shift+U. Prav tako lahko držite tipko Shift in kliknete ikono puščice, vendar ne kliknite ikone puščice, ne da bi držali tipko shift.
Pogosti nasveti za odpravljanje težav
- Za odpravljanje težav vklopite podroben izhod.
-
"Signatura naprave je vse 0!" [Ta se bo zelo verjetno pojavil.]
- glejte razdelek ožičenje ponudnika internetnih storitev. Ali ste samostojni Arduino napačno povezali ali pa se ne vklopi.
- Prepričajte se, da ste izbrali pravilna vrata COM in ploščo / procesor. Ko zapisujete zagonski nalagalnik, MORATE zagotoviti, da na njem zapisujete zagonski nalagalnik Pro Mini 3.3V 8 MHz, sicer se varovalke ne bodo pravilno nastavile.
-
"Uredil sem datoteko board.txt, vendar ne vidim popravkov"
Poskrbite, da ste uredili pravilno datoteko board.txt. Poskusite posodobiti Arduino IDE, če spremembe ne delujejo, ali začasno odstranite druge mape v / strojni / mapi
-
"Ne najdem pro mini odseka board.txt!"
Ne iščete prave datoteke files.txt. Preverite mapo Arduino // hardware/arduino/
4. korak: Serijska komunikacija
4) Nadzirajte samostojno napravo prek serijske komunikacije
To lahko resnično storite z dvema metodama, zato, če sploh nimate kabla / odklopne plošče FTDI, to še ni konec sveta. In ne pozabite, da mora skica, ki ste jo naložili v samostojni Arduino, imeti izjave Serial.print, ki jih lahko preberete: če tega niste napisali v programu, ne boste videli ničesar!
Če nimate kabla FTDI
Ko zažgete zagonski nalagalnik in napišete želeni program, lahko (zelo previdno in ne pozabite, v katero smer se vrne) odstranite čip ATMEGA328 DIP iz Arduino Uno. Priporočam, da za to uporabite plosko glavo.
Samostojni Arduino's RX lahko povežete z Uno RX in TX na TX. Da, običajno je nasprotno, vendar si lahko o Uno predstavljate kot "posredovanje" podatkov na serijski monitor IDE. Zato v tem primeru ne povežete RX s TX in TX ro RX. Ko zaženete program, se prepričajte, da ste izbrali vrata Arduino Uno COM in odprite serijski montor. Videli boste serijski izhod samostojnega Arduina.
(Ta rešitev je pripisana Robin2 tukaj.)
Če imate kabel / ploščo FTDI
(Uporabljam ploščo Sparkfun FTDI, ki sem jo s spajkalno ploščo na hrbtni strani pretvoril v 3,3 V)
Preprosto priključite GND plošče za prekinitev na samostojno Arduinovo ozemljitev in priključite RX prekinjevalne plošče na TX Arduina in TX na RX. (Če samo spremljate serijo in ne pišete ničesar, lahko preprosto povežete RX krožne plošče z Arduino TX).
Upoštevajte, da imate na tej točki možnost napajanja samostojnega Arduina prek kabla Uno ALI FTDI. Ne priključujte obeh virov napajanja hkrati! Upoštevajte, da boste morali spremeniti vrata COM, ker se bodo razlikovala od vrat Arduino Uno COM.
Pogosti nasveti za odpravljanje težav
-
"Ne vidim ničesar!"
- Preverite, ali imate omogočena pravilna vrata COM.
- Preverite, ali imate najnovejše gonilnike FTDI.
- Zagotovite, da je ozemljitev povezana.
-
"Vse, kar vidim, je izpis smeti v serijskem monitorju!"
- Dobiš nekaj, kar je dober znak.
- Vendar preverite napetost plošče FTDI.
- Samostojni Arduino oddaja 3.3V na svojem TX -u, plošča FTDI pa ga morda ne bo prevzela, če pričakuje 5v.
- Preverite hitrost prenosa.
- Prepričajte se, da ste priključeni na ozemljitev in samo en vir napajanja! (Tj. Ne napajajte samostojnega Arduina z Uno IN plošče FTDI.
Priporočena:
Super kul samostojna LED-maska: 6 korakov
Super-kul Self-made LED-mask: Za začetek: Tega navodila ne smete uporabljati kot zdravniški nasvet, maska na noben način ni preizkušena. Ne posnemajte ga kot zaščitno opremo, je bolj kostum. Tako navdihnjen z @wow_elec_tron na Instagramu, sem se odločil, da naredim svojo lastno LED
Nadzorujte naprave prek interneta prek brskalnika. (IoT): 6 korakov
Nadzorujte naprave prek interneta prek brskalnika. (IoT): V tem navodilu vam bom pokazal, kako lahko prek spletnega brskalnika nadzirate naprave, kot so LED, releji, motorji itd. Do kontrol lahko varno dostopate prek katere koli naprave. Spletna platforma, ki sem jo uporabil tukaj, je RemoteMe.org obiščite
Inkapsulacija koračnega servo motorja s serijskim krmiljenjem prek Arduina z uporabo 3D tiskalnika - Pt4: 8 korakov
Inkapsuliranje koračnega servo motorja s serijskim krmiljenjem prek Arduina s 3D -tiskalnikom - Pt4: V tem četrtem videu serije Motor Step bomo uporabili tisto, kar smo se prej naučili, za izdelavo koračnega servo motorja s krmiljenjem prek serijske komunikacije in realnega pozicijske povratne informacije z uporovnim kodirnikom, ki ga nadzira Arduino. V
Zabava s serijskim CMD !!: 3 koraki
Zabava s paketnim CMD -jem !!: V tem navodilu vas bom naučil začetnike (razen če ste profesionalec, ki v tem primeru ne bi smel zapravljati časa) nekaj o paketnih in preprostih ukazih, ki vam lahko nekoliko olajšajo čas na računalniku bolje, kot da ga zapravite za kakšen cra
Prenos datotek prek vašega LAN -a prek BitTorrenta: 6 korakov
Prenos datotek prek vašega LAN -a prek BitTorrenta: Včasih boste morda morali prenesti datoteke po omrežju na več računalnikov. Čeprav bi ga lahko postavili na bliskovni pogon ali CD/DVD, bi morali v vsak računalnik kopirati datoteke, zato lahko traja nekaj časa, da vse datoteke kopirate (zlasti z