Nouvelle discussionNouveau message Derniers messages Recherche forum
67 messages.      1 2 3 4 5 6 7   - Réalisation d'un Cycle Analyst (CA) à base d'Arduino [25728]
Membre7933
18-10-2019 à 15h34
Je me méfie beaucoup de tous ces petits écrans oled... surtout leur lisibilité en roulant en pleine lumière...
N'ayant pas vraiment le loisir de tester tout un tas de trucs, n'est-il pas préférable de partir sur un écran basique LCD rétroéclairé à 2 lignes type cycle analyst?...
Concernant l'alim, je tiens vraiment à couvrir la plage jusqu'à 100V et je n'ai rien trouvé de tout fait qui ne soit surdimensionné en puissance, alors que 200-300mA seront largement suffisants.
J'ai bien peur de devoir concevoir cette petite alim miniature...

De même pour la mesure du courant de batterie... je voudrais bien couvrir jusqu'à 200A.

Membre7933, 21190 msg. Ce membre n'est plus inscrit.
 Citer Alerter [639216]

Message modifié le 2019-10-18 15:41:19 par Papat-Le-Bref.
Membre16345
18-10-2019 à 15h46
n'est-il pas préférable de partir sur un écran basique LCD rétroéclairé à 2 lignes type cycle analyst?

Ah non alors !
Je suis jamais passé au CA du fait de leur écran LCD des années 80, et ce malgré la qualité incontestable de leur produit (je suis très constant sur cette critique).

L'écran de Jacques page précédent semble adéquat - la question étant primo ce qu'on veux afficher.
Vu le nombre d'écran produit de nos jours, il serait un comble qu'on ne puisse en trouver un écran (large) à la fois visible le jour et non éblouissant la nuit (et au bon prix).

Pas nécessairement couleur, un OLED 256x64 ferait l'affaire, non ?
Question lisibilité, ça semble bien :



(sur cette chaine, il y a un panorama pas possible de tout les écrans possible et imaginable)

Membre16345, 4958 msg. Ce membre n'est plus inscrit.
 Citer Alerter [639220]

Message modifié le 2019-10-18 16:02:51 par Ripolin.
publicité
18-10-2019 à 15h46
Lien commercial -303-


Membre7933
18-10-2019 à 17h09
Le cri du coeur!...
Ok, j'avoue que ta remarque a du sens... ça fait un peu old style...

Y-a-t-il des écrans tactiles? Ça pourrait simplifier l'accès aux commandes...
Je vais voir ce que je trouve...

Membre7933, 21190 msg. Ce membre n'est plus inscrit.
 Citer Alerter [639228]
Anonymous456
18-10-2019 à 17h26
Pour un écran tactile plus grand format, ça bouf de la Ram et un arduino, c'est que 128Ko...C'est vraiment pas prévu pour faire de l'interface graphique...

Faut passer sur un raspberry, le pi0 peut faire le taff mais c'est une tout autre prise en main car ça fonctionne vraiment comme un PC mais avec des pins I/O comme l'arduino...

Anonyme, 66 msg, (FR-75).
 Citer Alerter [639230]
Membre7933
18-10-2019 à 17h28
Que pensez-vous de celui-ci: ecran 3,5" TFT couleur - tactile?
16 euros en livraison gratuite... ça reste raisonnable.

Edit: je sens que ça ne va pas le faire en arduino... peut-être trop gourmand en ressource...
Dans tous les cas, je commencerai la prog sur la base d'un écran type CA... Désolé si ça t'arrache les yeux Ripolin!...

Membre7933, 21190 msg. Ce membre n'est plus inscrit.
 Citer Alerter [639231]

Message modifié le 2019-10-18 17:31:36 par Papat-Le-Bref.
Superjc
18-10-2019 à 20h13
Acceder au profil du membre
Je pense qu’il ne faut pas inventer l’eau chaude
Partir sur un module tout fait type M5stack est une solution viable
Ça ce programme comme un arduino et la communauté des utilisateurs est énorme
fr.aliexpress.com

blog.flozz.fr


Christophe, 3256 msg, 63 ans. Guyancourt (FR-78). [mon blog] 36V 250W VTT bafang swxk 185R MetV and BBS01 Cycloboost
 Citer Alerter [639258]
Membre9554
18-10-2019 à 23h18
Oui, ou en un peu plus petit et pas cher, un ESP32 TTGO T4 (écran TFT ILI9341 2.2 pouces, 240*320)
C'est déjà pas mal comme taille sur un VAE car l'affichage TFT couleur est bien net !
- 3 boutons, carte SD, Wifi et Bluetooth intégré, connecteur I2C, port batterie, etc ...
C'est du même genre le M5stack mais sans boitier, plus léger et moins cher.

17$ ici : fr.aliexpress.com

Voir doc, librairies et exemples ici (certaines sont semblables au M5) :
github.com

J'ai en test un TTGO T4 comme celui-ci mais aussi des plus petits (1.4'' et 1.8'') , ça marche super bien
L'avantage du T4 par rapport aux autres c'est son connecteur I2C indépendant et son grand écran.
Pour un montage sur un circuit imprimé, il faut juste commander en plus une barrette femelle basse, double rangée comme ici

Sinon, pour comparer, le display/wattmètre BBS que j'ai posté en page 2 est un 2.4'' tactile.
learn.adafruit.com
C'est du super matos et très bien intégré à leur gamme FeatherWing (ESP32), mais c'est assez cher.


Papat a écrit :
Edit: je sens que ça ne va pas le faire en arduino... peut-être trop gourmand en ressource...


En TFT 3.5'' couleur et tactile, oui tu peux oublier sur Arduino, ça va ramer un max !

Membre9554, 19093 msg. Ce membre n'est plus inscrit.
 Citer Alerter [639286]

Message modifié le 2019-10-19 10:34:51 par Jacques74.
Membre7933
26-10-2019 à 12h44
Je progresse dans l'apprentissage de l'IDE Arduino...
Ci-dessous la boucle de gestion de l'accélérateur qui tourne à 6kHz sur un UNO en utilisant ~12% des ressources mémoire.
La gestion inclut 3 contrôles (niveau bas, haut et bruit) qui forcent la sortie à 0 au moindre dépassement des seuils... validés à l'oscillo!
J'ai choisi une boucle de fond qui tourne très vite avec une gestion par Timeflag des fonctions non prioritaires pour avoir un comportement "temps réel" du système.


Arduino a écrit :
/* Test de lecture Accelerateur Hall avec fonction de filtrage:
* - coupure si tension > 4.0V
* - 0 si tension < 0.9V
* - 0 si variation positive trop rapide (signe de mauvais contact)
*/

int Vacc0 = 0; // Tension courante accelerateur = 0V
int Vacc = 0; // Tension nouvelle accelerateur = 0V
int V = 0; // increment Tension accelerateur = 0V
float DeltaV = 10.0; // Variation de tension accelerateur entre 2 mesures consecutives en V/seconde
float DeltaVmax = 90.0; // Variation maxi de 4,5V en 10ms
int Countacc = 0; // compteur de boucles accelerateur = 0
unsigned long Timeacc0 = micros(); // instant de mesure courante de tension accelerateur
unsigned long Timeacc = micros(); // instant de nouvelle mesure de tension accelerateur
unsigned long Timeaff = micros(); // instant pour nouvel affichage
bool Flag = false;
bool led = LOW;

void setup() {

pinMode(A0 , INPUT); // entree accelerateur branchee sur pin A0
pinMode(10 , OUTPUT); // sortie accelerateur vers controleur branchee sur pin 10
pinMode(9 , OUTPUT); // sortie oscillo branchee sur pin 9
Serial.begin(9600); // demarrage du port serie pour visualisation
}

void loop() {

digitalWrite(9,led); // visualisation oscillo de la fréquence de boucle
led = !led; // clignotement du led à chaque boucle

if (Countacc < 3) { // boucle pour 2 premieres mesures
Vacc = analogRead(A0); // lecture de tension
Timeacc = micros(); // instant de lecture

DeltaV = (float)(Vacc - Vacc0)/(Timeacc - Timeacc0)*1000; // calcul de variation de tension

if ((DeltaV < DeltaVmax) && (!Flag)) { /* test de la conformité de la mesure:
- si DeltaV ok
- tant que le Flag est leve (jusqu au prochain affichage)*/

V = V + Vacc; // V incremente de la valeur Vacc lue
Countacc = ++Countacc; // Compteur incremente de 1
Timeacc0 = Timeacc; // valeur courante = nouvelle valeur
Vacc0 = Vacc; // tension courante = nouvelle valeur
}

else {
Flag = true; // mesure non valide - Flag leve
Vacc0 = 0; // tension courante mise a zero
}

}

else { // boucle 3 eme mesure
Vacc = analogRead(A0);
Timeacc = micros();
DeltaV = (float)(Vacc - Vacc0)/(Timeacc - Timeacc0)*1000;
if ((DeltaV < DeltaVmax) && (!Flag)) {
Vacc = (V + Vacc) / 3; // moyenne sur 3 mesures
Countacc = 1; // remise a zero compteur
Timeacc0 = Timeacc;
Vacc0 = Vacc;
V=0; // remise a zero pour mesure suivante
}

else {
Flag = true; // mesure non valide - Flag leve
Vacc0 = 0; // tension courante mise a zero
}

}

if ((Vacc > 184) && (Vacc < 818) && (!Flag)) {
analogWrite(10, Vacc / 3.61); // si mesure valide, envoi PWM sur pin 10 de sortie
}

else {
analogWrite(10, 0); // sinon ecriture de 0
}

if (micros() - Timeaff > 500000) { // rafraichissement affichage tous les 500ms
if (!Flag) {
Serial.println(Vacc); // affichage tension si mesure valide
Timeaff = micros(); // remise a zero delai rafraichissement
}

else { // sinon message erreur visible 500ms

Serial.println("Problème accélérateur ");
Timeaff = micros();
Flag = false; // reinitialisation Flag
}
}
}



Membre7933, 21190 msg. Ce membre n'est plus inscrit.
 Citer Alerter [640433]
Membre7933
26-10-2019 à 17h22
Déformation professionnelle oblige... J'ai ajouté une petite boucle de bridage: l'accélérateur ne devient actif au démarrage que si on maitient l'accélérateur à mi-course pendant 2 à 3,5 secondes, en aveugle... Plus long, plus court, plus fort, moins fort et rien ne se passe...
Sinon, on est en mode 6km/h...

Membre7933, 21190 msg. Ce membre n'est plus inscrit.
 Citer Alerter [640457]

Message modifié le 2019-10-26 17:25:49 par Papat-Le-Bref.
publicité
26-10-2019 à 17h22
Réparer et entretenir son vélo soi-meme
Lien commercial -178-

Superjc
26-10-2019 à 18h59
Acceder au profil du membre
Faudrait tester la fonction MAP
Tu lis ton accélérateur dans une fourchette et tu transformes en accélérateur

Syntax
map(value, fromLow, fromHigh, toLow, toHigh)

à tester
int Vacc = analogRead(A0); // entree accelerateur branchee sur pin A0
Vacc = map(Vacc, 184, 818, 0, Vacc/3.61);
analogWrite(10, Vacc); //envoi PWM sur pin 10


Christophe, 3256 msg, 63 ans. Guyancourt (FR-78). [mon blog] 36V 250W VTT bafang swxk 185R MetV and BBS01 Cycloboost
 Citer Alerter [640468]
67 messages.      1 2 3 4 5 6 7   - Réalisation d'un Cycle Analyst (CA) à base d'Arduino - Lu 7168 fois. [25728]
retour en haut de page Messages récents
répondre dans cette discussion
En ce moment sur le tchat
Le 05 à 21h16 Havoc Énorme promo Decathlon : le E-Touring perd 1 000 € ! 2 499 €
Le 08 à 10h41 Cycle Bonjour,
pourriez vous me préciser la section du site la plus appropriée pour demander conseil de réparation sur un circuit imprimé...
Le 09 à 17h37 Havoc S'il est d'origine, autant en parler ici: cyclurba.fr
Le 11 à 13h17 Cycle Merci
Le 21 à 21h12 Havoc Nakamura E-Summit LTD à 999,99 € pendant quelques jours chez Intersport

Lien commercial -48-