Immagino che, come buona parte dei tread aperti da noi niubbi, quello che mi serve sia nascosto nei meandri del forum ma con tutta la buona volontà ancora non sono riuscito a scovarlo.
Innanzitutto un grazie gigantesco a menniti che con la sua guida mi ha risparmiato molto tempo perso in ricerche.
Ma veniamo al punto.
Sto provando a costruire il transistor tester che vi linko qui AVR-Transistortester – Mikrocontroller.net
Ovviamente non funziona altrimenti non starei qui a scrivervi
Essendo la prima volta che mi avventuro nella costruzione di un pcb con atmega in stand alone non so cosa sto sbagliando ma sospetto fortemente che dipenda dalla programmazione dell'atmega.
In più, a complicare le cose, c'è il fatto che il progetto prevede il caricamento di due file (uno hex e l'altro eep per i caratteri nell'LCD) direttamente nell' atmega8.
Da giorni sto cercando informazioni in rete ma sono sicuro che sto sbagliando qualche cosa. Prima di perdere ulteriore tempo nella ricerca del problema nel posto sbagliato chedo aiuto agli esperti
Se qualcuno di voi è disponibile ad aiutarmi questo è quello che ho fatto:
Il progetto prevede il caricamento dell'hex e dell'eep in un atmega 8 che funzioni con l'oscillatore interno ad 1MHz e abbia i fuses impostati così: low-c1, high-d9
Grazie alla splendida guida del menniti ho realizzato il collegamento isp tra un adruino uno smd e una bread board con tutto il necessario compreso il quarzo a16MHz.
A questo punto ho modificato il file board aggiungendo una scheda sulla base della mega8 ma con i fuses richiesti e il clock a 1Mz . Questo è il codice che ho scritto:
atmegax8.name=ATmegax8
atmegax8.upload.protocol=stk500
atmegax8.upload.maximum_size=7168
atmegax8.upload.speed=19200
atmegax8.bootloader.low_fuses=0xc1
atmegax8.bootloader.high_fuses=0xd9
atmegax8.bootloader.path=atmega8
atmegax8.bootloader.file=ATmegaBOOT.hex
atmegax8.bootloader.unlock_bits=0x3F
atmegax8.bootloader.lock_bits=0x0F
atmegax8.build.mcu=atmega8
atmegax8.build.f_cpu=1000000L
atmegax8.build.core=arduino
Ho caricato lo sketch arduino isp nell'arduino poi ho bruciato il bootloader nella mega8 per impostare i fuses.
Fino a qui credo di non aver sbagliato niente ma ora viene il bello.
Ho capito che il modo migliore per caricare i file sarebbe utilizzare avr dude ma non riesco neanche a trovarlo.
Ad ogni modo ho provato in tutti questi modi:
° Ho aperto lo sketch Blink e compilato. aperto la cartella temporanea e sostituito i file .hex .eep con quelli da caricare, opportunamente rinominati. uplodato il tutto
° Ho aperto uno sketch vuoto e riempito soltanto con void setup e void loop. Salvato, compilato, sostituito i file come sopra e uploadato.
° Ho scaricato avr uploader e dopo aver selezionato il solo file .hex l'ho caricato utilizzando sempre l'arduino come isp
° Ho ripetuto tutti i passaggi con la breadboard senza il quarzo da 16MHz e condensatori da 22pF.
Dimenticavo, per verificare il funzionamento del collegamento ISP e del cablaggio della breadboard ho provato a caricare lo sketch blik ed effettivamente ha funzionato ma con una lentezza assurda. Purtroppo ora non ricordo con quali impostazioni di clock l'ho fatto...
Cosa posso aver sbagliato?
In realtà questa intendeva essere una replica al post della guida ma a quanto pare la sezione generale del forum è stata sigillata da equitalia