www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Program v 32bit načinu za arduino Atmel SAM3X8E
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
bostjan 2
Član
Član



Pridružen-a: Pon 05 Dec 2011 19:35
Prispevkov: 121
Aktiv.: 0.81
Kraj: Vače

PrispevekObjavljeno: Pet Maj 02, 2014 4:36 pm    Naslov sporočila:   Odgovori s citatom

Miki nisi razumel. Delaymicroseconds ti USTAVI kompletno procesiranje za ta čas. Takrat ne dela NIČ. Tudi INNTERRUPTI ne.
Tebi software dela maksimalno z 5000 cikli v sekundi, če šteješ samo delay. Še kak if, port pa se to zmanjša na 1600 ciklov.

Delay naredi tako, da si v zanki zapišeš trenutno stanje microseconds, v naslednji zanki pa ga preveri. Če je več kot 200, potem naredi določeno stvar, kar pač moraš. Še boljše bo pa če izmeriš čas med impulzi enkoderja, ter ta čas upoštevaš kot tisti pogoj delay..


Pa ne reče se inkoder ampak Enkoder !

Lp Boštjan

_________________
Ja še vedno se ne da...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Obelix
Član
Član



Pridružen-a: Pon 19 Maj 2008 13:59
Prispevkov: 1862
Aktiv.: 9.64
Kraj: Maribor

PrispevekObjavljeno: Pet Maj 02, 2014 4:46 pm    Naslov sporočila:   Odgovori s citatom

Malo sem radoveden. Čemu služi ta kombinacija enkoderja in koračnega motorja. Nekako sem razbral, da je to neke vrste "software-ski reduktor".
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mikim
Član
Član



Pridružen-a: Ned 10 Okt 2010 1:11
Prispevkov: 141
Aktiv.: 0.86
Kraj: Brežice

PrispevekObjavljeno: Pet Maj 02, 2014 5:06 pm    Naslov sporočila:   Odgovori s citatom

Sem napisal inkoder da ne bo po ang encoder ali po naše dajalnik inpulzov. Sem navajen kar pisat inkoder.
Daj mi napiši ker ne razumem arduino programskega jezika. Že te kode sem si presnel z youtube in jih izboljšujem pa nič.
Pa poskusil sem odstrani 0 , encoder = 0; z encoder-- pa zadeva deluje popolnoma drugače. Ko povečujem obrate na enkoderju mi padajo obrati na motorju.

Obeliks to potrebujem za premik vretena in uporabljam digitalne impulze kot jih ima encoder. Ta zadev odlično deluje z omrom krmilniki in servo motorji a je cenovno predraga caa 1000€. Zato iščem cenejšo rešitev.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mikim
Član
Član



Pridružen-a: Ned 10 Okt 2010 1:11
Prispevkov: 141
Aktiv.: 0.86
Kraj: Brežice

PrispevekObjavljeno: Pet Maj 02, 2014 5:07 pm    Naslov sporočila:   Odgovori s citatom

Ima mogoče kdo kakšen drugačen program z hitrejšo odzivnostjo.
Ja platforma je C oziroma C++ ampak tega se nisem poskušal učiti. Je kar zapleteno.


Nazadnje urejal/a Mikim Pet Maj 02, 2014 5:15 pm; skupaj popravljeno 2 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Pet Maj 02, 2014 5:10 pm    Naslov sporočila:   Odgovori s citatom

Mikim je napisal/a:
.......Daj mi napiši ker ne razumem arduino programskega jezika. .........
Arduino nima svojega programskega jezika ampak je kar C z napisanimi nekaj funkcijami.
_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjan 2
Član
Član



Pridružen-a: Pon 05 Dec 2011 19:35
Prispevkov: 121
Aktiv.: 0.81
Kraj: Vače

PrispevekObjavljeno: Pet Maj 02, 2014 5:15 pm    Naslov sporočila:   Odgovori s citatom

Tole ni arduino jezik ampak čisto klasičen c++, vsaj to kar uporabljaš ti. Osnove se lahko naučiš zelo hitro. Če obvladaš Omrona, boš tudi to. Da ti napišem program? Zato da boš ti privarčeval nekje ali pa prodal stvar? Za hobi ja, ni problem, za tole pa brez €€ ne bo šlo. Sem prevečkrat "pomagal" drugim, ki so potem šli veselo na dopust, sam pa sem reševal svoja jetra za katera takrat ko sem drugim pomagal ni bilo časa ..

Lp Boštjan

_________________
Ja še vedno se ne da...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mikim
Član
Član



Pridružen-a: Ned 10 Okt 2010 1:11
Prispevkov: 141
Aktiv.: 0.86
Kraj: Brežice

PrispevekObjavljeno: Pet Maj 02, 2014 5:23 pm    Naslov sporočila:   Odgovori s citatom

Omrona mi ni potrebno obvadat to je samo driver servo motorja. Ja krmili ga pa Siemens naš programer ki obvlada step 7 žal mi ni mogel pomagat, čeprav sem mu ponudil gajbo pira. Sej če bi znal bi mi pomagal.
Ja Boštjan to zadevo delam zase kot hobi, ker kakšni firmi take zadeve se ne prodajajo. Oni majo denar za siemens mi smrtniki pa žal ne. Lej če mi pomagaš ti dam za pir ali tudi za gajbo samo da zadevo zalaufam. LP Miki
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Obelix
Član
Član



Pridružen-a: Pon 19 Maj 2008 13:59
Prispevkov: 1862
Aktiv.: 9.64
Kraj: Maribor

PrispevekObjavljeno: Pet Maj 02, 2014 6:04 pm    Naslov sporočila:   Odgovori s citatom

Mikim je napisal/a:
... če pa inkoder hitro vrtim se impulzi gubijo. Kod da jih polovica manjka...

Iz napisanega bi lahko sklepali, da je problem bolj v enkoderju oziroma povezavi z arduinom (ali podobnim). Mogoče je enkoder že malo "zmatran", neustrezno povezan, mogoče boš moral uporabiti kak Schmitt trigger za oblikovanje ustreznih impulzov.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5327
Aktiv.: 24.78
Kraj: Domzale

PrispevekObjavljeno: Pet Maj 02, 2014 6:13 pm    Naslov sporočila:   Odgovori s citatom

bostjan 2 je napisal/a:
Delaymicroseconds ti USTAVI kompletno procesiranje za ta čas. Takrat ne dela NIČ. Tudi INNTERRUPTI ne.


Windows bi rekli "Are you sure?"
Pri Delay funkcijah HW interrupti ponavadi delujejo.

Lp, g

_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mikim
Član
Član



Pridružen-a: Ned 10 Okt 2010 1:11
Prispevkov: 141
Aktiv.: 0.86
Kraj: Brežice

PrispevekObjavljeno: Pet Maj 02, 2014 7:29 pm    Naslov sporočila:   Odgovori s citatom

Obelix je napisal/a:
Mikim je napisal/a:
... če pa inkoder hitro vrtim se impulzi gubijo. Kod da jih polovica manjka...

Iz napisanega bi lahko sklepali, da je problem bolj v enkoderju oziroma povezavi z arduinom (ali podobnim). Mogoče je enkoder že malo "zmatran", neustrezno povezan, mogoče boš moral uporabiti kak Schmitt trigger za oblikovanje ustreznih impulzov.


Enkoder je nov, puls se izgubi pri izhodu arduino plošče. Na vhodu prihaja v razmaku do 50mikroS. Gubim ga pa že pri 300microS. Tako da problem ni v enkoderju pač v programu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vpeter
Član
Član



Pridružen-a: Pon 11 Jun 2012 16:05
Prispevkov: 337
Aktiv.: 2.35
Kraj: Maribor okolica

PrispevekObjavljeno: Pet Maj 02, 2014 8:10 pm    Naslov sporočila:   Odgovori s citatom

mucek je napisal/a:
Pri Delay funkcijah HW interrupti ponavadi delujejo.
http://arduino.cc/en/Reference/DelayMicroseconds
Odvisno od verzije - lahko da funkcija prekinitve onemogoči ali pa tudi ne.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Pet Maj 02, 2014 8:18 pm    Naslov sporočila:   Odgovori s citatom

On dela z verzijo Arduino IDE 1.5.x, torej:
Citiram:
As of Arduino 0018, delayMicroseconds() no longer disables interrupts

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Mikim
Član
Član



Pridružen-a: Ned 10 Okt 2010 1:11
Prispevkov: 141
Aktiv.: 0.86
Kraj: Brežice

PrispevekObjavljeno: Pet Maj 02, 2014 10:01 pm    Naslov sporočila:   Odgovori s citatom

Jaka,
za mini sem uporabil arduino 1.0.5-r2
za DUE pa 1.5.6-r2
program je enak na obeh s tem da DUE ne podpira funkcije delay.h in sem jo izbrisal.
Pri testu so na obeh ploščah enake napake. Še vedno nisem dobil odgovora ali se lahko program napiše da deluje hitreje mogoče da podpira 32bit. Oziroma naj bi ga arduino 1.5.6 -r2 sam prevedel.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Pet Maj 02, 2014 10:11 pm    Naslov sporočila:   Odgovori s citatom

@Mikim in zakaj misliš, da bi bilo 32 bit hitreje, če se uporabljajo 8 bitni registri, to je eno, drugo pa kje v samem programu bi prišla v poštev 32bitna aritmetika?
In še nekaj, ne vem zakaj je tako težko narisat vezje?
Ne potrebuješ risat MCUja, temveč samo nekaj podobnega, kot je tole:



Rotary-Encoder-1024x333.jpg
 Opis:
 Velikost datoteke:  68.89 KB
 Pogledana:  9 krat

Rotary-Encoder-1024x333.jpg



_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Mikim
Član
Član



Pridružen-a: Ned 10 Okt 2010 1:11
Prispevkov: 141
Aktiv.: 0.86
Kraj: Brežice

PrispevekObjavljeno: Sob Maj 03, 2014 11:25 am    Naslov sporočila:   Odgovori s citatom

Vezje, če vam bo kaj pomagalo, vsaj upam.[/img]
Video povezava skoraj enake komponente razen enkoderja.
https://www.youtube.com/watch?v=2dh6TIkN6jE



Encoder driver stepper motor.jpg
 Opis:
Motor je NEMA 1A
 Velikost datoteke:  856.98 KB
 Pogledana:  13 krat

Encoder driver stepper motor.jpg


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3  Naslednja
Stran 2 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group