Go Down

Topic: [Conseil] Vérification de mon premier PCB avant commande (ATMega328P + MSGEQ7) (Read 449 times) previous topic - next topic

Spl4sh_

Bonsoir,

Ayant vu un projet sur internet il y a quelques mois (https://www.instructables.com/id/Blinking-LEDs-to-the-Frequency-of-Musi/) j'ai décidé de le recréer et de l'adapter à mes besoins.

Ce projet permet de faire clignoter un ruban led en attribuant une couleur en fonction de certaines fréquences d'une sources audio (sortie jack d'un pc par exemple).

J'ai remplacé le ruban led par une LED RGB de 3W (https://www.adafruit.com/product/2530).
Après avoir modifier légèrement le projet, j'ai réussi a avoir ce que je voulais, ma LED qui clignote en fonction du rythme de la musique (le tout étant sur une breadboard ainsi qu'une arduino uno).
Tout fonctionne correctement et voici ce que j'ai en réalité :


(https://image.noelshack.com/fichiers/2019/16/3/1555527842-led-bouteille-bb.png)

Cepedant, je voudrais mettre ce système en dessous d'une bouteille (style bouteille de vodka Grey Goose, avec le verre qui est opaque) pour avoir un beau rendu notamment sur la diffusion de la couleur.
Je souhaite donc enlever l'arduino pour garder uniquement l'atmega et ainsi (aussi) gagner de la place.

Je me suis donc lancer dans la conception d'un schéma et d'un pcb sur mesure que voici : https://easyeda.com/Spl4sh_/led-blink-frequency

J'aimerais que des personnes me donnent leurs avis (c'est la première fois que je créer un pcb)

Donc pour vous est ce qu'il y a des erreurs de débutants ? (Dans le schéma ou dans le pcb)
Je prendrais en compte n'importe quel remarques, je souhaite juste éviter de recevoir les pcb et me rendre compte que ces derniers ne marchent pas à cause d'une erreur toute bête.

Donc au final je souhaite simplement me débarrasser de l'arduino et mettre tout ce que j'ai sur ma breadboard sur un pcb.
(Inutile de me demander d'utiliser une Nano ou un Pro Mini pour gagner de la place et faire beaucoup plus simple, je veux vraiment utiliser juste l'Atmega)

Merci beaucoup !

Le code si besoin :
Code: [Select]
/* David Wang
 * Code that takes audio input from a 3.5mm cable
 * and flashes an LED strip based on the frequency
 * of the music.
 *
 * HUGE thanks to the arduino community
 * If you see your code here, I owe you my gratitude
 *
 */

int analogPin = A0; // MSGEQ7 OUT
int strobePin = 2; // MSGEQ7 STROBE
int resetPin = 4; // MSGEQ7 RESET
int spectrumValue[7];
 
// MSGEQ7 OUT pin produces values around 50-80
// when there is no input, so use this value to
// filter out a lot of the chaff.
int filterValue = 80;
 
// LED pins connected to the PWM pins on the Arduino

int ledPinR = 9;
int ledPinG = 10;
int ledPinB = 11;
 
void setup()
{
  Serial.begin(9600);
  // Read from MSGEQ7 OUT
  pinMode(analogPin, INPUT);
  // Write to MSGEQ7 STROBE and RESET
  pinMode(strobePin, OUTPUT);
  pinMode(resetPin, OUTPUT);
 
  // Set analogPin's reference voltage
  analogReference(DEFAULT); // 5V
 
  // Set startup values for pins
  digitalWrite(resetPin, LOW);
  digitalWrite(strobePin, HIGH);
}
 
void loop()
{
  // Set reset pin low to enable strobe
  digitalWrite(resetPin, HIGH);
  digitalWrite(resetPin, LOW);
 
  // Get all 7 spectrum values from the MSGEQ7
  for (int i = 0; i < 7; i++)
  {
    digitalWrite(strobePin, LOW);
    delayMicroseconds(30); // Allow output to settle
 
    spectrumValue[i] = analogRead(analogPin);
 
    // Constrain any value above 1023 or below filterValue
    spectrumValue[i] = constrain(spectrumValue[i], filterValue, 1023);

 
    // Remap the value to a number between 0 and 255
    spectrumValue[i] = map(spectrumValue[i], filterValue, 1023, 0, 255);

    // Remove serial stuff after debugging
    Serial.print(spectrumValue[i]);
      Serial.print(" ");
    digitalWrite(strobePin, HIGH);
   }
 
   Serial.println();
 
   // Write the PWM values to the LEDs
   // I find that with three LEDs, these three spectrum values work the best
   analogWrite(ledPinR, spectrumValue[6]);
   analogWrite(ledPinG, spectrumValue[5]);
   analogWrite(ledPinB, spectrumValue[2]);
}

trimarco232

Bonjour,
pour un 1er, c'est très bien
le schéma a l'air correct, donc le pcb aussi, si easyEda en assure la cohérence
il faudra l'alim 5v  avec la connectique qui vont bien

- il serait bien d'ajouter un chimique genre 470µF/10v et un 100nF à l'arrivée du 5v

on va quand-même chipoter un peu :
- les trous de fixation m'ont l'air petits
- dans la partie entre le marquage +5V et R7, tu as 2 pistes verticales qui se superposent alors qu'elles véhiculent le même potentiel : c'est ballot car ça empêche le passage du plan de masse


Spl4sh_

Salut,

Pour les condos, je les mets comment ? Car du coup j'ai deux pistes de 5v qui partent du dc jack.
(1 sur chaque piste ?..)

Effectivement pour les trous de fixation je comptais utiliser des vis m3

Et donc mettre une via serais une solution pour éviter  d'avoir deux pistes verticales ?

Merci !

trimarco232

pour les condensateurs :
- riper R9 à gauche pour faire de la place
- ne garder qu'1 piste vers le + du condensateur, séparer après



oui, il faut rajouter un via, comme ceci par exemple


on voit que le plan de masse à cet endroit passe désormais bien de la gauche vers la droite (et réciproquement)

il faudrait descendre la sérigraphie de R7 pour qu'elle ne soit pas altérée par le via
de +, si le cœur t'en dit, je préfère voir toutes les sérigraphies dans le même sens, cad. qu'il faudrait pivoter celles relatives aux composants implantés verticalement

Spl4sh_

Voilà, j'ai pris en compte ce que tu m'as dit (si j'ai bien compris pour le placement des condos).
Je t'invite à aller voir ce que ça et me dire ce que tu en penses !  :)

trimarco232

bien,
pour le chimique, tu trouveras souvent le diamètre 6.3 pour cette valeur, ce qui nécessite un espacement de 2.5mm pour les broches. Pour parer à toute éventualité, je superposerais les 2 empruntes sur le pcb

après, il faut encore
revérifier,
revérifier,
revérifier,
...
car je n'ai pas tout regardé

à qui tu confies la réalisation ?



fdufnews

Tu as supprimé les résistances en série avec les LEDs?

Dans l'idéal, pour les découplages d'alimentation, le condensateur est au plus près de la broche à découpler, la piste d'alimentation arrive sur le condensateur de découplage et ensuite la piste va sur la broche d'alimentation du circuit.

Spl4sh_

Tu as supprimé les résistances en série avec les LEDs?

Dans l'idéal, pour les découplages d'alimentation, le condensateur est au plus près de la broche à découpler, la piste d'alimentation arrive sur le condensateur de découplage et ensuite la piste va sur la broche d'alimentation du circuit.
Pour les résistances, j'ai 4 trous au milieu du pcb pour les souder ici (3 trous pour les couleurs et un pour le 5V)
Comme ça, ma led sera un peu en l'air et ne sera pas coller sur le pcb.
J'ai bougé les condos pour les rapprocher au plus de la broche "5V" qui redistribue le + sur la carte.


bien,
pour le chimique, tu trouveras souvent le diamètre 6.3 pour cette valeur, ce qui nécessite un espacement de 2.5mm pour les broches. Pour parer à toute éventualité, je superposerais les 2 empruntes sur le pcb

après, il faut encore
revérifier,
revérifier,
revérifier,
...
car je n'ai pas tout regardé

à qui tu confies la réalisation ?



J'ai remplacé par une empreinte pour un diamètre de 6.3mm (je prendrais un condo de la taille adapté)
Pour la réalisation je vais commander sur JLCPCB.
Je vais encore re vérifier puis je pense passer commande et voir ce que ça donne en vrai.

Go Up