E85 skrev:Tanken är god men du kommer bli galen om du ska hålla på med ett projekt och måste flytta atmegan varje gång du ska in med ny kod. Bättre då att sätta en ISP-header på alla projekt...
jo jag börjar nog bli galen på detta men konstig nog så gillar jag det
Fast blir det mera sådana här projekt så är din ide inte alls dum
Tanken var ju som sagt att jag labbar och testar med mitt UNO i en labbmiljö och när allt är klart så flyttar jag över den till den riktiga kortet.
Detta kommer bli mitt första inom microprocessprogrammering
Sista bilden du visar hela kortet på har du ingen avkopplingskondensator. Avkoppling är ett måste och den ska sitta så nära kretsens vcc och jord som möjligt.
Borre skrev:Sista bilden du visar hela kortet på har du ingen avkopplingskondensator. Avkoppling är ett måste och den ska sitta så nära kretsens vcc och jord som möjligt.
Har nu lagt till den så nära kretsens VCC och jord
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Jag har fortfarande svårt att fatta att det är bättre att göra en programmeringsenhet som klarar en version processor när man för en mycket billig peng kan köpa en riktig enhet som klarar alla versioner.
Sedan är det standard att man lägger in en ICSP-kontakt på de kort man gör, man ser även till att ha standard pinout på dom, då kan man använda vilken programmeringsenhet man vil sedan.
Jag vill i övrigt rekommendera att du använder en keramiks resonator med inbyggda lastkondensatorer, de är billigare, enklare och avsevärd mer stryktåliga än kristaller - men dock inte lika exakta i frekvensen.
Jo jag kanske lägre fram går över till något annat men just nu som nybörjare så räcker det med att den ska klara av atmega328 till att börja med.
Jo jag hört talas om och läst att en resonator är bättre men hittade ingen 16Mhz trepinnar på electrokit hemsida.
Så jag testar med detta först tror jag, det verkar vara det vanligaste sättet men är lite nyfiken på att testa en resonator längre fram faktist.
Icecap skrev:Jag har fortfarande svårt att fatta att det är bättre att göra en programmeringsenhet som klarar en version processor när man för en mycket billig peng kan köpa en riktig enhet som klarar alla versioner.
Sedan är det standard att man lägger in en ICSP-kontakt på de kort man gör, man ser även till att ha standard pinout på dom, då kan man använda vilken programmeringsenhet man vil sedan.
Jag vill i övrigt rekommendera att du använder en keramiks resonator med inbyggda lastkondensatorer, de är billigare, enklare och avsevärd mer stryktåliga än kristaller - men dock inte lika exakta i frekvensen.
Är en extern keramisk resonator mera exakt i frekvensen än den inbyggda oscillatorn i AVR-kretsen (om man bortser från att man kanske vill köra någon annan frekvens och därför väljer extern keramisk resonator istället)?
Det verkar också finnas två olika typer av programmeringskontakter. En 10-polig och en 6-polig variant. Ska man kunna använda vilken programmerare som helst får man väl sätta dit båda typerna antar jag. Själv kör jag med en usbasp som jag köpte på ebay för 31 kr inklusive frakt (billigare än en lös ATMega328 ju). Den har 10-polig kontakt.
Data för resonatorerna kan man kolla i databladet, har för mig att det är ±100ppm för "normala" enheter.
Om man ska ha en 6 eller 10-pinnig ICSP-kontakt är likgiltig, det är exakt samma signal som ska dras till den så ju färre pinnar, ju bättre. Och att göra en enkel 10->6 pinnars adapter är enbart en frågan om att ha rätt kontaktdon i varje ända samt ett par sladdar mellan dessa. Den 10-pinniga har bara fler GND-pinnar senast jag kollade.
Jag har en AVRISP mk2 som har den 6-pinniga och i dess dokumentation visas adaptern för den 10-pinniga ICSP-kontakten.
Men ska du ha en komplett 10 pin kontakt behövs mer än 6 anslutningar då den också supportar jtag! Har man råd ska man helt klart satsa på en jtag programmerare som man också kan debuga på Target med.
Då gäller det väll att kolla så att processorn i fråga stödjer jtag. Jag har ingen koll på Arduinos (även om jag har en någonstans) men mångar 8-bitars avr:er stödjer ju bara debugwire eller om det är en äldre inte ens det. Jag tror att den 6-pinniga kopplingen ska funka för debugwire.
Tänkte bara slänga in en varning! Se till att du köper hem ATMEGA328P. ATMEGA328 kan vara billigare men har en annan chip-signatur som inte arduinoprogramvaran går med på. Jag lyckades ändå efter mycket efterforskning med att få in Arduino-bootloadern.
Lösningen blev att gå in i nån hemlig konfigurationfil och ändra signaturen, slänga in bootloadern och sen ändra tillbaka igen, för att på så sätt lura Arduino-miljön att tro att jag hade P-versionen.
Läste denna tråd och var tvungen att testa lite.
Jag köpte också Atmega328-snik dvs inte pico power varianten 328P
Uppkopplad för att programmera den friståenden Atmega328'an
arduino isp.png
"upp and running"
8MHz intern klocka,
det enda externa är en lysdiod med ett förkopplingsmotstånd som dimmar upp och ner med pwm,
bara för att se att det fungerar.
atmega328.png
det som behöver fixas är editera signaturen i avrdude.conf , så den tror det är en 328P
och fixa .variants variabeln i boards.txt om man vill köra utan kristall enligt beskrivningen på arduino's hemsida.
En person jag känner kommer att etsa mitt labbkort samt jag kommer sätta det på en snygg platta med distanser så man inte trycker fast labbplattan med lödningarna direkt i träplattan.
Om nu allt skulle gå som planerat så borde mina två projekt få se dagens ljus nästa vecka.