l artic meme sans filtre rc aucun bruit donc je ne comprend plus rien
edit
bon meme pour le chinois problème résolue il faut utilise un condensateur polarise un leger bruit tres tres leger
l artic meme sans filtre rc aucun bruit donc je ne comprend plus rien
edit
bon meme pour le chinois problème résolue il faut utilise un condensateur polarise un leger bruit tres tres leger
Le hic c'est que c'est la solution bancale le filtre car me transistor fonctionne en mode passant alors qu'il est sensé travailler en mode bloqué/Saturé.
PWM c'est du tout ou rien (On/Off) et lui il l'a transformé en l'inverse.
Je pense que le gars ne sait pas trop ce qu'il fait car son moteur perd du couple. En PWM lorsque le moteur tourne il est alimenté en +12V et son courant maxi. Alors que là ce 'est pas le cas.
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
a donc retour case départ ^^
dommage que l on est pas la doc sur les pwm car c est une thechno qui et prevu pour cela les pc savent bien les gerer on devrait y parvenir avec le micro non
Disons que le gars fait une moyenne de son PWM pour l'envoyer sur le transistor !!! Alors que oui tu as raison de dire que
D'où le fait que je dise que c'est bancale comme solution.c est une thechno qui et prevu pour cela
Le micro est surement encore trop rapide, les temps à l'état haut à l'état bas sont tellement rapide que le ventilateur se prend un coup de 12V sans avoir eu le temps de tourner un peu.
La fréquence du PWM est passé de environ 9kHz à 4kHz donc un état haut, genre a 1%, va durée environ 2ms. (Il n'y a que 2 options possibles pour l'oscillateur calibré interne, 9.6MHz et 4.8MHz, je m'en suis aperçu en lisant la datasheet du Attiny, je pensais au départ qu'il était plus souple comme certain autres micro que je connais)
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 // 4.8 MHz, built in resonator #define F_CPU 9600000 #define LED PB1 #include <avr/io.h> void adc_setup (void) { // Set the ADC input to PB2/ADC1 ADMUX |= (1 << MUX0); ADMUX |= (1 << ADLAR); // Set the prescaler to clock/128 & enable ADC // At 4.8 MHz this is 37.5 kHz. // See ATtiny13 datasheet, Table 14.4. ADCSRA |= (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } int adc_read (void) { // Start the conversion ADCSRA |= (1 << ADSC); // Wait for it to finish while (ADCSRA & (1 << ADSC)); return ADCH; } void pwm_setup (void) { // Set Timer 0 prescaler to clock/1024. // At 4.8 MHz this is 4,687kHz. // See ATtiny13 datasheet, Table 11.9. TCCR0B |= (1 << CS01) | (1 << CS02); // Set to 'Fast PWM' mode TCCR0A |= (1 << WGM01) | (1 << WGM00); // Clear OC0B output on compare match, upwards counting. TCCR0A |= (1 << COM0B1); } void pwm_write (int val) { OCR0B = val; } int main (void) { int adc_in; // LED is an output. DDRB |= (1 << LED); adc_setup(); pwm_setup(); while (1) { // Get the ADC value adc_in = adc_read(); // Now write it to the PWM counter pwm_write(adc_in); } }
C'est peut être encore trop peut mais faut tester.
Ensuite le micro a encore une horloge très basse (128kHz) on essaye après si ça marche pas.
Fait chier qu'on a pas la doc du ventilo car si ça se trouve on se tape le cul par terre car il se peut qu'avec ce genre de ventilo, qui dans une utilisation normal n'est pas dimensionné pour être a l'arrêt tout simplement, on ne puisse simplement pas faire ce qu'on veut.
Sur un processeur le ventilateur tourne entre 50% et 100% et pour une alimentation de PC c'est carrément a fond la caisse si je ne m'abuse. Nous on cherche à l'utiliser aussi entre 1% et 50% mais si il n'est pas prévu pour ça (dans la doc ça aurait été écrit) on peut essayer longtemps.
D'ici que ce genre de bestiole soit incapable de tourner avec des PWM entre 1% et 20% car c'est trop rapide pour eux, y a pas des kilomètres. Et si on descend trop en fréquence, tu verras arrivé un effet de d’ac coup dans le mini du PWM.
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
j ai uploade ton code par contre je reste calbe avec le filtre rc ?
ou je retire la diode / le condo /
avec ce code sans condo le ventillo emet de nouveaux le bruit
on est bien d accord que j utilise un ventilo a deux fils sans pwm
ou je doit utilise un ventillo a 3 fils avec le pwm ?
Pas de filtre RC car il annule le PWM
Oui ventilateur a 2 fils
Donc ça refait du bruit.
Moins ? Plus ? Et a 100% ? Et à 50% ? Tout le temps il fait du bruit ?
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
a 100 % aucun bruit a partir de 95 90% il refait du bruit
assez fort jusqu a l extinction
vert la fin je voit bien la sensation acou
tout mes ventillo clasique deux fils font le meme bruit
tout les ventillo 3 fils aussi sauf le ventillo artic qui lui ne fait aucun bruit meme a l arrêts , en cablage 2 fils bien entendu
pour info j au ouvert un artic en deux on voit dedans tout un tas de resistance une diode zener 3 condo un composant 477a z4-g1 402jd0
si je ne dit pas de betise ceci est le capteur pour compter les nombre de tour minute
http://www.diodes.com/_files/datasheets/AH477A.pdf
encore des info ici
http://burogu.makotoworkshop.org/ind...02/18/bartop03
pour info j ai essayer le programme sur un arduino mini il ce passe la meme chose qu avec l attiny
en branchement 3 fils le ventillo reduit au mini puis repare a 100% vers la fin du potentiomètre , on ne pourra jamais l arreter sauf en coupant sont alimentation
http://www.hardware.fr/articles/867-...120mm-pwm.html
http://vracbazar.free.fr/v2/fanpwmco...wmControl.html
Ce que tu viens de me dire m'interpelle !!!!
Aparté : Oui en effet, on se bagarre avec un ventilateur qui n'est pas prévu pour faire ce qu'on veut lui faire faire donc on doit s'orienter vers des solutions bancales aussi malheureusement. C'est aussi pour ça que ça merdouille avec un Arduino mini même avec un autre soft prévu pour ça . En tant qu'ancien pro, j'aurai changer de ventilateur sans hésiter mais si tu en as déjà plusieurs...
Est ce que tu peux faire un test rapidement car je me demande quelle rôle joue vraiment le capteur a effet hall là dedans.
Brancher le ventilateur en +12V et 0V
Brancher ton potentiomètre entre +12V et 0V
Relier le fil PWM du ventilo à la broche du milieu du potentiomètre.
(attention a ce qui n'est plus de lien entre ce rapide test et le Attiny)
Je veux juste savoir si l'électronique pour le PWM n'est pas déjà dedans !
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
non il ne ce passe rien du tout
pourquoi ne pas utilise un 2N2222A pour couper le ventillo et un autre pour genrer le pwm ? certe on utilise 2 borche sur le micro mais ce n est pas important
temperature atteinte = fermeture du 1 er 2N2222a puis declenchement du signal pwm avec un seuil defini (apres le decrochage) puis monte en cadence jusqu au max
car un ventillo classique n est pas prevu pour etre piloter de cette manière donc il va falloir realise un choix
mais l idee a deux transistor me semble loin d etre betes
Ok alors va pour ça.
Par contre tu confirmes, en commandant le fil PWM, que ça marche ?
Rappel moi les essais. Le ventilateur s'arrête mais il y a une espèce de révolution au delà de 100% ? C'était ça le dernier essai ?
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
non via le pwm il ne s arrete pas il est au ralentit d ou l intérêt de place un transistor pour le couper non ?
la j ai l alimentation direct au ventilo et le pwm via du transistor
je la fait varier de 10%A100% mais je ne peut l arrêter
Oui oui c'est juste que je ne me souviens plus quel montage, avec quelle configuration et qu'elle symptôme convenait !?
En fait je te pose la question. C'était quoi qui convenait le mieux ? Par la broche PWM ou pas ? On a tellement essayé que j'ai perdu le fil.
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
j ai fais comme cela
il faut juste ajouter un 2N2222a pour coupe l alimentation
??????????????, je fais quoi ? je rajoute un transistor sur l alimentation du ventillo ?
Le schéma va donner ça :
Pour calculer R3 il me faut le courant que consomme le moteur. Essaye avec ta 820 Ohms en attendant de me donner le courant du moteur.
Le soft devrait donner ça :
Dit moi si le code compile.
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 // 4.8 MHz, built in resonator #define F_CPU 9600000 #define PWM PB1 #define ON_OFF PB0 #include <avr/io.h> void adc_setup (void) { // Set the ADC input to PB2/ADC1 ADMUX |= (1 << MUX0); ADMUX |= (1 << ADLAR); // Set the prescaler to clock/128 & enable ADC // At 4.8 MHz this is 37.5 kHz. // See ATtiny13 datasheet, Table 14.4. ADCSRA |= (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } int adc_read (void) { // Start the conversion ADCSRA |= (1 << ADSC); // Wait for it to finish while (ADCSRA & (1 << ADSC)); return ADCH; } void pwm_setup (void) { // Set Timer 0 prescaler to clock/1024. // At 4.8 MHz this is 4,687kHz. // See ATtiny13 datasheet, Table 11.9. TCCR0B |= (1 << CS01) | (1 << CS02); // Set to 'Fast PWM' mode TCCR0A |= (1 << WGM01) | (1 << WGM00); // Clear OC0B output on compare match, upwards counting. TCCR0A |= (1 << COM0B1); } void pwm_write (int val) { OCR0B = val; } int main (void) { int adc_in; // PWM and ON_OFF is an output. DDRB |= (1 << PWM) | (1 << ON_OFF); PORTB |= (1 << ON_OFF); adc_setup(); pwm_setup(); while (1) { // Get the ADC value adc_in = adc_read(); if(adc_in < 100) { PORTB &= ~(1 << ON_OFF); } else { PORTB |= (1 << ON_OFF); // Now write it to the PWM counter pwm_write(adc_in); } } }
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
pour info je vient de faire le test vue que l on attaque directement le pwm j ai pas besoin du transistor je peut relier directement pb1 au pwm sa marche tres bien sans souci pour le code j ai des erreur les voici
Tu as bien copier mon code en entier ? On dirait que tu as oublié de prendre une accolade (la dernière)
La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
Richard Feynman
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager