IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Modification/ programmation attiny13


Sujet :

Embarqué

  1. #141
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Ce qui me gêne c'est bien le 2% !
    La Led devrait être éteinte, surtout avec la condition que j'ai mis dans le programme.

    Tu as essayé de jouer avec la valeur dans le if ?
    Qu'est ce que ça fait ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  2. #142
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    La valeur dans le if ne change rien j ai fait de 0 a 50

    meme si je relie le fil pb2 au gnd la led reste légèrement allumé
    par contre avec le code du clignotement la led étais bien éteinte

  3. #143
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    D'accord, donc le PWM ne s'arrête pas avec un 0 à tous les coups il doit fonctionner au plus bas à 1%.
    Ce n'est pas bien grave, on trouvera le moyen de l'arrêté plus tard.

    Donc là on est sur un soft qui fonctionne de 1% à 100% avec une LED.

    On ne touche pas au soft pour le moment et tu peux même retirer la condition if que j'ai ajouté (d'ailleurs oui retire là histoire que ça ne pose pas de soucis par la suite)

    1) Remets le transistor
    2) Reconfirme moi ce qu'il se passe en fonction du potentiomètre. On sait déjà que le ventilateur sera à 1% au minimum, c'est sur mais au moins on le sait à l'avance.
    3) Si il y a une espèce de redémarrage du ventilateur, est ce que c'est dans le même sens ? Où tourne t-il a l'envers ?

    4) Les 25kHz qu'on voit sur les forums n'impacte pas le moteur du ventilateur en lui même mais peut être l'électronique qu'il y a dedans, ce qui est différent. Il va falloir trouver la doc du ventilo pour voir ce qu'elle dit !

    Fait déjà les tests 1, 2, 3
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  4. #144
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    1) Remets le transistor
    ( ok fait )


    2) Reconfirme moi ce qu'il se passe en fonction du potentiomètre. On sait déjà que le ventilateur sera à 1% au minimum, c'est sur mais au moins on le sait à l'avance.
    potentiometre a------------ 0%------90%-------------------------100%
    donne :
    ventillo a------------------100%------20%( limite arreté)--------100%



    3) Si il y a une espèce de redémarrage du ventilateur, est ce que c'est dans le même sens ? Où tourne t-il a l'envers ?
    Non le ventillo tourne toujours dans le meme sens

  5. #145
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    D'accord, l'électronique du ventilo semble décrocher.
    On va ralentir le micro et il faut trouver la doc du ventilateur.

    A toute.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #146
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    pour la doc je ne trouve rien voici le site du fabricant

    https://www.arctic.ac/eu_en/alpine-64-plus.html

    je ralentit le micro a combien ?

  7. #147
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Hum.... Je me demande si un ventilateur de Pc n'est pas plus problématique qu'autre chose.

    J'ai une théorie :
    Sur un PC le ventilateur n'est jamais arrêté. Donc il tourne genre 20% à 100%. Mais nous ce n'est pas ce qu'on essaye de faire. Je me demande donc si on est pas entrain de faire un gros décalage avec notre 1% 100% car l'électronique du ventilateur ne s'attend pas à ça. Ça pourrait expliquer ce truc bizarre 1%....100%....20% alors que tu as fait 1 tour de potentiomètre.

    En tout cas je te garantie que si avec la Led ça marche y a vraiment aucune raison qu'avec un ventilateur ça ne marche pas sauf si le ventilateur n'est absolument pas prévu pour ça.

    T'as pas un ventilateur normal à commander ? Genre ventilateur d'alimentation de Pc (pas de processeur) un truc à 2 fils quoi !?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  8. #148
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    non j en est pas en plus tout ceux que j ai commander sont en pwm :/ il agit a l inversse de la led quand le led est eteinte il est a fond lorque la led salume il ralentit

    sinon on place un deuxieme 2N222A qui vient le coupe sont alimentation a une temperature donnée
    le pwm fonctionne en 255 bit , je pense qu il faut derterminer le max du pwm a 200 pour essayer est pofiné le regleage pour trouvé la valeur maxi que le ventillo tolere avant le decrochage

  9. #149
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Oui, il faut borner le PWM mais les fabricants de ventilateur doivent donner des infos là dessus, c'est pas possible autrement.
    J'aurai quand même bien voulu voir à l'oscillo la tronche du PWM même si je me doute qu'il fonctionne bien au vu de ce que tu décris avec la LED.

    Artic ne donne que quelques infos mais il en oublie la moitié (il ne donne même pas le brochage et rien sur le PWM)

    Tu ne connais pas d'autres fournisseurs ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #150
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34

  11. #151
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    le dernier tuto est top il arrive meme a eteindre les ventillo via le pwm , certe c est un arduino mais on devrais pouvoir faire la meme chose non ?

    pour info le code


    dans le code j ai vue ceci
    float Fan2Min=50;
    float Fan2Max=255;

    Code : 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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    #include <OneWire.h>
    #include <DallasTemperature.h>
    
    int pinA = 3; // pin 3 and 11 are PWM output controled by Timer2
    int pinB = 11; // connect pinA/B to H-Bridge
    
    // Data wire is plugged into port 2 on the Arduino
    #define ONE_WIRE_BUS 10
    
    // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
    OneWire oneWire(ONE_WIRE_BUS);
    
    // Pass our oneWire reference to Dallas Temperature. 
    DallasTemperature sensors(&oneWire);
    
      // Compute linearization constant
      // Fan1
      float Fan1Min=50;    // PWM is between 40 and 255 for that fan (8 bit pwm)
      float Fan1Max=255;
      float Temp1Min=25.0;  // relinearization will be done between 20 Celcius (pwm=Fan1Min) 
      float Temp1Max=48.0;  // to 48 celcius (pwm=Fan1Max)
      // Fan2
      float Fan2Min=50;
      float Fan2Max=255;
      float Temp2Min=25.0;
      float Temp2Max=48.0;
      
      //  
      float K1=(Fan1Max-Fan1Min)/(Temp1Max-Temp1Min);
      float K2=(Fan2Max-Fan2Min)/(Temp2Max-Temp2Min);
    
    void setup(){
      // See wxxxxxxxxxxxxxxx
      //__________________________________TIMER2_for_Motor_PWM_________________________________
      // set TIMER2 for PWM 31 kHz
      //
      // clear all prescaler bits in TCCR2B = the last 3 Bits
      // leave other bits as set by arduino init() in wiring.c
      byte mask = B11111000;
      TCCR2B &= mask; // TCCR2B is now xxxxx000
      //
      // set CS22:20 in TCCR2B see p 156 of datasheet
      TCCR2B |= (0<<CS22) | (0<<CS21) | (1<<CS20); // same as TCCR2B |= B00000001; TCCR2B is now xxxxx001
    
      //__pinmode
      pinMode(pinA,OUTPUT);
      pinMode(pinB,OUTPUT);
    
      // start serial port
      Serial.begin(9600);
      Serial.println("Fanduino: DS1820 based temperature fan controller");
    
      // Start up the library
      sensors.begin();
      
    }
    
    void loop()  { 
      // call sensors.requestTemperatures() to issue a global temperature request
      sensors.requestTemperatures(); // Send the command to get temperatures
      
      // read sensors values
      float T1 = sensors.getTempCByIndex(0);
      float T2 = sensors.getTempCByIndex(1);
      // skip conversion error
      if ( ( T1>-127.00 ) && ( T2 > -127.0) )
        {
        // print them on serial
        Serial.print("Temp1: ");
        Serial.print(T1);  
        Serial.print(" Temp2: ");
        Serial.print(T2);  
        
        // normalize values between TempXMin and TempXMax
        if (T1 < Temp1Min) 
          T1 = Temp1Min;
        if (T1 > Temp1Max) 
          T1 = Temp1Max;
      
        if (T2 < Temp2Min) 
          T2 = Temp2Min;
        if (T2 > Temp2Max) 
          T2 = Temp2Max;
        
        // compute pwm value
        // when temp will be from TempXMin celcius to TempXMax, pwm will be from FanXMin to FanXMax 
        float Pwm1=((T1-Temp1Min)*K1)+Fan1Min;
        float Pwm2=((T2-Temp2Min)*K2)+Fan2Min;
      
        // print pwm values on serial for debugging
        Serial.print   (" PWM1: ");
        Serial.print   ( Pwm1 );
        Serial.print   (" PWM2: ");
        Serial.println ( Pwm2 );
        
        // Assign pwm
        analogWrite(pinA, Pwm1 );
        analogWrite(pinB, Pwm2 );
        
        // and sleep 1s until next computation
        delay (1000);
        }
    }

  12. #152
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Alors....

    Il y a deux choses, dans le premier tuto, les gars essayent de piloter le ventilateur d'un processeur par le fil PWM et je n'ai pas l'impression que ça n'a pas abouti lorsque je regarde jusque la fin. En plus, il y a un des gars qui dit bien qu'il y a une vitesse mini (la doc Artic disait ça aussi) ce qui est emmerdant. Perso je dirai qu'on est simplement entrain de faire déconner le ventilateur car on l'utilise d'une manière (0% à 100%) dont il n'est pas prévu.

    Dans le second tuto, ça marche mais le gars ne se sert pas du fil PWM. Si tu regardes son schéma électronique, il fait ce que je voulais faire dès le début mais tu m'avais dit que le ventilateur faisait du bruit. Surement que le PWM allait trop vite et que le ventilo vibrait fort !

    On fait du yoyo mais je pense que la première idée était la bonne pour faire comme la LED 1% à 100%


    ps : regarde le schéma électronique du dernier tuto, tu verras que c'est ce qu'il fait et pour moi c'est bien ça qu'il faut faire. Si ça fait du bruit alors il faut ralentir le PWM
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  13. #153
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    j ai refait le meme schema avec un 2N2222A
    le ventillo ralentit mais ne s arette pas non plus et il gresille

    je suis a ton ecoute si tu prefere cette solution , c est juste que le thechnologie pwm est vraiment prevu et cree pour cela

    sinon on place un 2N2222a qui coupe le ventilo

    est lorsque le temps est atteinte il alimente le 2N2222A qui alimente le ventilo plus le pwm de 20 a 100%

  14. #154
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    bon il s arette bien par contre a la fin lorsquil ralentit je te parle meme pas des cri qu il fait, comme un bourdonement j ai essayer avec les deux frequence

    // 9.6 MHz, built in resonator
    #define F_CPU 9600000

    ou

    // 2 MHz, built in resonator
    #define F_CPU 2000000
    #define LED PB1


    je voit bien un transistor dit de coupure (interupteur )
    et l autre pour le pwm avec des seuil de declenchement

    float Fan2Min=50;
    float Fan2Max=255;

  15. #155
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    bon regarde cette video
    http://www.electroschematics.com/954...d-temperature/
    j ai fait le meme câblage sauf que j utilise un 2N2222a et mon ventilo cri en bas regime
    du genre 0a 10% il crit sans tourner
    10a 20% commence a tourne en criant

    j utilise un ventilo a deux fils 12v

    dans la video on entend rien sont ventilo ne crie pas pourquoi :/

  16. #156
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Citation Envoyé par moijerem Voir le message
    [...]http://www.electroschematics.com/954...d-temperature/
    j ai fait le meme câblage sauf que j utilise un 2N2222a et mon ventilo cri en bas regime [...] j utilise un ventilo a deux fils 12v [...] dans la video on entend rien sont ventilo ne crie pas pourquoi :/
    Tu as lu ce que le gars a écrit tout en haut de son article ?

    Citation Envoyé par Original
    I made this project because I wanted a way to automatically control the speed of a DC fan according to the temperature read by a LM35 sensor. I had a few problems with the PWM part mainly because the fan made a disturbing noise so I had to add a simple RC filter at the output of the PWM pin on the Arduino board.
    Citation Envoyé par Traduit
    J'ai fait ce projet parce que je cherchais un moyen de contrôler automatiquement la vitesse d'un ventilateur à courant continu en fonction de la température lue par un capteur LM35 . J'ai eu quelques problèmes avec la partie PWM principalement parce que le ventilateur fait un bruit gênant donc j'ai du ajouter un simple filtre RC à la sortie de la broche PWM sur la carte Arduino.
    Il a donc rencontré le même problème que toi. En mettant un filtre RC entre le PWM (suivant l'atténuation de son filtre) soit il recréait une tension continue soit il a transformé sont PWM en pseudo sinusoïde. Dans les deux cas, on sent qu'il cherche a adoucir la raideur de son PWM.

    Ce qui est chiant en travaillant sans doc c'est qu'on doit faire une supposition -> tester -> valider ou non la supposition. C'est carrément long.

    Nouvelle supposition :
    Dans notre soft d'origine on a un PWM d'une fréquence de 1.2MHz soit une période 833ns. Lorsque le PWM est à 1% on a un état haut qui dure 8ns puis un long état bas 824ns et à mon avis que pour le moteur, cet état haut est tellement rapide qu'aucun champs électromagnétique n'a le temps de se créer dans le moteur. C'est à dire qu'on pourrait penser qu'a 1% le moteur tourne doucement mais ce 1% est tellement rapide que le moteur est plus entrain de déconner qu'autre chose.

    Je propose de ralentir, cette fois ci, sévèrement le PWM.

    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
    // 9.6 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 9.6 MHz this is 75 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 9.6 MHz this is 9,365kHz.
        // 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);
        }
    }

    J'ai modifié ça, au lieu de diviser par 8 la fréquence d'horloge du micro, je l'ai divisé par 1024 mais je ne peux pas aller au delà. Ensuite devra ralentir tout le micro dans la mesure du possible :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        // Set Timer 0 prescaler to clock/1024.
        // At 9.6 MHz this is 9,365kHz.
        // See ATtiny13 datasheet, Table 11.9.
        TCCR0B |= (1 << CS01) | (1 << CS02);

    Dit moi si ça améliore les choses ?
    Je pense que ça ne sera pas encore le TOP mais c'est important de voir si ça nous emmène vers une bonne direction.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  17. #157
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    je dirait qu il émet moin de bruit mais rien de certain car il en émet toujours

    lorsque il est arrêter avant de redémarré , il a une petit période ou il crit avant de ce lancer
    j ai reduit le micro a

    // 2 MHz, built in resonator
    #define F_CPU 2000000

    je n est pas l impression que cela a changer grand chose au bruit

  18. #158
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    j ai resolue le probleme j ai changer la valeur du condensateur plus de bruit j ai mits un 470 uf

  19. #159
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Donc la ça varie bien de 1% à 100% sans bruit ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  20. #160
    Nouveau membre du Club
    Homme Profil pro
    electricien
    Inscrit en
    Janvier 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 200
    Points : 34
    Points
    34
    Par défaut
    pour le ventillo 100 artic oui aucun bruit le silence complet
    pour le ventillo 100 chinois leger bruit
    pour le ventillo 80 chinois leger bruit

    pour les autre je pense qu il faut determiner la bonne valeur du filtre rc non ?

Discussions similaires

  1. [FB4] Aide modification programme
    Par bensefaj dans le forum Flex
    Réponses: 5
    Dernier message: 18/07/2013, 09h48
  2. empecher modifications programme sas
    Par herkitz dans le forum Administration et Installation
    Réponses: 4
    Dernier message: 23/08/2010, 18h16
  3. Modification programme portCOM
    Par cyriltec dans le forum C#
    Réponses: 1
    Dernier message: 12/03/2010, 11h34
  4. Programme de modification de XML en fonction de conditions
    Par greg2 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 31/07/2006, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo