Bonjour Mesdames et Messieurs ,
Pour le travail je dois réaliser une carte avec 3 types de potentiomètres numériques
Pour information:
MCP42050-I/P (50 kOhms)
MCP4161-103E/P (10 KOhms)
MCP4152-502E/P (5 KOhms)
Il sont commandables en SPI.
Pour les commander, j'utilise un raspberry pi3 et la bibliotèque Spidev pour python.
J'ai réussi à commander le 4152, qui a une patte pour SDI ( ou MOSI si vous préférez) et une autre patte pour SDO ( ou MISO). J'obtiens à peu de chose prêt la valeur de résistance souhaitée. Le résultat me convient.
J'arrive aussi à lire des choses provenant de SDO, mais qui ne veulent pas dire grand chose. Mais ce n'est pas le plus important.
Non, ce qui m’emmene vers vous, c'est le composant MCP4161.
Je n'arrive pas à écrire sur sa mémoire. J'ai essayé de reprendre le même programme python que le composant MCP4152, mais ça ne marche pas. Je pense que le problème vient du fait que MOSI et MISO sont sur la même patte chez le MCP4161
Ce composant a 16 adresses mémoires: 3 mémoire volatiles(RAM) et 13 mémoires non-volatiles(EEPROM).
Si je m'attarde sur la datasheet, je comprends que pour ma version de potentiomètre je dois écrire une EEPROM.
Quand j'envoie la commande avec le Rapsberry sur la bonne adresse( d'apres la datasheet), le potentiomètre ne réagit pas.
En revanche si j'écris sur la mémoire volatile de ce composant, quelle que soit la valeur de résistance demandé, le composant règle le potentiomètre sur la valeur maximum. Et incapable de revenir à la valeur par défaut ( 5 Kohms) à moins de déconnecter-reconnecter le composant.
Quelqu'un a t-il déjà travaillé avec ce composant précis ?
Ou à défaut , avec un Raspberry PI ET un composant où SDI/SDO sont sur la même patte ?
J'aurais besoin que l'on m'oriente. J'ai tourné la datasheet de 88 pages dans tous les sens, en vain. Je suis dessus depuis ce matin et là je sature.
Merci d'avance.
Si vous avez des questions, j'y répondrai, même en dehors des mes heures de travail.
Alexandre
-----