destroyedlolo a écrit : ↑jeu. 24 nov. 2022 10:10
Salut,
Sur le projet en lui-même, c'est en effet des choses assez courantes à faire.
Par contre, il est déjà relativement complexe, il te faut donc établir des specs de conception claires, détaillées et complètes :
- liste exhaustive des capteurs et actionneurs
- Cinématique des automatismes : qui fait quoi ? Dans quelles conditions ? enchainement ... Ensuite, voir ce qui convient le mieux : événementiel ou machine a état fini ...
Ca a l'air chiant dit comme ca (et ca l'est surement) mais sur un automatisme aussi complexe, c'est indispensable pour ne pas oublier qq chose
Merci pour les suggestions.
J'ai donc fait un premier jet, très descriptif pour le moment.
Le lien drive est permanent et devrait aider à une plus grande compréhension.
Je crois que je maitrise le /* , */ et //
Je suis preneur de tuyaux
Voila je machin :
/* Programme visant à faire fonctionner un pressoir à vendange de marque Dabrigeon AIRPRESS 45 de 95
fontionnant initialement avec un TSX 17 Télémécanique. Pressoir monté sur remorque équipé d'un redler tapis.
Avec option vanne de remplissage pneumatique et porte de cage pneumatique.
Pompe à vide et compresseur BECKER.
Programme fait en reprenant les câblages entrées et sorties existant depuis le TSX 17 d'origine.
Les Entrées de 2 à 30 correspondent au panneau de contrôle simplifié du système AIRPRESS d'origine.
Les Entreés de 31 à 41 reprennents les entrées d'origine en 24V. Qui à l'origine étaient répparties sur 2 TSX 17.
Les Entrées A0 et A1 correspondent aux entrées analogique d'origine branchées sur un convertisseur TSX.
Les Sorties sont également reprise depuis les sorties du TSX17 en excluant les communs qui existaient.
Plus d'infos sur la bête ici (photos, listing des E/S) :
https://drive.google.com/drive/folders/ ... share_link
Description du Panneau de contrôle Dabrigeon AIRPRESS 45
Attribution des bouton du panneaau de contrôle :
Sur ( ARDUINO MEGA 2560, 54 E/S 14PWM. )
MANUEL :
A0 = Rotation Gauche
A1 = rotation droite
A2 = STOP
B0 = Dégonflage de la Menbrane
B1 = Gonflage de la Mendrane
B2 = Fermeture Porte
B3 = Ouverture Porte
REMPLISSAGE :
C0 = Commande de remplissage
C1 = Rotation de la Cage par intermittence
PRESSURAGE :
D0 = Départ de cycle de pressurage
D1 = Visualisation Graphique de la courbe Active
D2 = Visualisation des paramètres de la courbe Active
MODE VIDAGE - LAVAGE :
E0 = Commande de Vidage
E1 = Commande du tapis d'évacuation
PAVE NUMRIQUE :
GO = 1
G1 = 2
G2 = 3
G4 = PRES./TEMPS
H0 = 4
H1 = 5
H2 = 6
H3 = SEUIL
I0 = 7
I1 = 8
I2 = 9
I3 = CYCLE
J0 = COR./NON
J1 = 0
J2 = VAL./OUI
J3 = AIDE
ECRAN MESSAGE :
ECRAN LCD 20x4
ECRAN COURBE : ??
Afficheur 4x7segments : non attribuer pour le moment.
F0 = PRESSION
F1 = TEMPS TOTAL
F2 = TEMPS PHASE
F3 = TEMPS MAINTIEN
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VERSIONS :
//
// V1 : description du projet, des éléments d'origine, premier jet de codes, fonction manuel, remplissage (ébauche), vidange et pressurage : rien.
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
*/
// int ??
void setup()
{ /////////////////////////////////// LES NUMEROS E/S SONT BETA ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// ENTREE BOUTON CLAVIER /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// MANUEL :
pinMode(2, INPUT_PULLUP); // A0 = Rotation Gauche
pinMode(3, INPUT_PULLUP); // A1 = rotation droite
pinMode(4, INPUT_PULLUP); // A2 = STOP
pinMode(5, INPUT_PULLUP); // B0 = Dégonflage de la Menbrane
pinMode(6, INPUT_PULLUP); // B1 = Gonflage de la Mendrane
pinMode(7, INPUT_PULLUP); // B2 = Fermeture Porte
pinMode(8, INPUT_PULLUP); // B3 = Ouverture Porte
// REMPLISSAGE :
pinMode(9, INPUT_PULLUP); // C0 = Commande de remplissage
pinMode(10, INPUT_PULLUP); // C1 = Rotation de la Cage par intermittence DUREE A DEFINIR PAR UTILISATEUR
// PRESSURAGE :
pinMode(11, INPUT_PULLUP); // D0 = Départ de cycle de pressurage
pinMode(12, INPUT_PULLUP); // D1 = Visualisation Graphique de la courbe Active
pinMode(13, INPUT_PULLUP); // D2 = Visualisation des paramètres de la courbe Active
// MODE VIDAGE - LAVAGE :
pinMode(14, INPUT_PULLUP); // E0 = Commande de Vidage
pinMode(15, INPUT_PULLUP); // E1 = Commande du tapis d'évacuation
// PAVE NUMRIQUE :
pinMode(16, INPUT_PULLUP); // GO = 1
pinMode(17, INPUT_PULLUP); // G1 = 2
pinMode(18, INPUT_PULLUP); // G2 = 3
pinMode(19, INPUT_PULLUP); // G4 = PRES./TEMPS
pinMode(20, INPUT_PULLUP); // H0 = 4
pinMode(21, INPUT_PULLUP); // H1 = 5
pinMode(22, INPUT_PULLUP); // H2 = 6
pinMode(23, INPUT_PULLUP); // H3 = SEUIL
pinMode(24, INPUT_PULLUP); // I0 = 7
pinMode(25, INPUT_PULLUP); // I1 = 8
pinMode(26, INPUT_PULLUP); // I2 = 9
pinMode(27, INPUT_PULLUP); // I3 = CYCLE
pinMode(28, INPUT_PULLUP); // J0 = COR./NON
pinMode(29, INPUT_PULLUP); // J1 = 0
pinMode(30, INPUT_PULLUP); // J2 = VAL./OUI
///////////////////////////////// ENTREE CAPTEURS ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CAPTEURS : FILE PRESSOIR Description Capteurs MATERIELS CORRESPONDANT : Type, Référence, infos diverses
pinMode(31, INPUT_PULLUP); // I 04 CAPTEUR POSITION CAGE 1 : MATSUSHITA /panasonic : DL Mini Limit Switch AZD 1054 (380 V 6A AC)
pinMode(32, INPUT_PULLUP); // I 05 CAPTEUR POSITION CAGE 2 : MATSUSHITA /panasonic : DL Mini Limit Switch AZD 1054 (380 V 6A AC)
pinMode(33, INPUT_PULLUP); // I 06 Pneumatique Blanc ? 7 Capteur de pression Air Coffret (I 06)
pinMode(34, INPUT_PULLUP); // I 07 Capteur Pression Vanne de Remplissage : Télémécanique XMJ-A0037 ( 40-350 kPa 0,4-3,5 bars 5,8-50,75PSI )
pinMode(35, INPUT_PULLUP); // I 011 Fil 2 Capteur position Maie Fermé ? Télémécanique XCK-J59 (240V 3A)
pinMode(36, INPUT_PULLUP); // I 012 Fil 2 Capteur position Maie Fermé ? Télémécanique XCK-J59 (240V 3A)
pinMode(37, INPUT_PULLUP); // I 013 14 NO Compresseur Télémécanique LC1 D12 10 Relai
pinMode(38, INPUT_PULLUP); // I 014 54 NO MOTEUR ROTATION Télémécanique ??
pinMode(39, INPUT_PULLUP); // I 015 14 NO POMPE A VIDE Télémécanique ??
pinMode(40, INPUT_PULLUP); // I 21 14 NO TAPIS EVACUATION Télémécanique LC1 D12 10 Relai
pinMode(41, INPUT_PULLUP); // E2 24V2 Protection + 51 Moteur Tapis Télémécanique GV2-M14 6-10A + GV2-AD0101
// CAPTEURS ANALOGIQUE : FILE PRESSOIR Description Capteurs MATERIELS CORRESPONDANT : Type, Référence, infos diverses
pinMode(A0, INPUT); // I01 CAPTEUR DE PRESSION CAGE KELLER PAA-21 (0-5 BARS)
pinMode(A1, INPUT_PULLUP); // OV OV TSX ET ARRET URGENCE Télémécanique ZB2-BE102
///////////////////////////////// SORTIES ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// SORTIE CONTACT FILE PRESSOIR Description Actionneurs MATERIELS CORRESPONDANT : Type, Référence, infos diverses
pinMode(42, OUTPUT); // 8 Protection L C4 trandfo Machine S2 24V + CT 20A Multi 9 dsur 2 vers 95 Arret Urgence
pinMode(43, OUTPUT); // OOO CT 20 A Multi9 sur A1. A2 = 12 versd alarme
pinMode(44, OUTPUT); // 11 Tableau de Commande + 11 Vers C2
pinMode(45, OUTPUT); // O 01 A1 ROTATION CAGE D Télémécanique LC1 D12 01 + LA1 DN1 (+ GV2-M08 2,5-4A)
pinMode(46, OUTPUT); // O 02 A1 ROTATION CAGE G Télémécanique LC1 D12 01 + LA1 DN1 (+ GV2-M08 2,5-4A)
pinMode(47, OUTPUT); // O 03 Bornier Alarme + 12
pinMode(48, OUTPUT); // O 06 A1 COMPRESSEUR Télémécanique LC1 D12 10 (+ GV2-M14 6-10A)
pinMode(49, OUTPUT); // O 07 A1 POMPE A VIDE Télémécanique LC1 D09 10 (+ GV2-M08 2,5-4A)
pinMode(50, OUTPUT); // O 09 VANNE CAPTEUR PRESSION EXTER ET INTER
pinMode(51, OUTPUT); // O 20 A1 MOTEUR TAPIS Télémécanique LC1 D12 10 (+ GV2-M08 2,5-4A)
// SORTIE PNEUMATIQUE FILE PRESSOIR FONCTION COULEUR DU FIL VOIE COFFRET PNEUMATIQUE
pinMode(52, OUTPUT); // O 04 ? MARRON 1
pinMode(53, OUTPUT); // O 05 PORTE CAGE ROUGE 2
pinMode(54, OUTPUT); // O 08 VANNE REMPLISSAGE GRIS 4
pinMode(55, OUTPUT); // O 10 VANNE COMPRESSEUR BLEU 3
pinMode(56, OUTPUT); // O 11 VANNE POMPE A VIDE VERT 5
// pinMode(57, OUTPUT);
}
void loop()
{ /////////////////////////// FONCTION MANUEL /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (digitalRead(2)) // BOUTON A0 ROTATION GAUCHE
{
digitalWrite(45, HIGH); // RELAY MOTEUR CAGE GAUCHE
}
if (digitalRead(3)) // BOUTON A1 ROTATION DROITE
{
digitalWrite(46, HIGH); // RELAY MOTEUR CAGE DROITE
}
if (digitalRead(5)) // BOUTON B0 = POMPE A VIDE
{
digitalWrite(49, HIGH); // RELAY MOTEUR POMPE A VIDE
digitalWrite(56, HIGH); // VANNE PNEUMATIQUE POMPE A VIDE
}
if (digitalRead(6)) // BOUTON B1 = COMPRESSEUR
{
digitalWrite(48, HIGH); // RELAY MOTEUR COMPRESSEUR
digitalWrite(55, HIGH); // VANNE PNEUMATIQUE COMPRESSEUR
}
if (digitalRead(7)) // BOUTON B2 = Fermeture Porte
{
digitalWrite(53, HIGH); // PORTE CAGE FERMETURE /////// ???????????????????
}
if (digitalRead(8)) // BOUTON B2 = OUVERTURE Porte
{
digitalWrite(53, HIGH); // PORTE CAGE OUVERTURE /////// ???????????????????
}
if (digitalRead(4)) // BOUTON A2 = STOP /////////////////////////////////////////////////////////
{
digitalWrite(45, LOW); // ARRET MOTEUR CAGE GAUCHE ////////////////////////////////////////
digitalWrite(46, LOW); // ARRET MOTEUR CAGE DROITE ////////////////////////////////////////
digitalWrite(48, LOW); // ARRET MOTEUR COMPRESSEUR ////////////////////////////////////////
digitalWrite(49, LOW); // ARRET MOTEUR POMPE A VIDE ////////////////////////////////////////
digitalWrite(51, LOW); // ARRET MOTEUR TAPIS ////////////////////////////////////////
}
/////////////////////////// FONCTION REMPLISSAGE ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*DESCRIPTION : SI BOUTON REMPLISSAGE 9 ACTIVE
ALORS :
ROTATION CAGE D 45 JUQU'A CAPTEUR POSITION CAGE 1 = 31
FERMETURE PORTE CAGE VETIN PNEUMATIQUE = 52
OUVERTURE VANNE DE REMPLISSAGE = 54
POSITIION MAIE FERME = 36 SINON BUZZER 47
DEPRESSION MENBRANE VANNE PNEUMATIQUE 56 + MOTEUR POMPE A VIDE 49 JUSQU'A A0 = 0 DONC STOP 49 ET 56
ARRET I4 ACTIVE BOUTON STOP
ALORS FERMETURE VANNE REMPLISSAGE 54
*/
/* switch (9 == 1) {
case 1: // BOUTON C0 - I9 - FONCTION COMBINER DE REMPLISSAGE
digitalWrite(45, HIGH); // commenent arret 45 avec Contact 31 ?
digitalWrite(52, HIGH);
digitalWrite(54, HIGH);
digitalWrite(36, HIGH); // comment vérifier IF 36 avce BUZZER 47
digitalWrite(56, HIGH);
digitalWrite(49, HIGH); // comment arreter avec A0 == 0
break;
} */
/////////////////////////// FONCTION PRESSURAGE /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*DESCRIPTION :
CHOIX DE LA COURBE DE PRESSURRAGE.
SI BOUTON REMPLISSAGE 11 ACTIVE D0
ALORS : AFFICHAGE MESSAGE SUR ECRAN "DEMARRAGE PRESSEE A XXH XXMIN"
FERMETURE PORTE 53
POSITION MAIS FERMEE 36 = VRAI SINON BUZZER 47
ROTATION CAGE D 45 JUSQU'A CAPTEUR POSITION CAGE 1 = 31
DEMARRAGE COMPTEUR T3 ET T1.
LA PRISE DE PRESSION EST FAITE PAR L'INTERMEDIAIRE DU CAPTEUR EN A0.
QUID ENREGISTREMENT DES ETAPE EN CAS DE COUPURE DE COURANT ?
DESCRIPTION DU CYCLE TRADITIONNEL EN 3 PHASES :
COURBES X:
T1 = TEMPS TOTAL DE LA PHASE 1 EN HEURES/MINUTES
P1 = PRESSION MAXIMUM DE LA PHASE 1
M1 = TEMPS DE MAINTIEN EN PRESSION DE LA PHASE 1 EN MINUTES
R1 = NOMBRE DE TOURS EFFECTUES PENDANT CHAQUE EMIETTAGE POUR LA PHASE 1
T2 = TEMPS TOTAL DE LA PHASE 2 EN HEURES/MINUTES
M2 = TEMPS DE MAINTIEN EN PRESSION DE LA PHASE 2 EN MINUTES
R2 = NOMBRE DE TOURS EFFECTUES PENDANT CHAQUE EMIETTAGE POUR LA PHASE 2
T3 = TEMPS TOTAL DU CYCLE DE PRESSURAGE EN HEURES/MINUTES
P3 = PRESSION MAXIMUM DE LA PHASE 3, MAXI 2 000mBARS
M3 = TEMPS DE MAINTIEN EN PRESSION DE LA PHASE 3 EN MINUTES
R3 = NOMBRE DE TOURS EFFECTUES PENDANT CHAQUE EMIETTAGE POUR LA PHASE 3
PHASE 1 :
MONTER EN PRESSION DE LA MENDRANE DONC OUVERTURE VANNE COMPRESSEUR 55 ET MISE EN ROUTE COMPRESSEUR 48 JUSQU'A P1 DEFINI.
MAINTIEN EN PRESSION P1 EN FONCTION DE M1 AVEC UN DELAI DE 30 SEC ENTRE CHAQUE DEMARRAGE COMPRESSEUR. C'EST UNE BOUCLE M1.
PUIS OUVERTURE VANNE POMPE A VIDE 56 ET DEMARRAGE POMPE A VIDE 49 APRES 30 SEC. JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
PUIS ROTATION CAGE D 45 JUSQU'A R1 CAPTEUR POSITION CAGE 1 = 31 SOIT 31x R1. PAR EXEPLE 4 TOURS.
PUIS REPRISE : DES ETAPES PRECEDENTES JUSQU'A EPUISEMENT DU TEMPS T1.
PHASE 2 : ICI LA PRESSION EST UNE MONTEE PROGESSIVE EN 4 PRESSIONS INTERMEDIAIRE (PX1, PX2, PX3, PX4).
MONTER EN PRESSION DE LA MENDRANE DONC OUVERTURE VANNE COMPRESSEUR 55 ET MISE EN ROUTE COMPRESSEUR 48 JUSQU'A PX1 DEFINI.
MAINTIEN EN PRESSION PX1 EN FONCTION DE M2 AVEC UN DELAI DE 30 SEC ENTRE CHAQUE DEMARRAGE COMPRESSEUR. C'EST UNE BOUCLE M2.
PUIS OUVERTURE VANNE POMPE A VIDE 56 ET DEMARRAGE POMPE A VIDE 49 APRES 30 SEC. JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
PUIS ROTATION CAGE D 45 JUSQU'A R2 CAPTEUR POSITION CAGE 1 = 31 SOIT 31x R2. PAR EXEPLE 4 TOURS.
MONTER EN PRESSION DE LA MENDRANE DONC OUVERTURE VANNE COMPRESSEUR 55 ET MISE EN ROUTE COMPRESSEUR 48 JUSQU'A PX2 DEFINI.
MAINTIEN EN PRESSION PX2 EN FONCTION DE M2 AVEC UN DELAI DE 30 SEC ENTRE CHAQUE DEMARRAGE COMPRESSEUR. C'EST UNE BOUCLE M2.
PUIS OUVERTURE VANNE POMPE A VIDE 56 ET DEMARRAGE POMPE A VIDE 49 APRES 30 SEC. JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
PUIS ROTATION CAGE D 45 JUSQU'A R2 CAPTEUR POSITION CAGE 1 = 31 SOIT 31x R2. PAR EXEPLE 4 TOURS.
MONTER EN PRESSION DE LA MENDRANE DONC OUVERTURE VANNE COMPRESSEUR 55 ET MISE EN ROUTE COMPRESSEUR 48 JUSQU'A PX3 DEFINI.
MAINTIEN EN PRESSION PX3 EN FONCTION DE M2 AVEC UN DELAI DE 30 SEC ENTRE CHAQUE DEMARRAGE COMPRESSEUR. C'EST UNE BOUCLE M2.
PUIS OUVERTURE VANNE POMPE A VIDE 56 ET DEMARRAGE POMPE A VIDE 49 APRES 30 SEC. JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
PUIS ROTATION CAGE D 45 JUSQU'A R2 CAPTEUR POSITION CAGE 1 = 31 SOIT 31x R2. PAR EXEPLE 4 TOURS.
MONTER EN PRESSION DE LA MENDRANE DONC OUVERTURE VANNE COMPRESSEUR 55 ET MISE EN ROUTE COMPRESSEUR 48 JUSQU'A PX4 DEFINI.
MAINTIEN EN PRESSION PX4 EN FONCTION DE M2 AVEC UN DELAI DE 30 SEC ENTRE CHAQUE DEMARRAGE COMPRESSEUR. C'EST UNE BOUCLE M2.
PUIS OUVERTURE VANNE POMPE A VIDE 56 ET DEMARRAGE POMPE A VIDE 49 APRES 30 SEC. JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
PUIS ROTATION CAGE D 45 JUSQU'A R2 CAPTEUR POSITION CAGE 1 = 31 SOIT 31x R2. PAR EXEPLE 4 TOURS.
ARRET EN FONCTION DE T2.
PHASE 3 :
MONTER EN PRESSION DE LA MENDRANE DONC OUVERTURE VANNE COMPRESSEUR 55 ET MISE EN ROUTE COMPRESSEUR 48 JUSQU'A P3 DEFINI.
MAINTIEN EN PRESSION P3 EN FONCTION DE M3 AVEC UN DELAI DE 30 SEC ENTRE CHAQUE DEMARRAGE COMPRESSEUR. C'EST UNE BOUCLE M3.
PUIS OUVERTURE VANNE POMPE A VIDE 56 ET DEMARRAGE POMPE A VIDE 49 APRES 30 SEC. JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
PUIS ROTATION CAGE D 45 JUSQU'A R3 CAPTEUR POSITION CAGE 1 = 31 SOIT 31x R3. PAR EXEPLE 4 TOURS.
ARRET EN FONCTION DE T3.
FIN DE CYCLE :
ROTATION CAGE D 45 JUQU'A CAPTEUR POSITION CAGE 2 PORTE EN HAUT = 32
OUVERTURE DE LA PORTE DE LA CAGE 53 ?
AFFICHAGE MESSAGE SUR ECRAN "FIN DE PRESSEE" AFFICHAGE DU TEMPS T3.
*/
/////////////////////////// FONCTION VIDANGE - LAVAGE ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*DESCRIPTION : SI BOUTON REMPLISSAGE 14 ACTIVE
ALORS : FERMETURE PORTE 53
DEMARAGE TAPIS 51
DEPRESSION MENBRANE DONC OUVERTURE VANNE POMPE A VIDE 56 ET POMPE A VIDE 49
JUSQU'A A0 -25MBARS PUIS STOP 56 ET 49.
POSITION MAIS OUVERTE 35 = VRAI SINON BUZZER 47
ROTATION DE LA CAGE D 45 PENDANT 5 TOURS DONC 5x 31 MINI AVANT DEMANDE DE VALISATION
PUIS VALIDATION CLAVIER J2 30 APRES MESSAGE ECRAN "ATTENTE VALIDATION POUR OUVERTURE PORTE"
SI VALIDATION = OUVERTURE PORTE 53 ?
ROTATION CONTINU PENDANT UN TEMPS DEFINI PAR L4UTILISATEUR OU STOP BOUTON 4
*/
}