Hur är rätta inkopplingen på AVRISP Mkii?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Så ni menar att det är problemet? Jag har byggt barebones arduino förut, utan RC-oscillator och keramikkondensatorer. Dock så använde jag då ISP och inte Mkii. Men det spelar ingen roll.

Det är bara nu jag har fått problem.
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av eqlazer »

Al_Bundy skrev:Jag kör med den interna kristallen :)
Är du verkligen säker på det?
När den funkar i unon, läs ut vilka fuses som är satta så du verkligen är säker på vad använder.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av TomasL »

Unon använder uppenbarligen en kristall, och har pullup på MCLR/RESET, om du använder samma program på bägge, måste hårdvaran också vara samma, annars funkar det inte.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Jag byggde nyss en apparat som styrdes av en ensammen ATmega328, utan kristall och kondensatorer.

Då gjorde jag så här:
Bild

Källa: http://arduino.cc/en/Tutorial/ArduinoToBreadboard
eqlazer skrev:
Al_Bundy skrev:Jag kör med den interna kristallen :)
Är du verkligen säker på det?
När den funkar i unon, läs ut vilka fuses som är satta så du verkligen är säker på vad använder.
Jag är säker på det. Har bilder på den.
Hur läser jag ut vilja fuses i Arduino IDE? Atmel studio klarar inte av min dator, eller tvärt om, eller mig.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av TomasL »

Hur läser jag ut vilja fuses i Arduino IDE? Atmel studio klarar inte av min dator, eller tvärt om, eller mig.
Det är nog snarare du som inte klarar Atmel Studio.
I ARDUINO's IDE, tja det får du läsa i dokumentationen, troligen går det inte, då det troligen enbart är till för Arduino, och då behöver man troligen inte bråka med konfigurationen, eftersom alla Arduino är konstruerade på samma sätt.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Om jag programmerar med Mkii programmeraren, och där med använder ej bootloader, och använder arduinos mjukvara så måste jag ha 16 Mhz oscillatorn? Är det de bootloadern är till för? Som jag uppfattade så är bootloadern till för att kunna använda vanlig USB serial port.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av TomasL »

Bootlosdern har inget med det att göra, däremot "fuse-settings" som du antagligen inte kan påverka i Arduinos miljö, däremot i Atmel Studio
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Men jag har redan ställt in fuse settings igenom att ladda ner en fil som är anpassat för arduino.

Den ser ut så här:
atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)

atmega328bb.upload.protocol=stk500
atmega328bb.upload.maximum_size=30720
atmega328bb.upload.speed=57600

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F

atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard
Finns på länken jag länkade. Se Källa.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Det löste sig nu.

1. Jag tog en ATmega
2. Jag ställde in så jag hade kortet på 8 Mhz, dvs den interna RC-oscillatorn.
3. Jag placerade min ATmega på UNOn.
4. Jag kopplade in Mkii programmeraren i ICSP kontakten på UNOn.
5. Jag brände över en bootloader.
6. Jag kopplade så här.
7. Jag brände över en sketch via uppladdning genom programmeraren.

Detta är programmeraren och en ISP.
Bild
Nu är denna bild lite fel. Den gröna kabeln ska gå till RESET på kortet.

Men här är min nya metod.
Vad tycks?
Bild

Skulle jag INTE bränna in en bootloader först med den interna klockan som val så skulle det ge error som jag hade förr.
Binary sketch size: 1 084 bytes (of a 32 256 byte maximum)
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: RST fail, SCK fail
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
Så allt handlade egentligen om bootloader.

Om jag bränner tillbaka till samma bootloader på ATmegan jag hade innan och kör endast Mkii programmeraren direkt till ATmegan så betyder det att de fungerar! Jag valde board ATmega 8 Mhz och brände över bootloader. Sen brände jag över en sketch till ATmegan från programmeraren direkt till ATmegan, utan att använda mig av UNO-kortet.
Binary sketch size: 1 108 bytes (of a 30 720 byte maximum)
Alltså har detta med bootloader att göra.
Men är det inte så att jag skriver över bootloadern när jag skriver över en sketch via programmeraren? :humm:
Eller kan det vara så att jag behöver först en bootloader som är anpassat för den interna oscillatorn på 8 Mhz för att kunna skriva till den, utan att få error. Och när jag väl skriver till den så försvinner bootloadern?

Jag testar:
Jag flyttar över ATmegan från mitt kopplingsdäck och placerar den på min UNO för att bränna in en sketch. Jag väljer först board ATmega 8 Mhz intern oscillator och sedan ändrar i programmet lite. Nu bränner jag över sketchen.
Jag får inga error...men min UNO blinkar fortfarande i samma takt som förr. Alltså betyder det att sketchen nådde ej ATmegan.

Jag testar med vanliga 16 Mhz board.
Jag ändrar lite i koden för att min lampa ska blinka segare.
Binary sketch size: 1 084 bytes (of a 32 256 byte maximum)
Jag fick inga error, men programmet ändrade inte frekvensen på lampan. Ni vet lampan som är LED 13 på UNO?

Så min slutsats var att bootloadern är boven i dramat, men man måste ha den för att kunna ta bort den via överskrivning med en sketch, annars kan man inte skriva sketchen. Vilken hatkärlek på elektroniknivå? :mrgreen:

God natt! :bravo:
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Nisse »

Vad är det egentligen du vill göra?

Varför envisas du med en bootloader om du har en AVRISP MK2?
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Jag lärde mig hur att koppla upp och bränna en sketch utan bootloader. Det var lite lurigt.
Jag gjorde bara tester.
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Nisse »

Du behöver inte ha bootloadern i din AVR för att kunna få in ett nytt program med din AVR ISP mkII.
Hur kom du fram till den slutsatsen?

Din AVR behöver bara vara inkopplad på rätt sätt och ha en fungerande klocka (intern RC eller extern kristall). Uppfyller man detta är det bara att programmera på. Ibland får man lov att sänka hastigheten på programmeringen om man använder en långsammare kristall.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Jag vet att jag inte behövde en bootloader. Men jag behövde dock en bootloader för att kunna bränna över sketchen vilket då bootloadern försvinner.

Jag hade lite errorproblem då jag redan hade en bootloader på den. Men har fått bort den nu. Läs tråden.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Al_Bundy »

Nu är det något mystiskt skumt igen som har hänt.

Jag råkade bränna min ATmega. Jag har inte haft tid att beställa skor till chippen så jag fick lov att löda om. Jag har tensug, men det var liksom ändå värdelöst att lägga ner tid. Så jag lödde om ett helt nytt och fräsht kort. Blev jättesnyggt.

Men innan dess så brände jag över programmet till ATmegan. Jag placerade ATmegan på min UNO och sen använde jag Mkii programmeraren för att bränna in en sketch. När jag ändå bränner in en sketch med mkii programmeraren så skrivs bootloadern över.

Men nu ska jag ändra lite i programmet när ATmegan sitter på plats. Då har jag gjort det enkelt att jag har dragit kablar från Atmegan till mkii programmeraren. Och nu när jag ska bränna över den ändrade sketchen....så får jag detta meddelande.
Binary sketch size: 2 602 bytes (of a 30 720 byte maximum)
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
Double check chip, or use -F to override this check.

En lösning, som inte fungerade, var denna
Make a backup copy of the file: avrdude.conf
Open the file avrdude.conf in a text editor
Search for: “0x1e 0x95 0x0F” (this is the ATmega328P signature)
Replace it with: “0x1e 0x95 0x14” (this is the ATmega328 signature)
Save the file
Restart the Arduino IDE
Continue with the rest of the steps in the instructable, and once bootloading is complete restore the backup copy you made.
Källa: http://www.instructables.com/id/Bootloa ... orkaround/

Är ni vad med detta? Varför går det så bra att bränna över en sketch med mkii programmeraren på ATmegan när ATmegan sitter på UNO kortet, men att bränna över en sketch via mkii programmeraren på ATmegan när ATmegan sitter på ett vanligt kretskort så får den något fnatt.
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Re: Hur är rätta inkopplingen på AVRISP Mkii?

Inlägg av Nisse »

När den sitter på UNO-kortet har den kristall med avkopplingskondingar, rätt kopplad RST och samtliga spänningsmatningar är som de ska.
Är det samma förutsättningar på ditt kretskort?
Skriv svar