Go Down

Topic: ATmega328 + cristal (Read 880 times) previous topic - next topic

demss

Bonjour,

Ici j'alimente l'ATmega328 sur le 3.3V.
1) Si je veux programmer un ATmega328 avec un cristal 8MHz, dois je utiliser l'option Arduino Pro or Pro Mini(3.3V, 8MHz) w/ ATmega328?

2) Si je veux programmer un ATmega328 avec un cristal 12MHz, dois je utiliser quelle l'option?

3) Si on veut programmer le NB1A Microcontroller Board (ATmega328P + cristal 12MHz) quel option je dois utiliser pour programmer l'ATmega?
http://wiblocks.luciani.org/NB1/NB1A-index.html


Ici j'alimente l'ATmega328 sur le 5V.
1) Si je veux programmer un ATmega328 avec un cristal 16MHz, je dois utiliser l'option Arduino Duemilanove, or Nano w/ ATmega328?

Voici les options:


Merci

churchill

Salut,
Quote
Si on veut programmer le NB1A Microcontroller Board  (...)

Visiblement tu dois ajouter ta carte au fichier boards.txt de l'IDE arduino, d'après le site (1) que tu nous donnes en référence.

Churchill

(1) http://wiblocks.luciani.org/docs/app-notes/boards-txt.html

demss

#2
Apr 01, 2010, 05:13 am Last Edit: Apr 01, 2010, 09:13 pm by userid3456789 Reason: 1
Merci churchill pour ta réponse!  :)

Alors je dois rajouter ça:

Code: [Select]
###########################################

wiblocks_328.name=wiblocks 328 at 12MHz
wiblocks_328.upload.protocol=stk500
wiblocks_328.upload.maximum_size=30720
wiblocks_328.upload.speed=19200
wiblocks_328.bootloader.low_fuses=0xff
wiblocks_328.bootloader.high_fuses=0xdd
wiblocks_328.bootloader.extended_fuses=0x00
wiblocks_328.bootloader.path=atmega328
wiblocks_328.bootloader.file=ATmegaBOOT_328_zb1.hex
wiblocks_328.bootloader.unlock_bits=0x3F
wiblocks_328.bootloader.lock_bits=0x0F
wiblocks_328.build.mcu=atmega328p
wiblocks_328.build.f_cpu=12000000L
wiblocks_328.build.core=arduino

à la fin du fichier arduino-0018\hardware\arduino\boards.txt.
En ajoutant ça on va avoir une autre option wiblocks 328 at 12MHz.

Pour calculer le nouveau scale factor.
Quote
//
// If you program a 12MHz board after choosing a 16MHz board
// in the boards selection menu you need to adjust the baud
// rate.
//
// Compensating for the 12MHz XTAL
// 12800 = (16/12) * 9600
// 25600 = (16/12) * 19200

Serial.begin(12800); // 9600 BAUD

Avec cette nouvelle option je peux faire fonctionner un NB1A Microcontroller Board.
Et je peux surement aussi faire fonctionner un ATmega328 avec un cristal de 12MHz?




Sur cette page il dise qu'un ATmega328 peut fonctionner jusqu'à 20MHz!
http://www.robotshop.ca/atmega328-chargeur-initial-arduino-sfe.html

Alors si j'alimente l'ATmega328 sur le 5V et je met un cristal de 20MHz ça va être plus rapide.
Avec ce code:
Code: [Select]
##############################################################

atmega328_t.name=ATmega328 avec un cristal 20MHz
atmega328_t.upload.protocol=stk500
atmega328_t.upload.maximum_size=30720
atmega328_t.upload.speed=57600
atmega328_t.bootloader.low_fuses=0xFF
atmega328_t.bootloader.high_fuses=0xDA
atmega328_t.bootloader.extended_fuses=0x05
atmega328_t.bootloader.path=atmega
atmega328_t.bootloader.file=ATmegaBOOT_168_atmega328.hex
atmega328_t.bootloader.unlock_bits=0x3F
atmega328_t.bootloader.lock_bits=0x0F
atmega328_t.build.mcu=atmega328p
atmega328_t.build.f_cpu=20000000L
atmega328_t.build.core=arduino

Pour calculer le nouveau scale factor.
Quote
//
// Si on programme une carte 20MHz après avoir choisi une carte 16MHz
// dans le menu des option de carte tu dois ajuster le baud
// rate.
//
// Compensating for the 20MHz XTAL
// 7680 = (16/20) * 9600
// 92160 = (16/20) * 115200

Serial.begin(7680); // 9600 BAUD


Ça fonctionne tu comme ça pour un cristal de 20MHz?

Si j'écris Serial.begin(115200); je vais avoir un baud rate de 144000.
Avec un Baud rate de 144000 c'est tu dangereux pour la santé de mon ATmega328?

Merci

Go Up