Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Argon One V2 minimal difference fan speed value #7

Open
Erriez opened this issue Apr 22, 2023 · 8 comments
Open

Argon One V2 minimal difference fan speed value #7

Erriez opened this issue Apr 22, 2023 · 8 comments

Comments

@Erriez
Copy link

Erriez commented Apr 22, 2023

The Argon One V2 revision 06122021V4.2 fan speed can be set with I2C write commands with value between 0 (off) and 100 (full speed). There is almost no difference in fan speed between values 1 and 100. My first impression that I received a DOA, but connected a scope to check what's wrong.

image

image

Write I2C fan speed command:

# Stop service
$ sudo systemctl stop argononed.service 

# Set fan PWM speed on I2C bus 1 device address 0x1a:
# value 0: Fan off
# value 1..99: Fan 20kHz PWM 30%..99% duty cycle
# value 100: Fan full speed
$ i2cset -y 1 0x01a <value>

Reverse engineered schematic

The PWM output pin of U1 microcontroller MT006C6PB (STM8S003F3) pin 13 works correctly:

image

Fan speed value 1 on gate MOSFET Q2 correct:

argon_pwm1

Fan speed value 50 on gate MOSFET Q2 correct:

argon_pwm50

Fan speed value 99 on gate MOSFET Q2 correct:

argon_pwm99

When measuring on the drain MOSFET Q2, the pin is almost 0V (PWM not working) with all values 1..100, also when replacing the fan with a 470Ohm resistor:

argon_pwm1_fan

It looks like the MOSFET in saturation and is always turning on the fan.

Is this normal behavior that there is almost no difference in fan speed, or is my new Argon One V2 broken? For example broken MOSFET 2302B Q2 controlling the fan?

@Matan
Copy link

Matan commented May 6, 2023

I'm seeing the same behaviour, practically no difference between 0x01 and 0x64. I can hear a slight audible change in the tone of the fan when flipping between the two extremes. But in practice, the fan is basically on or off. My board version is: 05152021V2.6.

https://github.com/Argon40Tech/Argon-ONE-i2c-Codes#1--hex-code-0x01-to-0x64-0100 -- this doc notes that the fan should only spin up from 10%, which further illustrates that something is wrong as 0x01 (practically zero precent) already produces a high fan speed.

@Erriez, thanks for the detailed breakdown of what's happening, I don't have such fancy tools. I'm using my ears diagnose 😂

@Erriez
Copy link
Author

Erriez commented May 6, 2023

Thanks for your reply, @Matan. I'm currently in the process of RMA under warranty and don't get any response from both Argon40Tech or the Dutch webshop. I keep pinging them.

I've tested the fan speed with an external N-type MOSFET (much heavier BUZ11) with temporary wires and fan speed works as expected. In this case, the the fan spins up around >15% which is the behavior we're looking for. Maybe the 2302B MOSFET cannot handle the fan current and is an incorrect type. For long-term solution, I consider to buy a different SMD MOSFET type and same footprint to replace Q2. I'm a little bit concerned that this is a design flaw and a replacement of the Argon One V2 case does not make sense.

I appreciate comments from more people experiencing this problem. Stay tuned!

@Erriez
Copy link
Author

Erriez commented May 18, 2023

Update:

  1. I replaced MOSFET Q2 with a IRLML6244 (same SOT-23 footprint), but did not change the fan speed behavior. The original 2302B type is Ok.
  2. I removed the 10uF capacitor C1 and the fan speed control is much better with direct I2C fan speed values 1..100:
# Stop service before sending I2C fan speed values
$ sudo systemctl stop argononed.service


# Turn fan off
$ i2cset -y 1 0x01a 0

# Minimum fan speed
$ i2cset -y 1 0x01a 1

# 50% fan speed
$ i2cset -y 1 0x01a 50

# Maximum fan speed
$ i2cset -y 1 0x01a 100

Fan speed value 1 is the lowest possible value and the fan is still running. A lower fan speed requires a different PWM output of the microcontroller U1, but this is not possible without changing the firmware and not necessary.

Note: The Argon scripts still uses values 30-100 instead of 1..100 and requires a manual change.

Conclusions:

  • Argon introduced a new design problem with the fan speed control in new Argon One V2 cases and their scripts are not backwards compatible.
  • I did not receive any answer from Argon support.

@Matan
Copy link

Matan commented May 19, 2023

It's a shame that Argon are being so unresponsive, you've practically done all the work for them 😂.

My workaround for now is only enable the fan at 50℃, which is very infrequent with my current workloads. Still, it's annoying when it happens and is a big detractor from a seemingly good product. 😞

Time to buy a soldering iron. So it's just the removal of the capacitor at C1..C4?

@Erriez
Copy link
Author

Erriez commented May 19, 2023

It's a shame that Argon are being so unresponsive, you've practically done all the work for them joy.

Yes, that's correct.

So it's just the removal of the capacitor

You can remove capacitor C1 only beside the fan connector:

image

@Matan
Copy link

Matan commented May 19, 2023

Brilliant, thanks for that! I would have removed the wrong one 😅

@david-barbion
Copy link

It's a shame that Argon are being so unresponsive, you've practically done all the work for them joy.

Yes, that's correct.

So it's just the removal of the capacitor

You can remove capacitor C1 only beside the fan connector:

I confirm that removing the c1 capacitor make the full range 1 to 100 works!
Thank you very much for investigating!

@RetroCatZ
Copy link

RetroCatZ commented Jun 11, 2024

Thanks for all the work!

  • removing the capacitor does work and gives the full range: if you are not equipped to do so, a sharp cutter and a little bit of patience do as well :-) just slowly cut the soldering on one side, then on the other side

However, even when being able to control fan speed after modding the case, my fan was a bit too loud, even on low speeds. So I ordered a replacement fan: https://www.rasppishop.de/Argon-ONE-V2-M2-30mm-Ersatzluefter

To my surprise, the replacement fan did not behave as expected: Now 99% / 100% speed work fine (although I'm not sure its really 100% but cooling is enough). One can hear some noise, everything else from to 1-98 is pretty much the same and almost not noticable - didnt seem right.

-> Upon inspection I found the replacement fan sent to me is 0.15A while the old fan was 0.13A ! (argon website says replacement fan 0.13A).
-> I'm not sure, but it might be that a 0.15 A fan would have done the trick in an unmodded case since its now almost the opposite behavior. Might be worth a try ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants