[Arduino] Régulation pac - Version imprimable +- Tech Masters (https://tech-masters.fr) +-- Forum : Tech (https://tech-masters.fr/forumdisplay.php?fid=3) +--- Forum : Electronique (https://tech-masters.fr/forumdisplay.php?fid=9) +--- Sujet : [Arduino] Régulation pac (/showthread.php?tid=23) |
RE: [PAC] Régulation pac - OrOoX - 2019-12-05 Mapf est la fonction de substitution de map, elle est présente dans le code que j'ai mis plus haut sous le setup() donc tu as déjà le code complet je n'ai rien rajouté depuis, juste fait des modifs sur l'affichage du LCD. C'est pas le capteur qui est non linéaire, c'est la pression du gaz en fonction de la température, s'balo x) courbe_134.PNG (Taille : 39.2 Ko / Téléchargements : 2) RE: [PAC] Régulation pac - BiduleOhm - 2019-12-05 Ah, c'est une fonction maison. Ok, déjà premier problème: la fonction prend que des float et tu passes des entiers pour les trois premiers paramètres; essaie ça mapf((float) Capteur_BP, 102.0, 1023.0, 0.0, 9.8) Ensuite je te conseille de remplacer ça return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; par ça return (((x - in_min) * ((out_max - out_min) / (in_max - in_min))) + out_min); juste histoire d'être sûr que le compilo fasse pas des optis à la con qui changent la précédence (surtout que les float ne sont pas natifs sur l'arduino donc leur comportement est à prendre avec des pincettes). Dis moi si ces deux modifs résolvent le pb. Sinon donne-moi des exemples de valeur d'entrée et ce que tu obtiens en retour histoire que je comprenne ce qui ne va pas si y'a toujours le pb. Ah ok, mais pourquoi tu veux extrapoler la pression à partir de la temp si t'as déjà des capteurs de pression ? Et théoriquement PV = nRT donc la relation est linéaire, pourquoi est-ce que ce n'est pas le cas ici ? RE: [PAC] Régulation pac - OrOoX - 2019-12-06 En fait la fonction mapf est basé sur la formule de map, le mec avait juste rajouté des float pour que ça prenne en charge les virgules mais pour le coup ça a un comportement anormal ... Je verrais pour faire des essais demain soir. Et en guise d'exemple, avec le code cité en spoiler, il m'affichait 1.38bars pour 2bars réel malgré une lecture correcte de la tension, échelle foireuse vu que quand je m'étais le signal à la masse j'avais bien 0 d'affiché et quand je le mettais au +5V j'avais bien la valeur max, zarb ^^'. Le capteur de pression me renvoie un signal entre 0.5V et 5V, je dois donc le convertir pour connaitre la pression et la température lue par celui-ci afin de pouvoir calculer la surchauffe, tout ça, mais comme tu peux le voir sur la courbe orange, la pression réelle n'est pas linéaire en fonction de la temp. Donc point de vue matériel c'est linéaire, point de vue chimique ça ne l'est pas, du moins côté température. RE: [PAC] Régulation pac - BiduleOhm - 2019-12-06 Oui mais ce qui compte c'est la valeur que tu passes en paramètre, pour le moment on s'en fou de savoir si ça correspond à la valeur physique, ce qui compte c'est que la valeur retournée soit cohérente avec celle que tu passes (parce que le pb peut venir d'ailleurs, au hasard le capteur). Donc print la valeur passée et le retour, et ce pour plusieurs cas. Ah oui, c'est vrai que j'avais oublié qu'on était pas en static et qu'en plus y'a une phase liquide, du coup PV = nRT sert à rien ici. Pourquoi tu ne mets pas un capteur de température dans ce cas ? RE: [PAC] Régulation pac - OrOoX - 2019-12-06 J'ai pas l'impression que tu lise ce que je marque ... les capteurs de pression sont bon et si je met 0 a la place de 102 pour la valeur in_min j'ai la bonne pression affichée sur l'arduino, c'est comme si 102 me faisait un décalage dans le mauvais sens et c'est la la question. Et pas de sonde de temps car solution peu fiable dans ce genre d'application donc il me faut la conversion. RE: [PAC] Régulation pac - BiduleOhm - 2019-12-06 Ben nul part t'as marqué que le 102 était la source du pb. Et ce que je disais reste valide de toute façon, pour débuguer il me faut ce que tu passes à la fonction et ce qu'elle retourne. T'as testé avec les modifs que j'ai posté plus haut ? Ah ok, dommage, il va falloir que tu fasses des maths, y'a pas trop le choix visiblement. RE: [PAC] Régulation pac - OrOoX - 2019-12-06 Si Si ... Pas faute d'avoir indiquer que y'avais un problème avec l'une et pas l'autre Citation :Si je met "mapf(Capteur_BP, 102, 1023, 0.0, 9.8)", ça me renvoie une pression complètement bidon par contre si je => mapf(Capteur_BP, 0, 1023, 0.0, 9.8) Capteur_BP = Entrée analogique arduino 0 - 1023 102 = Début de lecture de la pression ( 0bars mini ) 1023 = Fin de lecture de la pression ( 9.8bars maxi ) 0.0 = Pression mini après conversion 9.8 = Pression maxi après conversion Que ce soit le BP ou le HP, il y aura une tension minimal de 0.5VDC, c'est la tension de "présence" pour que la carte puisse diagnostiquer un défaut de capteur et le signaler, donc 0.5V = 0bars relatif = Patmo. Et non j'ai pas encore tester tes exemples, je bosse aussi la journée Edit : Résultat identique avec les parenthèses en plus RE: [PAC] Régulation pac - BiduleOhm - 2019-12-06 Ok, ça j'avais compris, ce que je te demande c'est de fournir les valeurs de Capteur_BP et les retours de la fonction qui vont avec pour les cas qui posent problème, je ne peux pas dire ce qui ne va pas sans ça. C'est comme si tu vas chez le docteur en disant que t'as un pb mais que tu le laisse pas t'ausculter... il va pas pouvoir faire grand chose. Je m'en doutais un peu pour les parenthèses, c'est par sécurité; ne jamais présumer, toujours vérifier RE: [PAC] Régulation pac - OrOoX - 2019-12-06 Je vois pas ce que tu veux de plus pour le Capteur_BP, c'est une valeur qui va de 102 à 1023 donc 0.5 à 5V ... Comme il est sur la pac je le simule avec un potar pour faire la variation dont j'ai besoin donc pas ce soucis de ce côté. RE: [PAC] Régulation pac - BiduleOhm - 2019-12-06 Je ne veux pas la plage, je veux une valeur, et le retour associé, quand le pb est présent. Par exemple tu envoies 556 et tu te retrouves avec 7.4 alors que tu devrais te retrouver avec 3.7 (valeurs totalement au hasard, juste pour l'exemple), ça c'est ce que je veux. RE: [PAC] Régulation pac - OrOoX - 2019-12-06 Bon ... J'ai l'impression que ça vient de l'arduino chinoise qui se mélange les pinceaux ... N'obtenant pas de résultat je me suis fait mon propre calcul à ma façon, ça marche bien pour la BP mais pas pour la HP bizarrement pourtant c'est le même, mais j'ai remarqué que des fois mes valeurs étaient faussées sans raison d'où le doute sur la carte. Du coup demain je vais passer sur une arduino mega officiel pour voir. Ah et aussi concernant les capteurs j'ai fait mon lolox, apparemment c'est des capteurs absolus ce qui expliquerait ma prise de tête ... ( +1bars ) du coup ça ce trouve le 0.5V c'est ça, faudrait que je tire au vide avec le compresseur pour confirmer ça ... RE: [PAC] Régulation pac - BiduleOhm - 2019-12-06 Mouais, j'y crois pas trop, un CPU soit ça marche soit ça marche pas, surtout s'il aussi simple que celui d'un arduino. Et j'ai déjà utilisé des arduino chinois, mise à part le fait que la fréquence du quartz était pas exactement l'originale (du coup ça fausse la durée des timers mais osef pour ce que j'en fais) ils marchent correctement. J'ai aussi des pro mini chinois qui marchent également sans souci et n'ont pas un seul pb. T'as peur de me donner les valeurs ou quoi ? je comprends pas ce qu'il y a de compliqué dans ce que je demande RE: [PAC] Régulation pac - OrOoX - 2019-12-06 Sert à rien que je te file des valeurs si la base de l'hardware n'est pas la bonne c'est tout, tu va pas chercher un problème dans le script si il vient en fait d'ailleurs. RE: [PAC] Régulation pac - BiduleOhm - 2019-12-06 Comme tu veux RE: [PAC] Régulation pac - OrOoX - 2019-12-07 Bon le problème est en effet hardware mais aussi logiciel ... J'ai des pertes assez importantes à cause de tous les fils avec leurs résistances internes et mauvais contact du coup ça fausse les mesures derrières ... ( chute tension, toussa ) Du coup j'ai également contrôlé les capteurs de pression, ce sont bien des capteurs électronique car les valeurs ohmique ne changent pas en fonction de la pression, au final le capteur BP est prévu pour aller en dépression jusqu'à 0.2V mais pas le capteur HP ( je suppose ) ce qui serait logique et par contre les deux font une lecture en pression absolue. ( 0.2V à -0.95bars relatif ) J'ai essayé d'étalonner les échelles en 3 points à partir du mini, maxi et d'un point mesuré en réel mais c'est pas vraiment conclulant à croire que ce n'est pas linéaire non plus ... Difficile à vérifier sans les démonter. Et le code à jour, plus pour moi ça RE: [PAC] Régulation pac - BiduleOhm - 2019-12-07 T'as pas les specs de tes capteurs ? parce que ça aiderait pas mal quand même RE: [PAC] Régulation pac - OrOoX - 2019-12-07 Tu crois que je me ferais chier à essayer de deviner la plage si c'était le cas ? T'as juste la pression et une ref sans résultat de mémoire Sur ce genre de bécane ils sont très avares en référence pour quoi que ce soit, c'est déjà un miracle que j'ai retrouvé celle du détendeur qui m'a été d'une grande aide ... RE: [PAC] Régulation pac - BiduleOhm - 2019-12-07 T'as une marque et/ou un modèle/ref ? Bon après l'avantage d'un capteur de pression c'est que c'est pas très dur à caractériser soi-même, faut juste un mano potable et de quoi créer la pression voulue. Rentre les données sur excel et trace la courbe, tu verras tout de suite si c'est linéaire et si ça l'est pas tu pourras sortir l'équation facilement pour compenser en soft RE: [PAC] Régulation pac - OrOoX - 2019-12-07 J'verrais demain avec la ref dessus mais de mémoire ça avait rien donné, pas de marque ou autre. J'aimerai ne pas en arriver là car ça m'impose de récupérer le fluide pour démonter les capteurs ... RE: [PAC] Régulation pac - Sk_rmouche - 2019-12-07 Jamais vu de transducteur de pression avec une réponse non linéaire en clim/réfrigération. Pour tes chutes de tension et autre, c'est en partie pour ça que je conseillais de partir sur du 4-20 mA au lieu d'une référence de tension : tu t'affranchis de ces pertes en lignes. De plus il est plus commun de trouver du 4-20 mA que du 0-5V ou du 0-10V. De plus ça te permet de détecter en soft si le capteur ou la ligne merde, puisque l'échelle de pression démarre à 4 mA. Si ce sont des capteurs absolus ( c'est souvent le cas ça serait pas étonnant ) ils devraient tout les deux avoir leur plage qui débutent vers 0 bar absolu, le capteur HP serait juste moins précis en dessous de Patm, c'pas trop un souci. |