Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Sujets - clement

Pages: [1]
1
Bonjour à  tous,

Aujourd'hui je me tourne vers vous concernant un besoin que j'ai et que je n'arrive pas à  résoudre.
Mon projet électronique est basé sur un Rapsberry Pi 3 possédant un «hat».

Mon besoin est le suivant:

1) Pour allumer et éteindre le Raspberry je souhaite un comportement similaire à  celui d'un PC de bureau. Pour allumer votre ordinateur vous appuyez sur un bouton et pour l'éteindre soit vous appuyez à  nouveau sur ce bouton, apparaît alors une fenêtre vous demandant ce que vous souhaitez faire (Redémarrer, Arrêter, Mettre en veille...) soit via le menu adéquate vous faite apparare cette même fenêtre pour faire votre choix.

Note: Avec un Raspberry c'est différent: on branche la prise USB: il s'allume, vous débranchez la prise USB: il s'éteint et là ... c'est la cata si jamais l'OS était en train d'écrire sur la carte SD vous risquez de corrompre la carte SD, ou bien si vous avez un programme/script qui fait des choses il peut ne pas être bon qu'il se coupe en plein milieu (imaginez un Raspberry qui héberge un serveur MySQL et que vous coupez l'alimentation au moment où une requête d'écriture/modification est faite dans la base de donnée: vous risquez de corrompre l'intégralité de la base de donnée.

2) Je veux que le Raspberry Pi puisse fonctionner entre 30 minutes et 2 heures sans source d'alimentation externe.

3) Je veux pouvoir alimenter le Raspberry Pi avec une alimentation 5V ou 12V ou 28V, le Raspberri Pi aura besoin de 3 Amps (un «hat» est connecté au Rapsberry Pi)


Les solutions étudiés:

1) Concernant la possibilité de démarrer/arrêter le Raspberry Pi de façon «propre» j'ai acheté une carte «ATX Raspi».

À l'aide d'un script installer sur le Raspberry cette petite carte semble répondre à  mon besoin. Elle s'alimente en 5V et fournit la tension 5V nécessaire au Raspberry lorsqu'un bouton est pressé, le Raspberry démarre, un port GPIO se met alors à  l'état HIGH c'est comme ça que la carte sait que le Raspberry a démarré. Une nouvelle pression sur ce bouton enverra une impulsion au Raspberry Pi sur un autre port GPIO ce qui permettra au Raspberry de détecter que l'utilisateur souhaite interagir.
Libre à  moi alors d'afficher une fenêtre demandant ce que veut faire l'utilisateur, si l'utilisateur choisi d'arrêter le Raspberry alors le pourt GPIO qui état à  l'état HIGH passe à  l'état LOW ce qui indique à  la carte qu'elle peut désormais couper l'alimentation.

2) Concernant le fonctionnement sans source d'alimentation externe j'ai acheté une carte «RPi PowerPack v1.2».
Elle s'allimente en 5V et fournit une tension de 5.22V lorsque la batterie n'est pas en charge, et 4.57V lorsque la batterie est en charge.


3) Concernant la plage d'alimentation entre 5V et 28V j'ai acheté un buck-boost converter similaire à  celà :



Je ne suis pas certain que cet achat réponde a mon besoin... c'est à  étudier.


Lorsqu'une alimentation externe est disponible (5V à  28V) j'aimerai que la batterie se charge tout en ayant la possibilité d'alimenter le Raspberry Pi. Le problème est que la carte «RPi PowerPack» ne fournit que 4.57V pendant la charge de la batterie ce qui est insuffisant pour alimenter le Raspberry Pi. Cependant si la batterie me donne 4.57V... c'est qu'elle est en charge... si elle est en charge... ça veut dire que j'ai une alimentation externe de disponible: j'aimerais donc pouvoir utiliser l'alimentation externe pendant le chargement de la batterie.

En pièce jointe vous trouverez le montage que j'ai en tête mais qui ne devrait pas être fonctionnel à  cause de la chute de tension induite par les diodes D1 et D2. Et c'est là  que j'ai besoin de votre aide.
La diode D1 est là  pour que la batterie n'alimente pas le Buck-Boost converter par la sortie du Buck-Boost converter.
La diode D2 est là  pour que le Buck-Boost converter n'alimente pas la carte de la batterie par la sortie de la carte de la batterie.

Je me demande si je ne peux pas remplacer les diodes D1 et D2 par un transistor. Ce transistor aurait alors pour fonction de séléctionner l'alimentation du ATXRaspi soit depuis la carte de la batterie soit directement depuis le Buck-Boost converter selon si l'alimentation externe est présente ou non.

À terme j'aimerais faire produire le circuit d'alimentation afin d'avoir un seul circuit au lieu d'acheter des cartes faite par d'autre que je ne fais que assembler.

Avez-vous des idées ? Quelle solution metteriez-vous en place ? Quelle conception ? pour répondre à  ce besoin.

J'espère que le temps que j'ai pris à  exposer et illustrer mon propos permettront à  ceux qui savent d'échanger leur savoir  ;)
Et si vous avez besoin d'informations supplémentaire pour m'apporter des réponses, n'hésitez pas à  me demander.

Bien cordialement

2
Vos projets et Montages d'Électronique / Tachymètre et Raspberry
« le: Mai 12, 2017, 01:47:27 pm »
Bonjour à  tous,

Je souhaite partager avec vous la recherche et le développement d'un petit circuit éléctrique qui semblera sans doute simple à  certains, mais qui reste douteux à  mes yeux.

Le sujet: utiliser un Raspberry Pi pour "lire" les RPM d'un moteur.  (À partir de là  j'ai déjà  perdu une partie de l'auditoire "anti-raspberry" ;-) )

Concrètement, j'ai un moteur, équipé d'un "trigger coil" (c'est une pièce de l'alternateur qui donne une impulsion à  chaque tour moteur, par effet Hall), je souahite "lire" le signal émit par cette pièce afin de connaitre le RPM du moteur. Les courbes caractéristiques des impulsions sont les suivantes:



Ces courbes sont ce qu'elles sont et le but est de les traiter afin de les rendre lisible par un Raspberry. Le nombre de RPM maxi est de 8000RPM, ainsi un port GPIO du Raspberry fera parfaitement l'affaire en terme de rapidité. Le premier problème auquel je suis confronté c'est bien entendu la tension... un port GPIO de Raspberry accèpte 3.3V

Je mets donc immédiatement de côté la solution "100 ohms" qui donne des tensions à  l'impulsion autour de 80V à  6000RPM. Le circuit devra donc avoir une impédance de 100 Kohms.
J'ai donc créé ce circuit dont je vais expliquer mes choix:



La courbe "6000RPM à  100 Kohms" indique une tension "peak" d'environ 12V, la loi d'ohms me permet de connaitre l'intensité qui en résulte: U = R x I; U / R = I ; 12 / 100^3 = ce qui donne 12uA
On peut alors calculer la "puissance" de l'impulsion: P = U x I; P = 12 x 12⁻⁶; P = 144uW
Pour ma part j'ai choisi de commencer par une résistance de 10 Kohms, ainsi le courant parcourant R16 est de: P = R x I²; √(P / R) = I; √(144⁻⁶ / 10³) = 120uA
La tension au borne de R16 sera alors de U = R x I; U = 10³ x 120⁻⁶ = 1.2V  (j'ai l'impression qu'il y a une incohérence ici... où est mon erreur ?)
La diode D6 permet de supprimer la composante négative du signal source, je me demande si 1.2V ne serait pas une valeur trop faible... R16 est peut-être superflue ? Qu'en pensez-vous ?
Continuons tout de même... nous arrivons à  R17 et D7 qui permet de limiter la tension à  3.3V afin d'être sûr de ne jamais excéder la tension maxi du port GPIO du raspberry. Cependant notre précédent calcul nous donnait 1.2V... raison deplus pour douter de l'utilité de R16. Aussi la diode D6 ayant un "Forward voltage" de 0.6V, la tension traversant R17 est de 1.2V - 0.6V = 0.6V  (suis-je correct ?)

Afin que le port GPIO du Raspberry "détecte" les peak il va me falloir amplifier ce 0.6V afin d'obtenir 3.3V.  Le problème avec tous ça c'est que ce calcul (si il est juste) est valable uniquement quand le moteur tourne ) 6000RPM. mais lorsque le moteur tourne à  500RPM tous les calculs vont changer... ça devient un petit casse-tête pour moi !

Que pensez-vous de ma méthode de calcul ? est-telle correcte ? totalement fausse ? suis-je parti dans la mauvaise direction ? Que me conseillez-vous ?

Bien cordialement,
Clément

Pages: [1]