DRO DRO sur base Arduino

  • Auteur de la discussion erolhc
  • Date de début
M

metalux

Compagnon
pour alimentation et mise en forme des signaux du PAC pas besoin de circuit externe juste 2 résistances font l' affaire
sympa ce montage , mais là je suis étonné ! on attaque direct le shield uniquement avec 2 résistances ?:smt017
 
5

59JAG

Ouvrier
sympa ce montage , mais là je suis étonné ! on attaque direct le shield uniquement avec 2 résistances ?:smt017
un PAC consomme environ 10uA sous 1,5V donc un pont diviseur avec 2 resistances suffit ,j ai essayé avec 2 résistances de 100ohm entre 3.3v et gnd
15mA de consommation sur le 3.3v (50mA max sur arduino uno).
apres le truc c est de pas mettre le pac a la masse commune
mais de la mettre au point milieu du diviseur
 
Dernière édition:
D

diiity

Compagnon
ah oui sympa ton montage et simple en plus
serge

 
5

59JAG

Ouvrier
20151203_213328.jpg
 
5

59JAG

Ouvrier
voici le code arduino

#include <LiquidCrystal.h>

int i;
int sign;
long value;
float result;
int clockpin = 2;
int datapin = 3;
unsigned long tempmicros;


LiquidCrystal lcd(8, 9, 4, 5, 6, 7);


void setup() {
pinMode(clockpin, INPUT);
pinMode(datapin, INPUT);
lcd.begin(16, 2);
lcd.setCursor(1, 0);
lcd.print("Bonjour a tous");
}


void loop () {

while (digitalRead(clockpin)==0) {}
tempmicros=micros();
while (digitalRead(clockpin)==1) {}
if ((micros()-tempmicros)>500) {
decode();
}
lcd.setCursor(1, 1);
lcd.print(result );
lcd.print("mm ");
}

void decode() {
sign=1;
value=0;
for (i=0;i<23;i++) {
while (digitalRead(clockpin)==0) {}
while (digitalRead(clockpin)==1) {}
if (digitalRead(datapin)==1) {
if (i<20) value|= 1L<<i;
if (i==20)sign=-1;
}
}
result=(value*sign)/100.00;
}
 
Dernière édition:
5

59JAG

Ouvrier
prix de reviens inférieure a 10€
je veux bien de l aide pour développer le code pour faire un DRO qui tiens la route
 
M

metalux

Compagnon
bjr
Ah! je comprends mieux le rôle des résistances si elles sont destinées a l'alim :roll: mais mon étonnement subsiste ! on attaque directement sans mise en forme du signal , c'est génial

il y a qq schémas plus ou moins aboutis qui trainent sur le net, mais aussi des réalisations commerciales en kit (Shumatech ) que recherches tu exactement ?
 
5

59JAG

Ouvrier
bonjour
le PAC est alimentée a 3.3v et sa sa masse a 1.6v donc il sort des signaux entre 3.3v et 1.6v ce qui est reconnu comme niveau logique haut et bas par l arduino
voudrais développé le code pour faire un dro car la c est juste un report de lecture du Pac
 
N

nike

Ouvrier
Bonjour,
Ton code ne fonctionnera que pour des petites règles. Pour passer le cap des 16 bits de datas sur la lecture
il faut indiquer que tu travaille avec des entiers longs pour le décalage vers la gauche du "1".
Dans cette ligne:
if (i<20) value|= 1<<i; il faut rajouter un L après le 1 pour indiquer que la décalage se fait sur 32 bits et
non pas sur 16.
if (i<20) value|= 1L<<i;
D'autre part, le bit 23 te donne l'unité de mesure, inch ou mm. Il faudrait augmenter la boucle d'un pas et gérer
ce bit.
Cordialement.
Nike
 
5

59JAG

Ouvrier
Bonjour,
merci nike prog corrigé.
par contre pour l unités de mesure inch/mm j ai le bit 23 qui ne change pas.????
Qq a une idée.
 
E

erolhc

Guest
Bonjour.

Peut etre et même surement si le 23 bit ne change pas c'est qu'il sort directement les mesures en mm sinon tu n'aurait pas sorti les info en mm (dans le cas de mon montage les infos qui sortent des regles sont en 1/20480 de pouce) et le fait de de choisir les unité sur le PAC ne change rien a ce qui sort. Cela est même surprenant car si cela sort en mm il n'y a pas besoin de 24bit (en fraction de pouce si). J'ai lu quelque part que certains PAC le protocole est en 21bit BCD voir edit
Tu n'aurais pas un chronogramme a montrer ?

Attention à bien isoler les pac si montage sur une machine car du fait de la masse flottante il risque d'y avoir des surprises

Edit :
Suivant le site tu ne serais suivant le protocole BCD7 donc normal que le bit 24 n'indique pas l'unité puisque tu sort directement la valeur que l'afficheur affiche
Le bit d'unité serait plutôt le bit 0 (poids faible)
Suivant shumatech a dit:
Chinese scales usually have a four-pin output port on the side of the scale that sends the scale position data to the DRO. There are four different protocols used for sending this data:
  • 24BIT - Two 24-bit, binary numbers are sent with the first representing the absolute position and the second representing the relative position. The two numbers are counts with a resolution of 20480 counts per inch.
  • 21BIT - A single 21-bit, binary number is sent representing the absolute position. The number has a resolution of 2560 counts per inch. The 21BIT scales differ in that the DRO must provide a clock to read out the data rather than the scale providing the clock like other Chinese scale types. See the 21 bit protocol information at the ShumaTech web site for information on how to connect a 21 bit protocol scale.
  • BIN6 - A single 20-bit, binary number followed by a 4-bit flag field. The 20-bit number is the count with a resolution of 2540 counts per inch when the scale is in metric mode.
  • BCD7 - A single 24-bit, BCD number followed by a 4-bit flag field. The BCD number represents the seven digits shown on the scale display.

In addition, the 24BIT and BCD7 scales support a "fast" mode where they send the data to the DRO at a much higher rate than normal. The 21BIT and BIN6 scales do not support that feature.

The metal backs of Chinese scales are connected to one of the battery terminals. For 24BIT and BCD7 scales, the metal backs are connected to the positive battery terminal. For 21BIT and BIN6 scales, the scale beams are connected to the negative battery terminal. If you mix both types on one DRO, then you must insulate them to avoid shorting the DRO power supply through the machine.
 
Dernière édition par un modérateur:
5

59JAG

Ouvrier
J ai un peu pres fini le programme reste plus qu a tester en réel.
une petite video de demo
 
P

pierrem

Apprenti
Beau travail j’attends la suite avec impatience

Bravo
 
W

wika58

Compagnon
Un petit Up sur ce sujet Super Intéressant mais pour lequel je n'ai malheureusement pas le temps de me pencher.

J'ai acheté il y a peu une petite platine pour Arduino où il y a un afficheur 7 segment de 8 digits, des BP et voyants LED. Et le tout dialogue avec l'Arduino sur 2 fils (en plus de l'Alim).

L'affichage DRO sur pavés 7 segments reste supérieur à l'affichage sur Afficheur LCD dans un atelier.

Et donc je suis persuadé que ce module pourrait être bien utile pour un DRO Arduino, mais je n'ai pas le temps :smt022

Si ça intéresse qqun.
IMG_20160214_194105_1750885789.jpg
 
Dernière édition:
B

bipbip30

Compagnon
wika58, les écrans LCD ont aujourd'hui d'excellent contraste et la lecture est bonne même dans une certaine pénombre. De plus on le choix aujourd'hui sur les couleurs de fond et couleur d'affichage. Les afficheurs LED rouge je trouve cela plus fatiguant.
 
W

wika58

Compagnon
Pour la lecture à plusieurs dizaines de cm (en position de travail sur une M-O) je ne suis pas persuadé...
La taille des caractère n'est pas la même... et si l'on regarde les DRO pro...
 
W

wika58

Compagnon
Oui d'accord ...:???:

Je me demande si tu fais bcp de copeaux...

Je ne suis pas du tout un pro de l'usinage, mais ici on parle de DRO.
Donc le truc où tu es devant ta machine en tournant les manivelles et où tout en surveillant l'usinage des yeux, tu lorgnes sur la DRO pour voir si tu as atteint ta cote....:roll:

Et pas une CNC où le gars est assi à côté de sa machine en attendant que celle-ci ait terminé la pièce en surveillant discretement sur l'afficheur si tout se passe bien.:???:

Si on pouvait maintenant revenir dans le sujet c'est à dire une alternative 7 segments comme afficheur sur une DRO basée sur Arduino en DIY...:rolleyes:
 
Dernière édition:
M

metalux

Compagnon
salut Wika :wink:

avec un Arduino tu peux tout faire (ou presque ) moi qui suit de l'ancienne école je suis toujours sur le c.. quand je vois les possibilités :shock:

dans le cas de cette DRO on pourra fort bien commander du digit led et il y a un module tout fait pour cela , le fameux MX 7219 ! vendu comme d'hab chez nos voisins les chinois a prix démentiel
7219.jpg
[div=none][arrow][/arrow][/div]
mais je te conseille l'écran TFT oh! combien plus agréable a l'œil et tout aussi facile a mettre en œuvre sans parler du prix tout aussi bon.

j'ai commencé moi aussi ce style de projet mais non pas a base de pac mais de régle magnétique avec les fameux chips AS ( tape as5306 sur gogol tu aura une idée )
projet malheureusement en sommeil du au tarif de ces régles :cry:
si qq a une source pas chère..
 
Dernière édition:
W

wika58

Compagnon
Oui un TFT geaphique je ne dis pas.
Pour pouvoir faire des digits de hauteur correcte.
Pcq les caractères des LCD, je n'ai jamais vu de taille que tu peux lire les digits à 1m.
Alors que le 7 segments...

Mais en fait j'aimerais bien le système de DRO Arduino avec affichage sur une tablette Android 7-8"...
Justement pcq les digits sont bien grands...
 
L

lion10

Compagnon
Bonsoir

Le sujet a déja été partiellement traité WIKA58 :
https://www.usinages.com/threads/faire-sa-dro-avec-un-arduino-et-une-tablette-android.61065/

Mais apparemment ce n'est pas avec les mêmes règles, il faudrait reprendre le logiciel arduino du fil présent et y greffer la gestion bluetooth du fil ci-dessus.
Il faudra peut être revoir le soft applicatif android.:rolleyes:

Sinon en plus simple c'est à confirmer il est sans doute possible d'émettre des données sur un pc qui les récupérerait pour les afficher :
-un récent avec une clé bluetooth, mais il faut une application sur le pc,
-avec une liaison filaire en rs232 (vieux pc ou clé usb rs232) sur un hyperterminal en changeant la taille des caractères ??
-utiliser un afficheur de caisse enregistreuse en récupération,
-faire carrément un méga afficheur avec des leds ?

Un problème à considérer pour la fluidité de l'affichage mais surtout sa justesse il ne faut pas que la transmission prenne trop de temps au risque de pénaliser le soft qui traite les données issues des règles.

Ou plus simple une bouteille d'eau devant pour faire loupe ...
cdlt lion10
 
W

wika58

Compagnon
Merci Lion,
Oui je suis les 2 postes avec intérêt...
En plus le soft de Yuri a plusieurs fonctionnalités intéressantes.

Aah le manque de temps libres...:smt022
 

Sujets similaires

W
Général Arduino Uno R4
Réponses
17
Affichages
15 050
furynick
furynick
M
Réponses
46
Affichages
22 875
Plopiche
Plopiche
El Zorro
Réponses
12
Affichages
563
El Zorro
El Zorro
W
Réponses
122
Affichages
9 291
Philippe85
Philippe85
Dudulle
Général langage MMBASIC
Réponses
8
Affichages
819
Dudulle
Dudulle
N
Réponses
3
Affichages
731
jpbbricole
jpbbricole
laurenttanguy
Réponses
0
Affichages
452
laurenttanguy
laurenttanguy
osiver
Réponses
14
Affichages
35 833
osiver
osiver
Pervenche
Réponses
2
Affichages
877
Pervenche
Pervenche
V
Réponses
3
Affichages
1 034
vibram
V
N
Réponses
27
Affichages
614
Jean 47
J
P
Réponses
4
Affichages
883
pablio
P
Haut