Fio v3 – atmega32u4 – dev-11520 – Électronique sparkfun

Interruptions Le pilote CDC intégré d’Atmega32u4 pour la communication USB peut présenter des problèmes de synchronisation lors de la programmation du minuteur de surveillance, des modes de veille et des interruptions du minuteur. Je ne suis pas sûr de la façon de résoudre ce problème si vous continuez à utiliser du code qui interfère avec le CDC. Je recommande d’essayer une méthode différente de celle utilisant les minuteurs d’interruption.

Bootloader incorrect Il est possible de brique votre FioV3 si vous avez utilisé la mauvaise sélection de carte avec la mauvaise fréquence. Si vous téléchargez la mauvaise fréquence, le CI ne sera pas en mesure de comprendre tout nouveau code en cours de téléchargement. Il s’attend à avoir du code qui est compilé pour un autre bootloader, au lieu d’utiliser la fréquence de 8 MHz avec l’oscillateur.

Lorsque l’un de ces cas se produit, le gestionnaire de périphériques ne peut pas reconnaître le périphérique et est généralement considéré comme un “périphérique inconnu” lorsque le microcontrôleur exécute l’esquisse.


Il y a des façons de récupérer le un Atmega32U4 (c’est-à-dire LilyPad Arduino USB – Atmega32U4 conseil, FioV3 – Atmega32U4, Pro Micro 5V / 16Mhz, Pro Micro – 3.3V / 8Mhz, etc.) si cela se produit. Consultez ci-dessous pour plus d’informations:

Vous pouvez essayer la méthode de double réinitialisation en tapant deux fois la broche RST sur GND (puisqu’il n’y a pas de bouton de réinitialisation sur la carte) comme expliqué dans les sections Dépannage étiquetées comme Reset to Bootloader et Comment faire revivre un Pro “Bricked”.> https://learn.sparkfun.com/tutorials/pro-micro-fio-v3-hookup-guide/troubleshooting-and-faq.

Après avoir sélectionné la bonne définition de la carte et synchronisé la méthode de double réinitialisation correctement, j’ai pu télécharger avec succès. Il m’a fallu quelques essais avant de pouvoir faire les choses correctement à cause du timing. Vous ne devriez pas avoir besoin de suivre cette procédure de récupération pour les mises en ligne ultérieures à moins que vous ne réappliquiez l’Atmega32U4.

Comme dernier résultat, vous pouvez toujours essayer de réinstaller le bootloader. Le tutoriel est conçu pour l’Arduino Uno, mais il devrait fonctionner pour Atmega32U4 bootloaded avec Arduino. L’idée est la même mais les spécificités sont différentes. Commencez par lire le tutoriel => https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader. La première chose dont vous aurez besoin est un programmeur AVR. Vous pouvez utiliser un programmateur AVR standard ou n’importe quel Arduino avec le code ISP (le code standard ne fonctionnera pas avec le Leonardo). Vous devrez ensuite le connecter au périphérique cible (c.-à-d. LilyPad Arduino USB, Pro Micro, Fio V3, Makey Makey ou Leonardo) pour reflasher le bootloader. Ne vous inquiétez pas des bits de fusible ou même les commandes avrdude (ils sont géniaux, si vous installez des trucs de tierce partie, mais cela fonctionnera très bien).

Vous devrez vous connecter aux mêmes broches sur votre périphérique cible (c.-à-d. LilyPad Arduino – USB, Pro Micro, Fio V3, Makey Makey ou Leonardo). Sur le Leonardo, vous pouvez le connecter comme l’Uno. Le LilyPad Arduino – USB a de petites broches ICSP. J’ai réussi à souder des fils directement aux broches pour l’accès. Le Pro Micro n’a pas d’en-tête ISP et les numéros de broche sont différents. Vérifiez le tutoriel pour l’emplacement des broches sur le programmeur. Voici les broches pour la carte FioV3: Broches ICSP Pro Micro Pin

En utilisant Arduino v1.6 + allez sous Outils et sélectionnez le bon programmeur (si votre programmeur utilise un port COM, sélectionnez-le aussi), et la bonne carte (LilyPad Arduino – USB, Pro Micro, FioV3, Makey Makey, ou Leonardo). Ensuite, sélectionnez Burn Bootloader. Pour le Pro Micro, cela va utiliser le chargeur de démarrage dans le fichier addon, alors assurez-vous que le fichier addon correct est installé. Vous pouvez trouver les dernières définitions du forum SparkFun GitHub Repository [https://github.com/sparkfun/Arduino_Boards].

Je ne sais pas si c’est quelque chose, mais j’ai parcouru les schémas pour trouver où VBATT et USB_VCC se connectent quand le interrupteur est allumé. Il y a un filet nommé RAW sur le fil juste après que l’interrupteur d’alimentation se connecte à U6. Je ne peux trouver aucune autre instance de RAW sur le schéma. Est-il possible que le réseau RAW soit connecté à USB_VCC? Lorsque vous utilisez USB, avez-vous besoin d’allumer l’interrupteur pour faire fonctionner la carte? (RAW est après le interrupteur et se connecterait à VBATT lorsque le commutateur est fermé). Si c’est vrai, alors il y a une conection de trace de l’USB_VCC après que S2 soit passé à U6 qui doit être coupé. En tout cas, USB_VCC se connecte à VBATT quand S2 est fermé. La connexion du commutateur à U6 doit être reliée à la broche 1 du connecteur USB. Je suis un peu méfiant de l’étiquette CHARGE_STAT. Il relie la broche 1 de U6 à PC7 sur l’Atmega. Il est possible que la DEL d’état de charge D4 soit toujours allumée si la broche PC7 est en train de couler. La fiche technique parle de la connexion de la résistance LED, ou de la connexion à une micro-broche en utilisant un pullup. Ils ne parlent pas de connecter les deux en même temps. En outre, il y a un fil étiqueté tout seul sur le schéma étiqueté “CHARGE_STAT” juste au-dessus du diviseur de tension. Cela ne semble pas être lié à quoi que ce soit. Cela semble étrange. Je me demandais simplement si cela pouvait causer des problèmes dans la netlist. Désolé pour le long message. J’ai regardé beaucoup de schémas, en vérifiant des listes de filet et en lisant trop de datasheets ces derniers temps …

Je fais un capteur à distance avec une radio XBee Pro 900, et je voulais des sorties numériques 3,3 V sans utiliser de leviers de niveau. J’utilisais l’UNO, mais il y avait des sorties 5V, donc je suis allé avec le Fio V3. Ce n’est certainement pas aussi convivial que l’ONU, donc je voulais mettre quelques notes ici pour les autres et moi-même.

Le micro USB est très finicky. J’ai trouvé qu’il serait ré-énumérer tout en fonctionnant (son de bum-bum), n’affectant pas le fonctionnement du conseil, mais évidemment quelque chose au sujet de la communication entre l’ordinateur et la carte n’est pas bien. J’ai également constaté que mon ordinateur ne reconnaîtrait pas l’appareil (oui, j’avais déjà installé les pilotes), et je passerais par une danse de réinitialisation, en quittant Arduino, retirer le câble pour résoudre ce problème. La meilleure solution que j’ai trouvée était que si j’ai branché la batterie en premier, puis le micro USB, l’incidence de ce problème a diminué considérablement. Il a également aidé à s’éloigner du “périphérique inconnu” dans le problème du Gestionnaire de périphériques. Je pense que la mise sous tension de l’appareil avant les données est nécessaire. Un bon résumé de ceci est dans https: // forum.sparkfun.com / viewtopic.php? f = 32&t = 32342. Mais cela conduit au prochain problème.

Les 5V du micro USB et du LiPo sont connectés ensemble lorsque le commutateur de bord est allumé, ce qui signifie que le LiPo voit les 5V du micro USB, ce qui est mauvais pour le LiPo. Vous corrigez cela avec le retrait du cavalier SJ-2. Ceci est décrit sur cette page web “http://www.forward.com.au/pfod/ArduinoProgramming/FioV3/index.html”.

Quand ça marche, c’est génial parce que tout ce dont j’ai besoin est intégré, mais ça ne fonctionne pas comme l’ONU. Je pense que ramener le FTDI USB rendrait cela beaucoup plus facile à travailler. Bien sûr, cela signifie que ce serait un peu plus grand, mais je l’ai acheté pour l’intégration avec le chargeur de batterie et le XBee, et le fait d’être un peu plus gros n’affectera pas mon désir pour cette partie.