ABC - Arduino Basic Connections

La parte controllo mos mi era scappata, non va bene come è fatta sulla guida, prima di tutto una R da 2.2k sul gate è enorme, poi nell'esempio cita gli IRF520 che sono dei mospower, impossibili da controllare in pwm direttamente da Arduino sia perché la VgsSat è di 10V sia perché i pin di Arduino non possono fornire corrente a sufficienza per caricare/scaricare la capacità parassita del gate.
In generale, Arduino può pilotare direttamente il gate di un mos di potenza solo se questo è di tipo logic level (VgsSat < 4.5V) e solo in modo on/off, non è possibile il pwm perché non basta la corrente, il gate va connesso al pin tramite una R da non più di 100 ohm, lo scopo è solo limitare la corrente massima.
Con i mos per piccoli segnali, non ci sono particolari problemi di controllo in pwm direttamente dal pin di Arduino, basta che anche loro siano del tipo logic level e che la frequenza massima del pwm non superi i 2-3 kHz, quella standard di Arduino è ~490 Hz, la resistenza sul gate può anche essere omessa con questi mos, è comunque sempre buona norma metterla (max 100 ohm)
In tutti gli altri casi è indispensabile usare un apposito driver per il gate che può essere un transisto nei casi più semplici fino ad arrivare agli appositi IC lowside/higside driver.