Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Bienvenue au nouveau Forum Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions! L'inscription est automatisée.

Auteur Sujet: Boitier E85 pour rouler sur circuit.  (Lu 1983 fois)

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #30 le: juin 11, 2018, 09:08:20 am »

Bonjour,
nickel ça marche, j'ai tester tout les ports, ça clignote.
Merci, version idem que la tienne.
Amitiés.
Marcus.
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #31 le: juin 11, 2018, 09:35:12 am »

J'ai testé avec MPLAB IDE 8.92 pour créer un fichier HEX d'après ton programme et programmer le PIC ça marche  :D :)
IP archivée

Curiosus

  • Jr. Member
  • **
  • Messages: 79
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #32 le: juin 12, 2018, 12:12:09 am »

Bonsoir Marcus_95, et tout le forum,

Si ton programmeur Pickit3 fonctionne c'est super, on va pouvoir continuer, et reprendre mon schéma du post http://forum.bidouilleur.ca/index.php?topic=355.msg2028#msg2028

Bon tu me dis ceci : Pour cette configuration il faut une résistance de 1.8k à 2.2K entre le 13V et la sortie du calculateur

D'accord avec toi, mais à un moment donné l'impulsion devient négatif, cela veut dire que la base du transistor BC548 devient négatif.

Le courant ne passe plus sur la sortie du collecteur du transistor BC548.



Ce qui a pour effet de rendre le collecteur du transistor BC548 positif, et là ça devient intéressant au point de vue programmation de notre microcontrôleur, car il na plus besoin de gérer l'ouverture du port, il va gérer juste la fermeture
du temps programmer.

Et de plus le condensateur qui a actuellement une valeur de 1nf(et qu'il faudra ajuster par la suite)

Va maintenir la valeur de la base du transistor TIP122 positivement, quand le collecteur du transistor BC548 devient négatif.

ça permet au microcontrôleur de prendre le relais pour une prolongation de temps, et évite un trou de quelque microseconde.

Le microcontrôleur ne doit pas gérer les entrées, mais les sorties, sinon çà devient un casse tête.

Avec la méthode que je te propose le programme aura une tolérance de plus ou moins 2µs.

ce qu'il faut, c''est suivre l'ordre d'allumage qui est d'après toi : 1, 6, 3, 5, 2, 4

Voilà comment on va faire

1)On attend que l'entrée passe à 1 avec mon montage                         
2)Quand celui-ci passe à 1 on lit la valeur du codeur                             
3)On va chercher la valeur qui correspond à celle-ci en sdram                           
4)On incrémente le timer1 qui peu compter jusqu’à 65535 µs(65ms)             
5)On attend que l'entrée passe à 0 avec mon montage                           
6)Quand celui-ci passe à 0 On déclenche le timer1                       

7)On passe au cylindre suivant                                                                   
8)On attend que le timer1 soit à la valeur programmer
9)Une fois la valeur du timer1 atteint, On ferme l'électrovanne du cylindre ci-dessus
                                                                                                             
Après on refait la même chose, je peux le faire de deux façon avec timer1, ou sans timer1 

A+
« Modifié: juin 12, 2018, 03:55:46 pm par Curiosus »
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #33 le: juin 12, 2018, 05:42:13 pm »

Bonjour Curiosus,
ne serait-il pas plus simple:
Début du programme
Lecture de la roue pour avoir la valeur en plus
Injecteur1 demande une ouverture
Interruption par front descendant, ont commute la sortie correspondante, déclanchement du timer1 et on prépare la future interruption par front montant"
L’interruption n'étant pas bloquante on peut faire autre chose.
Injecteur(X) demande son ouverture ont commuté directe sa sortie.
Interruption par front montant détecter sur l'injecteur1, on lit la valeur du timer1
Lancement du timer2 en comparateur suivant la valeur calculer du timer1.
Fin du timer2 on inverse la sortie et on prépare pour une interruption par front descendant sur injecteur1.
Injecteur(X) a fini on relance le timer2 avec la même valeur que l'injecteur1, et ceux pour tous les injecteurs.
De cette façon on utilise qu'une interruption, reste a savoir si le PIC sera suffisamment rapide  ;D
Un injecteur a un temps de réponse d'environ 80µS (un PIC a 20Mhz a du temps devant lui  ;) )
Amitiés.
Marcus

PS j'ai un programme en C pour montage équivalent, celui que je n'arrive pas a modifier.
Le programme main est en assembleur pour Atmega328, il tourne bien sur table pas sur la voiture.

 
« Modifié: juin 12, 2018, 07:26:27 pm par Marcus_95 »
IP archivée

Curiosus

  • Jr. Member
  • **
  • Messages: 79
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #34 le: juin 12, 2018, 11:34:33 pm »

Bonsoir Marcus_95, et tout le forum,

La roue codeuse doit pouvoir être changé à tous moment, ça prends quelque µs à voir la valeur.
Comme j'ai déjà dit je ne veux pas utiliser d'interruption, c'est possible, mais il faut modifier l'électronique.

Si je te te dit ça, c'est que j'ai étudié ton problème, tu as  6 cylindres à gérer avec des temps trop court pour des interruptions.

Les valeurs des temps doivent être inscrit en EEPROM, puis au démarrage copier en Sdram, pourquoi en EEPROM, tout simplement parce que l'on pourra changer leurs valeurs sans toucher au programme.

Regarde tes signaux sur l'analyseur logique, et tu vas comprendre que même avec des interruptions ça suffira pas.

Ce que tu me demande c'est une usine à gaz.

Citer
j'ai un programme en C pour montage équivalent, celui que je n'arrive pas a modifier.

Et pour une bonne raison, le C c'est pas de l'assembleur, donc, manque de rapidité et de fluidité.

Et de plus dans mon système j'utiliserais l'oscillateur interne du microcontrôleur qui est de 8 Mhz, ce qui représente
un temps d'une instruction de 0.5µs, c'est largement suffisant.

A+

 


« Modifié: juin 12, 2018, 11:40:03 pm par Curiosus »
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #35 le: juin 13, 2018, 07:24:27 am »

Bonjour Curiosus,
OK je comprend mieux, on ce lance  ;D
Amitiés.
Marcus.
IP archivée

Curiosus

  • Jr. Member
  • **
  • Messages: 79
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #36 le: juin 14, 2018, 12:02:26 am »

Bonsoir Marcus_95, et tout le forum,

On va commencer par la gestion des temps, avec mémorisation en EEPROM, le schéma on le fera par état
d'avancement.
 
Le matériel : un LCD(que tu as), interrupteur à 3 positions ou plus, un bouton poussoir, et un potentiomètre linéaire genre 5k, 10k, 15K, ou autre ...

As tu tous cela ?

On est toujours d'accord pour le temps Maxi de 2000 µs ?


A+
« Modifié: juin 14, 2018, 12:18:15 am par Curiosus »
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #37 le: juin 14, 2018, 08:03:00 am »

Bonjour Curiosus,
oui, j'ai le matériel.
Ok pour 2ms de plus maxi.
Amitiés.
Marcus.
IP archivée

Curiosus

  • Jr. Member
  • **
  • Messages: 79
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #38 le: juin 17, 2018, 07:01:03 pm »

Bonsoir Marcus_95, et tout le forum,

Je voudrais savoir qu'elle type d'écran LCD(datasheet), si c'est un 2 x 16 ou un 2x 20


A+
« Modifié: juin 17, 2018, 07:58:58 pm par Curiosus »
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #39 le: juin 18, 2018, 07:56:43 am »

Bonjour Curiosus,
l'écran est un 1602A 2X16.
Amitiés.
Marcus.
https://www.rhydolabz.com/documents/29/LCD-1602a-yellow.pdf
« Modifié: juin 27, 2018, 07:19:22 am par Marcus_95 »
IP archivée

Curiosus

  • Jr. Member
  • **
  • Messages: 79
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #40 le: juin 27, 2018, 06:42:19 pm »

Bonsoir Marcus_95, et tout le forum,


Voilà une partie du programme terminer, gestion des temps, avec mémorisation en EEPROM pour chaque cran du codeur.

Pour chaque cran du codeur qui est de 16, tu peux régler un temps différent , ce qui te donne 16 temps. :o

Voici le schéma



Voilà ce que ça donne




Fichier code + fichier compilé pour que tu essais, dit moi si il faut modifier le texte, ou autre.


Je fais une pause de 1 semaine, pour m’occupè de mes programmes.

 A+   



« Modifié: juin 28, 2018, 05:16:16 pm par Curiosus »
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #41 le: juin 28, 2018, 07:38:27 am »

Bonjour Curiosus,
je teste ce W.E
Merci de ton aide.
Amitiés.
Marcus.
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #42 le: octobre 18, 2018, 07:43:10 am »

Bonjour,
de retour.
J'ai réussi pendant mes vacances et arrêts maladie a modifier mon code avec Mikroc pour le boitier E85, ça marche.
J'ai fait plusieurs version avec des PIC 16F887 PIC 16F827 PIC 16F876 et un mixte avec un Arduino (pour la roue codeuse sans fils) et un PIC 16F887.
Merci pour tout.
Marcus.
IP archivée

Curiosus

  • Jr. Member
  • **
  • Messages: 79
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #43 le: octobre 19, 2018, 07:14:01 pm »

Bonsoir,

Si ça fonctionne c'est le principal, bonne continuation.

 A+
IP archivée

Marcus_95

  • Newbie
  • *
  • Messages: 27
  • Commodore 64
    • Voir le profil
Re : Boitier E85 pour rouler sur circuit.
« Réponse #44 le: novembre 09, 2018, 07:55:22 pm »

Bonjour,
ou poster les schémas et programmes pour ceux qui aimeraient rouler au E85.
Cdt.
Marcus.
IP archivée