Indholdsfortegnelse:
Video: Programmering af ATTiny85, ATTiny84 og ATMega328P: Arduino As ISP: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Forord
Jeg har for nylig udviklet et par ESP8266 -baserede IoT -projekter og fandt ud af, at kerneprocessoren kæmpede med at udføre alle de opgaver, jeg havde brug for til at styre, så jeg besluttede at distribuere nogle af de mindre vigtige aktiviteter til en eller flere forskellige mikrokontroller i på denne måde frigør ESP8266 for at komme videre med sit job med at være en IoT -enhed.
Da jeg ønskede at udgive mit projekt til et så bredt publikum som muligt, valgte jeg at bruge Arduino IDE som valgfri udviklingsplatform, da det har et så bredt understøttet samfund.
Designbegrænsninger
For at sikre en rimelig spredning af målenheder, der muliggjorde valg af en passende mikrokontroller til den aktuelle applikation, besluttede jeg mig for følgende Atmel -dele; ATMega328P, ATTiny84 og ATTiny85. For at begrænse kompleksiteten af den nødvendige programmør begrænsede jeg valget af ur til internt for alle enheder og 16MHz eksternt for kun ATMega328P og ATTiny84.
Det følgende er en samling noter om programmering med Arduino og en beskrivelse af, hvordan jeg sammensatte en simpel Arduino Uno -baseret programmer til disse enheder (billeder ovenfor).
Hvilke dele har jeg brug for?
For at bygge programmereren skal du bruge følgende dele
- 1 fra Arduino Uno
- 2 off 28 pin Zero Insertion Force (ZIF) DIP -stik (til at rumme ATMega328P, ATTiny85, ATTiny84)
- 1 off Arduino prototype skjold (jeg fik mit her;
- 2 slukkede 5MM lysdioder
- 2 off 1K modstande
- 1 off 10K modstand
- 4 off 22pF Keramiske kondensatorer
- 2 off 16MHz krystaller
- 3 off 0.1uF keramiske kondensatorer
- 1 off 47uF elektrolytkondensator
- 1 off 10uF elektrolytkondensator
- Wirewire i forskellige længder.
Hvilken software har jeg brug for?
Arduino IDE 1.6.9
Hvilke færdigheder har jeg brug for?
- Kendskab til Arduino IDE
- Noget kendskab til elektronik og hvordan man lodder
- Meget manuel fingerfærdighed
- En masse tålmodighed og godt syn
Emner dækket
- Generel introduktion til programmering af Atmel Microcontrollers
- ISP eller Bootloader: Det hele er lidt forvirrende
- Kredsløbsoversigt
- Opsætning af din programmør
- Brug af din Arduino ISP -programmerer
- Udvikling af kode på dit målsystem
- Gotchas
- Konklusion
- Referencer brugt
Ansvarsfraskrivelse
Som altid bruger du disse instruktioner på egen risiko, og de kommer ikke understøttet
Trin 1: Generel introduktion til programmering af Atmel mikrokontrollere
Der er to tilgængelige metoder til programmering af Atmel mikrokontroller;
- I systemprogrammering (ISP),
- Selvprogrammering (via en bootloader).
Den tidligere metode (1) programmerer mikrokontrolleren direkte via SPI -interface efter først at have sat enheden i nulstilling. Medmindre andet er instrueret, skrives et kompileret eksekverbart kildeprogram trinvist til enheden i kodehukommelsen, hvorfra det udføres ved opstart. Der er mange ISP -enheder i stand til at programmere Atmel -enheder, hvoraf nogle få er (billede 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Billede 2 viser, hvordan ISP -enheden opretter forbindelse til ATMega328P (mærkeligt markeret ICSP) på Arduino Uno R3 -kortet (billede 3 giver ISP -stiften ud). Det er også muligt at programmere en Atmel -mikrokontroller via dens SPI -interface ved hjælp af en Arduino Uno som ISP (billede 4), her bruges Uno til at programmere en ATMega328P.
Sidstnævnte metode (2) bruger en lille kodestub kendt som en 'bootloader', der er permanent bosat i eksekverbar kodehukommelse (normalt låst for at forhindre utilsigtet overskrivning af billede 5). Denne kode udføres først ved opstart eller nulstilling af enhed og giver mikrokontrolleren mulighed for at omprogrammere sig selv med ny kode, der modtages via en af dens grænseflader fra en kilde, der er ekstern til sig selv. Bootloader-metoden bruges af Arduino IDE til at omprogrammere Arduinos kortlagt som en USB comm-port på pc'en (Eller MAC, Linux-boks osv., Billede 6) og i tilfælde af Arduino Uno kommunikerer med Atmel-enheden via den serielt interface på IC Pins 2 og 3 i ATMega328P. Også Arduino Uno (med ATMega328P micrcontroller fjernet) kan bruges til at programmere en ATMega328P via bootloadermetoden, der effektivt fungerer som en USB til seriel adapterenhed (billede 7).
Hvad er en USB til seriel adapter?
En USB til seriel adapter er et hardware, der tilsluttes din pc'ers USB-port og ligner en seriel com-port (en arv fra tidligere tider, hvor computere brugte en seriel kommunikationsstandard kendt som EIA-232, V24 eller RS232), så du kan sende og modtage serielle data på de samme elektriske niveauer i mikrokontrolleren. Når du vælger Værktøjer -> Port -> COMx fra Arduino IDE, tilslutter/tilslutter du din pc til din Arduino.
En enhed som denne omtales undertiden som en FTDI (billede 8, som faktisk er et mærke) eller CH340G osv. USB til seriel på Arduino uno opnås via en ATMega16U2-MU (R) IC ZU4 som i Arduino-skematisk under.
For klarheds skyld identificerer billede 9 de to Atmel -enheder og deres respektive ISP -stik på Arduino Uno R3.
Bemærk 1: Hvis du vælger at gå ned på FTDI -enhedsruten, skal du sørge for at købe fra en velrenommeret sælger, da der har været mange billige forfalskede enheder på markedet, som har mislykkedes ved anvendelse af en Windows -opdatering.
Anbefalede:
Attiny85 Samtidig programmering eller græskar med flerfarvede øjne: 7 trin
Attiny85 Samtidig programmering eller græskar med flerfarvede øjne: Dette projekt viser, hvordan man styrer to 10 mm trefarvede almindelige anode-LED’er (flerfarvede øjne til Pumpkin Halloween Glitter) med Attiny85-chip. Målet med projektet er at introducere læseren til kunsten med samtidig programmering og i brugen af Adam D
ATTiny84-baseret 3A trin-ned LED-driver: 7 trin (med billeder)
ATTiny84-baseret 3A trin-ned LED-driver: Hvis du vil drive 10W LED'er, kan du bruge denne 3A LED-driver. Med 3 Cree XPL LED'er kan du opnå 3000 lumen
Programmering af chips med din Arduino - AVR ISP, der dækker ATTiny85, ATTiny2313 og ATMega328: 3 trin
Programmering af chips med din Arduino - AVR ISP, der dækker ATTiny85, ATTiny2313 og ATMega328: Jeg fandt dette som et udkast fra mange år siden. Det er stadig nyttigt for mig i det mindste, så jeg kommer til at offentliggøre det! Denne instruktive er en samling af viden indsamlet fra "nettet" og "nstructables". Det dækker programmeringen af AVR Microco
Billigste Arduino -- Mindste Arduino -- Arduino Pro Mini -- Programmering -- Arduino Neno: 6 trin (med billeder)
Billigste Arduino || Mindste Arduino || Arduino Pro Mini || Programmering || Arduino Neno: …………………………. Abonner venligst på min YouTube -kanal for flere videoer ……. .Dette projekt handler om, hvordan man grænseflade en mindste og billigste arduino nogensinde. Den mindste og billigste arduino er arduino pro mini. Det ligner arduino
Introduktion til 8051 -programmering med AT89C2051 (gæstespil: Arduino): 7 trin (med billeder)
Introduktion til 8051-programmering med AT89C2051 (gæstespil: Arduino): 8051 (også kendt som MCS-51) er et MCU-design fra 80'erne, der stadig er populært i dag. Moderne 8051-kompatible mikrokontroller fås fra flere leverandører i alle former og størrelser og med en lang række eksterne enheder. I denne instruktion