Est il possible de simuler un régime moteur et arbre à cames avec arduino
Salut les amis
tout est dans le titre ! L'un d'entre vous sait il générer un signal régime moteur avec un arduino ? En +, il faudrait qu'il puisse varier à l'aide d'un potentiomètre L'idéal serait de générer le vrai régime mais si au moins on pouvais générer un signal carré de 58 dents + dents manquantes, ce serait déjà bien http://philippe.boursin.perso.sfr.fr...g4/capt001.gif Et pareil pour l'arbre à cames... Je commencé à chercher mais je ne trouve pas la solution à mon problème |
je suis justement a travailler dessus, j'ai le programme pour la sinusoïde mais j'ai pas encore trouver comment enlever les 2 périodes. Je pense ensuite filtrer avec des ampli op et je pourrait joué avec un offset pour aller dans les négatifs et avoir un signal parfait
|
Citation:
|
salut,
je suis "oldscool" : PIC microchip et assembleur, mais je vois un algorithme dans ce goût (à affiner) : 1- acquisition potard + conversion A =>N . 2- générer un signal carré (SC1) de période T inversement proportionnelle au potard ( 8 ms < T < 0.1 ms) . 3- générer SC2, complément de SC1. 4- décompter 58 .. puis forcer à zéro SC1 et SC2 pendant 2T. 5- goto 1 envoyer SC1 et SC2 sur un demi pont en H pour symétriser le signal PMH par rapport à zéro. pour l'arbre à came, c'est encore plus simple. ............ J-sky, je suppose que t'envoies le signal dans un calculo pour tester / mettre au point ... ? dans ce cas je ne pense pas que ce soit utile de se rapprocher d'une sinusoide, le calculo remet carré et fait une conversion A=>N. Tu cherches quelqu'un qui programme Arduino ou bien tu sais faire ? Je te fais 2 schémas dans l'après midi pour préciser tout ça. d'autres idées des T-E boys vont peut être arriver ... . |
Citation:
merci pour ta réponse En effet, comme je le disais, un signal carré de 60-2 dents sera suffisant car le calculo veut juste voir les fronts montant Je suis débutant en arduino (quelques bases pour faires des trucs simples mais là, je sèche) |
bonjour
un de nos amis a fait un post ,c'est pas un ardunio mais ca marche quand meme cherche tutto edc15c3 ,notre amis le lapin a fait un simulateur d'arbre a cames +pmh avec reglage vitesse et diferent truc cordialement |
re
le lapin ,c'est capalti ,son tutto ou il explique la generation ,le plan,le code du pmh et acc http://www.tlemcen-electronic.com/fo...=tutto+edc15c3 cordialement |
Citation:
oui, j'avais vu son post mais capalti ne vient plus sur TE il a développé ça sur un pic il m'avait expliqué vite fait le principe quand je l'avais rencontré Moi, j'aimerai le faire sur arduino |
@ je vais dire une bétise, tant pis ! tu pourrai enregistré un vrai signal et le reproduire
@ |
Citation:
Oui, tu as raison ! C'est une bêtise Lol |
tu fait un vaisseau spatial sur Arduino !?
|
moi aussi je suis plutôt PIC , maintenant Arduino c'est mieux
voilà à quoi je pensais. http://pimg.imagesia.com/fichiers/16...6sji_small.jpg pont en H http://www.ebay.com/itm/L9110S-H-bri...-/310541225088 quelques idées et lignes de codes ici ? http://www.loginfor.fr/Arduino/arduino_02.html . |
bah la sinusoïde c'est le top quand même, parce que sur du bosch par exemple le traitement du capteur pmH est très complexe.
Faire un carré sinon il n'y a rien de plus facile un peut même le faire en composant analogique avec des compteurs, et encore plus simple avec le arduino. Quelle qu'un à les signaux pmh et arbre à came synchronisé ? je ne sais pas a qu'elle moment la dent décalé intervient dans le pmh ? |
2 pièce(s) jointe(s)
Salut les amis,
j'avais travaillé sur quelque chose de similaire: simulation du signal tachymètre véhicule sur UCH Mégane. Après quelques modifications mineures, ci-joint une variante avec cycle 58/60. Il reste encore de l'adaptation à faire pour ton besoin, mais comme il me manque des données, je fourni déjà l'ébauche pour exemple. Ce petit programme n'a pas été testé... Il reste: - ajuster la fréquence des signaux en fonction du régime moteur - adapter la course du potentiomètre au régime moteur de façon linéaire (fonction "map()") - adapter le signal de sortie avec l'électronique pour le rendre compatible avec ton calculateur (si besoin ?...) |
bonjour
je vient de trouver un code sur un autre forum , si vous voulez le regarder et le decripter , /********************************************* ** Générateur signaux PMH ** ********************************************** ** Circuit de mise au point pour ** ** ODB / REGULATEUR de vitesse ** ** ** ** DEV : MEGA2560 ** ********************************************** ** Pin / por - Signal ** ** A0 - PC0 - Motor speed IN (analog) ** ** 04 - PG5 - PMH OUT ** ** 05 - PE3 - allumage OUT ** *********************************************/ volatile byte Cmpt_dent; // comptage des dents volatile boolean moteur; // ON/OFF volatile byte allumage; // postion allumage void setup() { TCCR1A = 0x03; // (WGM1 = Fast PWM) TCCR1B = 0x18; // (WGM1 = Fast PWM CTC), clk = 0 TIMSK1 = 0x02; // INT sur OCR1A OCR1A = 65530; // valeur de démarrage moteur TCCR1B += 0x01; // Prescaler = 1/1, Fclk = 16MHz DDRG |= 0x20; DDRE &= 0xDF; // PE5 en entrée DDRE |= 0x08; // PE3 en sortie PORTE |= 0x20; // pullup sur PE5 DDRF &= 0xFE; // PF0 en entrée DDRB |= 0x80; // led en sortie allumage = 36; } ISR(TIMER1_COMPA_vect) { // appelée par T1 sur COMPA if (Cmpt_dent > 38) { // secteur PMH if (Cmpt_dent == 41) { PORTG |= 0x20; } } else { if ((Cmpt_dent & 0x01) == 1) { // dent impaire PORTG |= 0x20; } else { // dent paire PORTG &= 0xDF; } } if (Cmpt_dent == allumage) { PORTE |= 0x08; } else { PORTE &= 0xF7; } Cmpt_dent++; if (Cmpt_dent == 44) Cmpt_dent = 0; // 1 demi-tour fini } volatile word accelerateur, charge; void loop() { accelerateur = analogRead(A0); // charge = analogGet(1); Moteur_set_speed(accelerateur, charge); } { long IC_Val; IC_Val = 1090909 / accel; // IC_Val = 1090909 / (accel - depression); // allumage = depression; OCR1A = IC_Val; } cordialement |
regarde sa c'est un bon projet de fin d’études
https://mega.nz/#!3YFmUJLT!im1NouxTt...3o74aKC_Ink1uE |
Citation:
|
je fait remonter un peu le sujet ...
finalement, je me suis mis à l'Arduino ! j'ai reçu ma carte UNO et d'autres bricoles ... Prise en main de la carte et du langage depuis 3 jours, c'est plus simple que de l'assembleur ! j'ai fini de développer l'algo que j'avais proposé en post#4 : ça fonctionne. - Reste à greffer l'arbre à came. - et vérifier que je peux symétriser le signal avec le pont en H ! ? à suivre . |
Salut les gars. Ce que vous voulez faire ça existe déjà en open source sur arduino ne vous prenez pas la tête vous avez le code source. En plus vous avez toutes les definitions pour les differents types de roues dentées. Ca genere arbre a cames et vilbrequin.
Le projet s'appelle ardustim : https://gitlab.com/libreems-suite/ardu-stim |
bonjour,
quelqu'un a essayé ardu-stim ? ça me semble bien gros et compliqué ! perso, c'est " gymnastique intellectuelle " avec le cahier des charges de J-sky .. juste pour moi et les quelques neurones qui me restent ! Arbre à came synchronisé ... le programme est fait (je rajouterai un afficheur Rpm pour apprendre sa prog ) il me reste a planté 2 transistors sur une planche pour symétriser le signal (+2V -2V) ... ça, c'est pas gagné ! ICI , programmé pour 10 dents , J est un flag pour l' AAC , calcul de T "bidon", tempos dilatées ... http://pimg.imagesia.com/fichiers/17...71u7_small.jpg http://pimg.imagesia.com/fichiers/17...71u8_small.jpg . |
Salut, c'est pas mal ça
je viens juste de me commander un arduino mega 2560 pour tester ardustim mais ça a l'air bien lourd le code |
salut,
Après pas mal d'essais pour trouver les bonnes résistances de l'électronique de "symétrisation" du signal PMH , je dois recommencer ! l'Arduino ne génère pas des signaux aussi francs que les boutons poussoirs que j'avais utilisés pour mes recherches ... http://pimg.imagesia.com/fichiers/17...75cw_small.jpg suite dans 10 jours (vacances ). . |
bonjour
petit deterrage de post , j 'ais essayer de generer un signal phm et acc avec un ardunio . n'etant pas tres fort en programmation ,j'ais modeliser une roue de 60 dent avec les dents et les creux dans un tableau avec 2 colonnes ,la premiere colone represente le regime et le pmh ,l'autre le signal acc . ardunio vient lire le tableau a la suite et affiche les donnees sur 2 leds. le signal pmh est appliquer a un transformateur pour generer un signal inductif et semi sinusoidal (merci a notre ami capalti pour son tuto). essaie sur un ecu edc15c2 1broche . l'essais est concluant ,le regime moteur est afficher sur mon diag et la syncronisation effectuer . ca affiche 489tr/m syncro oui . le probleme parceque il est la ,c'est quant j'essaye de monter dans les tours ,la syncro est perdu. par contre ,si je descend dans les tours ,la syncro suit . je me dis c'est ma position du flag acc qui n'est pas bon ,ou j'ais louper quelques chose le programme . int pinLed[2]={12,13}; // Tableau listant les donnees ( 2 sorties 12 et 13 ) //Tableau à double entrée listant l’état (booléen 1 allumé, 0 éteint) des LED à chaque séquence boolean affichage[120][2]={ 1,0, // dent 1 0,0, // creux 1 1,0, // dent 2 0,0, // creux 2 1,0, // dent 3 0,0, // creux 3 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, // dent 10 0,0, // creux 10 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0,// dent 17 0,0, // creux 17 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, // 1,0, // dent 30 0,0, // creux 30 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, // dent 40 0,0, // creux 40 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, // dent 47 0,0, 1,1, 0,1, // acc ok jusq ua 489tr/m 1,0, 0,0, 1,0, //dent 50 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 1,0, 0,0, 0,0, //dent 58 pmh 0,0, // creux 58 pmh 0,0, // pmh 0,0, //pmh 1,0, // dent 60 0,0 //creux 60 }; void setup() { for (int i=0;i<2;i++) { pinMode(pinLed[i],OUTPUT); digitalWrite(pinLed[i],LOW); } } void loop() { for (int i=0;i<120;i++) // boucle de séquence d'affichage { for (int p=0;p<2;p++) // boucle pour chaque donnees { boolean etat=affichage[i][p]; // on va chercher l'état pour les donnees digitalWrite(pinLed[p],etat); // on met la donnee concerné à l'état } delayMicroseconds(1000); // pause d'affichage // on passe à la séquence suivante } // fin des séquences et on repart au début de la boucle() } deja c'est pas mal ,mais j'aimerais arriver a plus de tr/m . cordialement |
re
toujours avec mon edc15c2 psa , j'ais connecter un injecteur et 4 leds ,mon injecteur est commander ,j'arrive a visualiser avec les leds les commande injecteurs. pour les essais ,c'est du bricolage pour le moment j ais juste raccorder vite fait , mais il y a encore un probleme le cycle de commande me parais bizare meme sans la syncro les injecteurs sont commander . je comprent pas ,les psa ne demarre pas sans la syncro ,comment se fait il que sur table avec le minimun de racorder ,ca simule un demarrage . sur le diag , regime moteur 1285tr/m ,syncro non , pression carburant mesurer 392 bar(c'est une pression de secours) tension injecteur 78,9v ,les corrections injecteur sont presente pompe carburant activer on va dire que c est pas mal . cordialement |
Citation:
Salut Attention car ce n’est pas parce que les led d’injecteur clignotent que ça veut dire qu’il démarre Quand l’écu est verrouillé, les led s’allument quand même Si tu met des injecteurs, tu les entendra très faiblement Si ça démarre bien, tu les entendra claquer très fortement |
Bonjou à tous
https://www.youtube.com/watch?v=53ptKUu_rHI petite video youtube pour voir une application du ardui-stim :yo: Cordialement |
bonjour
arduistim j'ais essayer ,ca a pas fonctionner . toujours avec mon edc 15c2 1 broche j-sky a raison ,ca demarre pas . j'ais recuperer 3 autres injecteurs et les est monter , effectivement il y a du changement ,les injecteurs claque fort et le regime monte aussi quant je l'augmente ,le cycle de commande ma l'air correct . ma syncro aussi suit ,mais par contre je suis obliger de demarrer a 400tr/m le fonctionnement est correct jusq'ua 1200tr/m apres ca se met en secu ,le claquement des injecteurs diminue ,il faut redescendre un peut dans les tours ,couper le jus et ca redemarre . ca ma l'air de bien fonctionner ,malgre le cablage minimun ,meme sans le regulateur de pression . cordialement |
Bonjour,
Quelqu'un as t il abouti sur une sinusoïdale admissible par un ecu? |
Fuseau horaire GMT +1. Il est actuellement 10h18. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Version française #23 par l'association vBulletin francophone
Search Engine Optimisation provided by
DragonByte SEO (Pro) -
vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Tlemcen-electronic © All right reserved