Parlons Arduino > Débuter

Arduinos "génériques" et fréquence d'horloge

(1/3) > >>

bern69:
Bonjour à tous
Toujours débutant en électronique, mais passionné par les possibilités des Arduinos en conduite et gestion des réseaux ,je m'en suis procuré plusieurs sur la baie, qui fonctionnent bien (individuellement). Par contre je viens de me rendre compte que sur les Uno et Mega, les quartz sont à 12MgH et non à 16MgH, sur les Nano, illisible, et sur le Due, je ne sais pas le retrouver parmi les composants CMS.
Comment faire, car les synchronisations d'alimentation et les communications CAN vont poser problème, me semble-t-il.
A part changer chaque quartz, y a-t-il une solution logicielle ?
Le problème s'est-il posé pour vous? que conseillez vous?

Jean-Luc:
Bonjour,

Pour connaître la fréquence des quartz, programme un sketch tout simple, dans loop, tu affiches quelque chose puis tu attends 10000 millis. Ensuite tu chronomètres l'affichage.

Changer les quartz peut être délicat.

Sur tes Arduino à 12Mhz le boot loader est déjà adapté car sinon il ne discuterait pas à la bonne vitesse sur la ligne série.

Il doit y avoir moyen de rajouter ta carte custom dans boards.txt mais ça a changé depuis l'IDE 1.6. Je vais regarder ce qu'il en est

Jean-Luc:
Bon, j'ai un peu bricolé. Voilà ce que j'ai fait :

Dans le dossier Arduino où sont les sketchs, créé un dossier nommé hardware
Dans ce dossier hardware, un dossier clones
Dans ce dossier clones, un fichier boards.txt contenant les indication suivantes :


--- Code: ---# See: http://code.google.com/p/arduino/wiki/Platforms

menu.cpu=Clones


uno12.name=Uno Chinois 12MHz

uno12.vid.0=0x2341
uno12.pid.0=0x0043
uno12.vid.1=0x2341
uno12.pid.1=0x0001
uno12.vid.2=0x2A03
uno12.pid.2=0x0043
uno12.vid.3=0x2341
uno12.pid.3=0x0243

uno12.upload.tool=avrdude
uno12.upload.protocol=arduino
uno12.upload.maximum_size=32256
uno12.upload.maximum_data_size=2048
uno12.upload.speed=115200

uno12.bootloader.tool=avrdude
uno12.bootloader.low_fuses=0xFF
uno12.bootloader.high_fuses=0xDE
uno12.bootloader.extended_fuses=0x05
uno12.bootloader.unlock_bits=0x3F
uno12.bootloader.lock_bits=0x0F
uno12.bootloader.file=optiboot/optiboot_atmega328.hex

uno12.build.mcu=atmega328p
uno12.build.f_cpu=12000000L
uno12.build.board=AVR_UNO
uno12.build.core=arduino
uno12.build.variant=standard

--- Fin du code ---

C'est une copie des déclarations pour la carte Uno  en changeant juste le nom de uno en uno12 et la fréquence d'horloge : uno12.build.f_cpu=12000000L

Un nouvel item apparaît dans le menu Type de carte : Uno Chinois 12MHz

Je ne suis pas allé plus loin car je n'ai pas de clone avec d'autre horloge que 16MHz

DDEFF:
Ouaouuuu !!! ;D ;D

bern69:
 Ouaouuuu bis!!!

J'essaie tout de suite. 

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique