Tlemcen Car electronics

Tlemcen Car electronics (https://www.tlemcen-electronic.com/forum/)
-   Arduino (https://www.tlemcen-electronic.com/forum/forum130/)
-   -   Est il possible de simuler un régime moteur et arbre à cames avec arduino (https://www.tlemcen-electronic.com/forum/arduino/52482-est-il-de-simuler-un-gime-moteur-et-arbre-cames-avec-arduino.html)

j-sky 29/03/2016 19h40

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

jerem22 29/03/2016 22h32

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

r1lef 30/03/2016 00h22

Citation:

Envoyé par jerem22 (Message 412497)
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

Content de te voir actif parmi nous ;

catno 30/03/2016 14h41

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 ...


.

j-sky 30/03/2016 17h10

Citation:

Envoyé par catno (Message 412645)
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 ...


.

Salut

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)

CSYSTEME 30/03/2016 17h30

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

CSYSTEME 30/03/2016 17h35

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

j-sky 30/03/2016 17h36

Citation:

Envoyé par CSYSTEME (Message 412694)
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

Salut
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

jphp 30/03/2016 17h55

@ je vais dire une bétise, tant pis ! tu pourrai enregistré un vrai signal et le reproduire
@

j-sky 30/03/2016 17h57

Citation:

Envoyé par jphp (Message 412710)
@ je vais dire une bétise, tant pis ! tu pourrai enregistré un vrai signal et le reproduire
@



Oui, tu as raison ! C'est une bêtise Lol

jphp 30/03/2016 18h16

tu fait un vaisseau spatial sur Arduino !?

catno 30/03/2016 19h04

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

.

jerem22 30/03/2016 20h16

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 ?

Yannn 31/03/2016 15h36

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 ?...)

CSYSTEME 01/04/2016 09h06

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

raed83300 02/04/2016 10h57

regarde sa c'est un bon projet de fin d’études
https://mega.nz/#!3YFmUJLT!im1NouxTt...3o74aKC_Ink1uE

j-sky 02/04/2016 12h53

Citation:

Envoyé par raed83300 (Message 413722)
regarde sa c'est un bon projet de fin d’études
https://mega.nz/#!3YFmUJLT!im1NouxTt...3o74aKC_Ink1uE

Merci mais ça n'a rien à voir avec ce que je cherche à faire

catno 06/04/2016 17h37

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


.

kmtech 06/04/2016 22h26

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

catno 08/04/2016 21h38

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


.

j-sky 08/04/2016 21h41

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

catno 12/04/2016 18h27

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 ).




.

CSYSTEME 11/06/2018 14h01

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

CSYSTEME 11/06/2018 19h57

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

j-sky 11/06/2018 21h55

Citation:

Envoyé par CSYSTEME (Message 616545)
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



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

alchemist974 12/06/2018 13h52

Bonjou à tous

https://www.youtube.com/watch?v=53ptKUu_rHI

petite video youtube
pour voir une application du ardui-stim :yo:

Cordialement

CSYSTEME 12/06/2018 19h38

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

Nico 21/09/2023 07h10

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