Problème ventilateur.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #66881 par Manghao
Problème ventilateur. a été créé par Manghao
Salut, suite à vos conseils sur des ventilateurs, j'ai franchis le cap et j'en ai acheté deux.
Ce sont des BeQuiet PureWings 2 120mm PWM
Pas grand chose à dire, sauf que le connecteur d'un des ventilateur est mal fait, il nage un peu sur le port de la carte mère donc il ne ce connecte pas aux pins, bref le problème est réglé.

Le second ventilateur, tourne bien, même un peu trop, il était à 400tr/min sans utilisation poussée du PC, normal c'est ça vitesse à bas régime.
Mais après un reboot du PC il tourne à 1406 tours voir 1506, qui est sa vitesse maximale, impossible de gérer ça vitesse avec speedFan alors que l'autre ventilateur je peux.

J'ai cherché dans le BIOS, s'il y avait pas une variable à activer, il n'y en a pas.

Ma carte mère est une Intel DH77EB, et les ventilateurs PWM sont supportés, donc pas de soucis à ce niveau ci.

Si vous avez une idée d'où ce là proviens ou même comment résoudre ce petit problème, je vous en remercie d'avance.
Dernière édition: il y a 8 ans 11 mois par Manghao.

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois #67142 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Après une mise à jour de la carte mère, le problème persiste toujours, je commence à croire que la carte mère vieillis et qu'il est temps de la changer.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #67184 par admin-Guillaume
Réponse de admin-Guillaume sur le sujet Problème ventilateur.
Sinon, tu achètes un petit réohbus, il s'occupera de faire le réglage de vitesse des ventilateurs du boitier.
www.materiel.net/rheobus-pour-boitier-pc/?affcode=configgamerv2

--->>>>> Vous pouvez également nous aider et soutenir le site ! C'est gratuit !
Il suffit de passer par les liens suivants pour effectuer votre commande :
Amazon / Materiel.net / LDLC / Top Achat / Grosbill / RueduCommerce / Cdiscount / FNAC / Kinguin
Cela ne vous coûtera rien ( 0€) ! De notre côté cela nous aide à payer l'hébergement mais également à développer le site ! Merci d'avance pour votre soutien !

Notre communauté est active quotidiennement sur les réseaux sociaux !

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois #67313 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Ok, j'ai une petite question, alors voilà, j'ai développer un rhéobus pour la gestion de deux ventilateurs selon une température, il possède un mode auto et manuel, il aurait un écran de 3.95" tactile, le tout pour environs 17€, pensez vous qu'il vaut mieux en acheter un ou le faire moi même du coup ?

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #67344 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
A ce prix la, je suis quand même étonné...
Tu te base sur quoi comme matériel pour faire ça ?

Connexion ou Créer un compte pour participer à la conversation.

 

 
Soutenez ce forum, c'est GRATUIT  !
En passant par le(s) lien(s) partenaire pour acheter/finaliser votre commande.

580b57fcd9996e24bc43c43a--Vous apportez un soutien financier au site et cela gratuitement ! On vous prend juste 2 secondes de votre temps.
--Vous nous aidez à payer l’hébergement et permettez au site d’exister. Si vous aimez ce site, soutenez-le !

--Vous n’avez aucun changement visible en passant par ce(s) lien(s) sur les sites, c’est totalement transparent.
--Vous n’avez aucun supplément lors de votre commande, le prix reste le même que si vous commandiez sans passer par le(s) lien(s).


              Materiel.net  LDLC  Logo Amazon  Top Achat  Cdiscount fnac  Grosbill  

Merci d'avance, pour l'utilisation de ces liens, L'équipe Config-gamer.fr

 

Plus
il y a 8 ans 11 mois #67351 par admin-Guillaume
Réponse de admin-Guillaume sur le sujet Problème ventilateur.
idem ! le j'ai (développé m'a un peu perdu aussi)

--->>>>> Vous pouvez également nous aider et soutenir le site ! C'est gratuit !
Il suffit de passer par les liens suivants pour effectuer votre commande :
Amazon / Materiel.net / LDLC / Top Achat / Grosbill / RueduCommerce / Cdiscount / FNAC / Kinguin
Cela ne vous coûtera rien ( 0€) ! De notre côté cela nous aide à payer l'hébergement mais également à développer le site ! Merci d'avance pour votre soutien !

Notre communauté est active quotidiennement sur les réseaux sociaux !

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #67392 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Je me base sur de l'arduino, mais des clones bien-sûr ca marche tout aussi bien et c'est moins cher.

admin-Guillaume écrit: idem ! le j'ai (développé m'a un peu perdu aussi)

Bah en arduino il faut développer le programme. A l'aide d'un logiciel de simulation sur le PC j'ai finalisé le projet de rhéobus, même si l'ecran tactile n'est pas présent sur le logiciel de simulation.

Si je viens à le faire et non en acheter un, je ferrai un topic pour montrer l'évolution et la création du rhéobus.
Dernière édition: il y a 8 ans 11 mois par Manghao.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #67517 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
SIC toujours...
Je suis en train de faire un truc similaire pour mon PC à base d'Arduino Mega, et si je fais les comptes, je n'en suis pas à ce prix.
Surtout que je ne prévoit pas d'écran, et encore moins tactile.

Tu gère aussi des boutons matériels ?
Tu contrôle seulement le PWM, ou tu contrôle aussi l'allumage / extinction des ventilateurs sur la puissance ?
Tu as un retour sur leur vitesse avec une instruction pulseIn ?
Le PWM tu le modifie avec un analogwrite ou bien tu passe par les registres ?
Avoir du PWM c'est bien, mais si c'est pour définir des consignes de vitesses en dur, c'est inutile. C'est en boucle de contrôle que ça doit fonctionner => L'idée c'est de modifier la vitesse en fonction d'une température ici. Tu la mesure aussi ?
Ton programme, tu le code tout dans ton fichier principal ou bien tu utilise des fichiers externes ?

Bref, je suis preneur d'infos car ça pourrait me débloquer sur certains points chez moi.

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #67521 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.

Black_Wolf écrit: SIC toujours...
Je suis en train de faire un truc similaire pour mon PC à base d'Arduino Mega, et si je fais les comptes, je n'en suis pas à ce prix.
Surtout que je ne prévoit pas d'écran, et encore moins tactile.

Tu gère aussi des boutons matériels ?
Tu contrôle seulement le PWM, ou tu contrôle aussi l'allumage / extinction des ventilateurs sur la puissance ?
Tu as un retour sur leur vitesse avec une instruction pulseIn ?
Le PWM tu le modifie avec un analogwrite ou bien tu passe par les registres ?
Avoir du PWM c'est bien, mais si c'est pour définir des consignes de vitesses en dur, c'est inutile. C'est en boucle de contrôle que ça doit fonctionner => L'idée c'est de modifier la vitesse en fonction d'une température ici. Tu la mesure aussi ?
Ton programme, tu le code tout dans ton fichier principal ou bien tu utilise des fichiers externes ?

Bref, je suis preneur d'infos car ça pourrait me débloquer sur certains points chez moi.


Alors, j'utilise un capteur de température LM35 il n'est pas I&C, mais avec la librairie FlexiTimer2 on peut le mettre en interruption.
Pour la MLI (PWM), j'utilise un L298N pour gérer les deux ventilateurs que je possède. Donc oui j'utilise la fonction analogWrite.
J'ai juste fait une errer dans le calcul de la MLI comme j'ai fait le calcul sur un 1200tr/min et j'ai des 1500tr/min.
Et pour le programme, j'utilise les croquis, un croquis pour le capteur de température (je me suis développé une librairie en C++), et un croquis pour la MLI (ou asservissement selon les appellations).

Et comme je l'ai dit, j’achète en Chine mon matériel.

Je pars sur une arduino nano, comme l'écran est compatible Uno R3 et que la nano est identique niveau broches, elle ne m'as coutée que 3.53€ en chine. Le LM35 est aux environs de 1.2€, l'écran en Chine est lui à 7.X€ et le L298N lui est vers les 2.5€.

La nano, et le LM32 je les possède déjà donc il me reste environs 10€ à dépenser pour l'écran et le L298N.

Si tu as besoin d'aide niveau code je suis dispo, et je serai ravis de t'aider.

SI tu veux un écran, 3.95" tactile, et une mega regarde par là.

Pourquoi prends tu une arduino Mega? le programme est trop volumineux? utilisation de beaucoup de broches ?
Dernière édition: il y a 8 ans 11 mois par Manghao.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #67581 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
Juste comme ça... Tu utilise un L298N ( je ne connais pas, j'ai fais une recherche google. ) pour piloter des ventilateurs 4 broches sur le circuit d'alimentation, ou je me trompe ?
Sur un ventilateur 4 broches, il suffit d'envoyer un signal PWM en 25kHz sur la quatrième broche et c'est bon. Avantage la sortie tachymétrique n'est pas erronée.
Si tu envois un signal PWM sur le +12V, ton capteur tachymétrique est faussé.

Mais je me trompe peut être car comme j'ai dit je ne connais pas le composant.

Pour ma part, j’envoie 6 signaux PWM en 25kHz. J'ai du toucher aux registres pour pousser un peu, mais ça fonctionne impeccable.
J'ai une résolution de 8bits ce qui est le maximum supporté par les ventilateurs et pompes de PC. Pour la coupure, j'utilise des transistors ou des ULN2803A suivant la puissance demandée.
Pour le choix du Méga, c'est du au nombre d'entrées / sorties que je désire gérer.
J'ai 6 groupes de pompes / ventilateurs, donc 6 sorties de coupure puissance et 6 sorties PWM.
J'ai 8 sondes de températures ( dont 2 LM35, mais sans utiliser FlexiTimer2 que je ne connaissait pas )
J'ai les 5 boutons du Cosmos II à brancher dessus ( Je viens de trouver un 74HC14 dans mon fourbis au boulot, je vais pouvoir tenter de supprimer les rebonds )
J'ai 9 leds d'état pour les boutons du boitier
J'ai les entrées tachymétrique des tous mes ventilateurs / pompes ( 9 en tout )
Et dans l'idéal, j'aimerais aussi interfacer la carte mère ( Marche / arrêt, les signaux des ventilateurs, etc... )

Pour le moment question code, j'en suis à couper mon fichier principal en petits modules. Il vas falloir que je me fasse un map des sondes, revoir un peu le code car je viens d'avoir l'idée de placer quelques valeurs de configuration dans la ROM, (re)tester les boutons avec le 74HC14, (re)écrire le code en travaillant sur les registres pour gagner en vitesse, et surtout trouver une alternative au PulseIn qui me plombe niveau temps !

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #67596 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Moi avec la MLI, j'ai fait un calcul pour que la la MLI soit proportionnelle à la température et a la vitesse du ventilateur.

Le L289N fonctionne comme une "vanne" selon la valeur du analogWrite il délivre une certaine tension, suffit juste de mettre du 12v dessus et le L298N délivra la tension souhaité.

Après, mes ventilateurs aussi sont PWM, et je sais qu'avec le L298 on peut le faire sans passer par les registres et booster les fréquences.

Mais je suis toujours sur le projet, et ta méthode m'intrigue je dois dire.

Si je ne me trompe pas, travailler avec les fréquences c'est de l'asservissement.

Pour ton pulseIn, essaye de travailler avec les interruptions, ce qui ce fait de manière ashynchrone et donc ne bloque pas le programme.

Et un conseil si tu utilise des delay, bah il faut éviter. Enfin moi j'essaye le plus possible des les éviter, pour éviter de bloquer le programme, comme arduino est un code procédurale, il exécute instruction par instruction.

Si tu veux que l'on en discute je peu te passer mon skype ou via MP.
Dernière édition: il y a 8 ans 11 mois par Manghao.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #67646 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
Çà peut tourner ici, pas de soucis...

Voici une portion de mon code pour le PWM sur l'ATMéga. Pour le Nano, il faut consulter la datasheet pour connaître les registres !
void setup () {
	TCCR4A = 0xAA;						// FAST PMW	mode 14		ligne 1	timer 4				( b10101010 )
	TCCR4B = 0x1A;						// FAST PWM	mode 14		ligne 2			prescale = 8	( b00011010 )
	ICR4 = 79;						// Fréquence 25kHz
	
	TCCR5A = 0xAA;						//				ligne 1	timer 5
	TCCR5B = 0x1A;						//				ligne 2
	ICR5 = 79;						// Fréquence 25kHz
	
	pinMode(pgm_read_word(&Waterpump1_PWM_Pin), OUTPUT);	// Initialisation du PWM
	pinMode(pgm_read_word(&Waterpump2_PWM_Pin), OUTPUT);
	pinMode(pgm_read_word(&FRONT_fan_PWM_Pin), OUTPUT);
	pinMode(pgm_read_word(&TOP_fan_PWM_Pin), OUTPUT);
	pinMode(pgm_read_word(&HDD_fan_PWM_Pin), OUTPUT);
	pinMode(pgm_read_word(&GPU_fan_PWM_Pin), OUTPUT);
	
	OCR4A = 0;						// Duty cycle de 0%
	OCR4B = 0;
	OCR4C = 0;
	OCR5A = 0;
	OCR5B = 0;
	OCR5C = 0;
}
( Soucis de mise en forme, les tabulations sont plus longues que la fenêtre du code )

Puis ensuite, il n'y as plus qu'à modifier la valeur du Duty cycle dans ton loop entre 0 et 79 ( au dessus il reste bloqué à 79 ) pour donner la consigne de vitesse, en fonction de tes besoins.

Si tu incrémente le duty cycle de 10 en 10, tu as ces valeurs qui correspondent aux valeurs des cartes mères de PC...
10 =  12.5%
20 =  25   %
30 =  37.5%
40 =  50   %
50 =  62.5%
60 =  75   %
70 =  87.5%
80 = 100  %

Et pour le moment, j'ai un soucis avec ma version de avr/pgmspace.h qui n'apprécie pas un truc... Faut que je trouve la version Arduino !

De mémoire, le seul delay que j'ai, c'est dans une routine de validation ( un bip d'un buzzer ) pour les tests...
Mon soucis avec PulseIn, c'est que j'en fait 9 de suite avec chacun un timeout de 250000. Il faut vraiment que je me plonge dans les interruptions...
Dernière édition: il y a 8 ans 11 mois par Black_Wolf.

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois #67657 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Ha d'accord, la nano est identique à la uno, donc je pense que les registres ne changent pas trop.

Moi je fait plus simple, je pourrais même utiliser un ventilateur deux broches avec a méthode. Mais en simulation comme je n'ai pas les bonne infos de ventilateur je ne peux pas faire via la PWM et le tachymètre au niveau du codeur qui serait faux dans mon programme.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #67663 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
Je me suis inspiré d'un tuto pour la Uno il me semble au début.
http://forum.arduino.cc/index.php/topic,18742.0.html
Dedans il utilise TCCR2A = 0x23; TCCR2B = 0x09; c'est les tableaux de la datasheet qui définissent les valeurs. J'ai passé plusieurs jours ( à temps perdu ) à tenter de les comprendre exemples à l'appui.

Pour utiliser un ventilateur à deux broches, dans mon idée, tu part sur le même programme et tu place un transistor sur le +12V du ventilateur et tu le pilote avec ta sortie PWM. Mais après, ce n'est plus dans mes connaissances...
Déjà que je n'ai jamais codé en C++ ...

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #67672 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.

Black_Wolf écrit: Je me suis inspiré d'un tuto pour la Uno il me semble au début.
http://forum.arduino.cc/index.php/topic,18742.0.html
Dedans il utilise TCCR2A = 0x23; TCCR2B = 0x09; c'est les tableaux de la datasheet qui définissent les valeurs. J'ai passé plusieurs jours ( à temps perdu ) à tenter de les comprendre exemples à l'appui.

Pour utiliser un ventilateur à deux broches, dans mon idée, tu part sur le même programme et tu place un transistor sur le +12V du ventilateur et tu le pilote avec ta sortie PWM. Mais après, ce n'est plus dans mes connaissances...
Déjà que je n'ai jamais codé en C++ ...


Bah avec le L298 aussi le 2 broches ce gère, après il n'existe pas qu'une seule solution bien sûr, et pour avoir fait cette solution pendant ma première STI2D je sais quelle fonctionne.

Et Arduino du C++ pas trop, le C++ est plus différent, c'est plus du C++ simplifié.

Et puis modifier les fréquence de la carte je ne préfère pas, c'est comme tout, après ça chauffe un peu plus, c'est de l'overclocking quoi.
Dernière édition: il y a 8 ans 11 mois par Manghao.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #67705 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
C++ ou C++ simplifié, ça ne change rien au fait que je n'ai jamais touché.
Heureusement que je suis doté d'un cerveau ( ça semble devenir rare de nos jours... ) et que je sais m'en servir, ainsi que recopier des trucs qui ont fonctionné pour les arranger à ma sauce.

Pour les fréquences, on n'overclock pas la carte. On joue sur la forme des courbes générées pour le PWM. Ce sont simplement des modes de fonctionnement différents supportés par le microcontrôleur.
Tout est expliqué dans la doc. Pour le Mega 2560, c'est le chapitre 17.9 ( 16-bit Timer/Counter (Timer/Counter 1, 3, 4, and 5 ) - ( Modes of Operation ).
Il suffit de chercher la doc pour le microcontrôleur de ton Nano et tu cherche ces sections. Il y as les différents modes expliqués, avec leur courbes et leur formule mathématiques.
Par contre, il faut jongler avec les tableaux après...

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois #69463 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Il existe une librairie PWM, ou tu peux régler la fréquence de ton PIN, cela te permet de le mettre à 25kHz sans avoir trop de code.
A voir sur le Arduino Playground

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois - il y a 8 ans 11 mois #69528 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
void setup () {
    TCCR4A = 0xAA;
    TCCR4B = 0x1A;
    ICR4 = 79;

    pinMode( 6, OUTPUT );
    pinMode( 7, OUTPUT );
    pinMode( 8, OUTPUT );
}

void loop () {
    OCR4A = VALUE_1;        // Le pourcentage de PWM pour la sortie 6
    OCR4B = VALUE_2;        // Le pourcentage de PWM pour la sortie 7
    OCR4C = VALUE_3;        // Le pourcentage de PWM pour la sortie 8
    ...
}

Je crois que c'est assez minimal en fait niveau code pour 3 PWM différents sur un seul timer...
Le code fonctionne pour Arduino Mega. Les valeurs de TCCR4A et TCCR4B sont à adapter pour une autre carte.
Ce qu'il y as, c'est qu'il faut vérifier que l'on est bien sur les pins correspondant à un Timer. Mais merci pour l'info, je n'ai pas trop l'habitude de chercher des librairies pour Arduino. Je code mes fonctions, ça me permet d'apprendre en même temps.
Dernière édition: il y a 8 ans 11 mois par Black_Wolf.

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois #69560 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.
Moi aussi avant je développais mes fonctions, dans arduino, maintenant, je me développe mes propres librairies.
Même si j'en utilise beaucoup quand même, je vais continuer a chercher pour le PWM sur la Nano.
comme ça plus besoin de L298, donc 2€ de gagnés :).

Pour tes ventilateurs, tu branches directement l'entrée PWM du ventilateur sur l'Arduino, tu utilise des transistors, et des résistances, des diodes de roues libre ?

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #69572 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
Sur mon montage, je branche l'entrée PWM du ventilateur directement sur la sortie PWM de l'Arduino et ça suffit.
J'ai juste placé un ULN2803A qui me coupe la masse du ventilateur quand je désire le stopper ( signal PWM à 0% ).
Fichier attaché :

Lors des premiers essais... Pin 44 sur la photo. Piloté par le code mis plus haut, je modifie juste le OCR## rattaché à la pin à piloter pour faire changer la vitesse.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #69573 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
void setup () {
    TCCR1A = 0x52;
    TCCR1B = 0x1A;
    ICR1 = 79;

    pinMode( 9, OUTPUT );
    pinMode( 10, OUTPUT );
}

void loop () {
    OCR1A = VALUE_1;        // Le pourcentage de PWM pour la sortie 9
    OCR1B = VALUE_2;        // Le pourcentage de PWM pour la sortie 10
    ...
}
Ce code là devrait fonctionner chez toi.
Il semblerait que sur le Nano il n'y ai qu'un timer 16 bits relié sur les broches 9 et 10, et un timer 8 bits, relié sur les broches 6 (OCR0A) et 5 (OCR0B).
J'ai utilisé le timer 16 bits, en mode 14 avec un prescale de 8.
Tu n'as qu'à donner une valeur entre 0 et 79 à OCR1A ou OCR1B pour faire varier le ventilateur correspondant.

J'avoue que chez moi, j'utilise des valeurs entre 10 et 80 par pas de 10, par facilité. Au dessus de 79, il prend 79 comme valeur, donc 80 ça ne fausse pas trop le pourcentage final.
Avec des valeurs de 10 en 10, ça te fait 8 bits, et tu peut tenter d'utiliser le timer 0 en plus du 1. ça te permettras de piloter 4 sorties PWM en 25 kHz.
Bien sur, il faut vérifier les tableaux dans la datasheet pour être certain des valeurs à donner à TCCR0A et TCCR0B.

Connexion ou Créer un compte pour participer à la conversation.

  • Manghao
  • Portrait de Manghao Auteur du sujet
  • Sergent Niv 2
  • Sergent Niv 2
Plus
il y a 8 ans 11 mois #69762 par Manghao
Réponse de Manghao sur le sujet Problème ventilateur.

Black_Wolf écrit:

void setup () {
    TCCR1A = 0x52;
    TCCR1B = 0x1A;
    ICR1 = 79;

    pinMode( 9, OUTPUT );
    pinMode( 10, OUTPUT );
}

void loop () {
    OCR1A = VALUE_1;        // Le pourcentage de PWM pour la sortie 9
    OCR1B = VALUE_2;        // Le pourcentage de PWM pour la sortie 10
    ...
}
Ce code là devrait fonctionner chez toi.
Il semblerait que sur le Nano il n'y ai qu'un timer 16 bits relié sur les broches 9 et 10, et un timer 8 bits, relié sur les broches 6 (OCR0A) et 5 (OCR0B).
J'ai utilisé le timer 16 bits, en mode 14 avec un prescale de 8.
Tu n'as qu'à donner une valeur entre 0 et 79 à OCR1A ou OCR1B pour faire varier le ventilateur correspondant.

J'avoue que chez moi, j'utilise des valeurs entre 10 et 80 par pas de 10, par facilité. Au dessus de 79, il prend 79 comme valeur, donc 80 ça ne fausse pas trop le pourcentage final.
Avec des valeurs de 10 en 10, ça te fait 8 bits, et tu peut tenter d'utiliser le timer 0 en plus du 1. ça te permettras de piloter 4 sorties PWM en 25 kHz.
Bien sur, il faut vérifier les tableaux dans la datasheet pour être certain des valeurs à donner à TCCR0A et TCCR0B.


Oh ! Merci bien, il faudrait que je me plonge dans la compréhension de la modification des registre.
Le ULN2803A fonctionne comme un relais je présume.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #69787 par Black_Wolf
Réponse de Black_Wolf sur le sujet Problème ventilateur.
Oui, il me semble que c'est un réseau de transistors montés en darlinghton. Mais je ne suis pas dans l'électronique.
Pour ce que j'en sais, je l'alimente en 5 ou 12 V suivant ce que je met derrière, et j'ai 8 "entrées" dessus.
Attention, c'est un retour à la masse !
Par précaution, pour des ventilateurs, je double les entrées / sorties sur le ULN.

Pour les registres, il te faut la datasheet de ton microproc (at328 il me semble avoir lu), et tu cherche le chapitre 8 bits ou 16 bits timers.
Après avoir lu la moitié, tu tomberas sur des tableaux pour TCCR#A, puis TCCR#B qui te disent quoi choisir en fonction de tes besoins. ( Mode 14 pour le FAST PWM, sans modification de la fréquence et 2 comparateurs de disponibles pour TCCR#A ), et prescale de 8 pour TCCR#B. Tu n'as pas besoin d'avoir de correction d'erreur donc tu peut laisser ces bits à 0.
Après avoir placé chaque tableaux, tu auras deux chiffres binaires de 8 bits qui seront tes valeurs pour TCCR#A et TCCR#B.
ICR# se calcule selon une formule, elle est donnée dans le lien que j'ai mit plus haut, j'ai la flemme de rechercher ce soir, mais pour ton application, ce seras 79.
Ensuite, le microproc compare la valeur de tes deux registres OCR#A et OCR#B à celle de ICR# pour ajuster le PWM.

Mais tu peut faire d'autres choses aussi, à toi de voir...

En tout cas, chez moi c'est sur ça que mon programme s'appuie, et c'est totalement transparent et rapide.
Je balancerait peut être le code quand j'aurais terminé, peut être qu'un pro saurait l'optimiser.
Mais pour le moment, c'est encore trop brouillon à mon gout.

Connexion ou Créer un compte pour participer à la conversation.

Plus
il y a 8 ans 11 mois #69788 par admin-Guillaume
Réponse de admin-Guillaume sur le sujet Problème ventilateur.
Perso vous m'avez perdu en route :)

--->>>>> Vous pouvez également nous aider et soutenir le site ! C'est gratuit !
Il suffit de passer par les liens suivants pour effectuer votre commande :
Amazon / Materiel.net / LDLC / Top Achat / Grosbill / RueduCommerce / Cdiscount / FNAC / Kinguin
Cela ne vous coûtera rien ( 0€) ! De notre côté cela nous aide à payer l'hébergement mais également à développer le site ! Merci d'avance pour votre soutien !

Notre communauté est active quotidiennement sur les réseaux sociaux !

Connexion ou Créer un compte pour participer à la conversation.



Revenir en haut du TOPIC


Encore plus de sujets sur les PC Gamer ...

Nous avons identifiez plusieurs sujets ressemblant à celui-ci :
Titre des demandesNiveau de ressemblanceDate du dernier message
HUB ventilateur ASUS TUF Gaming TF120 120mm ARGB4.96lundi, 22 mai 2023
Bloc Ventilateur sous carte graphique ?5.02mercredi, 06 octobre 2021
Besoin de conseil achat ventilateur pc5.07mercredi, 24 juin 2020
Plus de prise ventilateur disponible sur la cm5.13lundi, 25 mai 2020
Cherche composant PC : Ventilateur5.13mardi, 19 mai 2020
avis sur ventilateur silencieux led5.13samedi, 09 décembre 2017
Ventilateur pwm, question technique.5.13mardi, 25 avril 2017
Conseils pour achat d'un ventilateur5.07mardi, 07 mars 2017