Forum Linux.debian/ubuntu [Debian pour rpi] : Pilotage signal PWM

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
6
mai
2026

Bonjour à tous,

J'utilise actuellement plusieurs raspberry pi 4 qui commencent à chauffer.

L'idée est de refroidir ces cartes avec un ventilateur 5V possédant un 3ème file bleu pour un signal PWM.

De ce que je vois, il est possible de faire ceci avec la méthode suivante :
-écrire le fichier .dts avec les seuils de température, …
-compiler le fichier dts en dtbo à l'aide de
dtc -I dts -O dtb -o /boot/firmware/overlays/pwm-fan-gpio.dtbo pwm-fan-gpio.dts
-mettre dans le fichier /boot/firmware/config.txt le champ dtoverlay=pwm-fan-gpio

Sauf que dans mon cas, lorsque je connecte le fil PWM du ventilateur à la pin PWM qui correspond, le ventilateur s'arrête de tourner !

Comment puis-je déboguer ? Auriez-vous une idée ou un projet qui tourne sur le sujet ?

Exemple fichier .dts
https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm/boot/dts/overlays/pwm-gpio-fan-overlay.dts

Exemple de projet similaire sur internet :
https://forums.raspberrypi.com/viewtopic.php?t=354125

Merci pour votre aide.

  • # Peut-être que ça marche ?

    Posté par  (Mastodon) . Évalué à 4 (+1/-0).

    Là tu veux que ton kernel pilote le ventilateur, peut-être qu'il ne fait pas assez chaud tout simplement ?

    Que dit un tree /sys/class/hwmon ?

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Peut-être que ça marche ?

      Posté par  . Évalué à 1 (+0/-0).

      J'ai fait des tests en regardant la température avec une commande stress pour monter la température, rien n'y a fait.

      Voici le résultat :

      tree /sys/class/hwmon
      /sys/class/hwmon
      └── hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
      
      2 directories, 0 files
      ``
      
      • [^] # Re: Peut-être que ça marche ?

        Posté par  (Mastodon) . Évalué à 3 (+0/-0).

        il me semble que ça devrait apparaître dans le groupe hwmon : https://docs.kernel.org/driver-api/gpio/drivers-on-gpio.html

        quelques pistes :

        • peut-être une erreur de syntaxe dans ta modif ?
        • as-tu essayé en partant du .dts original sans aucune modif ?
        • es-tu bien certain que c'est la bonne GPIO pour le PWM (je me méfie toujours des numérotations des GPIO entre celles vues par le CPU et celles numérotées par la carte il y a souvent une différence.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # 4 fil

    Posté par  . Évalué à 2 (+1/-0). Dernière modification le 07 mai 2026 à 10:20.

    pour regler la vitesse d'un ventilateur il est nécessaire d'avoir un ventilateur 4 fil, pour le tiens cela indique JUSTE la vitesse de rotation sans possibilité de regler la vitesse.

    en gros tu as un ventilateur :

    • +5v
    • 0v
    • mesure vitesse

    maintenant il te faut un :

    • +5v
    • 0v
    • mesure vitesse
    • entrée pwm

    j'imagine que tu peux bricoler un variateur électronique sur le +5v :) si tu ne veux pas acheter un nouveau ventilateur

    • [^] # Re: 4 fil

      Posté par  . Évalué à 1 (+0/-0).

      Donc on ne peut que mesurer la vitesse si je comprends bien ?

      Etrange !

      • [^] # Re: 4 fil

        Posté par  . Évalué à 1 (+0/-0). Dernière modification le 09 mai 2026 à 02:16.

        Bonjour

        Il aurait fallu avoir les information suivantes :

        Alimentations :
        Quel type d'alimentation (références ou/et datasheet) est utilisé pour les ventilateurs ?
        Quel type d'alimentation (références ou/et datasheet) est utilisé pour le pi4 ?
        Comment et avec quel type de fils et connecteurs sont alimentés les appareils (schéma de câblage et photographie)

        Ventilateur :
        Datasheet du ventilateur (au moins savoir le courant consommé et le schéma interne)

        Driver ventilateur :
        Le courant max que pourrait fournir ou drainer une GPIO d'un pi4 est de 16 mA, et toutes ensembles, les GPIO ne devraient pas fournir ou drainer plus de 50 mA,
        quel type de driver (références du module ou du composant et schéma) a été utilisé pour piloter le ventilateur ?

        Logiciel :
        Quel code source a été utilisé ?

        … et dans ce royaume, ceux qui y voient un peu plus clair sont parfois très mal vus.

      • [^] # Re: 4 fil

        Posté par  . Évalué à 1 (+0/-0).

        même si cela parait pas idéal en réalité c'est super utile !

        pour les serveur ou le ventilateur tourne toujours a fond cela permet de vérifier et de contrôler la vitesse de rotation et de déclencher une alarme si la vitesse descend trop avec ipmi par exemple et cela coute moins chère que celui avec le variateur de vitesse intégré

        • [^] # Re: 4 fil

          Posté par  . Évalué à 2 (+2/-1).

          La solution réside dans les deux fichiers présent dans un dossier overlays.
          -pwm-fan.dtbo
          -pi4-fan.dtbo

          Il en faut deux de source sur.

          Avec ces deux fichiers, la pin 32 PWM0 fait son job relié au 3ème fil de couleur bleue.

          Le premier seuil d'activation du ventilateur est de 55 °C.

          Il faut aussi ajouter dans le fichier raspi-firmware-custom, les deux lignes suivantes :

          overlays=pwm-fan
          overlays=pi4-fan

          Ensuite, le cas de debian pour raspberry, encore une commande pour renvoyer ceci dans le fichier config.txt et le tour est joué.

          • [^] # Re: 4 fil

            Posté par  . Évalué à 1 (+0/-0).

            salut

            j'insiste car ce n'est pas exactement la réalité

            dans ton cas précis le ventilateur a 3 fil a une entrée pwm comme le
            Référence fabricant:
            4412FGMPR
            Marque:
            ebm-papst
            Wire Color Operation
            1 red + UB
            2 blue - GND
            3 violet PWM

            ce qui n'est pas courant, ton cas est une exception du coup le prix de ce genre de ventilateur avoisine les 70€ , les ventilateur pas chère avec une entrée PWM auront 4 fil. ou peut être que tu as eu de la chance :)

            dans 98% des cas tu auras : ・ Lead wire ……………………………………… +Red - Black Sensor Yellow Control Brown
            (For models without PWM control function, there is no speed control wiring.)

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.