ABCelectronique : portail d'information dans le domaine de l'électronique

Merci de ne pas poster des messages en relation avec le piratage.


    Forums de Abcelectronique > Electronique Analogique et Numérique
  » Potentiometre numérique MCP4017
Identifiant Se souvenir de moi ?
Mot de passe
Répondre     Nouvelle discussion
Potentiometre numérique MCP4017

 

Pandi.panda44000
Pandi.panda44000 ☆☆☆☆☆☆☆ 13/02/2018, 17h44 #1  
Bonjour a tous,
Je m'amuse depuis quelque temps a faire des tests sur des carte electronique en vue de mes futurs etudes.
Je travaille actuellement sur une carte électronique avec un pic ( 18f47j11 ) et un potentiometre numerique ( MCP4017 ) . Les deux communiquent en i2c . Je comprend le fonctionnement de l'i2c mais je ne comprend pas la datasheet de ces deux composnats.
L'un d'entre vous a deja eu a programmer ces petites bestioles ?
J'ai soif dapprendre donc apprenez moi :)
Merci d'avance pour votre aide !
rlo69
rlo69 ★★★★★☆☆ 13/02/2018, 18h09 #2  
Bonjour,

Le composant MCP4017 : http://ww1.microchip.com/downloads/...eDoc/22147a.pdf

fonctionne comme une résistance variable (Rhéostat) entre B et W.
Par l'intermédiaire de l'I2C, tu écris une valeur dans la RAM du composant, par exemple 0 va correspondre à la valeur minimale du rhéostat et 127 va correspondre à la valeur maximale du rhéostat. Tu peux faire progresser cette résistance de sa valeur minimale à la valeur maximale par pas, un pas correspond à (la valeur maximale - valeur minimale) divisée par 127.

Cordialement

Dernière modification par rlo69 13/02/2018 à 19h21. Motif: Remplacé 255 par 127, potentiomètre 7 bits et non 8 bits et EEPROM par RAM
tontonchristobal
tontonchristobal ★★★★★☆☆ 13/02/2018, 18h58 #3  
Posté par rlo69

Bonjour,

Le composant MCP4017 : http://ww1.microchip.com/downloads/...eDoc/22147a.pdf

fonctionne comme une résistance variable (Rhéostat) entre B et W.
Par l'intermédiaire de l'I2C, tu écris une valeur dans l'EEPROM du composant, par exemple 0 va correspondre à la valeur minimale du rhéostat et 255 va correspondre à la valeur maximale du rhéostat. Tu peux faire progresser cette résistance de sa valeur minimale à la valeur maximale par pas, un pas correspond à (la valeur maximale - valeur minimale) divisée par 255.

Cordialement



Bonsoir rlo69, c'est un 7 bits donc 127 pas ;)
dommage il n'a qu'une adresse, donc un bus par potar.
rlo69
rlo69 ★★★★★☆☆ 13/02/2018, 19h17 #4  
Bonsoir,

Exact tontonchristobal, tellement l'habitude des 8 bits.
Je corrige mon post.

De plus, le MCP4017 est moins pratique car il n'a que de la RAM et pas d'EEPROM. Il perd donc sa configuration en cas de perte d'alimentation.

Merci.

Dernière modification par rlo69 13/02/2018 à 19h24.
MINUX75
MINUX75 ★★★★★★ 13/02/2018, 22h10 #5  
Un autre qui a de la mémoire https://www.intersil.com/content/da...103-104-503.pdf disponible chez aliexpress pour moins cher que moins cher. on peut même le modéliser sur SPICE pour voir ce que cela donne.
Pandi.panda44000
Pandi.panda44000 ☆☆☆☆☆☆☆ 14/02/2018, 07h22 #6  
Merci de vos réponses.
J'ai bien compris comment fonctionnait le mcp4017 la chose avec laquelle j'ai le plus de mal cest la programmation. Comment lui donner justement sa valeur de resistance a partir du pic ?
atlantus
atlantus ★★★☆☆☆☆ 15/02/2018, 15h20 #7  
Bonjour,

si ça peux aider, j'en ai utilisé sur divers projets il y a quelques années, mais en version SPI (je n'ai pas la réf. sous les yeux).

Le réglage de la valeur était très simple :

SPI1_Write(0x00)
SPI1_Write(consigne1)

Le premier octet envoyé permettait de passer la bestiole en mode commande
Le deuxième octet envoyé permettait de donner la valeur de sortie du potar

Je pense que sur la version I2C ne doit pas etre très différente.
Pour info, c'était aussi du Microchip.


Cordialement
Pandi.panda44000
Pandi.panda44000 ☆☆☆☆☆☆☆ 21/02/2018, 08h35 #8  
Ok merci , je vais voir si il y a pas quelque chose de similaire pour l'I2C
Répondre