- Komponenter som kreves for å programmere ATtiny85 via USB
- ATtiny85 Microcontroller IC - Introduksjon
- Blinkende oppstartslaster på ATtiny85 ved hjelp av Arduino Uno
- Kretsdiagram for ATtiny Programmer
- Installere Digispark-drivere
- Sette opp Arduino IDE for å programmere ATttiny85
ATtiny-familien er en serie av en av de minste mikrokontrollerne i AVR-markedet. Disse mikrokontrollerne er i stand til å bruke mange av bibliotekene som er tilgjengelige på Arduino-plattformen. ATtiny85 mikrokontrollerbrikke er 8-pinners, 8-biters, AVR-mikrokontroller. Den lille størrelsen og det lave strømforbruket gjør det til en god kamp for bærbare prosjekter med små fotavtrykk og lave strømbehov. Men å få koden din på brikken kan være litt av en utfordring, da den ikke har noe USB-grensesnitt som mikrokontrollerkort.
I vår forrige opplæring programmerte vi ATtiny85 ved hjelp av Arduino Uno. Men å koble Attiny85 til Arduino og bruke Arduino som ISP kan være vanskelig og tidkrevende. Så i denne opplæringen skal vi bygge et ATtiny85 programmeringskort, slik at vi direkte kan plugin og programmere det som andre mikrokontrollerkort.
Komponenter som kreves for å programmere ATtiny85 via USB
- Arduino UNO (bare for første gang mens du laster opp bootloader)
- ATtiny85 IC
- USB A-type plugg hann
- 3 motstander (2 × 47Ω & 1 × 1kΩ)
- 3 dioder (2 × Zener-diode og 1 × IN5819-diode)
- 8-pinners IC-base
- Brettbrett
- Jumper Wires
ATtiny85 Microcontroller IC - Introduksjon
Atmels ATtiny85 er en 8-biters mikrokontroller med høy ytelse og lav effekt basert på Advanced RISC Architecture. Denne mikrocontrollerbrikken har 8 KB ISP-flashminne, 512B EEPROM, 512-Byte SRAM, 6 generelle I / O-linjer, 32 arbeidsregistre for generelle formål, en 8-bit timer / teller med sammenligningsmodus, en 8-bits høyhastighets timer / teller, USI, interne og eksterne interrupts, 4-kanals 10-biters A / D-omformer, programmerbar vakthundtimer med intern oscillator, tre programvarevalgbare strømsparingsmodi, og debugWIRE for feilsøking på chip. ATtiny85 Pinout er gitt nedenfor:
De fleste I / O-pinnene på brikken har mer enn en funksjon. ATtiny85 pin beskrivelse for hver pin er gitt i tabellen nedenfor:
Pin nr. |
Pin-navn |
Pin Beskrivelse |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 RESET: Tilbakestill pin ADC0: ADC-inngangskanal 0 dW: feilsøk WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: Krystalloscillatorstift1 CLKI: Ekstern klokkeinngang ADC3: ADC-inngangskanal 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Change Interrupt 0, Source 4 XTAL2: Krystalloscillatorstift 2 CLKO: System Clock Output OC1B: Tidtaker / Teller1 Sammenlign kamp B-utgang ADC2: ADC-inngangskanal 2 |
4 |
GND |
Bakkenål |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI Master Data Output / Slave Data Input DI: USI Data Input (Three Wire Mode) SDA: USI Data Input (Two Wire Mode) AIN0: Analog komparator, positiv inngang OC0A: Timer / Counter0 Sammenlign Match A-utgang AREF: Ekstern analog referanse PCINT0: Pin Change Interrupt 0, Source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI Master Data Input / Slave Data Output DO: USI Data Output (Three Wire Mode) AIN1: Analog komparator, negativ inngang OC0B: Timer / Counter0 Sammenlign Match B-utgang OC1A: Timer / Counter1 Compare Match A Output PCINT1: Pin Change Interrupt 0, Source 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Seriell klokkeinngang USCK: USI Clock (Three Wire Mode) SCL: USI Clock (Two Wire Mode) ADC1: ADC-inngangskanal 1 T0: Timer / Counter0 Clock Source INT0: Ekstern interrupt 0 inngang PCINT2: Pin Change Interrupt 0, Source 2 |
8 |
VCC |
Forsyningsspenning |
Blinkende oppstartslaster på ATtiny85 ved hjelp av Arduino Uno
For å programmere ATtiny85 uten Arduino, må vi først laste opp en bootloader inn i den ved hjelp av et Arduino UNO-kort, dette er en engangsprosess, og etter at dette er gjort, trenger vi ikke UNO-kortet igjen. Boot-loader er et spesielt program som kjører i mikrokontrolleren som må programmeres. En av de mest praktiske måtene å laste programdataene dine på mikrokontrolleren er gjennom en boot-loader. Boot-loader sitter på MCU og utfører de innkommende instruksjonene, og skriver deretter ny programinformasjon til mikrokontrollers minne. Hvis du blinker en oppstartslaster på en mikrokontroller, fjernes behovet for spesiell ekstern maskinvare (Programmer Boards) for å programmere mikrokontrolleren, og du vil kunne programmere den direkte ved hjelp av en USB-tilkobling. Den Digispark ATtiny85styret kjører "micronucleus tiny85" boot-loader, opprinnelig skrevet av Bluebie. Boot-loader er koden som er forhåndsprogrammert på Digispark og lar den fungere som en USB-enhet slik at den kan programmeres av Arduino IDE. Vi kommer også til å blinke den samme digispark attiny85 bootloader på ATtiny85.
En trinnvis guide for å blinke bootloader til ATtiny85 ved hjelp av Arduino Uno og Arduino IDE er gitt nedenfor:
Trinn 1: Konfigurere Arduino Uno som en ISP:
Siden ATtiny85 bare er en mikrokontroller, krever det at en ISP (In-System Programming) programmeres. Så for å programmere ATtiny85, må vi først konfigurere Arduino Uno som ISP for å fungere som programmerer for ATtiny85. For det, koble Arduino Uno til bærbar PC og åpne Arduino IDE. Etter det, naviger til Fil> Eksempel> ArduinoISP og last opp Arduino ISP-koden.
Trinn 2: Kretsskjema for blinkende oppstartslaster på ATtiny85:
Det komplette skjemaet for Flashing Boot-loader på ATtiny85 er gitt nedenfor:
En kondensator på 10 µf er koblet mellom Tilbakestill og GND-pinnen til Arduino. De komplette tilkoblingene er gitt i tabellen nedenfor:
ATtiny85 Pin |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
Pin 2 |
1. 3 |
Pin 1 |
12 |
Pin 0 |
11 |
Nullstille |
10 |
Nå plugger du Arduino Uno til den bærbare datamaskinen og åpner Arduino IDE. Finn hvilken COM-port Uno er koblet til. I mitt tilfelle er det COM5.
Etter dette laster du ned ATtiny85 Boot-loader-filene fra den gitte lenken. Åpne " Burn_AT85_bootloader.bat " og endre COM-portnummeret "PCOM5" med det COM-portnummeret som Uno er koblet til. Lagre endringene før du avslutter.
Flytt nå de redigerte " Burn_AT85_bootloader.bat " og " ATtiny85.hex " filene til Arduino IDE rotmappen (C: \ Program Files (x86) Arduino).
Deretter høyreklikker du på " Burn_AT85_bootloader.bat " og velger "Kjør som administrator". Det tar omtrent 5 til 6 sekunder å blinke opplasteren. Hvis alt gikk bra, bør du motta denne meldingen "AVRdude ferdig. Takk. Trykk på hvilken som helst tast for å fortsette…".
Med dette er Boot-loader vellykket installert på ATtiny85 Chip. Nå er det på tide å koble USB til ATtiny85 slik at vi kan programmere det direkte. Kretsskjemaet for programmering av ATtiny85 via USB er gitt nedenfor:
Kretsdiagram for ATtiny Programmer
Skjematisk er hentet fra Digispark ATtiny85-kortskjemaet, men da vi tar sikte på å bygge en programmerer for ATtiny85, kobler vi bare Male USB-pluggen til ATtiny85.
R3 er en opptrekksmotstand som er koblet mellom Vcc og PB3-pinner på IC mens Zener-dioder (D1-D2) er lagt til for total USB-grensesnittbeskyttelse. Etter å ha loddet alle komponentene på perf-kortet, vil det se ut som nedenfor:
Installere Digispark-drivere
For å programmere ATtiny85 ved hjelp av USB må du ha Digispark-drivere installert på den bærbare datamaskinen. Hvis du ikke har dem, kan du laste den ned ved hjelp av lenken ovenfor. Pakk deretter ut zip-filen og dobbeltklikk på “ DPinst64.exe ” -programmet for å installere driverne.
Når driverne er installert, kobler du ATtiny85-kortet til den bærbare datamaskinen. Gå nå til Enhetsbehandling på Windows, og ATtiny85-enheten blir oppført under “libusb-win32-enheter” som “Digispark Bootloader”. Hvis du ikke finner 'libusb-win32-enheter' i enhetsbehandling, går du til Vis og klikker på 'Vis skjulte enheter.'
Sette opp Arduino IDE for å programmere ATttiny85
For å programmere ATtiny85 Board med Arduino IDE, må vi først legge til Digispark Board Support til Arduino IDE. For det, gå til Fil> Innstillinger og legg til lenken nedenfor i URL-ene for tilleggsstyremedlemmer og klikk 'OK'.
Deretter går du til verktøy> Board> Board Manager og søker etter 'Digistump AVR' og installerer den nyeste versjonen.
Etter å ha installert den, vil du nå kunne se en ny oppføring i Board-menyen med tittelen 'Digispark'.
Gå nå til fil> Eksempler> Grunnleggende og åpne Blink-eksemplet.
Endre pin-nummeret der fra LED_BUILTIN til 0.
Gå tilbake til Verktøy -> Tavle og velg " Digispark (standard - 16mhz) " tavle. Klikk deretter på opplastingsknappen i Arduino IDE.
Merk: Koble ATtiny85-kortet til datamaskinen, bare når Arduino IDE viser en melding som sier "Plugin-enhet nå".
Når koden er lastet opp, skal LED-en som er koblet til ATtiny85 begynne å blinke.
Slik kan du bygge ditt eget ATtiny85 Arduino programmeringskort. En arbeidsvideo av det samme er gitt nedenfor. Hvis du har spørsmål, la dem være i kommentarfeltet. For andre tekniske spørsmål, kan du også starte en diskusjon på forumene våre.