Sida 1 av 1

AVR Komplett paket, programmerare och komponenter..

Postat: 14 mars 2008, 09:59:56
av toffie
Hej alla..

Nu är det äntligen dags att ta och beställa programmerare och de
övriga komponenterna..

Det jag egentligen mest undrar är vilken programmerare jag "behöver"..
Jag har tänkt mig att jag ska köra med AVR och då blir det tillsvidare
hålmonterade, tanken är att jag ska köra ytmonterat när jag sedan skickar
iväg nån order på kretskort om jag lyckas med något ;)

Så en programmerare som klarar hålmonterat är ju att föredra, men
om den även redan klarar ytmonterat eller kan byggas ut för att klara det
är det givetvis positivt.. så man inte blir låst vid hålmonterade kretsar ;)

sen är det väldigt viktigt för mig med USB eftersom jag vill ta med mig
programmeraren med min bärbara dator och denna är utrustad utan
com eller parallellport, så USB är mer eller mindre ett krav.

STK500 hade jag tänkt mig, men den har ju inte USB uttag.. går det
att fixa dit eller hur fungerar det? får man med com ports kablar för
övrigt till STK500?

sen har jag inte riktigt förstått det hela med en
"AVRISP mkII In-System Progr."..

kan man kanske använda en sådan med en STK500?

sen undrar jag även om jag förstått rätt med in-system programmer..
om jag bygger ihop ett kretskort med en uC, kristall och sedan en
jumper-header så kan jag bara koppla in mig på denna jumper med
en AVRISP och programmera kretsen medans den sitter på plats?

men vad är då en ISP kontakt som AVRISP använder sig av?
det är tydligen inte en ICSP som är 10 pin medan ISP är 6pin..?

ex. på denna är ju en 10 pin ICSP;
http://olimex.com/dev/images/AVR-IO-M16-sch.gif

och JTAG är ju inte heller någon ISP kontakt.. :P

sen finns ju Atmel AVR Dragon och olika dev boards från Olimex..
det är en hel djungel.. :D

jag är också helt nybörjare och behöver testa mycket.. därför hade jag
tänkt STK500.. men det kanske är för avancerat eller kanske inte att
rekommendera?

hur som helst, berätta gärna vad jag behöver och om jag behöver något
extra som extern strömförsörjning som de länkar till för STK500 på
Lawicel..

en kort fråga också, om jag ex. väljer en kristall på 4MHz så körs
kretsen i 4MHz då? bara rakt av sådär..?
och om jag tar en 1MHz så körs den bara i 1MHz eller måste man
"programmera" in det också i programmet?

förmodar att det inte följer med någon kristall till STK500?

mycket funderingar och frågor, men hoppas proffsen kan ge mig
korta bra svar :)

// Chris

Postat: 14 mars 2008, 12:15:23
av Korken
Jag själv kör med en AVR ISP mkII och sedan har jag gjort en egen platta som hålmonterade och ytmonterade passar på så jag kan programmera dom där innan jag löder dit dom.
Annars skör jag med en labbplatta och då är det bara att koppla in ISPn och programmera.

//Emil

Postat: 14 mars 2008, 12:22:26
av thepirateboy
Det är lite förvirrande med 10-pol och 6-pol ISP, det två olika "standarder". Den nya anser jag är 6-pol medan gamla konstruktioner har kvar den 10-poliga. Därför kan du behöva bygga en adapter om du köper AVR ISP mkII.

STK500 kan du använda med USB-seriell adapter om du inte har comport. Du kan även ansluta extern programmerare om jag inte är ute och cyklar.

Klockfrekvensen är kristallens frekvens, kristallens frekvens/8 eller intern oscillator.

Enklast att komma igång är nog STK500 men du kommer antagligen lära dig mer om du köper labbplatta och komponenter separat och kopplar ihop det själv.

Postat: 14 mars 2008, 14:22:56
av MrFreeze
själv så kör jag Atmega32 utan kristall (8Mhz alltså) på ett breadboard (labbplatta) med en programmerare köpt för ~35€ på eBay.

Den här mystiska "kanda" kontakten vållade mej lite besvär också så jag
klippte av en RJ45 kabel och kopplade ihop den med programmeraren (alltså
jag lödde ihop sladden med en kanda kontakt) samt då en RJ45 hona på
Atmegan, väldigt smidigt att koppla in och ur.

Ja, jag är bara en hobby typ så lyssna såklart först på proffsen.


/Ludvig

Postat: 14 mars 2008, 16:21:47
av Mindmapper
Du behöver egentligen inte ha någon kristall på isp kortet. Men du behöver en matningsspänning dit för att kunna programera. Appropå 6 eller 10pol, så kör jag 6 pol men har gjort en 6-10pol adapter om jag använder några gamla grejor. Annars kör jag AVRISP mk2.

Postat: 15 mars 2008, 00:26:07
av Stinrew
Välj den av dom 2 som du tycker passar dig. Fördelen med att ha en STK500(jag har en), är ju att du kan programmera samtliga hålmonterade AVR-kretsar i dess socklar bara genom att flytta på en programeringskabel, ibland måste man bygla något också. En annan fördel är också dom 8 lysdioderna och dom 8 knapparna man kan använda för att testa sina program med. En nackdel däremot är att STK500 behöver matas med en extern >9V(AC/DC)-källa. För att ansluta den till laptop går det ju(som piratpojken säger) att använda sig av en:
Bild

STK500 har ju uttag för både den 6-poliga och den 10-poliga ISPn:
Bild

Och som du ser är det 'bara' pin-outen som skiljer dom åt, signalerna är dom samma.

Om du har kretsen på plats på kretskortet(t.ex. inte använt IC-sockel, eller använder ytmonterat) så drar du helt enkelt ut en 6-polig IDC-kontakt(2x3-polig stiftlist) som har pinout lika med "ISP6PIN" i bilden ovan. Då är det bara att dra den 6-poliga kabeln från STK500 eller AVRISP rakt hit och programmera kretsen. Detta fungerar med samtliga kretsar i AVRs 8-bitars familj!

Här bör en sak påpekas. Använder du dig av AVRISP så måste du strömförsörja kretsen på annat sätt plus att du måste dra samma matningsspänning till VTG på ISP6-kontakten, detta för att programmeraren ska veta att kretsen har matning. Använder du STK500 så kan den strömförsörja kretsen via VTG. Är det däremot så att du redan strömförsörjer kretsen, ska du ta bort en bygel på STK500.

Ja, det medföljer 1st. serie-kabel med STK500:
Bild

Om du vill(och har båda) kan du programmera kretsar som sitter på STK500 med AVRISP, det är inga problem. Jag har programmerat kretsar den vägen med parallellportsinkopplad STK200 t.o.m.

Den ISP som AVRISP använder är "ISP6PIN" i mittenbilden, och det som OLIMEX kallar ICSP är "ISP10PIN" i bilden.

En varning vid ISP-programmering, där kretsen är inlödd på plats är att inte ha något som kan störa inkopplat på dom I/O-pinnar på kretsen som ISPn går via(jag tror att det är MOSI som är den kinkiga, men är osäker).

En sak att observera är att vid 'normal' ISP-programmering kan du inte använda dig av reset-pinnen som I/O.

Just för att minimera risker för felkoppling vid nybörjarstart är STK500 svårslagen. Sedan när du blir lite mer van/erfaren kommer du att klara dig bra med en AVRISP, men i början är STK500 det bästa valet. Är det så att du bara har laptopen att jobba med så får du fundera på om du ska köpa en serieportsemulator(översta bilden) på Clas-i-Sjön för 250:- eller beställa enAVRISP mkIIför ~400:-. Om du i framtiden ska ut i fält och byta/uppgradera mjukvara på en inlödd krets via din ditlödda ISP6-kontakt så är ju AVRISP det självklara valet.

Edit: Länkar till hemsidor med pdf...

STK500

AVRISP mkII

Postat: 15 mars 2008, 09:38:00
av toffie
Först och främst, tack för alla svar! =)
Det är roligt när ni är så trevliga och kommer med en massa info!

Ok, så ICSP kallas även för ISP då alltså? även fast det är två
olika anslutningar.. vet inte hur jag ska förklara, men ni förstår nog :P

hmm okej, så om jag ex. har en kristall på 16MHz så dividerar man det
med 8 och får en uC klockfrekvens på 2MHz eller? nu vart jag förvirrad :P

jadu, samtidigt som jag känner att jag vill skaffa mig typ en STK500
där det redan finns lysdioder och knappar installerade plus att det är
en programmerare så givetvis känner jag att jag direkt vill sätta igång
och köra med eget kort och prova..

men jag kan ju erkänna att jag aldrig lärt mig använda labbplattor, utan
när jag har lött och satt ihop tidigare leksaker så har jag använt mig
av experimentkort istället, typ "48-397-18" på ELFA.
http://www.elfa.se/elfa-bin/dyndok.pl?dok=2002821.htm

om jag bara sätter på socklar så blir det ju enkelt att flytta på
ex. uC och så även från ett sådant kort.. och det är väl det jag tänkt
börja med faktiskt.. hoppas ingen tycker jag är ett pucko för det ;)

MrFreeze
Kanda, är det samma sak som ISP kontakten vi pratar om?
dvs. en jumper kontakt med 6 resp 10 pin?

det jag tänkt göra är att styra en DC motor och ett servo, samt
sätta dit någon knapp och lysdiod.. behöver jag ha en kristall då eller
kan jag hoppa över det? priset är inga problem och jag tror jag vet hur
den ska kopplas in och så.. bara undrar ifall den är överflödig / onödig?

ovanstående går att göra utan problem med en STK500 iaf?
lysisarna och knappisarna sitter ju redan förstås, men att koppla in någon
krets som styr ett servo och sen en krets som styr en DC motor..
bara att använda de inbyggda headers som finns eller hur?

sen vill jag säga som så, jag är inte rädd för att lägga ut pengar men
man behöver ju inte vara dum och lägga ut mer pengar om det finns billigare
någonstans.. så vart tycker ni jag ska köpa min STK500?

Lawicel är ju ett ställe, Elfa har ju STK500 också, men lite dyrare..
kanske har ni något smultronställe att rekommendera?

Vad gäller COM -> USB så har jag hittat följande, fungerar någon av dem?
USB to TTL Serial Conv. Cable / ART: TTL-232R
http://www.lawicel-shop.se/shop/custom/ ... &refcode=f
159 SEK ( ex moms )

USB to 3.3V Serial Conv. Cable / ART: TTL-232R-3V3
http://www.lawicel-shop.se/shop/custom/ ... &refcode=f
159 SEK ( ex moms )

Sweex CD005 USB till seriell kabel / ART: SWECD005
https://www.datorbutiken.com/se/default ... t=SWECD005
219 SEK


Sen finns ju även den från Clas Ohlson;
USB till serieportsadapter. / ART: 38-2150
http://www.clasohlson.se/Product/Produc ... d=34051163
249 SEK

Känns nästan som om en AVRISP mkII är "billigare" och smartare att skaffa
istället för att köpa någon sådan.. eller vad tycker ni, har jag inte rätt?

Så om jag nu beställer en STK500 från Lawicel, då bör jag beställa en
AC-DC adapter också, kanske följande;

AC Adapter 230VAC/1.5-12VDC/1A / ART: ACDC/2
http://www.lawicel-shop.se/shop/custom/ ... &refcode=p
119 SEK ( ex moms )

Vad säger ni, ska jag köra på Lawicel och vara glad och tyst eller
ska jag bara lugna ner mig lite och vänta på era bättre förslag? ;)

tack på förhand för de nästa svaren som förmodligen är lika goa som de tidigare! =)

Postat: 15 mars 2008, 10:20:16
av Mindmapper
STK500 är bra för att du kan ställa om "fuses" om du råkat få dom fel i MCU'n så att den låser och du inte kommer åt den via isp. Med AVRISP så gäller det att lära vilka inställningar av "fuses " som du ska ha så att du inte låser kretsar. Är man noga med det går det bra. Med dyrare kretsar är det inte så roligt. Går man på AVRISP så kan man etablera kontakt med någon som har möjlighet att låsa upp kretsar åt dej.
Kristall behövs bara om det är tidskritiskt. PWM spelar ingen roll några kHz hit och dit. För kommunikation är det mera kritiskt. Tycker Lawicel är bra när det gäller AVR.
Edit: Själv har jag både STK500 och AVRISP mk2 men använder bara mk2 du den är så lätt att hantera. mk2 kanske används 100ggr medan STK500 används 1gång

Postat: 15 mars 2008, 10:30:03
av thepirateboy
Nyare kretsar har en "fuse" som kan programmeras för att dividera frekvensen med 8, precis som i ditt exempel. Knappast något du behöver använda i början. Att läsa på om fuses är alltid nyttigt för att slippa trubbel som Mindmapper nämner.

http://www.scienceprog.com/programming- ... -settings/


Lawicel är mycket bra att ha och göra med. SWCAB har lite grejer också.

http://www.swcab.nu/cgi-bin/store/comme ... 5600.13414

Postat: 15 mars 2008, 12:36:11
av Stinrew
In System Programmable, att OLIMEX kallar den för ICSP är ändå samma sak, ja. Jag gissar att det är ett gammalt system där man mellan varje 'data'-ledare lagt in en stel(jord eller matning) för att minska risken för överhörning. Men senare upptäckt att det inte behövdes, och då skippat alla extra jordar och NC(Not Connect).

Det finns möjlighet att sätta en 'fuse', en flagga i ett register, som räknar 8 pulser från den oscillator som du valt innan den sänder ut en puls till processorns inre system. På detta sätt får du då en åttondels frekvens på systemet i förhållande till oscillatorn. Är det så att du inte behöver all beräkningskraft så kan du använda dig utav denna funktionen. Lägre arbetsfrekvens innebär ju lägre strömförbrukning(och värmeutveckling), kanske något att tänka på i batterisystem. Detta används väl mest när du använder dig av den interna RC-oscillatorn, som har en eller två frekvenser. Är det så att du använder yttre kristall, väljer du nog från början en med lämplig frekvens istället.

Klart att vi inte tycker du är ett pucko för att du vill bygga själv istället för att köpa färdigt, det är ju den mentaliteten som genomsyrar dom flesta av oss här på forumet. Det enda jag säger är att jag tror att du gör vägen en aning längre om du inte börjar med en STK500.

Visst går det bra att koppla in styrning av DC-motor(H-brygga) och servo(jag antar att du menar RC-servo) på stiftlisterna på STK500, det är mer eller mindre därför den är designad som den är. Se bara till att kraftmatningarna till motorerna inte tas ifrån STK500, utan externt. Så kopplar du bara ihop jord och styrsignal sedan.

Jag tror att samtliga ATtiny** och ATmega** har inbyggd RC-oscillator(vilket gör att dessa går bra att köra utan kristall), men frekvensen i den varierar med temperaturen. Däremot gamla AT90S**** saknar inbyggd RC-oscillator, så det beror på kretsen.

När det gäller inköp så rekommenderar jag följande:

Skynda dig och köp STK500 från:
Korken
400:- är ju ingenting. Vet förvisso inte var du bor någonstans, men så hemsk kan ju frakten ändå inte bli. När det gäller strömmatning till den så följer det med en adapterkabel, vad du behöver utöver det är en spänningskälla som kan leverera mellan 9-15V(AC eller DC, det sitter en likriktare ombord).

AVRISP mkII tycker jag att du ska köpa från SWCAB, som både jag och piratpojken har länkat till ovan. Då kan du ju passa på och beställa lite billiga AVR-kretsar samtidigt!

Postat: 15 mars 2008, 14:21:48
av peter555
Jag håller med övriga här, STK500 är bra att starta med då allt är klart med knappar och LEDar. När du sedan ska göra lite mer avancerade prylar kan du bygga egna kort och programmera din processor från STK500.