Pages: 1 2 [3]   Go Down
Author Topic: 3x Lineare meting tbv frees  (Read 10769 times)
0 Members and 1 Guest are viewing this topic.
Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Aangezien ik niet de baas ben over de TV heb ik dus genoeg tijd om aan mijn code te werken smiley-razz

Ik heb de vermenigvuldigings factor ingebouwd en het werkt ook nog, enige vraag/opmerking die ik heb is dat hij me standaard 2 cijfers na de komma geeft en ik wil er 3.
(Niet dat ik tot op een duizendste kan frezen maar de profs hebben ook 3 cijfers na de komma en dus wil ik die ook)

Dit is hoe ik het voor elkaar heb gekregen:

Code:
Xmm = Xpulses * 0.12468;                                         //Vermenigvuldigen om van pulzen naar mm te komen
 
 
if (Xmm != vorige_Xmm)                                           //ALS -Xmm- NIET gelijk is aan -vorige_Xmm- DAN...
              {
               SchrijvenX();                                     //... uitvoeren van de functie schrijven
               vorige_Xmm = Xmm;                                 //Gewijzigde waarde onthouden       
              }
             
              {
if (digitalRead(ZeroXbutton) == HIGH)                            //ALS ZeroXbutton word gedrukt DAN...
                 {
                  Xpulses = 0;                                   //... waarde van Xpulses nul geven
                 
              }
}

Nu moet ik nog wat gaan kopieren om ook de Y en Z as te kunnen schrijven... en de snelheidsmeting moet er nog in
Logged


The Netherlands
Offline Offline
Edison Member
*
Karma: 50
Posts: 1708
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoe heb je Xmm gedefinieerd ?
Je moet er voor zorgen dat die variabele wel de gewenste precisie kan hebben.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Als float

float Xmm;                                                 
float vorige_Xmm;
Logged


Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nadat ik mijn ene meeting werken had leek het slechts een kwestie van kopieren en plakken om de meting te drie-voudigen.
De zero- en schrijf- funtie lieten zich makkelijk kopieren.
Echter nadat ik de pulsafwerking ging kopieren ging het fout, als ik de sketch laat controleren geeft ie geen foutmelding en als ik hem download ook niet.
Meteen na het downloaden gaat mijn LCD op zwart, ook zie ik geen LED meer knipperen op het bord als de encoder draait en dus pulzen na de arduino stuurt.

Ik heb de code eerst uniek gemaakt voor de X pulzen telling, vervolgens heb ik hem gekopieerd en uniek gemaakt voor de Y as. als ik de unieke code voor de X test werkt hij gewoon, zet ik de Y erbij dan gaat ie op zwart.

Ergens gaat er iets fout, het lijkt erop alsof de arduino zich ophangt, ook een reset met knopje help niet.
Aan de hardware kan het niet liggen die hangt er nog niet aan.

Omdat de code inmiddels wat te groot is voor het forum heb ik het maar even zo opgelost.

Arduino DRO - Wordpad

Arduino DRO - Sketch

Sjuul
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ik heb de code eerst uniek gemaakt voor de X pulzen telling, vervolgens heb ik hem gekopieerd en uniek gemaakt voor de Y as. als ik de unieke code voor de X test werkt hij gewoon, zet ik de Y erbij dan gaat ie op zwart.

Ik neem aan dat je met "zet ik de Y erbij" de interrupthandlers voor de Y-as bedoeld ?


Wat gebeurt er als je de X interrupthandlers uitcommentarieerd en alleen de Y interrupthandlers gebruikt ?

Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Deze werkt niet:
Code:
void setup()
 {  
  attachInterrupt(0, XA_RISE, RISING);
  attachInterrupt(1, XB_RISE, RISING);
  attachInterrupt(2, YA_RISE, RISING);
  attachInterrupt(3, YB_RISE, RISING);

Deze wel:
Code:
void setup()
 {  
  attachInterrupt(0, XA_RISE, RISING);
  attachInterrupt(1, XB_RISE, RISING);
  //attachInterrupt(2, YA_RISE, RISING);
  //attachInterrupt(3, YB_RISE, RISING);

Deze niet:  smiley-red
Code:
void setup()
 {  
  //attachInterrupt(0, XA_RISE, RISING);
  //attachInterrupt(1, XB_RISE, RISING);
  attachInterrupt(2, YA_RISE, RISING);
  attachInterrupt(3, YB_RISE, RISING);

Ik weet wat me te doen staat, bedankt
Logged


Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Probleem gevonden, of eigenlijk interguild voor een ander smiley-razz smiley-razz

Probleem zit in de Interrupts 2 en 3 deze zitten op pin 22 & 23 en de I2C-bus (SDA & SCL) ook.
Zit nu toch met een probleempje zeker omdat ik alle 6 Interrupts nodig heb...

Zal het LCD schermpje dus toch conventioneel moeten aansluiten.

Sjuul
Logged


Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo mannen,

Ik heb een set digirulers welke ik met een arduino wil uitlezen en zichtbaar maken.

Ik heb 3 sony magnerulers PL82b en uit de manual haal ik dat deze een A en B puls uitsturen zoals bij elke encoder (3-2 pagina 15)
De software voor de arduino is klaar en met een simpele draai-encoder getest, nadat ik de pulzen aangesloten had op de arduino gebeurde er niks, Lineaal werkt op 5v voeding, de minnen mooi samen met die van de voeding van de arduino aan elkaar gelegd maar nog steeds niks.
Uiteindelijk met de scoop de A en B pulzen gemeten  en wat me opvalt is dat het niet echt blokjes zijn maar trapjes, ook zijn ze niet 90* verschoven maar liggen ze mijn inziens gewoon in fase.

Ik heb 3 sets en alle drie doen ze hetzelfde ook als ik de kables en opnemers met elkaar mix
Ik heb de lineaalen werkend uitgebouwd, afhandeling gebeurde door een tellerkaart op een S5

Ik denk dat het probleem bij mezelf ligt :roll:  ergens mis ik iets aan kennis of informatie.
Ik doe er een plaatje bij van de scoop, misschien dat ik het verkeerd intrepeteer



Ik heb het nog een keer nagemeten met een ouderwetse analoge scoop, maar het beeld is exact hetzelfde
Sjuul
« Last Edit: September 23, 2013, 01:38:28 pm by Sjuuls » Logged


The Netherlands
Offline Offline
Edison Member
*
Karma: 50
Posts: 1708
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Heb je de juiste aansluitingen ?
Ik zie dat die 82 een symmetrische uitgang heeft en bedoeld is om met een twisted pair aangesloten te worden; heb je dat ook gedaan ?
Waar heb je je probes op aangesloten ?
Ik zie zo gauw niets staan over het gebruik van afsluitweerstanden maar dat is wel vaak van toepassing bij zulke symmetrische signalen (denk aan RS 485).
Daarmee zouden die pieken wel een kunnen verdwijnen of een stuk kleiner worden.

Kun je ook een enkele (of hooguit 2 ) stappen met je scope oppikken ?
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vandaag met electronica-pro gepraat en hem de modules en manual laten zien.
Deze vertelde me dat het om een RS422 protocol gaat en dat het A en B signaal dat ik nodig zit verborgen in het verschil tussen PCA*/PCA en PCB*/PCB.

Om van de lineaal na een bruikbaar signaal te komen voor de arduino heb twee SN75176 nodig

SN75176 nummer 1 voor de A-puls:

pin 1: gaat naar Arduino; is je 'A' data.
pin 2: moet aan GND
pin 3: moet aan GND
pin 4: moet aan GND
pin 5: moet aan GND
pin 6: gaat naar PL82 PCA
pin 7: gaat naar PL82 PCA*
pin 8: gaat naar +5V
Verder plaats je nog een condensator van 10-220nF tussen pin 5 en 8

SN75176 nummer 2 voor de B-Puls:

pin 1: gaat naar Arduino; is je 'B' data.
pin 2: moet aan GND
pin 3: moet aan GND
pin 4: moet aan GND
pin 5: moet aan GND
pin 6: gaat naar PL82 PCB
pin 7: gaat naar PL82 PCB*
pin 8: gaat naar +5V
Verder plaats je nog een condensator van 10-220nF tussen pin 5 en 8
Logged


The Netherlands
Offline Offline
Edison Member
*
Karma: 50
Posts: 1708
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dat kun je ook doen met een 485 transceivertje zoals de MAX485.
En volgens mij is die ook pincompatible met jouw beschrijving van de SN75176.
Heb zojuist ff de datasheet bekeken en zie dat ze inderdaad hetzelfde doen en aangesloten worden.

RS422 en RS485 zijn vergelijkbare elektrische signalen, maar 485 is duplex en 422 niet (heb je dus 2 aderparen voor nodig voor tweerichtingverkeer).

Dus ff kijken wat je kunt krijgen en als allebei kan, welke dan het goedkoopst is.
Ik heb voor een paar euro (€ 3,60) een printje uit China laten komen (inclusief verzenden) waarmee ik RS485 signalen binnenhaal en verwerk.

 
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Spulletjes zijn al onderweg hopelijk krijg ik hem nu aan de gang.
Heb voor de verandering eens bij dickbest besteld hopelijk zijn die wat sneller, conrad heeft altijd een paar dagen nodig om het doosje te vullen en vervolgens duurt het nog eens drie dagen voor dat ik het thuis heb.

Al het eenmaal werkt kijk ik wel of het nog beter kan, ik wil hem nu gewoon aan de gang hebben.
Logged


Forum Moderator
Belgium
Offline Offline
Edison Member
*****
Karma: 68
Posts: 1923
Arduino rocks; but with my plugin it can fly rocking the world ;-)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ik ken dickbest niet maar conrad is traag; heel traag; Niks voor als je al aan je project begonnen bent en nog snel wat nodig hebt.
Logged

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

The Netherlands
Offline Offline
Edison Member
*
Karma: 50
Posts: 1708
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jammer dat je elders een gelijke thread hebt geopend.
De antwoorden en vragen op jouw vragen daar zijn niet anders dan hier, maar wellicht iets sneller gekomen.
Nu krijg je mogelijk 2 verschillende threads over het gelijke onderwerp, waarbij degenen die je willen helpen met je vragen beide threads moeten gaan volgen om te kijken wat er al allemaal de revue gepasseerd is.
En dat doet niemand.
Dat is de reden waarom dit crosspoten niet op prijs gesteld word, deelnemen aan zulke threads word dan nogal ondankbaar.
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 60
Can't beat the virus anymore....
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Klopt, heb ik gedaan.  smiley-red
Ik zat behoorlijk in de rats, ik heb slechts wat basis kennis electronica.
Ik had een goed afloop eigenlijk al opgegeven, en heb toen ook maar een threat gestart in het Engelstalige deel van het forum, onder het moto van “waarom op één paard wedden…”
 
Dat het niet netjes is ben ik met je eens, ben er ook niet trots op.
Op het moment van plaatsen heb ik me dan ook niet gerealiseerd wat jij nu schets, en waar ik het overigens helemaal mee eens ben.

Voor nu is het misschien beste om de thread verder te zetten in het engelstalige deel om zo het onderwerp puur te houden.

http://forum.arduino.cc/index.php?topic=189589.0

Sjuul
Logged


Pages: 1 2 [3]   Go Up
Jump to: