Questa mi mancava, arduinisti sul forum di TI a discutere di componenti Maxim (che comunque sono falsificati dai cinesi). Ma un minimo di dignità questa gente non ce l'ha?
Veniamo allo schema originale.
Quei pull-up e pull-down si chiamano resistenze di polarizzazione. Servono ad evitare che senza un master in trasmissione la linea si trovi ad un livello indeterminato.
O meglio, servivano a tale scopo qualche decennio fa. Oggi qualsiasi RTX 485 di bassa lega implementa un ricevitore cosiddetto
fail-safe, che non ha nessunissimo problema a trovarsi con gli ingressi flottanti. Lo fa anche il MAX485.
Abbiamo visto che spesso non servono. Se servono, da quanto devono essere? Si parla esplicitamente di Modbus. Diamo quindi un'occhiata alla
specifica tecnica ufficiale.
Modbus ha scritto:The value of those resistors must be between 450 ohm and 650 ohm.
20k non è tra 450 e 650 ohm. È la classica soluzione di ripiego di chi non ha capito niente e quindi tra il metterlo e il non metterlo decide di mettere il valore sbagliato.
Continuiamo nella lettura:
Modbus ha scritto:a polarization of the pair must be implemented at one location for the whole Serial Bus. Generally this point is to choose on the master device or on its Tap. Other devices must not implement any polarization.
Anche questa condizione non viene soddisfatta se si usano diversi di questi moduli sul bus.
La resistenza tra A e B è la terminazione del bus, serve ad adattare l'impedenza ed evitare riflessioni.
Se serve o meno dipende dalla topologia del bus, anche questo è descritto nella specifica di cui sopra.
È anche specificato che il valore dovrebbe essere 150 ohm.
Riusciremo mai a vedere qualcosa di hardware nell'ecosistema arduino che non faccia schifo e pietà? Forse, ma quel giorno non è oggi.
Boiler