DIY Electronic projects
Arduino - tutorijali, pitanja, primjeri i projekti - Printable Version

+- DIY Electronic projects (https://forum.yu3ma.net)
+-- Forum: Mikrokontroleri (https://forum.yu3ma.net/forumdisplay.php?fid=52)
+--- Forum: Razvojni sistemi i moduli (https://forum.yu3ma.net/forumdisplay.php?fid=56)
+--- Thread: Arduino - tutorijali, pitanja, primjeri i projekti (/showthread.php?tid=718)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36


RE: Arduino - tutorijali, pitanja, primjeri i projekti - vladd - 08-01-2017

(08-01-2017, 02:13 PM)Makso Wrote: Ne stigoh juče da se javim.

Nije abkant presa, i ja sam krivo informisan, klasične NC hidraulične makaze za lim (Jelšingrad LVD (https://www.halooglasi.com/masine-alati-oprema/obrada-metala/makaze-jelsingrad-4-050-x-13mm/5425478561779, kao ta na slikama)).

Na njoj je bio klasični mehanički brojač koji je preko sajle bio povezan na reduktor koji pokreće navojne šipke i tako pomjera graničnik za lim. Taj izlaz gdje se sajla vezala se prilično brzo okreće, nemam čime da izmjerim koliko je obrtaja.
Hod graničnika je minimalno 700mm , a koliko je najviše ne znam, mislim da ne prelazi 900mm.

Ono što treba uraditi je digitalno mjerenje.

Postoje linearni enkoderi za sprave kojima treba precizno pomeranje.
Imas ovo za razmisljanje..
http://www.ebay.com/itm/Easson-900mm-35-1-2-Reading-Length-Optical-Linear-Encoder-/111656129455

Ili ovo,jeftinije
https://www.aliexpress.com/item/Glass-Scale-Linear-Scale1000-1200MM-for-Digital-Readout-System-HXX-Free-Shipping/797448376.html?spm=2114.search0301.4.31.ibPZCP


RE: Arduino - tutorijali, pitanja, primjeri i projekti - mikikg - 08-01-2017

Postoji i varijanta sa rotacionim enkoderima na koji je montirana zupcasta remenica i ona "ide" po zupcastom kajsu koji je razvucen i zategnut izmedju dve tacke.
To je fino i povoljno resenje za velike duzine i veliku rezoluciju ...
Tu nema nikakvih sila koje bi trosile te delove, zupcasti kajs skoro da ne moze da se istegne (tone su potrebe da bi ga malo samo istegle) ...


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Makso - 08-01-2017

@vladd
Nekako mi je to malo više para da naručujem preko interneta, pa dok carina odradi svoje i ostale haračlije...

@mikikg
Ja sam gledao sve kako bi se mogao postaviti enkoder a da ima što manje prepravljanja na mašini, mislio sam kada bi stavio zupčastu letvu (kao one za klizne kapije, samo neku precizniju) i neki zupčanik na enkoder, ali i sa remenom je dobra ideja, samo onda zavisi koliki bi zupčanik stavljao i koliko precizan enkoder (ppr), s tim da rezolucija bude 1mm?


RE: Arduino - tutorijali, pitanja, primjeri i projekti - mikikg - 08-01-2017

To se izabere (napravi) remenica koja ima tacno 100mm obim, dakle jedan krug na enkoderu bude 100mm kretanja. U sustini ti treba enkoder sa 100 podela ako se koristi "obican" 1x mode, ili manje ako se koristi 4x (qudrature) mod.
Ja bih tu isao recimo na enkoder sa 250 podela po krugu i radio u kvadraturnom (4x) modu pa bi onda dobio rezoluciju od 0.1mm. Vec sam spomenuo, rezolucija enkodera skoro da ne utice na njegovu cenu ili vrlo malo kada poredimo modele iz iste serije.

STM32 radi mnogo lepo u 4x kvadraturnom modu na HW nivou ...


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Želja - 08-01-2017

Makso,

Ako uzmeš zupčasti remen 10mm širine i koraka 5mm (10T5) i remenicu 16T5 (16 zuba)
i jeftin enkoder sa Aliekspresa od 400 PPR ( cena : 12USD Free Shipping ) imaćeš po jednom
obrtaju remenice 80mm, - odnosno 0.2mm rezoluciju sa enkoderom od 400 PPR.

Sve skupa nije više od 30-40 USD na Aliekspresu.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Makso - 08-01-2017

To bih nekako riješio, malo brojeva na papir i našao bih mjere...

Najviše mi sada pravi problem ta memorija, sve ostalo manje/više bih znao riješiti i sam.?


RE: Arduino - tutorijali, pitanja, primjeri i projekti - gorankg - 08-01-2017

(08-01-2017, 06:18 PM)Makso Wrote: To bih nekako riješio, malo brojeva na papir i našao bih mjere...

Najviše mi sada pravi problem ta memorija, sve ostalo manje/više bih znao riješiti i sam.?

Uzmes neki rtc od microchipa ili dallasa koji mozes istovremeno i da koristis za broj radnih sati ali koni ima jos malo internog rama. Dodas mu jednu dugmastu bateriju i pisi po  njemu koliko hoces. One radne sate baci nalcd da se gazda jos vise obraduje i to je sve.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - vladd - 08-01-2017

A sta se to sve pamti u memoriji, osim poslednje obracunate cifre?


RE: Arduino - tutorijali, pitanja, primjeri i projekti - mikikg - 08-01-2017

Treba da se pamti zadnji smer (1 bit ali minimalna jedinica za upis je jedan bajt) i jos 4 bajta za poziciju, dakle 5 bajtova. Moze i da se ustedi jedan-dva bajta ali zbog lakse manipulacije u programu zgodno je da pamtimo 4 bajta za poziciju.
To je ono sto je potrebno za enkoder/poziciju, ako treba jos nesto to su dodatne memoriske lokacije.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Makso - 08-01-2017

Imam jedan modulčić kod sebe DS1307 sa 24C32WP eeprom-om, da li je moguće upisivanje nekih vrijednosti/brojeva u RTC?


RE: Arduino - tutorijali, pitanja, primjeri i projekti - gorankg - 08-01-2017

Ds1307 ima dovoljno rama za sve sto ti treba. Pogledaj datasheet


RE: Arduino - tutorijali, pitanja, primjeri i projekti - mikikg - 08-01-2017

BTW: Bez obzira sto mozda na toj masini nece imati potrebe da se ide u minus sa pozicijom, ipak je preporucljivo da se koriste signed (sa znakom) brojevi jer moze doci do problema ako se nadjemo recimo na pola hoda masine pa se nesto resetuje/zaglupi, ako budemo odatle krenuli unazad a imamo brojeve bez znaka, takav broj kada se tera u minus (dekrementuje) onda se desi owerflow i broj pocinje da se umanjuje od svoje maksimalne vrednosti.

Signed 32bit integer ima raspon od +/- 2 milijarde, dovoljno za bilo kakve potrebe oko enkodera.

BTW2: Kako ce nuliranje da se radi?? To je vrlo vrlo nezgodna i problematicna tema!!! Neophodno je koristiti neke senzore, najverovatnije opticke koji imaju veoma dobru ponovljivost, bar 10x bolju nego sto je ocekivana preciznost masine.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Makso - 08-01-2017

Što se nuliranja tiče, kada bude potrebe za tim, da se graničnik za lim dovede u prvobitan položaj tj. skroz na početak i onda na pritisak jednog tastera na elektronici/pcb-u u programu se postave sve 0, mislim da bi to radilo?

Taj broj za memorisanje, ja sam mislio svaki put kada se program pokrene on očita zadnji broj impulsa, ako je graničnik ostao na pola hoda, doatadšnji broj implusa npr. 50 000 i da se taj broj memoriše i onda prilikom starta programa taj se broj očita i matematika odradi svoje i dobije se mjera na LCD-u, i kada se graničnik pomjera nazad tj. dužina se smanjuje enkoder samo inpulsima umanjuje taj broj i onda opet nakon nekog vremena taj broj se opet memorši i tako u krug, dok se ne pokvari Smile.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - mikikg - 08-01-2017

Moze tako sve dok se radi sa nekim relativnim merama, ako trebaju apsolutne to je onda problem.
Pod apsolutnim se misli referenca na neku tacku koja nije promenljiva na masini.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - vladd - 08-02-2017

Ne bih ja preporucio relativne mere, i mogucnost lakog resetovanja. To je secenje lima, nije obrada slozenih komada, nema potrebe.
I ne mora procesor da pamti broj impulsa vec samo obracunatu dimenziju.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Vlajko - 08-02-2017

(08-01-2017, 09:36 PM)mikikg Wrote: BTW2: Kako ce nuliranje da se radi?? To je vrlo vrlo nezgodna i problematicna tema!!! Neophodno je koristiti neke senzore, najverovatnije opticke koji imaju veoma dobru ponovljivost, bar 10x bolju nego sto je ocekivana preciznost masine.


Miki

Cesto se za nulovanja koriste alatke specijalno napravljene za to. Recimo kao sto imas kalibar za mikrometar, parce metala tacne mere.
To se radi da bi se masina dovela u mehanicku nulu, a onda se samo proglasi ta pozicija i za elektronsku nulu masine. 
To mu dodje u stvari kalibracija.

Recimo ako se koriste servo motori, cesto se pusti motor da ide do kraja dok ne zvekne u granicnik, kad se to desi poraste struja motora , to se detektuje i to se uzme kao pocetna ili home pozicija.

Retko sam nailazio na senzore za proces nulovanja (ne mogu trenutno da se setim) uglavnom su to neki spijuni, bolcnovi, kalibri, crta-na-crtu itd.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - vladd - 08-02-2017

To mi vise lici na bazdarenje. U slucaju masine, podesavanje.
Ovo su makaze za lim, i jednoznacna dimenzija, pomera se granicnik za lim, uvek pozitivna je dimenzija odrezanog komada. Jedna apsolutna mera, bez potrebe za relativnim odnosima. Nulovanje, kao posebna komanda za spoljnu manipulaciju brojacem bi samo tokom rada pravilo problem.
Potrebno je obezbediti da dimenzija odsecenog komada odgovara brojci na displeju, u milimetar recimo da bi bilo super.


RE: Arduino - tutorijali, pitanja, primjeri i projekti - mikikg - 08-09-2017

BTW: Oko price sa FRAM i Dalas RTC/NVRAM za potrebe cuvanja pozicije sa enkodera, da li ste znali da STM32 ima "backup domain" tj pored Real Time Clock koji se napaja sa baterije (Vbat) ima dodatno i 20 bajtova NV memorije (84 bajtova za XL seriju kontrolera), prakticno ceo Dalas-ov chip vec u sebi? : )
Dodatno ima mehanizam za "zakljucavanje" tih memoriskih lokacija kako bi se predupredili problemi sa slucajnim pisanjem posle reseta ...
Pise sve lepo u Reference Manual, onaj dokument od 1000+ strana ...


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Macola - 08-10-2017

(08-02-2017, 03:59 PM)Vlajko Wrote:
(08-01-2017, 09:36 PM)mikikg Wrote: BTW2: Kako ce nuliranje da se radi?? To je vrlo vrlo nezgodna i problematicna tema!!! Neophodno je koristiti neke senzore, najverovatnije opticke koji imaju veoma dobru ponovljivost, bar 10x bolju nego sto je ocekivana preciznost masine.


Miki

Cesto se za nulovanja koriste alatke specijalno napravljene za to. Recimo kao sto imas kalibar za mikrometar, parce metala tacne mere.
To se radi da bi se masina dovela u mehanicku nulu, a onda se samo proglasi ta pozicija i za elektronsku nulu masine. 
To mu dodje u stvari kalibracija.

Recimo ako se koriste servo motori, cesto se pusti motor da ide do kraja dok ne zvekne u granicnik, kad se to desi poraste struja motora , to se detektuje i to se uzme kao pocetna ili home pozicija.

Retko sam nailazio na senzore za proces nulovanja (ne mogu trenutno da se setim) uglavnom su to neki spijuni, bolcnovi, kalibri, crta-na-crtu itd.

(08-02-2017, 04:45 PM)vladd Wrote: To mi vise lici na bazdarenje. U slucaju masine, podesavanje.
Ovo su makaze za lim, i jednoznacna dimenzija, pomera se granicnik za lim, uvek pozitivna je dimenzija odrezanog komada. Jedna apsolutna mera, bez potrebe za relativnim odnosima. Nulovanje, kao posebna komanda za spoljnu manipulaciju brojacem bi samo tokom rada pravilo problem.
Potrebno je obezbediti da dimenzija odsecenog komada odgovara brojci na displeju, u milimetar recimo da bi bilo super.

Sve te mašine (NC makaze) koje sam video (a video sam ih baš mnogo), a koje imaju neke pozicionere ili elektronske brojače, imaju nulovanje.

Nekoliko sistema je u opticaju:

- vozi se osa do nekog najobičnijeg prekidača ili induktivnog senzora, po nailasku na njega se elektronski obeleži prednja ivica njegovog dejstva, potom osa promeni smer, skine se sa senzora i obeleži zadnju ivicu.
Kao referentna vrednost (relativna nula) se uzima jedna od tih ivica čim se anuliraju histerezis i termodilatacije tog senzora. Ponovljivost je dosta pristojna čak i sa senzorima prečnika npr. fi 18mm. Red veličine je +-0.1mm.

- preciznija opcija je kada se takođe koristi induktivni senzor ili prekidač za home poziciju, a po nailasku na njega osa nastavlja dalje dok ne "dohvati" ultra precizni indeks merne letve ili enkodera, indeks koji je praktično izlaz Z od merne naprave. Ta opcija postiže onoliku preciznost koju dopušta gradacija merne naprave i tolerancije u mehaničkim sistemima. Kod veoma stabilnih mašina u klimatizovanim uslovima se ostvaruje ispod jednog mikrometra pozicioniranja nule.

Ponavljam da apsolutni enkoderi veoma puno koštaju. Recimo, relativni rotacioni enkoder 2000 pulse (A, B, Z push pull out) je tipičnih oko 60-100 evra, dok je apsolutni enkoder takve vrste oko 600-1000 evra i pri tom ima bar 14 žica ili RS485 komunikaciju sa par hardverskih linija za brzi interrupt. Koristi se obično Grejov kod na izlazu, obično bar 14 ili više bita i u enkoderu postoji planetarni mehanizam koji može registrovati dovoljno krugova.

Retko ko ugrađuje apsolutne enkodere u mašine. Za tim ima potrebe jedino u situacijama gde se proces može prekinuti u sredn neke kritične faze gde se ne sme ni nazad ni napred, već se mora nastaviti tačno gde se stalo.
Takve potrebe su vrlo retke i onda apsolutni enkoder (ili takva merna letva) dobija smisao.

Postoje i merne letve jevtinijeg tipa. Potenciometarske merne letve, cenovnog reda 150-500 evra, sa tolerancijom šibera od oko 0,5%-1%. Takve jesu apsolutni čitači ali se vremenom habaju i zahtevaju dobar analogni front-end.

Postoje i ultrasonične, ratiometrijske, magnetostriktivne merne letve, koje šalju ultrazvučni impuls, nalik Hevisajdovom, koji se reflektuje od dve prepreke: magneta koji se kreće duž letve i kraja letve. Merenjem vremena refleksija, ima se uvek ukupna dužina letve i položaj pokretnog magneta. Takve se izrađuju sa rezolucijom od čak nekoliko mikrometara.
Njihova je prednost što su potpuno hermetične i mogu raditi u opasnim tečnostima. Inventor je Philips i prvi put su napravljene za potrebe tačnog merenja nivoa u velikim rezervoarima goriva i drugih opasnih materija.
Kasnije su često i vrlo uspešno ugrađivane kao apsolutne merne letve po mašinama koje ne zahtevaju neku preteranu preciznost, Poput nekih brizgaljki, nekih presa, pakerica i slično. Vrlo su otporne na prljavu sredinu i slično. Izlaz iz njih je praktično kontinualne prirode, trenutak pobudnog impulsa, potom prva i druga refleksija i meri se vreme između njih.
Rezolucija prvenstveno zavisi od brzine kloka elektronike koja meri vreme, njegovog jittera i sposobnosti ka ekstremno dobrom compare-capture modulu. Češće se koristi PLD nego MCU za veću preciznost.

------------------------------------------------------------------
Što se Maksa tiče, moj predlog mu je običan reltivni enkoder, namontiran na pogonsko vreteno graničnika, preko zupčastog malog kajiša ili elastične spojnice.
Sam graničnik inače ima limit prekidače ako je pogonjen motorom, a ako se tek stavlja motor onda ih je neophodno ugraditi.
Kad već postoje ili se stavljaju, onda i nije neka filozofija ugraditi još jedan za home poziciju, koji se može nalaziti bilo gde u okviru između limita, a elektronskom kalkulacijom se lako namesti i usvoji početna mera u odnosu na taj home.
Ako mu treba preciznostr nule ispod 0,1mm onda se namesti da indeks Z od enkodera bude u okviru nagaženog home prekidača i to je veoma veoma precizno nulovanje (stvar izbora enkodera i zazora u prenosnim mehanizmima.).
Makaze za lim se nuluju jednom - kad se uključe i dok traje napajanje home pozicija je validna veličina.
Nulovanje mašine takođe sasvim lako jednim tasterom obezbeđuje relativna merenja i sečenja kod takvih potreba...

Uobičajena rezolucija vrlo kvalitetnih i renomiranih (EHT, Amada i td...) NC makaza za lim je tipičnih 0.1mm i za limove od 0,5mm do 6mm i ne treba bolja jer se postavlja pitanje deformacije lima koja nastaje zbog sečenja smicanjem.
Obično je tu veća nevolja paralelnost noževa na velikoj širini sečenja i zazor između istih.

Toliko


RE: Arduino - tutorijali, pitanja, primjeri i projekti - Macola - 08-10-2017

(08-09-2017, 02:31 AM)mikikg Wrote: BTW: Oko price sa FRAM i Dalas RTC/NVRAM za potrebe cuvanja pozicije sa enkodera, da li ste znali da STM32 ima "backup domain" tj pored Real Time Clock koji se napaja sa baterije (Vbat) ima dodatno i 20 bajtova NV memorije (84 bajtova za XL seriju kontrolera), prakticno ceo Dalas-ov chip vec u sebi? : )
Dodatno ima mehanizam za "zakljucavanje" tih memoriskih lokacija kako bi se predupredili problemi sa slucajnim pisanjem posle reseta ...
Pise sve lepo u Reference Manual, onaj dokument od 1000+ strana ...

Treba videti (kad si već na tom delu uputstva) koliki je moguć broj upisa u tih 20 NV bajta.