Nyt on CNC-foorumin tukeminen helppoa!
Maksu onnistuu PayPalin kautta myös kortilla
Konemies kiittää

Karan nopeusnäyttö

Aloittaja Kremmen, 29.07.12 - klo:23:19

« edellinen - seuraava »

0 Jäsenet ja 6 Vieraat katselee tätä aihetta.

jyrki.j.koivisto

Nuo Arduinon kirjastorutiinit ei ole sieltä ihan parhaasta päästä, XSim foorumilla joku koitti saada aivan simppeliä koodia toimimaan mutta ei vain pelittänyt... Syynä oli bitbang rutiinit ja rutiineihin piilotetut busy-loopit, mutta nuo taitaa ollakin tarkoitettu hommiin jossa riittää kun ajastukset on vähän sinnepäin ja koodia ajetaan kun keretään ilman mitään keskeytyksiä. Ehkä näitä on nyttemmin jo paranneltu.

Kremmen

Arduinohan on tarkoitettu kehitysalustaksi ihmisille jotka eivät ole kehittäjiä. Sellaisena se toimii minusta ihailtavan hyvin kaikkine puutteineenkin. Sitä ei kuitenkaan ole suunniteltu eikä pitäisi käyttää mihinkään vaativiin puhumattakaan missiokriittisiin sovelluksiin.
Suuri osa A:n valmiskoodista on enempi esimerkkikoodin oloista, paljoa siellä ei ole optimoitu. Ehkä oletus on, ettei tyypillinen soveltaja pysty laittamaan prosessoria koville ja vähän heikompikin vakiokoodi riittää mainiosti.
Keskeytyksiä tuolla on pitkälti vältetty, ja mitä vähiä niitä on, on upotettu kirjastorutiineihin. Tällä on selvästi haettu yksinkertaisuutta, kun keskeytyskäsittely vaatii jo jonkinasteista ohjelmistosuunnittelun ymmärtämistä.
Nothing sings like a kilovolt
Dr W. Bishop

porepe

Eikös tuossa nyt voi käyttää mitä tahansa pulssianturia, kun laittaa jännitteenjako kytlennän lähtöön niin, että lopputulos on +5v vaikka induktio anturi antaisi 24v pihalle???

Joko on tiedossa lukunopeus pulssia/minuutti ja onko liipaisu nousevalla vai laskevalla reunalla?
Petri Junnila
Mynämäki

Kremmen

Joo, kyllä voi käyttää mitä tahansa anturia kunhan sen lähtö sovitetaan 0 - +5V. Mittarin tulo on täysin passiivinen ja suojattu yli 5V tasoja vastaan, joskin se varmasti kestää tulojännitettä kyllä paljon paljon enemmän. Reilusti isommilla jännitteillä vaan tulee kysymykseksi putoavatko signaalit tarpeeksi lähelle nollaa jotta logiikka havaitsee tilanvaihdon.

Mitä tulee lukunopeuteen, niin naiivisti laskettuna 1 ms aikakeskeytystasolla tapahtuva näytön skannaus kestää 33 us + 5 us ja asynkroninen anturipulssikeskeytys 5,4 us josta laskettuna minimi pulssiväli on karkeasti 10 us. Kääntäen tarkoittaa 100 kHz max pulssitaajuutta, mutta sanotaan nyt konservatiivisesti puolet tuosta eli 50 kHz. 1 pulssi per kierros anturilla tuo olisi 3 000 000 rpm mikä riittänee.

Mitä liipaisuun tulee niin tuo ATMega328P:n timer capture -keskeytys toimii kummalla tahansa reunalla halutaan, se on valitavissa ohjelmallisesti. En ole toistaiseksi ottanut koodissa mitään kantaa aiheeseen koska kaikki anturit tuottavat pakosta saman määrän nousevia ja laskevia reunoja per kierros. Pulssitulon esilogiikka sisältää Schmitt-triggerin jolloin anturin tarkalla aaltomuodollakaan ei ole väliä, kunhan signaalin nousevat ja laskevat reunat ovat edes säädyllisen monotonisia. Olisko ollut jokin nimenomainen syy kiinnostua siitä kumpoi reuna liipaisee?
Nothing sings like a kilovolt
Dr W. Bishop

Kremmen

#169
No nyt toimii varsinainen nopeudenlaskenta ja perusnäyttö aika mukavasti. Itse asiassa siinä ei tuntuisi enää olevan ohjelmabugeja.
Parametrien syöttö kestomuistiinkin toimii jo, samoin niiden haku käyttöön. Siihen vielä vähän teen parannuksia jotta nappulalogiikka olisi helpompi käyttää ja ymmärtää. Se toki dokumentoidaan joten arvailla ei tarvitse.
Samalla taidan lisätä vielä pari mahdollisesti hyödyllistä parametria asetuksiin.

Tässä välissä voitaisi järjestää äänestys, johon saa osallistua kuka vaan, mutta laitteen tilaajien ehdotuksilla on suurin painoarvo :) Eli mittarissa on kolme lähtösignaalia (avoin kollektori, eli maadoittavat aktiivisina, jännite saa olla mitä vaan +24V asti. Kysymys kuuluu, millaiset toiminnot olisivat hyödyllisiä käyttäjille?
Tällä hetkellä oma ajatus on näin:

1. signaali on kytketty pyörimisindikaatioon, eli lähtö aktivoituu kun nopeus ylittää ohjelmoidun minimiarvon. Tämä on samalla se arvo jolla mittari alkaa näyttämään jotain. Oletus on 10 RPM, minimi 1 ja maksimi 100 (asetellaan kestomuistiin).

2. signaali antaa pulssin per N kierrosta, missä N on aseteltava luku välillä 1 - helvetisti (4294967295), joskaan konfiguraattori ei pysty ottamaan sisään kuin 99999.

3. signaali on tällä hetkellä vapaa.

Hyviä ehdotuksia otetaan vastaan ja toteutetaan vähän sen mukaan kuinka hankalaa se sitten on.

Toisella rintamalla olen sitten kasailemassa noita toimituspaketteja. Komponentit on muuten hyvin koossa ja valmiina, mutta yllättäen suora kortille juotettava D9 naarasliitin onkin aika harvinaista herkkua. Olen nyt putsannut Partcon ja Vekoyn ja vielä puuttuu muutama. Niistä voi tulla pieni viive, mutta ei ne maailmasta ole voineet loppua vielä joten kyllä mä jostain niitä löydän ne loput.

Pintaliitoskonkat on kohta kaikki juoteltu korteille, sitten vielä prosessorit. Olen tässä kahden vaiheilla pitäisikö kolvata myös kide ja PDI-liitin valmiiksi, jotta pääsen todentamaan, että prosessori on hengissä juotoksen jäljiltä. Olisi äärettömän typerää toimittaa viallisia kortteja, joten taidanpa tehdä sen niiden osalta jotka halusivat pintaliitokset kiinnitettyinä.

Kuvassa mittari näyttää 600 Hz tulosignaalia konfattuna 1 pulssi per kierros. Tarkka kierroslukuarvo olisi tasan 36000 RPM, mutta enpä ole ihan varma tuon signaaligeniksenkään tarkkuudesta. Parin promillen sisään tuo nyt kuitenkin menee joten josko se riittäisi.
Nothing sings like a kilovolt
Dr W. Bishop

porepe

Hienolta näyttää... Alunperin sanoin, että otan yhden, mutta laita nyt pari tulemaan, kunhan ehdit, vaikka ilman niitä d-subeja... Veikkaisin, että noista vaihtoehdoista eniten iloa olisi lähtömuodossa pulssia/x-kierrosta kohden ja aina parempi, jos laskentakyky ja pulssin generointi mahdollistaa useamman pulssin kierrosta kohden... Näin tuota voisi kyttää suoraan raudalla syötön säätöön kierrosten mukaan...
Petri Junnila
Mynämäki

Jarkko Nieminen

Moi,

Mulle käy kaikki, ainoana vaatimuksena on että saan tarkan signaalin (+5v pulssi per kierros) vietyä mach3 softaan tuon edellisen projektin (PCrelekortin) kautta.

-Jarkko
ex nimimerkki jarkko.j

Kremmen

@porepe:
Jos lähtevien pulssien määrä per kierros ylittää anturilta saatavien pulssien määrän per kierros, joudutaan vähän hankalaan laskentaan. Pitää nimittäin ennakoida saapuvaa pulssia generoimalla lähtöpulsseja ennekuin pulssi on tullut. Jos anturipulssia ei sitten tulekaan, meni vähän pieleen... Tämä ei ole iso ongelma kun kara pyörii about vakionopeudella, mutta aiheuttaa hankaluuksia erityisesti kun liike hidastuu ja pysähtyy. Jonkinmoinen softa-PLL voisi olla ratkaisu tuohon, täytyy sitä alkaa tutkimaan.
Voin ottaa tuon työlistalle, mutta versioon 1.0 en uskalla luvata tätä ominaisuutta, jotta ei viivästetä projektia kohtuuttomasti niille jotka haluavat sen perusmittarin. Mittarin softahan on siis tietenkin päivitettävissä vakiokokoonpanoon kuuluvan liittimen kautta. Minä voin tehdä päivityksen jollei itse kullakin ole sopivia kilkkeitä päivityksen tekoon.

@jarkko:
apulähtöön voi siis konfata pulssi per kierros ja signaalitason voi valita haluamakseen ulkoisella jännitesyötöllä. Toki on myös se vaihtoehto, että otat signaalin suoraan anturilta mikäli pulsseja on 1 per kierros. Kumpikin toimii.

P.S. niin ja kuitti tuohon tilausmäärän päivitykseen.
Nothing sings like a kilovolt
Dr W. Bishop

mpr

Kylläpä näyttää hyvältä.  :D

Tuo anturitiedon jännite 24V asti on hyvä, mahdollistaa monenlaisen anturin käytön. Mutta olisi hyvä jos sen 5V pulssitiedon saisi ulos (machia varten) riippumatta siitä millä jännitteellä anturi toimii. Eli jos anturi antaa 24V pulssia ei machille saa tietoa jos tätä ominaisuutta ei ole.

porepe

Tuossa tekemässäsi laitteessa singnaalin työstäminen anturilta kai toimii, mutta itse otan tai haaroitan singnaalit mielummin vaikka nolla kertoimella olevien operaatiovahvistimien kautta, jolloin eri laitteet, jotka samaa singnaalia lukevat eivät sekoile keskenään eikä tule ongelmia esim ylös tai alas verojen kanssa...  Toistaiseksi  riittää kun ulostulo pulssit ovat vaikka välillä 1-500 anturipulssia eli anturin resoluutiota ei tarvitse ylittää...
Petri Junnila
Mynämäki

Kremmen

Lainaus käyttäjältä: mpr - 03.10.12 - klo:19:45
Kylläpä näyttää hyvältä.  :D

Tuo anturitiedon jännite 24V asti on hyvä, mahdollistaa monenlaisen anturin käytön. Mutta olisi hyvä jos sen 5V pulssitiedon saisi ulos (machia varten) riippumatta siitä millä jännitteellä anturi toimii. Eli jos anturi antaa 24V pulssia ei machille saa tietoa jos tätä ominaisuutta ei ole.
Täsmennetäänpä tätä.
Ensinnäkin, anturiliittimessä on apujännitteet +5 ja +24V sekä tietysti nolla eli common. Varsinainen anturin sisääntulosignaali pitää sovittaa tasoon 0 - +5V. Sarjan mukana tulevat anturikortit ottavat +5V syötön ja tuottavat +5V signaalin suoraan joten mitään virityksiä ei tarvita.
Jos joku haluaa käyttää +24V anturia, vaikka jotain induktiivista tai kapasitiivista, niin niiden lähtö pitää vaan sovittaa vastusjaolla +5V tasoon.

Sitten ihan eri juttuna on nämä lähtevät apusignaalit. Niille ei ole erillistä liitintä, vaan juotospadit kortilla. Yksi padi on kytketty +5V apujännitteeseen ja kolme varsinaista lähtösignaalia ULN2803-piirin lähtöihin. Nämä lähdöt ovat yksinkertaisia trankkuja jotka maadoittavat sen lähtöpadin kun signaali on aktiivinen. Jos signaali vastaanotetaan vaikkapa optoerottimella niin kytketään apujännitepadista 330 ohmin vastus opton ledin anodille ja ledin katodi tähän signaaliin. Nyt kun lähtö maadoittaa katodin, kulkee ledissä virta ja opton trankku menee johtavaksi. Näin signaali saadaan siirtymään mihin halutaan. Mutta siis pakko ei ole käyttää tätä +5V apujännitetä; trankku maadoittaa minkä vaan signaalin joka siihen kytketään, kunhan mittarilla ja signaalilla on yhteinen maa (siihen voi käyttää testipistettä TPGND).
Nothing sings like a kilovolt
Dr W. Bishop

Kremmen

Lainaus käyttäjältä: porepe - 03.10.12 - klo:19:46
Tuossa tekemässäsi laitteessa singnaalin työstäminen anturilta kai toimii, mutta itse otan tai haaroitan singnaalit mielummin vaikka nolla kertoimella olevien operaatiovahvistimien kautta, jolloin eri laitteet, jotka samaa singnaalia lukevat eivät sekoile keskenään eikä tule ongelmia esim ylös tai alas verojen kanssa...  Toistaiseksi  riittää kun ulostulo pulssit ovat vaikka välillä 1-500 anturipulssia eli anturin resoluutiota ei tarvitse ylittää...
OK, tämä siis kyllä onnistuu.
Nothing sings like a kilovolt
Dr W. Bishop

jtec

Voisiko 1. lähdön maksimirajaa nostaa suuremmaksi(esim. 5000 RPM) niin, että se ei kuitenkaan vaikuttaisi näytön aloitusrajaan?
2. lähtö olisi hyvä noin kuten esitit.
Voisiko 3. lähtö olla niin, että se olisi aktiivinen kunnes tietty aseteltava kierrosluku saavutetaan?

Kremmen

Lainaus käyttäjältä: jtec - 03.10.12 - klo:21:23
Voisiko 1. lähdön maksimirajaa nostaa suuremmaksi(esim. 5000 RPM) niin, että se ei kuitenkaan vaikuttaisi näytön aloitusrajaan?
Voi toki, kun määritellään että miniminopeusraja ja 1. lähtö määritellään eri parametreilla. Parametrien lukumäärää ei ole erityisesti rajoitettu, eli mahtuu hyvin vielä.
Lainaa
Voisiko 3. lähtö olla niin, että se olisi aktiivinen kunnes tietty aseteltava kierrosluku saavutetaan?
Voi olla. Eli tämä olisi sitten tavallaan käänteinen 1. lähdölle, mutta omalla kierrosasetuksellaan.
Nothing sings like a kilovolt
Dr W. Bishop

porepe

En tiedä, mutta olisiko sitten jo helpompaa että joka lähdöllä olisi oma tilaparametri nc tai no tyypille jolloin olisi helppo invertoida tarpeiden mukaan...

Itse ajattelin laittaa värkkiin kiinni induktioanturiin, joka lukee rattaan hampaita 10-30 pulssia per kierros...  Sitten sopivalla ulostulo pulssilla syöttömoottoreiden inputtiin ja avot meillä on vakio syöttö muodossa mm/rev. Tämä siis manuaali jyrsimeen, jossa sähköiset syöttömoottorit.
Petri Junnila
Mynämäki

Powered by EzPortal
SMF spam blocked by CleanTalk