Sida 1 av 1

Enkel AVR programmerare

Postat: 24 april 2006, 20:08:16
av MrFreeze
Hejsan allihopa !

Mitt proto-board Z80-Encore (64kb + massor av I/O) har slutat att funka,
så jag försöker nu att programmera en Atmega8535 (butiken hade bara
den modellen) med en otroligt enkel programmerings kabel

För programmeringen använder jag den på web-sidan
rekomenderade 'ICProg 1.05C'.


Jag har kopplat in alla sladdarna på en lab-platta och lyckas kompilera ett
'blinka lysdiod' program med AVRStudio 4, jag startar ICProg och laddar in hex filen
som AVR Studio har tillverkat och försöker ladda ner datan i Atmegan.

Då säger ICProg "Wrong signature found 1E-93-08" vilket är Atmegans signatur
(man kan inte välja Atmega8535 så jag har valt 90S8535 vilken
borde vara mer eller mindre samma (?))
Jag svarar "Yes" på frågan "do you want to continue" och ICProg börjar
ladda ner datan.

Problemet är att det blir ett "No Acknowledge received" och
att när den kör en verifikation så verkar den inte ha
lyckats att programmera någonting alls ...

Den hittar ju dock chippets signatur...

Jag har en otroligt billig voltmätare, och jag hittar inga spänningar > ~0.2V
men det är kanske normalt när programmeraren inte programmerar.
Dock så har jag ingen annan extern spänningskälla, är det det som behövs
eller är det den häringa fun-programmer kabeln som är alldeles för dålig ?


Jag hoppas att jag inte har gjort allt baklänges och om någon vänlig
själ har ett tips eller två så mottages dom gärna !

/Ludde
ps. jag har förstått att man ska använda "Sodjans Wisp" om man vill programmera
PIC:ar, finns det någon (billig) motsvarighet för Atmegas ?

Postat: 24 april 2006, 20:25:20
av exile
AVRdude fungerar riktigt bra länk och är billig enkel att göra, finns även en "gui" om man inte vill använda comando tolken

Dock kräver den extern 5volts matning men det bör inte vara något problem :)

Postat: 24 april 2006, 20:26:47
av björn
Är du säker på att det funkar att köra med AT90s8535?? vad jag har sett så är det inget som säger att det funkar (men jag vet inte allt).

EDIT: tog visst spänning fråm lpt porten

EDIT2: Har du kopplat om pinnarna så det stämmer med 8535 istället för 8515?

Postat: 24 april 2006, 23:56:48
av cykze
ATmega8535 programmeras sida för sida, istället för byte för byte som i fallet med gamla AT90S8535. Det är alltså en väsentlig skillnad!

Hårdvaran verkar ju fungera eftersom den läser signaturen korrekt. Prova med avrdude, som exile skrev.

Vill du ha en lite bättre programmerare, men fortfarande väldigt billig, skulle jag rekommendera t ex http://www.lancos.com/e2p/betterSTK200.gif

Postat: 25 april 2006, 11:09:08
av MrFreeze
Tackar tackar för alla svar !

Ska löda ihop en avrdude kabel och testa med den :razz:


/Ludde

Postat: 28 april 2006, 10:40:08
av MrFreeze
Hejsan, ja nu har jag lödit ihop en AVRDUDE - PPI kabel (1k resistorer
på signalkablarna och inget alls på GND) en väldigt enkel
programmeringskabes för parallelporten (och AtMega8535 bland annat).

Jag har kopplat upp kablarna mellan printer porten och AVR chipet :
MISO,MOSI,SCK,\RESET & GND (har testat lödningarna och dom är okay)
samt kopplat på 5 volt till VCC och GND på chippet.

är det så här man ska göra ?

för det funkar inte alls :^p

AvrDude-gui säger att den inte hittar något alls, det är som om jag inte hade
kopplat in någon ting alls.

Jag kopplade på en lysdiod över GND-VCC på chippet, och den 'fladdrar till'
när jag startar programmeringen, så AVRDUDE verkar iallafall försöka
att snacka med chippet...

Har testat mad 2 olika Atmega8535 utan framgång...
(och med en annan programmerings kabel jag hade så hittade jag iallafall chippet)


Har jag kopplat in den lilla transformatorn (från en ZIP, 5.0V) fel,
kan man / ska man koppla ihop GND från parallel porten och transformatorn ?



Tja, det blev mer text än information, men om någon ser ett uppenbart
fel eller har någon idé om vad jag skulle kunna försöka så skulle
jag bli väldigt glad !


/Ludde

Postat: 28 april 2006, 10:56:10
av exile
Hej har du installerat "drivrutinen" Givel0 Driver?
Det gör du genom att trycka "install" i AVRdude-gui, kolla även statusen för den...
Vad har du för strömförsörjning till den? Batterier, trafo ....
Har du kopplat ihop alla GND? Det bör man göra, lika så Vcc och Avcc...
Har du valt rätt programerare i AVRdude? den jag länka till kallas bsd...

Det är vad jag kan komma på för tillfället...

Postat: 28 april 2006, 11:17:49
av klintan
jag hoppas bara du skrivit fel för annars ere inte så konstigt att de inte funkar, "samt kopplat på 5 volt till VCC och GND på chippet."

Å så en fråga till varför skulle du inte kunna köra me den första programmerar kabeln till avrdude? bar

Postat: 28 april 2006, 13:38:17
av MrFreeze
Klintan : jo, det ska ju förståss vara att jag har kopplat 5v till Vcc och GND från transformatorn till GND på chippet :P
annars så hade jag en annan kabel då man jag byggde om den för att
passa AVRDude istället så den finns inte mer.

Annars så är drivern installerad (avinstallerade och återinstallerade för att testa)
Alla GND är ihopkopplade
jag kopplade samman VCC med AVCC men det ändrade inte något.

Programmeraren är "bsd" och chippet ATmega8535 så det borde vara okay.


Strömkällan är en liten transformator, 220V->5.0V till en gammal ZIP-Drive,
jag har inga högteknologiska verktyg (läs oscilloskop) men jag har mätt
upp 5.11V DC. (ATmega8535 vill ha 4.5-5.5V enligt databladet).

Jo, jag har ingen kristall eller annan oscillator inkopplad, behövs det ?
Jag har letat i databladet och på nätet men har intet hittat något.


Det kanske är printerporten som är kass ? (lpt1 är det va ?)

/Ludde

Postat: 28 april 2006, 14:46:57
av exile
Du skriver att du har en lysdiod med matningen på avren och att den fladdrar till, det låter nästan som om matnings späningen är instabil...

Sedan har du testat att ändra parallelporten konfigurationen i bios? SPP ECP EPP... det kan hjälpa

ATmega8535 har intern RC krets som är på defalt, så extern klocka behövs inte, om man har rört fuse-bitarna...

Signalerna från PORTen kan oxå vara för svaga (delvis späningen är för låg på signalen), det kan man åt gärda anting med en buffert eller sänka späningen till AVR (till 3volt eller liknade)...

Postat: 28 april 2006, 16:31:42
av sodjan
> Strömkällan är en liten transformator, 220V->5.0V till en gammal ZIP-Drive,
> jag har inga högteknologiska verktyg (läs oscilloskop) men jag har mätt
> upp 5.11V DC.

Notera att i många fall sitter glättningskondingarna i själva utrustningen
(i detta fall ZIP driven) och trafon har enbart en likriktarbrygga...

Postat: 28 april 2006, 17:04:34
av Greensilver
Skippa hembygget och kör med 9 volts batteri och en 7805:a! :)
Har man inget "riktigt" aggregat fungerar batterier kanonbra.

Postat: 29 april 2006, 11:50:31
av MrFreeze
Tack för all hjälp, det hjälper att folk hjälper !

Byggde en liten batterihållare och när det inte funkade så
installerade jag programmeraren på en annan dator ... och
vips så funkade det.
Det var parallelporten som är trasig på min dator :-/

Nåja, nu vet jag iallafall vad jag måste göra för att det ska fungera !

En liten fråga bara, jag har en gammal dator som jag kan koppla in
programmeraren i, (och det funkar :P ) men den står lite obekvämt till
så längre kablar från programmeraren skulle vara toppen.

Dock har jag rampla på en massa info på nätet om att man inte ska ha
för långa signalkablar på grund av interferens (och annat antar jag) men frågan
är då, skulle jag kunna använda en nätverkskabel på typ 2 meter till
programmeraren (enkelt dessutom att koppla in och ur med RJ45 kontakter)
Det fungerar ju väldigt bra när det gäller att sända information snabbt och
långt, men det kanske är spenciellt gjort för ethernet-kort och inte
för AVRDUDE programmerare ?


/Ludde

Postat: 29 april 2006, 13:16:58
av Greensilver
Gött att du hittade felet! :)

Det är inte kabeln som gör att man kan dra den typen väldigt lång det hänger på hur informationen överförs. Två meter torde dock inte vara några problem med RS232. Jag tror du kan köra ganska lång över specarna utan problem. Specarna är ju framtagna för tillämpningar i industrin där det absolut inte får bli fel.

Jag tror min kabel är 1.5 meter.

Om du absolut vill bygga lite för att dra längre kabel skulle du kunna bygga en liten krets som gör om RS232 till RS485. Skulle nog gå att bygga in i kontaktstycket. En i var ända. RS485 jobbar med spänningsdifferenser och är mindre känsligt än RS232 - detta var uppe för ett tag sedan i allmänt.

Postat: 29 april 2006, 13:28:59
av MrFreeze
Okay, inga "Nej är du galen ?" då, så jag kan ju koppla lite och testa :P

och tack för infon men jag är alldeles för okunnig för tillfället och
jag antar att jag köper mej en 'riktig' programmerare någon dag !

/Ludde
ps. det är klart gött att det funkar !