# Circuiteria di Potenza La parte principale del saldatore è la parte di potenza. ## USB PD Lo standard USB PD e EPR permette potenze di uscita fino a 280W, il problema è che l'aumento di potenza viene ottenuto solamente con un aumento di tensione, mantenendo la corrente massima a 5A: ![usb_pd_iv.png](media/usb_pd_iv.png) Quindi per mantenere la potenza di ingresso al di sotto del rating dell'alimentatore è necessario mantenere la corrente al di sotto dei 5A, superare i 5A (o poco più) manderebbe l'alimentatore in protezione spengendolo. La maggior parte dei saldatori commerciali USB non hanno nessun tipo di filtraggio, invece usano diversi trucchi: 1. Punte non standard a 5Ohm, come il [Sequre S99](https://sequremall.com/products/sequer-s99-soldering-iron-support-pd-qc-dc-pps-power-supply-compatible-with-c245-tip-for-drone-rc-model-welding-repair-tool-anti-static-welding-pen?variant=42863253356732). 2. Switching molto veloce. 3. Limitano la tensione di ingresso per rimanere sotto al limite di corrente, limitando anche la potenza. 4. Se ne fregano il cazzo e sperano che l'alimentatore se ne freghi anch'esso. ## Monitoring della Potenza di Uscita Tocca leggere sia la tensione che la corrente, per la lettura della tensione basta un partitore resistivo: ![vbus_monitor.png](./media/vbus_monitor.png) Mentre per la lettura della corrente conviene usare un monitor high-side, in modo da non disturbare la trensione di terra e quindi le misure della termocoppia. Questi amplificatori devono essere fatti apposta per sopportare la tensione a modo comune alta, pari alla tensione di alimentazione. ![high_side_current.png](./media/high_side_current.png) Questo tipo di monitoring si può fare in diversi modi: 1. Con un amplificatore operazionale discreto, ma questo porta il numero di componenti ad almeno 5, contando condensatore di bypass e resistenza di uscita sono 7. 2. Con un integrato con uscita di corrente come lo [ZXCT1109](https://www.diodes.com/part/view/ZXCT1109), che però ha una uscita in corrente che per essere letta correttamente dovrebbe essere bufferata. 3. Con un integrato con uscita in tensione come lo [TPA191](https://static.3peak.com/res/doc/ds/Datasheet_TPA191.pdf), in questo caso non serve resistenza di gain e basta attaccarlo al pin di ADC del micro. 4. Usar un integrato con uscita digitale come lo [INA230](https://www.ti.com/lit/ds/symlink/ina230.pdf) o l'[INA226](https://www.ti.com/lit/ds/symlink/ina226.pdf), che integra sia il monitoring di tensione che quello di corrente, però il costo è molto più alto. Analisi costo/area: - INA226: 0.61 EUR, solo area di un MSOP-10, non poca ma tutto in uno. - TPA191 + 1k.1% + 10k.1% + Zener: 0.57 EUR, area 3x0603+SOD-323+SOT-23-6, leggermente maggiore ma migliore flessibilità sul piazzamento. Per evitare di comprare altri componenti e aumentare inutilmente il costo dell'ordine è meglio usare il [INA226](https://www.ti.com/lit/ds/symlink/ina226.pdf) o il suo equivalente [TPA626](https://www.lcsc.com/product-detail/C5761471.html). Inoltre questi integrati permettono di impostare alert per la sovraccorrente o sovratensione. ![tpa226.png](./media/tpa226.png) ## Mosfet e Filtro Pi ![power_sim.png](./media/power_sim.png) Quello che importa è avere una corrente costante dal lato di ingresso, siccome la punta è un carico resistivo mi importa poco se riceve picchi di tensione e corrente. Per questo motivo il modo più semplice di smussare la corrente al lato di ingresso è di usare un [filtro PI](https://resources.altium.com/it/p/pi-filter-designs-power-supplies): ![pi_filter.png](media/pi_filter.png) La frequenza di taglio del filtro PI è la solita di un filtro LC: $$ f_0 = \frac{1}{2\pi\sqrt{L\ 2C}} $$ Allora per ottenere il comportamento desiderato la frequenza di switching della punta deve essere almeno una decade sopra questo valore. $$ L=2.2\mu \text{H},\ C=44\mu \text{F} \\ f_0 = 11.4\text{kHz} $$ La frequenza di switching va anche valutata in base alle perdite di switching sul mosfet. A differenza di [altre soluzioni](#altre-soluzioni), un filtro di questo tipo è di bassissima complessità e non richiede un particolare controllo, l'importante è usare la giusta frequenza di switching e limitare la potenza alla punta per garantire che la corrente rimanga nel limite. ### Scelta dell'Induttore Le specifiche principali dell'induttore per questa applicazione sono: - Dimensione, la scheda è in alcune sezioni di 10mm di larghezza, quindi sarebbe meglio tenersi sotto i 6x6mm. - ESR (Equivalent Series Resistance), ci dice quanto dissiperà l'induttore, inversamente proporzionale a dimensione e all'induttanza. - Corrente di saturazione, la corrente per la quale il core dell'induttore satura, superare questa corrente riduce l'induttanza effettiva e scalda il core. - Corrente di riscaldamento, la corrente per cui l'induttore comincia a scaldarsi sopra una certa temperatura se l'aria è a 25 gradi, ci dice la resistenza termica del package. Alcuni induttori considerati, in **bold** quelli buoni: | **MODELLO** | **VALORE** | **DCR** | **PACKAGE** | | --- | --- | --- | --- | | [XAL6060-103MEC](https://www.lcsc.com/product-detail/C5329540.html) | 10u | 27m | 6.6x6.4 | | [XRFWHP0660A-100M](https://www.lcsc.com/product-detail/C51913009.html) | 10u | 30m | 6.6x6.4 | | [AAPS0660M100F](https://www.lcsc.com/product-detail/C49261494.html) | 10u | 30m | 6.6x6.4 | | [XRFWHP0660A-4R7M](https://www.lcsc.com/product-detail/C51913007.html) | 4.7u | 15m | 6.6x6.4 | | [APH0660C-4R7M-TCD5](https://www.lcsc.com/product-detail/C50326286.html) | 4.7u | 15m | 6.6x6.4 | | [AAPS0660M4R7F](https://www.lcsc.com/product-detail/C49261490.html) | 4.7u | 15m | 6.6x6.4 | | [APS0660M4R7F](https://www.lcsc.com/product-detail/C49261301.html) | 4.7u | 15m | 6.6x6.4 | | **[FC-ALX 4030D-2R2MT](https://www.lcsc.com/product-detail/C5370906.html)** | **2.2u** | **11m** | **4.2x4.2** | | [MTQH404030S2R2MBT](https://www.lcsc.com/product-detail/C50345893.html) | 2.2u | 23m | 4.2x4.2 | | [PSTMAA4030-2R2MG](https://www.lcsc.com/product-detail/C45385247.html) | 2.2u | 22m | 4.2x4.2 | | [XRIM404030S2R2MGCA](https://www.lcsc.com/product-detail/C39846868.html) | 2.2u | 19m | 4.2x4.2 | | [FC-ALX 5030D-3R3MT](https://www.lcsc.com/product-detail/C5370911.html) | 3.3u | 17m | 5.3x5.1 | | [FC-ALX 5030D-2R2MT](https://www.lcsc.com/product-detail/C5370910.html) | 2.2u | 12m | 5.3x5.1 | ### Scelta dei Condensatori [Derating](https://www.microtype.io/blog/dc-bias-effect-in-ceramic-capacitors) per DC bias. [Modelli](https://product.tdk.com/en/technicalsupport/tvcl/general/mlcc.html) fatti bene della TDK. [Modelli](https://www.chemi-con.co.jp/en/faq/detail.php?id=How2LTspice) della Chemicon. ### Corrente di Inrush ### MOSFET e Driver La scelta dei mosfet è fondamentale per ridurre la potenza dissipata, per semplificare il sistema ho scelto di usare uno [switching high-side](https://techweb.rohm.com/product/power-device/switches/23727/), mentre per ridurre le perdite sul mosfet ho deciso di usare un canale N. I mosfet canale N hanno resistenza di canale minore e minore carica di gate, quindi permettono di minimizzare sia le perdite di conduzione che le perdite di commutazione. Il problema è che usare un mosfet a canale n in configurazione high side richiede un driver fatto apposta. Le perdite a causa della conduzione del mosfet si calcolano con l'espressione: $$ P_\text{cond} = \frac{I^2}{R_{\text{DS}_\text{on}}} D $$ Dove $I$ è la corrente che scorre nel mosfet quando acceso, approssimabile come $I=V_\text{BUS}/R_\text{tip}$, $T$ è il periodo di commutazione e $D$ è il duty cycle. NOTA: si arriva ad una espressione migliore se si considera che pure D dipende dalla potenza che voglio alla punta Mentre la potenza persa durante la commutazione è stimabile come: $$ P_\text{SW} = \frac{I\ V_{\text{BUS}}\ t_{\text{SW}}\ f}{2} $$ Dove $t_\text{SW} = t_r + t_f$ è la somma del tempo di commutazione alto e basso del mosfet, si ricava dalla corrente di uscita del driver e dalla carica di gate del mosfet. Lista di MOSFET canale n buoni: |**MODELLO**|**VDS**|**RDSon**|**Qg [C]**| |---|---|---|---| |[AGM6014AP](https://www.lcsc.com/product-detail/C6719405.html)|60|4.3m|33n| | [CSD18543Q3A](https://www.lcsc.com/product-detail/C840100.html) | 60 | 8.1m | 11.1n | | [AGM403AP](https://www.lcsc.com/product-detail/C7466527.html) | 40 | 2.7m | 10n | | [AGM312AP](https://www.lcsc.com/product-detail/C22364314.html) | 30 | 9m | 4.1n | | [AON7544](https://www.lcsc.com/product-detail/C315567.html) | 30 | 5m | 22.5n | | [60N04D](https://www.lcsc.com/product-detail/C7543822.html) | 40 | 6.9m | 5.8n | | [HD304N070SG](https://www.lcsc.com/product-detail/C50132379.html) | 40 | 6.5m | 16n | | [TMG0069N04DF](https://www.lcsc.com/product-detail/C19189166.html) | 40 | 6.9m | 5.8n | | [DOZ55N04](https://www.lcsc.com/product-detail/C42420928.html) | 40 | 5m | 19.5n | Lista di driver buoni e non: | **LINK** | **NOTE** | **PACKAGE** | **DIODO BOOT** | | --- | --- | --- | --- | | https://www.lcsc.com/product-detail/C5795658.html | half bridge, consigliato per notebook e quindi tensione minore | dfn 2x2 | | | https://www.lcsc.com/product-detail/C116731.html | half bridge per buck | dfn 2x2 | | | https://www.lcsc.com/product-detail/C892859.html | half bridge per buck | dfn 2x2 | | | https://www.lcsc.com/product-detail/C606336.html | half bridge per buck | dfn 3x3 | | | https://www.lcsc.com/product-detail/C533032.html | low-side ma anche high-side con configurazione strana, input differenziale | sot 23 | | | https://www.lcsc.com/product-detail/C5481755.html | high e low-side per mosfet SiC, input differenziale e configurazione strana | sot 23 | | | https://www.lcsc.com/product-detail/C964602.html | half bridge per buck | dfn 2x2 | interno | | https://www.lcsc.com/product-detail/C2677203.html | logica 5V | sot 23 | esterno | | **[IRS10752LTRPBF](https://www.lcsc.com/product-detail/C126923.html)** | | sot 23 | esteno | | [IRS20752LTRPBF](https://www.lcsc.com/product-detail/C495818.html) | | sot 23 | esterno | | [IRS25752LTRPBF](https://www.lcsc.com/product-detail/C538346.html) | | sot 23 | esterno | | **[NSG10752](https://www.lcsc.com/product-detail/C41414522.html)** | pin-compatible con quelli infineon | sot 23 | esterno | | https://www.lcsc.com/product-detail/C603811.html | half-bridge per buck, discontinuato | dfn 2x2 | interno | | https://www.lcsc.com/product-detail/C603810.html | half bridge per buck, versione di replacement per NCP81161 | dfn 2x2 | interno | | https://www.lcsc.com/product-detail/C2677131.html | half bridge per buck | dfn 3x3 | interno | | https://www.lcsc.com/product-detail/C41414473.html | half bridge per buck | dfn 3x3 | esterno | | https://www.lcsc.com/product-detail/C154581.html | half bridge per buck | dfn 3x3 | interno | Il problema dei driver selezionati è che hanno una UVLO molto alta (10V) che quindi richiede un buck ulteriore per alimentarli, aumentando il costo e numero dei componenti. ## Altre Soluzioni ## Altri Saldatori È comodo confrontare altri saldatori USB-C e vedere come funzionano. ### Pinecil V2 Link alla [wiki](https://wiki.pine64.org/wiki/Pinecil), [schema elettrico](https://files.pine64.org/doc/Pinecil/Pinecil_schematic_v2.0_20220608.pdf). ### Alientek T80P [Teardown](https://www.reddit.com/r/soldering/comments/1cm03vg/jbc_style_usb_soldering_iron_roundup_teardown/ ), [issue di IronOS](https://github.com/Ralim/IronOS/issues/1945) con foto e lista componenti. ### Miniware TS21 [Teardown](https://www.reddit.com/r/soldering/comments/1kho3lc/miniware_ts21_disassemble/), [issue di IronOS](https://github.com/Ralim/IronOS/issues/2122) con componenti. ### Sequre S60P [Teardown](https://community.element14.com/technologies/test-and-measurement/b/blog/posts/usb-c-soldering-iron-quick-review-sequre-s60) e dettagli dei componenti, [discusione su IronOS](https://github.com/Ralim/IronOS/discussions/1806).