sandra3d Posté(e) Aout 19, 2018 Posté(e) Aout 19, 2018 L’extrudeuse est fonctionnelle, pas encore ultra précise, mais ca le deviendra si l'enrouleur étire le filament produit vers la bobine, , l'enrouleur fonctionne avec capteur a effet hall, mais galère pour faire un code sous arduino pour faire fonctionner le servo moteur qui déplacerait le filament pour un enroulement propre. Si vous avez des idées, des propositions pour faire un code sous arduino fonctionnel ca serait top. Le code change a chaque fois car on obtient de résultats probants. Toute idée est bonne à prendre. Merci d'avance pour vos réflexions.
Djam Posté(e) Aout 19, 2018 Posté(e) Aout 19, 2018 Salut, un peu vaste comme question, un petit résumé de ton projet et ce que tu attends précisément serait un plus pour t'aider....avec aussi un descriptif du matos utilisé....
Yo' Posté(e) Aout 19, 2018 Posté(e) Aout 19, 2018 Salut @sandra3d, Pour enrouler proprement ton filament, tu compte y mettre un guide qui va de gauche à droite en plus du moteur de l'enrouleur ?
sandra3d Posté(e) Aout 23, 2018 Auteur Posté(e) Aout 23, 2018 C'est une reprise du principe de l'enrouleur du Filawinder, avec bobinage avec effet hall, le fil passe dans une barrette qui est sur le servo moteur qui doit passer d'un angle a l'autre pour obtenir un enroulement propre. Mais après de nombreux essais de codage sur arduino, ca ne fonctionne pas correctement. Donc pour répondre a Yo' c'est effectivement un guide , mais c'est dans le codage ou il y a un angle max et un angle min qu'une erreur ou un manque fait que ca ne fonctionne pas. Je vous mettrais une photo et le code
sandra3d Posté(e) Aout 23, 2018 Auteur Posté(e) Aout 23, 2018 Voici la partie enrouleur, sachant que le système de mesure est fait mais mais complexe a mettre sur la plaque . Mais le soucis n'est pas là, c'est le code du guide a mettre en syncro avec l'enrouleur.
.AleX. Posté(e) Aout 23, 2018 Posté(e) Aout 23, 2018 Tu as déjà 'du code' quelque part....? Avec la librairie servo + une fonction sinus, ou plus simplement un compteur qui incrémente puis décrémente à chaque loop, ça doit pas être insurmontable
sandra3d Posté(e) Aout 23, 2018 Auteur Posté(e) Aout 23, 2018 Bonjour AleX pour ce qui est de l'enrouleur, a effet hall , j'ai un prog ou il y a 000000 jusqu'au néodyme et 1111, alors que je ne devrait avoir que 0 et 1 devant le passage du néodyme.
.AleX. Posté(e) Aout 23, 2018 Posté(e) Aout 23, 2018 Euh... ouais, mais euh.. on peut pas le deviner ton code Fait comme si tu devait donner les indications à quelqu'un qui veut refaire la même chose, fait nous tout voir ! (enfin, le code et les broches raccordées surtout)
sandra3d Posté(e) Aout 23, 2018 Auteur Posté(e) Aout 23, 2018 J'ai fait une machine à état, qui utilise 2 paramètres le 1 quand il est initial c'est la valeur min, et le sevo moteur sera a la valeur min , on utilise la fonction qui détecte l'état haut et l'état bas et dès que le capteur a effet hall détecte un tour le sevo moteur fait 1 degré de plus et cela en boucle jusqu'a arriver en valeur max . et on déf le paramètre var angle pour entrer dans la 2 eme partie de la machine à état. Puis la même chose dans l'autre sens. Problème : Au niveau de la fonction il faudrait avoir juste soit un 0 soit 1 alors qu'il y a une infinité de 0 ou de 1, ca pose des problèmes sur l'incrémentation des angles. Mais si vous voyez d'autres problèmes , ne vous gênez pas. Merci de votre aide. suite_enrouleuse_version_2.ino
Tircown Posté(e) Aout 23, 2018 Posté(e) Aout 23, 2018 (modifié) int fonctioncompteur(void){ int captHall=12; int etatpresent,etatfinal,etatprec=0; etatpresent=digitalRead(captHall); if(etatpresent==1 && etatprec==0){ etatfinal=1; etatprec=1; } else if(etatpresent==0 && etatprec==1){ etatfinal=0; etatprec=0; } return etatfinal; En déclarant la variable etatprec dans la fonctions toutes les conditions sont faites avec etatprec =0. Tant que l'aimant est devant le capteur, la première condition fera que etatfinal =1 tout le temps. Lorsque le capteur n'est plus devant l'aimant, la seconde condition sera toujours ignorée puisque etatprec (étant déclaré =0 ) ne vaudra jamais 1. La fonction renvoie la valeur assignée lors de la déclaration de etatfinal, c-à-d par défaut 0, et ce tant que l'aimant n'est plus devant le capteur. Dans ce cas il faut faire un attachInterrupt( pinCaptHall, function_qui_increment_le_servo, RISING ); et choisir un pin compatible (voir la doc Arduino). Cette fonction est asynchrone de fait le passage de l'aimant sera toujours détecté même si le microcontrôleur est monopolisé par une autre tâche. Avec une fonction comme ci-dessus, donc non asynchrone, si le code est en pause (delay) ou monopolizé par une tâche il n’appellera pas la fonction et peut ne pas voir l'aimant passer. Et une bonne pratique: il vaut mieux déclarer les variables en début de code. J'ai fais un dérouleur, mesureur, enrouleur de bobine. J'ai galéré. Ça a fonctionné à moitié (mauvaise distance mesurée, j'ai corrigé en pesant avant/après), mais je sais pourquoi. Mon code n'est pas transposable puisque j'ai utilisé deux moteurs pas-à-pas, un pour la bobine, l'autre pour caler le filament via un chariot + courroies. Soit dit en passant, c'est une solution bien plus pérenne qu'un servomoteur. Bonne chance. Modifié (le) Aout 23, 2018 par Tircown
sandra3d Posté(e) Aout 23, 2018 Auteur Posté(e) Aout 23, 2018 Merci beaucoup j'avais oublié d'utiliser une interruption,je testerai ca demain et je vous informerai de l'avancement. Merci.
sebydjay Posté(e) Aout 21, 2019 Posté(e) Aout 21, 2019 Bonjour @sandra3d . Ou en est ton projet d'enrouleur de filament, je viens de tomber sur le post et visiblement tu n'as pas donné de nouvelle . Ton projet m’intéresse.
Janpolanton Posté(e) Aout 22, 2019 Posté(e) Aout 22, 2019 Salut, sandra3d ne s'est pas connectée depuis 1 an. Tu ne risques pas d'avoir une réponse...
Metalzoid Posté(e) Aout 25, 2019 Posté(e) Aout 25, 2019 (modifié) OUPS Pas vu le détérage de sujet ...... Modifié (le) Aout 25, 2019 par Metalzoid
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant