AVRProg USB v2 - nelze naprogramovat ATmega48 v AVR Studio

Pořídil jsem si programátor z GME a na něj vyrobil redukci pro kontaktní nepájiivé pole. Redukci a Atmel jsem patřičně prodrátoval. Elektricky je to imho funkční. Při pokusu naprogramovat ATmega48-PU20 mě píše modul Basicomu pro vlastní programování “neznámý čip”. V definci jsem měl “m48pdef.dat”. Zkusil jsem i druhý “m48def.dat”, ale žádná jiná předvolba na ATmega48 tam už není. Jak z toho ven? Nejdou definiční soubory někde updatovat? I když nějaký update to stáhlo samo po nainstalování bascomu.

Na foru k bascomu jsem objevil, že by se dal konfigurační soubor upravit a podstrčit ho, jako správný. Nemám ale tušení co tam napsat.

Edit: Jak jsem se díval, tak žádný další jako je PonyProg či AVR studio zná jen základní řadu mcu, ale ne ty co jsou běžně v prodeji. Jak to řešíte vy?

:arrow_right: administrator: přesunuto z "AVR"

:arrow_right: administrator: přejmenováno z "Můj úplně první pokus o naprogramování selhal - neznámý chip"

AVR Studio nie je programator. Na programovanie pouzivam pod AVRstudiom AVR Dragon a ten ma v menu aj ATmega48, 48A, 48P a aj 48PA. S tymito mcu nerobim, takze to nemam ako odskusat, ale nemam pochybnosti ze ich naprogramovat pojde.

Kde jsem psal o výše zmíněných programech jako o programátorech? Bascom, jenž používám má v nabídce ATmega48 a ATmega48p. Obě nastavení jsem vyzkoušel, ale bez úspěchu.

Zkusil jsem AVRDude, s výsledkem si nejsem jistý. Vypadá to, že to opět neprošlo. Podívejte se mě prosím znalým okem na výpis a řekněte, co se tam vlastně stalo. I když osobně si myslím, že zase byl problém v identifikaci mcu.

P.S. První pokus s vypnutou identifikací mcu jsem sem nedal, jelikož výpis byl naprosto jednoznačný, že neprošel už na začátku.
Progr.JPG

tu

Dal si dokopy programator Ponyprog s vývojovým IDE AVRstudio, čo programátor rozhodne nie je.

Myslíš to, že PonyProg je SW jenž slouží vyloženě jen na programování a AVR Studio 5 je vývojový balík? Nicméně v AVRstudiu 5 jsem našel část, co umožňuje nahrát program fyzicky do mcu.

Nicméně toto zjištění stejně neřeší skutečnost, že nevím, jak dostat program do mcu.

Ahoj.
Tento programator nefunguje v AVR Studiu 5, nainstaluj si avrstudio 4.19
Otazky

  1. Vidis v ovladacich tvuj adapter? Ma com cislo mensi nez 4?
  2. Je programator spravne propojeny z uC? Obcas vypadne dratek z nepajiveho pole, nekdy nesouhlasi GND atp.
  3. Zkusil si uC naprogramovat z externim napajenim (uC napajeno pres 7805 a programator nenapaji.

Typ je to, co je napsané před pomlčkou.
ATmega48-PU20
Tvůj čip je Atmega48, ne Atmega48P.
K němu patří soubor m48def.dat a není třeba ho nijak updatovat.

Máš programátor správně nainstalovaný?
Vidíš ho ve správci zařízení?

Také může být chyba v připojení k mikroprocesoru.
Jestli se nedíváš na ISP konektor nějak opačně.

Programátor jako takový chodí. Ve správci HW je vidět . Možná bude chyba v zapojení isp konektoru. Původní kabel má na obou stranách zásuvky a tak jsem si vyrobil vlatní s vidlicí. Přímo v něm chyba nebude (poctivě jsem ho “prozvonil”), ale možná jsem otočil popis pinů. Zkontroluju to a dám vědět.

Edit: Napadla mě ještě jedna věc a to rušení. ISP “konektor” mám zapíchnutý asi 1cm nad horní stranou mcu (tam kde je znacka) a k vlastnimu mcu to vedu propojkami, jenž se různě kříží. Nebude se to takto rušit? Cele to mám v nepájivém poli.

sázím na špatné zapojení, jinak typ P nemusí být vždy totéž co PU, např. atmega1284P-PU taky existuje:)

Ač by to u mě nebylo tak neobvyklý, tak zapojený to mám kupodivu správně. Mám v plánu místo tohoto univerzálního kabelu dělat kabel přímo na ATmega48 a pinově kompatabilní, kde bych nepoužil náhradu SPI konektoru, ale udělal bych přímo řadu pinů, souhlasných s pouzdrem a každá polovina by se zabodla z každý strany mcu a tím by odpadla další možnost chyby.

Další nápad, proč by to mohlo blbnout

  • mám to připojený jen na mcu (mimo další obvod) a mám to napájený z usb.
  • Jak má ISP konektor na jedný straně 4 GND a na signálové jednu, tak jsem zapojil jen tu na signálové straně.

Krizeni kabelu vubec nevadi, sam to pouzivam, mozna je kabel uz moc dlouhy na to aby fungoval, obcas funguje max 15 cm, me funguje cely+ taky redukce. Kdyz jsem jeste programoval pres LPT mel jsem jenom 6 pinu, ktere mel i dragon, tak jsem to tady napajel taky abych mel zasuvku na 6 pinu. Potom uz se mi to taky krizi…

Hod sem fotky:

  1. Obrazek z windows ovladaci panely
  2. Obrazek konfigurace v bascomu
  3. Obrazek programatoru+ vidlice
  4. Obrazek pripojeni programatoru k mega48

Díky kontrole kabelu jsem se posunul o něco dále. Byl tam asi posunutý pin v liště, co strkám do nepájivky. Čip to už poznalo, ale odmítá ho to naprogramovat. Kabel jsem si vyrobil vlastní a je dlouhý asi 45cm - jako původní.

Nastavení Bascomu sem zatím dám nastavení portu COM. Případně mě napadají ještě další dvě okna. Screeny a fotky sem dám tak za 15min. Hned jak to natípám, nafotím a zpracuju.

Tak pokud to poznalo uC tak uz je vyhrano, zkus precist uC, jestli se to povede a nejde naprogramovat, je to tim, ze je spatne napsany program, a neprelozilo se to…

Když jsem pustil ručně kompilaci, tak proběhla ok. Pouštěl jsem i kontrolu syntaxe - taky bez chyb. Jediný, co by mohlo být za problém, že jsem tam nezadal frekvenci krystalu, jelikož chci použít vnitřní defaultní. Nebo tam mám dát* $crystal = 1000000* , i když chci použít vnitřní oscilátor?

Tady jsou screeny. Zelený propojky je jen na označení pozic, kam mám umístit ISP “konektor” a ATmegu. Programovací obvod končí oranžovou propojkou. Červené propojky a segmentovka (za oranžovou propojkou) je součástí obvodu, jenž bych chtěl řídit zmíněnou ATmegou.

Přidal jsem i screen nastavení fuse bits. Nechal jsem to default. Snad jsem nic nepokakal. Český manuál k programátoru je zde.
AVR.rar (712 KB)

Ja mam ten samy programator, akorat mam AVR Studio, takze neporadim s nastavenim BASICOMu.
Co akorat vidim z fotek, tak nemas zapojene spravne napajeni. Chybi zapojene GND na pinu 8. To muze delat problemy. Taky pro jistotu zapoj napajeni na druhe strane.
Rychlost prenosu mam nastavenou v Hardware configu na max, tedy 128000b.
Taky je divne nastaveni Fuzes, pri defaultnim nastaveni to ma mit Int. RC Osc 1Mhz. Jsi si jisty ze jsi nic nemenil?
Posli jeste screen, jak flashujes program, vypada to, z chyboveho vlaseni pod obrazovkou fuzes, ze se snazis nahrat EEPROM a ne program a vzhledem k tomu ze ti chybi soubor pro eeprom, tak to samozrejme hodi chybu. Ten soubor se vytvori pouze, kdyz pracujes s EEPROM.

Opravdu je to flash a ne eprom - viz oranžový probarvenení horní hrany záložky. GND u VCC jsem připojil na pin 8. To druhé napájení mám připojit na pin 20 AVcc nebo kam, nikde jsem tam jinak druhé napájení nenalezl.

Na tom posledním obrázku píše, že zapsal 768 bajtů do flash, takže by to mělo být v pořádku.
Zkus po zápisu kliknout ikonu “Verification” nebo podobně. Měl by napsat něco jako “Verification ok”.
Neznám tento programátor, ale mělo by to jít.

Jo druhe napajeni na Pin20, taky si myslim, ze uz to v poradku zapsal… Uz blikas LED?

Blikám. Protlačil jsem to tam přes AVRstudio. Ale musel jsem přijít ještě na jednu chybku - zapomněl jsem zapojit reset u vlastního zapojení. Zapojil jsem ho na 1k odpor na 5V a pak jsem ten reset připojil přes 100nF kondík k zemi. To zapojení resetu jsem okoukal tady.

Ale pokusům není konec. Asi jsem zadal špatnou frekvenci vniřního oscilátoru. Mělo to na displeji počítat od 0 do 9 a pak zpátky. Udělal jsem tam čekání 0,3 sekundy u každého čísla. Teď ale běží celý cyklus tak vteřinu a mělo to být tak cca 8 sekund.

Nastavil jsem frekvenci 1MHz. Ale asi to bude špatně. Mám tam ještě chybu uď v programu, ale spíš v zapojení - nejspodnější segment je mrtvý.

Edit: Tak už nění mrtvý - měl jsem málo domáčkutý Atmel v nepájivým poli.