Go Down

Topic: suite logique d'activation de solenoide pneumatique (etape "haut" "bas") (Read 14 times) previous topic - next topic

neodelavega

bonjour

je pensez aussi a une chose la je vais injecter du 5V dans l'arduino donc pas de soucis pour mais test mais en sortie d'ECU je ne sais pas combien sort je pense que je ferrer des test avec la sortie 5V de mon GBF et voir si l'aiguille décolle ou pas si elle bouge pas c'est que je vais avoir 12V qui sort de mon ecu il faudra donc que j'abaisse la tension sous peine de flasher l'arduino

peut tu me dire si mon schéma est bon ? car c'est la première fois que je réalise se type de montage est je veux savoir si je les bien réaliser pour ne pas cramer ma carte son

Artouste




peut tu me dire si mon schéma est bon ? car c'est la première fois que je réalise se type de montage est je veux savoir si je les bien réaliser pour ne pas cramer ma carte son

bonjour
non , pas bon
rien qu'en voyant le 5V sur R1
pour un AOP en NI
voir ça
http://www.elektronique.fr/cours/AOP/aop-amplificateur-non-inverseur.php

neodelavega

alors j'ai modifier le schéma mais je ne comprends pas exactement comment sa fonctionne tu me dira si c'est correcte

http://img402.imageshack.us/img402/6820/arduinodiecemill.jpg

comment sa marche exactement ??

et aussi une autre question pourquoi mettre des diode zener sur les MOSFET logic N quelle est leur bute ??

merci

Artouste


alors j'ai modifier le schéma mais je ne comprends pas exactement comment sa fonctionne tu me dira si c'est correcte

http://img402.imageshack.us/img402/6820/arduinodiecemill.jpg
...
et aussi une autre question pourquoi mettre des diode zener sur les MOSFET logic N quelle est leur bute ??

merci

pose toi, mets toi en pause  8) et réfléchi tranquillement  :smiley-mr-green:
ton dernier "schéma" ne sert à rien  8)

et je n'ai vu aucune Zener ?  8)

neodelavega

ah je me diser bien sa n'avais plus aucun sans c'est pour sa que je demander comment sa fonctionne car je ne voyer vraiment pas

bon je le reprendrez se soir a tète reposer

pour la zener je parler d'un autre montage celui pour mais soleno pourquoi y a t'il une diode en sortie MOSFET entre le - et le + de mon bornier car j'ai vue certain montage sans car sa m'oblige a chaque fois a ramener la masse de tout se que je veux faire fonctionner avec des mosfet se qui est pas le top dans une voiture mais si il y a une raison je m'en contenterez

neodelavega

et la c'est la bonne ^^

http://img827.imageshack.us/img827/6820/arduinodiecemill.jpg

neodelavega

bonsoir

le GBF est fonctionnel je viens de tester

pour les signal en hertz je peut utiliser quelle type de code ?

sachant que j'ai 3 impulsion par tour


Artouste


bonsoir

le GBF est fonctionnel je viens de tester

pour les signal en hertz je peut utiliser quelle type de code ?

sachant que j'ai 3 impulsion par tour



bonjour
je n'ai pas compris la question !  8)
du code pour qouoi faire ?
generer du son à partir du PC ou du code pour determinerla vitesse a partir de la frequence generée ?

neodelavega

#113
Nov 10, 2012, 12:23 pm Last Edit: Nov 10, 2012, 01:03 pm by neodelavega Reason: 1
bonjour

"du code pour determinerla vitesse a partir de la fréquence générée ?"

oui exacte c'est sa que je cherche a faire

pour la carte son j'ai utiliser ton programme avec la première case cocher (je parle des 4 case avec les sinusoïde différente la première et en triangle la dernière en carrer j'ai pris la première )

je veux simplement savoir quelle fonction utiliser car j'ai vue certain exemple de code avec des delay (200) (voir plus) mais c'est forcement pas bon pour mon cas car si sa me mais en pause mon sketch alors qu'il est censer contrôler ma pompe mais ventilo et pour mais vitesse

EDIT: quand je parler des delay (200) (voir plus) je parler des code qui fonctionne avec pulseIn()

es-que pulseIn() est la voie a suivre ou il y a un autre moyen pour déterminer la rotation par minute du moteur

neodelavega

bonsoir

personne sur se forum ne peut me conseiller sur la fonction que je peut utiliser pour mon code ??

Artouste


...
es-que pulseIn() est la voie a suivre ou il y a un autre moyen pour déterminer la rotation par minute du moteur

bonsoir
compte tenu de ce que tu demande à ton arduino, il faut AMHA passer par de l'interruption, pulsein ne tiendra pas la route  :smiley-mr-green:

regarde ça
http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

neodelavega

#116
Nov 13, 2012, 11:21 am Last Edit: Nov 13, 2012, 12:20 pm by neodelavega Reason: 1
Bonjour artouste

tout d'abord merci pour ta réponse

"compte tenu de ce que tu demande à ton arduino, il faut AMHA passer par de l'interruption, pulsein ne tiendra pas la route   :smiley-mr-green:"

ok super je me diser bien qu'il y avez un autre moyen car j'ai déjà écrit un code avec pulse in est sa ma fait vraiment peur car si c'est pour avoir des résultat qui alterne de 5500 a 6500 alors que la mesure correcte et de 6000 sa le fait pas trop

j'ai donc lut le lien est fait des test j'ai modifier le code je vais detailler se que j'ai fait:

déjà pour la partie câblage :

R1= 1115 ohm c'est se que j'ai trouver de mieux dans mon bazar
R2= 4001 ohm celle la est pas si mal
concernant le schéma je n'est pas mis les 2 condo de filtrage étant donner que se sont des test

petite question comment je peux tester ma sortie en volt aprer mon AOP amplificateur ?? (je soupçonne que ma carte son ne sort pas 1 volt a puissance maxi)

je suppose que je doit le tester en courent continue est a quelle fréquence (le réglage dans le logiciel) ?? enfin du moins si je peux le calculer avec un simple metrix


pour la partie logiciel:

j'utilise ton programme
VB_Generator_standalone

en réglage je me suis mis a 450 hertz se qui fait 9000rpm sur un 6cyl  (3 pulse par tour)
pour la sinusoïde j'ai choisie la première case en partent de gauche il y an a 4 (celle tout a gauche est un triangle montant et descendent (celle que j'ai choisie))

pour le code je suis donc partie sur le lien que tu ma montrer

je les modifier pour qu'il fonctionne avec se que je veux faire:

Code: [Select]

/*
* Optical Tachometer
*
* Uses an IR LED and IR phototransistor to implement an optical tachometer.
* The IR LED is connected to pin 13 and ran continually.
* Pin 2 (interrupt 0) is connected across the IR detector.
*
* Code based on: www.instructables.com/id/Arduino-Based-Optical-Tachometer/
* Coded by: arduinoprojects101.com
*/

volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;


void rpm_fun()
{
  //Each rotation, this interrupt function is run twice, so take that into consideration for
  //calculating RPM
  //Update count
     rpmcount++;
}

void setup()
{

  Serial.begin(9600);
  //Interrupt 0 is digital pin 2, so that is where the IR detector is connected
  //Triggers on FALLING (change from HIGH to LOW)
  attachInterrupt(0, rpm_fun, CHANGE);


  rpmcount = 0;
  rpm = 0;
  timeold = 0;
}

void loop()
{
  //Update RPM every second
  delay(1000);
  //Don't process interrupts during calculations
  detachInterrupt(0);
  //Note that this would be 60*1000/(millis() - timeold)*rpmcount if the interrupt
  //happened once per revolution instead of twice. Other multiples could be used
  //for multi-bladed propellers or fans
  rpm = 20*1000/(millis() - timeold)*rpmcount;
  timeold = millis();
  rpmcount = 0;
  //Restart the interrupt processing
  attachInterrupt(0, rpm_fun, CHANGE);
  Serial.println(rpm, DEC);
 }




voici se que j'ai fait:

déjà le mettre sur le port série car je n'est pas d'écran LCD

j'ai bien une valeur qui s'affiche

ensuite j'ai modifier sa formule >>>> rpm = 30*1000/(millis() - timeold)*rpmcount;

il dit que le code serrer normalement >>>> rpm = 60*1000/(millis() - timeold)*rpmcount;

pour une situation ou on aurer 1 pulse par tour j'usqua la pas de soucie j'en deduit donc que pour mon cas il faut >>>> rpm = 20*1000/(millis() - timeold)*rpmcount;

pour 3 pulse par tour

ensuite j'ai modifier:


attachInterrupt(0, rpm_fun, FALLING);

par

attachInterrupt(0, rpm_fun, CHANGE);


j'ai regarder dans la section du site arduino pour le langage est il et dit que:

FALLING : pour déclenchement de l'interruption lorsque la broche passe de l'état HAUT vers l'état BAS (front descendant)

se qui n'est pas bon pour mon cas car il s'agit d'impulsion de bas vers le haut c'est donc pour cela que j'ai mis la fonction :

CHANGE : pour déclenchement de l'interruption lorsque la broche change d'état BAS/HAUT


le probleme c'est que sa me retourne 180 RPM se qui est totalement faux car a 450 hertz je serrer a 9000 RPM

si quelqu'un a une idée

merci



EDIT: je tenez simplement a dire que j'effectue tout mais teste sur ma carte UNO pour pas flashez inutilement ma carte final

il y a 2 broche interruption sur UNO 2 et 3

pour le seeduino mega c'est 2,3,18,19,20,21

ayant utiliser par inadvertance 2,3,18,19

il m'en reste 2:

20 et 21 (PE2 et PE6)

se qui sont caler en seeeduino MEGA confirmeront mais dire

Artouste


...
en réglage je me suis mis a 450 hertz se qui fait 9000rpm sur un 6cyl  (3 pulse par tour)
pour la sinusoïde j'ai choisie la première case en partent de gauche il y an a 4 (celle tout a gauche est un triangle montant et descendent (celle que j'ai choisie))

pour le code je suis donc partie sur le lien que tu ma montrer

...


bonjour
sur le generateur te mettre en carré , c'est bien le 1er en partant de la gauche
pour  les test te mettre en 1 top par tour (60*)
et lire le resultat pour des frequences discretes
ici 1000 Hz sur le GBF
faire des relevés pour 500,1000,1500,.... 12000

neodelavega

#118
Nov 13, 2012, 12:48 pm Last Edit: Nov 13, 2012, 12:59 pm by neodelavega Reason: 1
Quote

bonjour
sur le generateur te mettre en carré , c'est bien le 1er en partant de la gauche
pour  les test te mettre en 1 top par tour (60*)
et lire le resultat pour des frequences discretes
ici 1000 Hz sur le GBF
faire des relevés pour 500,1000,1500,.... 12000


tu voulez plutôt dire: sur le generateur te mettre en carré , c'est bien le 1er en partant de la DROITE

pour sélectionner le signal carrer comme démontrer sur ton screenshot

je teste sa tout de suite !!! (avec le code comme dans mon post avec 20* remplacer par 60*)

a 500hertz = 0
a 1000hertz = 0
a 1500hertz = 0
a 12000hertz = 0


j'ai regler exactement comme sur ton screenshot

case tout a droite (signal carrer)
et tester toute les fréquence donner
et remplacer dans le code 20 par 60



Artouste


Quote

bonjour
sur le generateur te mettre en carré , c'est bien le 1er en partant de la gauche
pour  les test te mettre en 1 top par tour (60*)
et lire le resultat pour des frequences discretes
ici 1000 Hz sur le GBF
faire des relevés pour 500,1000,1500,.... 12000


tu voulez plutôt dire: sur le generateur te mettre en carré , c'est bien le 1er en partant de la DROITE

pour sélectionner le signal carrer comme démontrer sur ton screenshot

je teste sa tout de suite !!! (avec le code comme dans mon post avec 20* remplacer par 60*)

a 500hertz = 0
a 1000hertz = 0
a 1500hertz = 0
a 12000hertz = 0


j'ai regler exactement comme sur ton screenshot

case tout a droite (signal carrer)
et tester toute les fréquence donner
et remplacer dans le code 20 par 60




résultat étonnant
alors remet toi dans la configuration que tu utilisais avant (code et generateur) et qui te sortais des résultats (meme si erronés)
verifie que obtiens bien une information variable.
quelle config de generateur utilisais tu ?



Go Up