NodeMCU / ESP8266 PWM Fan aansturing lijkt niet te werken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 27-09 13:07
Ik probeer een NodeMCU (ESP8266) aan te sporen om een PWM signaal naar een setje Noctua PWM fans te sturen om zo de snelheid van de fans te regelen.

De voeding van de fans is onafhankelijk van de de NodeMCU, ik heb alleen direct een GPIO pin van de NodeMCU op het PWM signaal van de fan aangesloten.

Vanwege de interne pull up van het signaal in de fan en de NodeMCU, zou ik verwachten dat dit zonder transistor of pull up / pull down weerstanden zou moeten kunnen. Maar ik ben geen electronica expert, vandaar hier mijn vraag.

Code die ik momenteel gebruik:

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
include <Arduino.h>

#define PWM_FAN1 D1

void setup() {
  analogWriteFreq(25000);
  pinMode(PWM_FAN1, OUTPUT);    // D1 pin as output.
}

void loop() {  
  analogWrite(PWM_FAN1, 0);
  delay(5000);

  analogWrite(PWM_FAN1, 512);
  delay(5000);
}


Wat ik zou verwachten is dat de fan (aangesloten op D1), nu om de 5 seconden op halve snelheid gaat draaien (512 is de helft van de standaard 1023 als max PWM), en de helft van de tijd uit staat (actief 0 op het PWM signaal).

Wat er gebeurt: helemaal niets, de fan blijft op volle snelheid draaien.
Het PWM signaal van de fan zelf werkt wel, als ik deze 'kortsluit' met zijn eigen ground (actief naar nul trek), gaat de fan netjes uit.

Als de PWM frequentie niet hoog genoeg zou zijn om de fan goed aan te sturen, zou ik op zijn minst verwachten dat de 'actief uit' stand zou functioneren, maar ook dat werkt niet.

Wie snapt wat er hier gebeurt?

Even niets...


Acties:
  • 0 Henk 'm!

  • AlexanderB
  • Registratie: Maart 2007
  • Laatst online: 09-05 19:05

AlexanderB

7800 rpm

is de ground van je NodeMCU wel aangesloten op de ground van de fan?

Acties:
  • 0 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 27-09 13:07
Uh, nee? Moet dat? :+

Even niets...


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 14:54

Septillion

Moderator Wonen & Mobiliteit
Altijd. Stroom gaat altijd is een cirkel, ook de kleine stroom voor data. Dus zonder terugweg aka met één draadje geen data.:+ De GND is ook voor de PWM ingang van de fan de referentie. Die dus koppelen aan ESP GND.

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 26-09 11:35

SA007

Moderator Tweaking
Ook een mogelijk puntje, het pwm signaal voor een fan is officieel 0-5V, of 3.3V werkt hangt af van de fan, geen garantie daarop.
Een fan kan dat signaal ook naar 5v trekken wat wellicht je nodemcu kan beschadigen.

Officieel mag je het met een open-collector aansturen, dus een transistor die 'm naar ground trekt zou dat moeten fixen.

Overigens goede kans dat je huidige opstelling gewoon kan werken, zie dat er ook fans zijn die 3.3V zelf aanbieden en als je de specs met een scheef oog leest zou alles boven de ~1,5v als 'hoog' gezien worden en is de pull-up zeer waarchijnlijk niet genoeg om een esp8266 te slopen, maar je kan tegen problemen aanlopen.


Edit:
Een volledig uit stand zit niet in de specs, en fanfabikanten mogen zelf bepalen wat ze doen met een signaal onder de 15% ofzo, kan 'uit' 'langzaam' of 'volle snelheid' zijn, allemaal goede antwoorden volgens de spec.

[ Voor 16% gewijzigd door SA007 op 06-07-2021 17:39 ]


Acties:
  • 0 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 27-09 13:07
@Septillion Top, gaan we dat proberen.
@SA007 Als ik tussen de ground van de ESP en de fan een 10KOhm weerstand zet zou dat toch op zich genoeg moeten zijn? Dan kan er maar zo weinig stroom lopen dat het nooit een issue zou mogen zijn?

Of begrijp ik het concept dan nog verkeerd?

Oh, en over je edit/ps: Het feit dat de fan uitviel als ik de GND met de PWM draad kortsloot doet mij geloven dat deze fans in ieder geval 'actief 0' als fysiek uit zien.

[ Voor 23% gewijzigd door FireDrunk op 06-07-2021 18:04 ]

Even niets...


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 14:54

Septillion

Moderator Wonen & Mobiliteit
Dan zou je hem niet tussen GND willen zetten maar tussen de data. Anders wordt het allemaal lastig met meten en eventuele verdere beïnvloeding.

Maar, gezien het open collector verwacht zit er dus een pull up in. Je moet wel krachtiger schakelen dan die pull up om hem te overwinnen. 10k verwacht ik dat te veel gaat zijn. Zou ik het eerder met 1k proberen.

Acties:
  • 0 Henk 'm!

  • FireDrunk
  • Registratie: November 2002
  • Laatst online: 27-09 13:07
Met een 1KOhm weerstand tussen data en PWM, en de GND's op elkaar aangesloten, werkt het perfect!
Thanks allemaal!

Even niets...

Pagina: 1