BLOC 6 voies

Discutions générales sur le DSPiy et tout ce qui s'y rattache
GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » mar. 18 juin 2024 17:56

t'es sur pour ça ? c'est long 5sec

Non, pas sur. J'ai simplifié volontairement pour pas avoir le coder :gene:
L'idée ça serait que si un enfant (ou autre individu) s'amuse à faire du ON/OFF/ON jusqu'à ce qu'il en ai mare : ça bloque à un moment donné.
Un peu comme un smartphone

ambigu. tu veux parler de l'événement "entrée" ou de la présence de la tension ?

Quand il y a une tension continue, qui est continue :mrgreen: alors l'ampli s'allume.
Pas de trigger impulsionnel.

le trigger est binaire:

oui je me suis mal exprimé. Mais tu m'as dis de pas parler technique :hehe:
Tension pour mettre ON le trigger doit être comprise entre 5V et 12V
Si tension présente => Triger est ON => ampli ON (mais PIN de l'ESP passe à LOW vu le montage pullup)
Si tension pas présente, ampli off, PIN High

Tu veux donc que l'ampli redémarre tout seul
Moi j'exigerai une action manuelle pour le redémarrer quand les conditions l'autorisent

Pas bête.. t'as raison c'est mieux un redémarrage à la main.

Il n'y a pas la place en facade pour une led anomalie ?

J'ai vraiment pas envie de percer la façade. 10 mm d'épais, faut intégrer la led propre.. A moins j'ai d'élément à mieux c'est.
J'ose espérer que ça va pas clignoter souvent.

l'interface web c'est + facile parce qu'il suffit d'un browser. ca peut etre tres simple ou plus compliqué selon tes envies.

Rien de sorcier franchement... je vais surtout m'en servir au début pour controler la chauffe. ça m'étonnerai que je m'amuse avec tout les jours.
Du texte.

TH SMPS =xx° TH1=xx° TH2=xx° TH3=... etc.
SMPS STBY : ON ou OFF
TRIGG_IN : ON ou OFF
SMPS GOOD : OUI ou NON

Un truc dans le genre. Et qui se mets à jour tout les n secondes, comme tu dis. ça suffira laaaargement.
Faut rappeler que je voulais faire de l'analogique au début :gene:

dans quel cas l'alerte spms_no_good disparait

Alors ça, aucune idée. Je peux demander à hypex.
Power good.JPG

GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » mar. 18 juin 2024 17:58

Intéressante ton approche Thierry, c'est plutôt la dessus que je réfléchissais. Et je me suis embrouillé
Comment "factoriser" le code pour le réduire au max.

L'idée de la variable créée et conditionnée par plusieurs états c'est futé

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3678
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » mar. 18 juin 2024 19:11

Il ne faut pas chercher à réduire le code, mais à ce qu’il soit clair et debuggable.
D’ou l’idée de scinder le loop:
On lit et gère les entrées et seulement ensuite on gère les sorties.
Par un simple Print de cette variable tu pourras voir entrées et sorties sont cohérentes avec ce que tu veux réaliser.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3021
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » mar. 18 juin 2024 21:39

GoodNoize a écrit :
le trigger est binaire:

oui je me suis mal exprimé. Mais tu m'as dis de pas parler technique :hehe:
Tension pour mettre ON le trigger doit être comprise entre 5V et 12V
Si tension présente => Triger est ON => ampli ON (mais PIN de l'ESP passe à LOW vu le montage pullup)
Si tension pas présente, ampli off, PIN High

ce que je voulais dire c'est qu'il faut réfléchir en entrée de µC. C'est l'état de l'optocupleur vu par le µC qui t'intéresse, pas les 5 ou 12V du fil en amont.
Pour toi, le Trigger est soit PRESENT ou ABSENT.
Ensuite le hardware définit PRESENT = LOW et ABSENT = HIGH puisque tu es en pullup.

Rien n'interdit pour la lisibilité du code de faire
#define PRESENT LOW
#define ABSENT HIGH
if (trigger == PRESENT) { ....

Pour hypex : on a vu mieux comme doc! tu fais quoi si power pas good : retour au SAV ? si tu as quelqu'un a qui demander des précisions ce serait utile parce que mon google est muet.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3678
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » mer. 19 juin 2024 08:11

Je remarque que l'on parle beaucoup du #define sans l'avoir expliqué.
Il s'agit d'une instruction donnée au compilateur (c'est lui qui va traduire ton code en code exécutable pur le µC) les instructions commencent toujours par #.
Dans le cas du #define, dès que le compilateur trouvera dans ton code le premier mot, il le remplace par le second. Ce dernier n'étant pas limité à un seul mot.

Le but, comme expliqué par Alain, est d'avoir un code plus lisible pour l'humain.
Le second, est de pouvoir modifier certaines constantes très facilement. Tu place ces #define en début de code, vois dans un fichier séparé.
Par exemple, on parle d'un délai de 5 seconde, il serait intéressant de créé pour lui aussi un #define. Ainsi si plus tard tu veux modifier ce délai il suffira de modifier le #define et non d'aller le chercher dans le code.
Idem pour LOW ou HIGH, c'est pas toujours évident avec l'inversions d'inversions et au final on a une chance sur deux d'avoir d'être bon. Là aussi, on teste, si fonctionne à l'envers on modifie simplement le ou les #define.

Le power_good, c'est quant la puissance en sortie est OK. :mrgreen:
En fait il sert à plein de choses, par exemple on sait que l'alim a un soft_start, cela prend un certain temps, ce ne sera qu'après ce temps que le power_good sera activé.

GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » mer. 19 juin 2024 08:44

Ok ça devient de plus en plus clair.

Je me suis renseigné sur Power Good. Chose que vous saviez surement déjà, mais c'est commun aux alim SMPS.
Il y a ça sur les alim de PC.
https://en.wikipedia.org/wiki/Power_good_signal
C'est juste une indication fournie à la carte mère et c'est elle qui décide de la marche à suivre.
Reste à savoir comment c'est implémenté chez Hypex.
Je vais les contacter, apparemment ils sont très ouverts à la discutions même avec les rigolos comme moi.

Après avoir défini le fonctionnement du programme et bien dégrossis le hardware, je ne sais plus trop quoi faire ?
Je passe a la breadboard ?
J'essaie de coder étape par étape ?
Je suis tellement impatient là :)

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3678
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » mer. 19 juin 2024 09:12

Je passe a la breadboard ?

Oui, je te conseille de ne brancher que ton BP avec sa LED.
Puis de jouer à faire allumer/éteindre la LED selon une action sur le bouton.
Cela juste pour te familiariser avec "Hello world"

GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » mer. 19 juin 2024 10:14

Yes #define j'ai compris. Le site arduino page reference est bien faite.

Puis de jouer à faire allumer/éteindre la LED selon une action sur le bouton

Bon je vous passe pour le moment ma réflexion sur la gestion ctn :gene:

Mais quand même... :mrgreen:
Ce dernier n'étant pas limité à un seul mot

C'est la dessus justement que je cherches des infos. Pour les TH_n.
Pour simplifier la lecture des température dans la Loop.

Rien que pour les températures je dois avoir plusieurs variables :
TH_1 // attribution à une pin
THnum_1 // lecture valeur en numérique
THdeg_1 // conversion en degrés


Admettons j'ai déjà fais toute ma tambouille pour arriver à lire les TH_deg (temperature par CTN en degrés)
Si je fais (à la syntaxe près) :

#défine THdeg_n (THdeg_1 , THdeg_2 , THdeg_3 ... etc) // attribuer toute les valeurs mesurées à un seul nom

ça me permettrai peut être dans la loop :

If ( THdeg_n> 80)
ETAT = TH_High // pour reprendre Thierry



Ensuite définir les actions pour TH_High
If (ETAT = TH_High)
SMPS_STBY = High
LED_Button = High


Je vais trop vite, je sais :hehe:
Modifié en dernier par GoodNoize le mer. 19 juin 2024 11:04, modifié 3 fois.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3678
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » mer. 19 juin 2024 10:55

Comprends pas. :nono:
Tu définis THdeg_n mais je ne le vois pas dans ton code qui suit.

Pour ce qui est de le "tambouille", cela s'appelle une fonction.
C'est un bout de code qui peut être appelé avec la possibilité de lui demander une réponse.

tu pourrais avoir un truc du genre :
int lect_Temp(int n)
{
démarrage de la conversion sur un ADC n
lecture de sa valeur
conversion en degrès

return temp
}

Dans loop tu appellerais 6 fois cette fonction(peut être fait par une boucle for) sous la forme THdeg[i]=lect_Temp(i);
Pour les T°, j'utilise dans cet exemple une table d'une longueur de 6 int, c'est pratique.
i sera le pointeur est aura comme valeur 0 1 2 3 4 5 (tu pourrais faire de 1 à 6, mais c'est moins "informatique")

Prenons le cas ou i serait 3 et que l'on appelle cette fonction.
Elle va recevoir pour n la valeur 3 (j'aurais pu nommé également cette variable i mais c'est moins marrant)
Démarrer la conversion sur l'ADC correspondant au 3 et retourner par exemple 40.
On aura alors THdeg[3] égal à 40.

De là tu aurais tes 6 valeurs en degrés mais comment savoir si l'un dépasse les 80°C ?
Il existe comme toujours différentes solutions, en voici une qui reste dans l'esprit de ETAT.
Tu crée une variable TempOK=0 (ou définir T_Ok 0 et T_TropHaute 1)
Avant le lire les 6 températures tu remet cette variable à 0.
A chaque lecture d'une température tu fais un test sur le résultat :


TempOK = 0;
for(i=0;i<6;i++)
{
THdeg[i]=lect_Temp(i);
if (THdeg[i])>80 ) TempOK = 1;
}


Ainsi après les 6 lectures si TempOK est toujours à zéro c'est bon, sinon pas.
if(TempOK !=0) ETAT = TH_High;

GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » mer. 19 juin 2024 11:02

Oupsss oui j'ai édité en rouge.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3678
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » mer. 19 juin 2024 11:20

Ah ok.
donc :
#défine THdeg_n (THdeg_1 , THdeg_2 , THdeg_3 ... etc) // attribuer toute les valeurs mesurées à un seul nom

If ( THdeg_n> 80)
ETAT = TH_High // pour reprendre Thierry


Qui en fait devient ceci lors de la compilation :

If ( (THdeg_1 , THdeg_2 , THdeg_3 ... etc)> 80)
ETAT = TH_High // pour reprendre Thierry


Ne veut pas dire grand chose. :pascontent2:

GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » mer. 19 juin 2024 12:58

Effectivement :hehe:
Manque un "ou" inclusif

Je vais déja jouer avec des Led et des boutons

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3021
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » mer. 19 juin 2024 20:32

thierryvalk a écrit :Le power_good, c'est quant la puissance en sortie est OK. :mrgreen:
En fait il sert à plein de choses, par exemple on sait que l'alim a un soft_start, cela prend un certain temps, ce ne sera qu'après ce temps que le power_good sera activé.
info utile. Donc il ne faut surtout pas couper l'alimentation au démarrage si power not_good , sinon ça ne démarre jamais :mrgreen:
La question à poser à hypex c'est "dans quels cas passe-t-elle de good à not_good ?".
Si c'est seulement quand "mains SMPS is disabled" comme ils disent dans la datasheet, ce n'est pas une anomalie.

J'ignorais que c'est un indicateur "standard" des smps atx.
Si le power_good d'Hypex est comme la spec ATX, c'est plutot un signal de "ready" que d'anomalie.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3678
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » mer. 19 juin 2024 21:52

La table 7.7 du datasheet pour ce power good:
Power Supply Stable indicator (open collector)

Par contre, il y a aussi un Ampli ready en sortie de l’alim...

C’est pas clair, mais pas une anomalie sinon ce serait ”no-good”.

ThomasBuzet
Messages : 14
Enregistré le : mar. 4 juin 2024 05:14
Localisation : Haute-Garonne

Re: BLOC 6 voies

Messagepar ThomasBuzet » ven. 21 juin 2024 06:52

Intéressant tout ça, j’avoue que ce type de langage j’y pipe pas grand chose….

Je suis plus sur de l’analyse fonctionnelle à poser pour découler l’ensemble des fonctions, par ex:

Je veux faire ça « allumage via trigger » alors « input 12v et M/A fonctionnement maintenu »
Alerte Th « si Th inférieur à 85 alors power on OK, si Th supérieur à 85 alors power KO »
Signalisation via état du statut si nécessaire avec Led

À partir de là je pense qu’il est plus facile d’écrire les lignes de code par morceaux ?

Pour la led en façade j’ai testé deux méthodes:
-support à Led: avantage led bien maintenue avec le bitonio de montage, inconvénients fait pour une couleur et filets de vissage trop court pour 10mm (faut aléser derrière…), dépassement en face avant du support qui est couleur aluminium brillant

-à la rustique: un trou de 2 mm traversant et derrière un alésage juste du diamètre de la led, rien dépasse en façade, le trou de 2 sert à guider ce qu’il faut le flux lumineux, led rgb possible
Par contre maintien plus hasardeux de l’ensemble

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3021
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » ven. 21 juin 2024 10:54

ThomasBuzet a écrit :un trou de 2 mm traversant et derrière un alésage juste du diamètre de la led, rien dépasse en façade, le trou de 2 sert à guider ce qu’il faut le flux lumineux, led rgb possible
Par contre maintien plus hasardeux de l’ensemble

J'ai déjà fait (et à la main c'était chaud pour ne pas traverser :mrgreen: )
J'ai percé l'arrière au diamètre de la led, en ayant pris soin de retirer la collerette. J'avais mis de la gaine thermo rétractable pour protéger les soudures et le manchon faisait "joint". Maintien assuré.

Alex va simuler sur la breadbord et verra bien si une led unique qui clignotte plus ou moins le satisfait ou s'il lui faut autre chose de plus.
C'est aussi ça le but du prototypage : valider les specs.

ThomasBuzet
Messages : 14
Enregistré le : mar. 4 juin 2024 05:14
Localisation : Haute-Garonne

Re: BLOC 6 voies

Messagepar ThomasBuzet » ven. 21 juin 2024 17:19

A la Mano oui intérêt à bien doser la visseuse et un forêt aiguisé juste ce qu’il faut !
J’ai reçu un bouton bistable de chez Ali à deux couleurs en 19mm faut que je le teste ça peut servir de veille/marche fastoche

Édit fonctionnement des 2 leds indépendantes de l’état donc avec du relayage et/ou suivant état (si circuit de CDE en 12v) possible de faire se qu’on veut
Le tout pour 4€

GoodNoize
Messages : 725
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » lun. 24 juin 2024 21:33

De retour de la montagne où je devais faire la MOH (vtt) finalement annulée à cause des inondations dans le parc des écrins. J’étais sur place, ça fais pas rire :nono:

Je vais me remettre dessus, j’apprends tout doux. Je vous avoue que j’ai envie que ça avance un peu j’ai plus rien qui marche dans la maison :gene:
J’ai testé le code d’Alka (merci encore) dispo sur son topic, ça fonctionne nickel. Je pense avoir compris les grandes lignes je vais essayer d’ajouter le reste de mon CDC.

Les côtés des amplis sont percés à la fraiseuse, manque peut être un petit tissus anti poussière collé depuis l’intérieur.
2FD3844A-6FD9-43C5-8660-053116F4A764.jpeg
Fichiers joints
IMG_1758.jpeg
IMG_1756.jpeg


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : GoodNoize, thierryvalk et 8 invités