Difference between revisions of "AVR Programmer 09"

From Chalmers Robotförening
Line 3: Line 3:


[[File:Avrprogrammer finished.jpg]]
[[File:Avrprogrammer finished.jpg]]
AVR Programmer är en ”adapter” som man kopplar mellan datorn och sin mikrokontroller för att kunna skicka över sin robotkod. Det har tidigare varit en del problem med denna bit eftersom man fått använda parallellporten eller COM-porten på datorn som inte finns på de flesta datorerna idag. Den nya versionen av programmerare använder därför USB-porten. AVR-programmer fungerar utmärkt att användas till i princip all programmering av AVR-kretsar så länge kretskortet är förberett för ISP-programmering. Vad detta innebär förklaras längre ner. Introbot06-Introbot09 är såklart anpassade för detta.
AVR Programmer är precis som Introbot en byggsats som kommer i delar och som användaren själv löder ihop. Alla komponenter är hålmonterade vilket gör det lättare för nybörjare.
Största delen av programmeraren har hämtats från ett Open Source-projekt som heter AVR-Doper ([http://www.obdev.at/products/vusb/avrdoper.html http://www.obdev.at/products/vusb/avrdoper.html]). Det vi har gjort på projektet är att göra en egen layout som passar i en inbyggnadslåda. Det finns även en hel del mer information hos elektronikföreningen på Linköpings universitet, Admittansen, då de har använt denna typ av programmerare i föreningen, ([http://wiki.admittansen.se/index.php?title=AVR-ISP-programmerare http://wiki.admittansen.se/index.php?title=AVR-ISP-programmerare]).
Vill du köpa en programmerare? Kom till lokalen och kontakta någon i styrelsen eller skicka ett mail. Den kostar 100kr och kan endast köpas i samband med en Introbot09. Inbyggnadslådan ingår. Vid behov så kan en 0.6m A-miniB USB-kabel köpas för 10kr.
=Förklaring=
När man skriver sitt program till sin mikrokontroller används ofta språket C. Detta kompileras och blir till en maskinkod som finns i en fil med filändelsen .hex. Den innehåller en binär representation av hur man vill att minnet på mikrokontrollern ska se ut. Nästa steg är att överföra denna kod till mikrokontrollern och det görs av AVR-programmeraren.
Programmeraren innehåller egentligen bara två kontakter. En USB-kontakt som ansluts till datorn och en 2×3-pinnars stiftlist. Den andra kontakten innehåller de pinnar som behövs för att kunna kommunicera med AVR-kretsen.
=Förberedelse=
Börja med att kolla så att alla komponenter har följt med. Nedan finns en bild på alla komponenter.
[[Image:Avrprogrammer komponenter.jpg|400px]]
Läs igenom hela byggbeskrivningen innan du börjar så att inga onödiga misstag görs!
=Byggbeskrivning=
I jämförelse med Introbot så finns det inte så många steg för att bygga ihop programmeraren. Eftersom i princip alla komponenter behövs för att kunna testa om något fungerar kan man montera alla komponenter och sedan får man hoppas att det fungerar. Denna metod rekommenderas inte för egna projekt eller Introbot eftersom det väldigt lätt blir något litet fel som kan vara mycket svårt att hitta i efterhand.
==Saker man ska tänka på:==
*Avvakta med lysdioderna tills du bestämt dig för hur de ska sitta i lådan. En variant är att borra två hål i lådan och sätta lysdioderna en liten bit upp från kortet som kan ses i bilderna nedan.
*Vad gäller lysdioderna så har polmarkeringen tyvärr fallit bort. Lysdioderna ska sitta så att pluspolen sitter närmast processorn (alltså till vänster på bilden).
*ISP-kontakten (2×3 vinklad stiftlist) bör monteras en liten bit från kretskortet så att hylskontakten får plats.
==Komponenter==
Nedan finns en tabell med vilken beteckning som hör till vilken komponent. Dessa ska sedan lödas på plats på mönsterkortet på respektive plats.
{| class="wikitable"
|-
! Referens
! Komponent
! Typ
! Antal
|-
| C1
| Elektrolytkondensator
| 4,7uF
| 1
|-
| C3,C6
| Kondensator
| 100nF
| 2
|-
| C4,C5
| Kondensator
| 22pF
| 2
|-
| R1,R2
| Motstånd
| 68O
| 2
|-
| R4-R6,R8,R13
| Motstånd
| 330O
| 5
|-
| R16
| Motstånd
| 750O
| 1
|-
| R7
| Motstånd
| 2k2O
| 1
|-
| R3,R14,R15,R17
| Motstånd
| 4k7O
| 4
|-
| R10,R11
| Motstånd
| 10kO
| 2
|-
| R9
| Motstånd
| 22kO
| 1
|-
| R12
| Motstånd
| 33kO
| 1
|-
| USB
| USB-kontakt
| Mini-usb 5-pin, hål, typ B
| 1
|-
| PWRLED
| LED
| Grön, 3mm, 3V
| 1
|-
| DLED
| LED
| Röd, 3mm, 3V
| 1
|-
| T1-T2
| Transistor
| NPN/BC548
| 2
|-
| HID,SCK,VTarg
| Stiftlist
| 1×2 stiftlist, 2.54mm
| 3
|-
| HID,SCK,VTarg
| Bygling
| 1×2 bygling, 2.54mm
| 2
|-
| ISP
| Vinklad stiftlist
| 2×3 stiftlist, 2.54mm
| 1
|-
| Q1
| Kristall
| 12Mhz HC49 Lågprofil
| 1
|-
| IC1
| IC-sockel
| 28 hål, 0.3”/DIL28
| 1
|-
| IC1
| Microcontroller
| ATMega88
| 1
|-
| D1,D2
| Zenerdiod
| 3,6V Zenerdiod
| 2
|-
| -
| Kabelhylsdon
| 6-pol
| 2
|-
| -
| Flatkabel
| 6-pol, 20cm
| 1
|-
| -
| Kretskort
| CRF USB-programmer
| 1
|-
| -
| Inbyggnadslåda
| Svart plastlåda
| 1
|}

Revision as of 02:09, 12 October 2013

!OBS! ett av mostånden på programmeren är inte helt optimalt. R16 (med värdet 4k7) ska bytas ut mot något mycket lägre (mellan 600 och 1k). Värt att notera är också att denna programmerare kan ha problem med att sätta och verifiera fuse-bitarna i processorn. Detta är dock inget större problem i de flesta fall och inget att vara orolig för. !OBS!

Avrprogrammer finished.jpg

AVR Programmer är en ”adapter” som man kopplar mellan datorn och sin mikrokontroller för att kunna skicka över sin robotkod. Det har tidigare varit en del problem med denna bit eftersom man fått använda parallellporten eller COM-porten på datorn som inte finns på de flesta datorerna idag. Den nya versionen av programmerare använder därför USB-porten. AVR-programmer fungerar utmärkt att användas till i princip all programmering av AVR-kretsar så länge kretskortet är förberett för ISP-programmering. Vad detta innebär förklaras längre ner. Introbot06-Introbot09 är såklart anpassade för detta.

AVR Programmer är precis som Introbot en byggsats som kommer i delar och som användaren själv löder ihop. Alla komponenter är hålmonterade vilket gör det lättare för nybörjare.

Största delen av programmeraren har hämtats från ett Open Source-projekt som heter AVR-Doper (http://www.obdev.at/products/vusb/avrdoper.html). Det vi har gjort på projektet är att göra en egen layout som passar i en inbyggnadslåda. Det finns även en hel del mer information hos elektronikföreningen på Linköpings universitet, Admittansen, då de har använt denna typ av programmerare i föreningen, (http://wiki.admittansen.se/index.php?title=AVR-ISP-programmerare).

Vill du köpa en programmerare? Kom till lokalen och kontakta någon i styrelsen eller skicka ett mail. Den kostar 100kr och kan endast köpas i samband med en Introbot09. Inbyggnadslådan ingår. Vid behov så kan en 0.6m A-miniB USB-kabel köpas för 10kr.

Förklaring

När man skriver sitt program till sin mikrokontroller används ofta språket C. Detta kompileras och blir till en maskinkod som finns i en fil med filändelsen .hex. Den innehåller en binär representation av hur man vill att minnet på mikrokontrollern ska se ut. Nästa steg är att överföra denna kod till mikrokontrollern och det görs av AVR-programmeraren.

Programmeraren innehåller egentligen bara två kontakter. En USB-kontakt som ansluts till datorn och en 2×3-pinnars stiftlist. Den andra kontakten innehåller de pinnar som behövs för att kunna kommunicera med AVR-kretsen.

Förberedelse

Börja med att kolla så att alla komponenter har följt med. Nedan finns en bild på alla komponenter.

Avrprogrammer komponenter.jpg

Läs igenom hela byggbeskrivningen innan du börjar så att inga onödiga misstag görs!

Byggbeskrivning

I jämförelse med Introbot så finns det inte så många steg för att bygga ihop programmeraren. Eftersom i princip alla komponenter behövs för att kunna testa om något fungerar kan man montera alla komponenter och sedan får man hoppas att det fungerar. Denna metod rekommenderas inte för egna projekt eller Introbot eftersom det väldigt lätt blir något litet fel som kan vara mycket svårt att hitta i efterhand.

Saker man ska tänka på:

  • Avvakta med lysdioderna tills du bestämt dig för hur de ska sitta i lådan. En variant är att borra två hål i lådan och sätta lysdioderna en liten bit upp från kortet som kan ses i bilderna nedan.
  • Vad gäller lysdioderna så har polmarkeringen tyvärr fallit bort. Lysdioderna ska sitta så att pluspolen sitter närmast processorn (alltså till vänster på bilden).
  • ISP-kontakten (2×3 vinklad stiftlist) bör monteras en liten bit från kretskortet så att hylskontakten får plats.

Komponenter

Nedan finns en tabell med vilken beteckning som hör till vilken komponent. Dessa ska sedan lödas på plats på mönsterkortet på respektive plats.

Referens Komponent Typ Antal
C1 Elektrolytkondensator 4,7uF 1
C3,C6 Kondensator 100nF 2
C4,C5 Kondensator 22pF 2
R1,R2 Motstånd 68O 2
R4-R6,R8,R13 Motstånd 330O 5
R16 Motstånd 750O 1
R7 Motstånd 2k2O 1
R3,R14,R15,R17 Motstånd 4k7O 4
R10,R11 Motstånd 10kO 2
R9 Motstånd 22kO 1
R12 Motstånd 33kO 1
USB USB-kontakt Mini-usb 5-pin, hål, typ B 1
PWRLED LED Grön, 3mm, 3V 1
DLED LED Röd, 3mm, 3V 1
T1-T2 Transistor NPN/BC548 2
HID,SCK,VTarg Stiftlist 1×2 stiftlist, 2.54mm 3
HID,SCK,VTarg Bygling 1×2 bygling, 2.54mm 2
ISP Vinklad stiftlist 2×3 stiftlist, 2.54mm 1
Q1 Kristall 12Mhz HC49 Lågprofil 1
IC1 IC-sockel 28 hål, 0.3”/DIL28 1
IC1 Microcontroller ATMega88 1
D1,D2 Zenerdiod 3,6V Zenerdiod 2
- Kabelhylsdon 6-pol 2
- Flatkabel 6-pol, 20cm 1
- Kretskort CRF USB-programmer 1
- Inbyggnadslåda Svart plastlåda 1