refus de démarrage d'un atmega328p, branché à une alimentation d'ordinateur,

Bonjour !

J'ai essayé de construire un rhéobus, à l'aide d'un atmega328p.
En fonction d'une valeur analogique reçue par des potentiomètres 10Kohm, la carte arduino devait fournir un signal PWM adéquat: 1023 ==> 255 en PWM par exemple...
Ce signal PWM est relié à un transistor, qui laisse passer le 12v en fonction du signal.
Tout simple, et réalisé sur breadbord, avec arduino, puis sans arduino mais avec l’alimentation de la carte arduino...
Enfin, pour finaliser, j'ai décidé de connecter l'atmega328p au +5v d'une alimentation d'ordinateur, et là, c'est le drame: il de démarre pas, mais chauffe juste... J'avais anticipé un 'fail', et donc j'ai pu le sauver à temps... Cependant, pourquoi n'a-t-il pas démarré? une led sur le pin 13 devait pourtant s'allumer...

L'atmega est relié à un cristal de 16Mhrz, et à 4 potentiomètres.
Les 4 potentiomètres sont eux reliés au +5V et Gnd de l'alimentation, sur prise molex.
Enfin, il semblerait que le réglage des potentiomètres soit un facteur de l'augmentation de la température de l'atmega, mais je n'y ai trouvé aucune logique particulière...

Donc je ne comprends pas pourquoi il ne démarre pas, et pourquoi il chauffe..
Help- me please!
Merci :wink:

Noctus70:
L'atmega est relié à un cristal de 16Mhrz, et à 4 potentiomètres.

bonsoir
IL n'y a "que çà" comme composants externes ? 8)

haha ^^, eh bien, 4 potentiomètres, sur A0-1-2-3 et 4 bases de transistors reliées aux pins 3 5 6 9 de l'arduino si je me rappelle bien.. l'alimentation bien sûr, et une led sur le pin 13..
voila ^^
ouip c'est très simple, et je galère sur rien...
Et puis le montage autour des transistors, res et condos pour les ventilos.

Noctus70:
haha ^^, eh bien, 4 potentiomètres, sur A0-1-2-3 et 4 bases de transisor reliées aux pins 3 5 6 9 de l'arduino si je me rappelle bien.. l'alimentation bien sûr, une led sur le pin 13..
voila ^^
ouip c'est très simple, et je galère sur rien...

Et les capas pour que ton "quartz de 16 MHz" oscille , elles sont de quelles valeurs et câblées comment ? 8)

""quartz 16Mhz""??
branché sur les pins 9 et 10, les accus branchés comme il faut, comme ultra simplifié sur l'image!

Noctus70:
""quartz 16Mhz""??
branché sur les pins 9 et 10, les accus branchés comme il faut, comme ultra simplifié sur l'image!

de quels accus parle tu ?
fais une photo "lisible" de ton montage sur breadboard

pardon condensateur, sinon mon montage breadboard fonctionne, mais à présent il est soudé, donc 'illisible' ^^'
j'ai fait un copié collé de ça

atmega_seul[1].JPG

J'ai vérifié tout le montage, rien trouvé d'anormal, et l'atmega chauffe toujours...

As tu commencé par le commencement :

  • Câblage de l'atmega et ses composants indispensables et RIEN D'AUTRE.
  • Charger un blink et vérifier que la del (led) clignote au bon rythme.

Vu la pauvreté des renseignements que tu donnes j'ai consulté ma boule de cristal et elle me suggère que l'atmega est en boîtier DIP 28 broches --> est ce bien le cas ?

L'atmega que tu utilises actuellement a-t-il ses fuses configurés et un bootloader de chargé ?

PS : pour la valeur des capa du quartz je te conseille de regarder le schéma de la carte UNO que tu peux télécharger librement à partir de ce site. Ce ne sont pas des 1nF qui sont câblées.

oui, désolé pour le manque d'information, je ne sais pas trop quoi donner... j'ai oublié de modifier la valeur, ce sont des 22µf!
Sinon oui mon atmega est bien branché, j'ai vérifié la connectique, et cet atmega fonctionne parfaitement, tout le système a été testé avec les mêmes composants (atmega compris) avant la soudure, et tout fonctionnait parfaitement, la seule différence c'est l'alimentation: je suis passé d'une carte arduino à une alim d'ordi fixe...

et pis voila les photos du montage, c'est moche, je sais ;( mais j'avais rien d'autre sous la main...
encore désolé pour le manque d'info... et pour la qualité des photos..

j'ai oublié de modifier la valeur, ce sont des 22µf!

J'espère que c'est une erreur d'écriture et que ce sont des 22pF et non pas des 22 µF

Si je comprend bien celà fonctionnait sur breadboard puis il y a eu 2 modifs :

  1. soudure des composants sur carte pastillée
  2. changement d'alim

Essayons de procéder par élimination :
Après soudure et avec l'ancienne alim est-ce que cela fonctionne encore ?

  • Si oui c'est l'alim qui est à mettre en cause et il faut essayer avec une troisième avant de crier victoire.
  • Si non c'est la phase soudure qui est à mettre en cause --> vu que le boîtier chauffe c'est probablement la phase soudure qui est à mettre en cause.

Si tu ne vois rien depuis plusieurs heures tu attend de passer une bonne nuit , tu revérifie, et si tu ne vois toujours rien ce n'est pas la peine de t'obstiner il faut recommencer le câblage de A à Z --> tu gagnera du temps.

non, avec l'ancienne alim cela ne fonctionne pas... Je vais donc tout recommencer, mais ce soir, quand j'aurais d'autres atmega... Merci pour ton aide!

C'est une sage décision mais surtout procède avec ordre et méthode.
Fais toi un vrai schéma électrique avant de câbler.
Soit rigoureux sur la valeur des composants --> 22µF = 22 pF x 1 million : c'est quelque peu différent !
Ne fait le schéma de câblage qu'à partir du schéma électrique. C'est comme cela qu'il faut travailler.

Une fois ces deux schémas réalisés tu pourra commencer à câbler le micro et ses composants indispensables, puis après vérification continuer en ajoutant module par module.
Ne pas oublier de prendre le temps de faire des vérifications intermédiaires.

Dernier conseil :
Il est souvent difficile de supprimer les petits brins de soudure en excès qui provoquent des courts-circuits (c'est sans doute ce qui a du t'arriver dans le premier montage).
En cas de doute le mieux est de recharger en soudure : on n'y pense pas quand on débute mais il est plus facile d'aspirer beaucoup de soudure qu'un tout petit peu.

Toutes les masses sont bien connectées entre elles ?

Bon, j'ai testé mon schéma sur breadboard, et je suis tombé sur pleinnnn de trucs bizarres; Le seul changement est l’alimentation, qui n'est plus arduino, mais la vraie alim, celle de pc

Test 1: branchement simple, avec juste une led sur le pin 13; Tout fonctionne, mais la LEd s'allume plus vite ???!! qu'avec l'alimentation arduino

Test 2: avec une led sur le pin3, le pin régulé par un potentiomètre; au début du programme, normalement, il y a une séquence de 3s ou le pin 3 est à 255 en PWM; mais là cet i,stant ne dure qu'une fraction de seconde...

De plus, après le démarrage du programme, la led a parfois des éclairs blanc très courts, semblables à celui du début...Mais non prévus ds le programme...

Test 3: avec le potentiomètre... je peux faire varier la led, mais: tjrs des éclairs blancs, mais parfois vraiment longs (2s)

Le système de test complet est le suivant: ATmega328p pu 28pin branché correctement, une led sur le pin 13 , une autres sur le pin3, et un potentiomètre sur le pin A0...

voici le code:

int Val1;
int Val2;
int Val3;
int Val4;

int Val1Analog;
int Val2Analog;
int Val3Analog;
int Val4Analog;
// 3 5 6 9 10 11 >>> PWM

void setup() {
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(13, OUTPUT);
  analogWrite(3, 200);
  analogWrite(5, 200);
  analogWrite(6, 200);
  analogWrite(9, 200);
  delay(3000);
  digitalWrite(13, HIGH);
}

void loop() {
  Val1 = analogRead(A0);
  Val2 = analogRead(A1);
  Val3 = analogRead(A2);
  Val4 = analogRead(A3);

  Val1Analog = Val1 / 51.15 + 4;
  Val2Analog = Val2 / 51.15 + 4;
  Val3Analog = Val3 / 51.15 + 4;
  Val4Analog = Val4 / 51.15 + 4;

    if (Val1 <= 4)
  {
    Val1Analog = 0;
  }
    if (Val2 <= 4)
  {
    Val2Analog = 0;
  }
    if (Val3 <= 4)
  {
    Val3Analog = 0;
  }
    if (Val4 <= 4)
  {
    Val4Analog = 0;
  }

  analogWrite(3, Val3Analog);
  analogWrite(5, Val2Analog);
  analogWrite(6, Val3Analog);
  analogWrite(9, Val4Analog);
}

Les valeurs de conversion de Val1 vers Val1analog sontbien réglées, c'est juste que le transistor passe de l'état non saturé à saturé entre 0 et ~26 PWM... J'ai donc du m'adapter, en tout cas j'ai essayé et ça marche... les 'if' servent à vraiment éteindre les pin PWM, mais ça ne fonctionne pas..

Voilà!

Sinon:
-oui toutes les masses sont connectées entres elles, car c'est le même cable de masse que j'utilise pour tout le circuit ^^
68tjs, oui, je pense que je vais tout refaire... hemmmmm... sinon oui j'ai deja eu un court circuit avec un brin de soudure ^^'
Merci beaucoup pour tes conseils, si tu en as d'autres je suis preneur!!!!

J'espère que mon post n'est pas trop embrouillé...
Merci de m'avoir lu!

Noctus70:
Les valeurs de conversion de Val1 vers Val1analog sontbien réglées, c'est juste que le transistor passe de l'état non saturé à saturé entre 0 et ~26 PWM... J'ai donc du m'adapter, en tout cas j'ai essayé et ça marche...

Je pense qu'il y a quelque chose que tu interprètes mal. Le transistor reçoit toujours un signal 0/5V lorsque tu fais du PWM. Par contre l'effet dont tu parles peut être lié à un effet de seuil de la LED.

Hello,

J'ai également un projet ou j'ai un atmega sur une plaque de prototypage. Je te conseille de le mettre sur un support de ce style

ça permet de pouvoir facilement oter la puce pour la reprogrammer.

Ensuite je pense que ton soucis vient plus du côté de l'alim car il semblait visiblement marcher en dehors.
Tu l'as essayé directement sur un support arduino ou sur une plaque d'essai (breadboard)?

Tes potentiomètres et ta plaque ne sont pas brancher sur la même alim ? tu parlais de molex pour les potentiomètres. Es tu sûr de bien t'être pris sur du 5v car il y a aussi du 12v dessus. Perso je te conseil d'avoir un seul branchement pour l'alim du circuit et des potentiomètres.

ah il te manque une branchement sur ton atmega. la Aref sur la pin 21 si je ne dis pas de bêtises.

J'avais également oublié de le brancher et par moment l'atmega arrêtait une action alors qu'aucunes intéractions n'avais été faite.

ça permet de pouvoir facilement oter la puce pour la reprogrammer.

Cela permet de faire et refaire ses soudures sans craindre d'abimer le boîtier du microcontrôleur et cela permet aussi de le récupérer pour un autre usage.

Si le schéma est bon et si le câblage est correct le microcontrôleur se programmera sans difficulté avec un programmeur ISP ou une interface USB/UART sans avoir à être déplacé.

fdufnews:
Je pense qu'il y a quelque chose que tu interprètes mal. Le transistor reçoit toujours un signal 0/5V lorsque tu fais du PWM. Par contre l'effet dont tu parles peut être lié à un effet de seuil de la LED.

Non, non, j'ai bien conscience que c'est du 0/5v, mais en effet il y aurait un effet seuil pour la led...

bargeau:
Hello,

J'ai également un projet ou j'ai un atmega sur une plaque de prototypage. Je te conseille de le mettre sur un support de ce style

oui, j'en ai déja un ^^ pour éviter de la cramer lors des soudures, je préfère le protéger...
Je ne pensais pas que c'était indispensable l'aref... je vais essayer :slight_smile: mais pour le moment faut que j'arrives à le démarrer ^^' sur la plaque de soudure...
Sinon j'ai essayé d'alimenter l'atmega avec cette alimentation, sur breadboard, et ça fonctionne... mais pas sur le circuit soudé! le +5v pour l'atmega est le même que pour les potentiomètres, j'utilise l'unique cable en 5v de la prise molex

Merci pour votre aide!!

voici le schéma complet, qui fonctionnait au début, sur breadboard et avec arduino, les noms des composants sont les bons, normalement toutes les valeurs sont bonnes ^^
Si vous avez des critiques de mon schéma à faire, dites moi :slight_smile: