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 

ATmega8515 in minipin
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Ned Nov 29, 2009 3:27 am    Naslov sporočila:  ATmega8515 in minipin Odgovori s citatom

Pozdravljeni.

Ker bi se rad naučil nekaj osnovnega programiranja, ker bi mi pri raznih projektih zelo koristilo sem se odločil v nakup nekaj začetniške opreme.
Kot je z naslova razvidno je govora o avr mikrokrmilniku ter razvojni plošči minipin.

Uporabljam:
-minipin razvojno ploščo
-mikrokontroler ATmega8515
-izdelal t.i sample programator ki komunicira preko LPT porta
-2x16 alfanumerični lcd prikazovalnik
-program Bascom Avr
-12Mhz resonator

Ker predhodnega znanja o programiranju nimam, si pomagam tudi z knjigo Bascom-teorija in praktični primeri.
Vem da je bilo okoli tega že veliko napisanega, ter sem o tem na forumu že veliko prebral, se še vedno spotoma najdejo uprašanja na katere upam da bom tu našel odgovore.

Torej vse komponente zaenkrat kažejo da delajo, ter tudi enostavnejši sample programi špilajo. Ker pa se malo bojim da bi brez potrebe kakšno komponento skuril z napačno uporabo ali napačnim priklopom raje prej vprašam.

-Trenutno se trudim priklopiti lcd na priključke minipina, ki naj bi bili namenjeni priklopu točno tega. Kot razumem so priključki na minipinu zasnovani prav za ta displaj, ga samo z vsemi 16 nogicami porineš v minipin in bi moral delati.Ker pa v prvih poskusih ni obrodilo sadov, sem začel študiranje datasheetov lcd in minipina. Kot sem ugotovil si priključki enega in drugega sploh ne odgovarjajo, oziroma so v skoraj popolnoma drugačnem zaporedju. Je to možno? izkušnje?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Ned Nov 29, 2009 10:48 am    Naslov sporočila:   Odgovori s citatom

Možno seveda je. Sam imam recimo dispelj, ki ima standardno št. pinov, le priklop za napajanje osvetlive je ravno na drugi strani kot je to običajno.
Vsekakor je potrebno pravilno povezat na vezje napajalne pine, ter kontrast, podatkovni pini niso tako problematični, saj se običajno programsko izbere na kateri izhod procesorja je kateri pin priključen.

Po mojih izkušnjah pravilno priključen LCD ob vklopu brez programa zatemni prvo vrstico. Kontranst se mora spreminjati s potenciometrom. Če se ne nekaj ni prav priključeno.

_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
mucek
Član
Član



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

PrispevekObjavljeno: Ned Nov 29, 2009 10:49 am    Naslov sporočila:   Odgovori s citatom

LP!

Poglej si še tole (priročnik, ki smo ga naredili za forumski tečaj, verzija 2):
http://uploader.naspletu.org/uploads/8bd5e873fcbfc28d9d3c5e92366edc31.pdf

Sicer pa načeloma imajo tekstovni LCDji isti pinout, paziti moraš le, kako ga obrneš (da gre pin 1 na 1 in ne na 14/16). Display lahko ima 14 ali 16 pinov, 15. in 16. pin sta za osvetlitev LCDja, če jo le-ta ima.

Glede miniPin in LCDja ti ne morem povedati, nisem pa siguren, da gre display direktno gor.

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Ned Nov 29, 2009 12:44 pm    Naslov sporočila:   Odgovori s citatom

Zrihtano. Treba ga je bilo obrniti na glavo ter zamakniti za dva pina. Čeprav sta zdaj pina od lcd za osvetlitev v zraku. Bi ju lahko povezal kar na ista pina kot ima napajanje prikazovalnik?
-kot opažam se mi greje tudi zelo stabilizator napetosti na minipinu, toliko da ga nemoreš držati z prstom.Tudi po dalšem času rahlo zasmrdi...
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: 5529
Aktiv.: 24.06
Kraj: Domzale

PrispevekObjavljeno: Ned Nov 29, 2009 3:23 pm    Naslov sporočila:   Odgovori s citatom

Če si priklopil osvetlitev LCDja (in slednji nima gor že upora za omejiti tok) je to lahko vzrok pretiranega gretja napetostnega regulatorja. Brez osvetlitve nikakor ne bi smelo biti take porabe na plošči, da bi se ti ta regulator grel.
Drugače pa ja - lahko ju povežeš direktno na LCD pina VCC in GND (pina 1 in 2 če se ne motim - preveri), pa daj še kakšen uporčič vmes, če ti bo preveč toka žrlo.

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Ned Nov 29, 2009 6:05 pm    Naslov sporočila:   Odgovori s citatom

grev se mi je že ko še sploh nisem imel priklopljenega lcd-ja ali drugih bremen. Za napajanje uporabljam pa kar nek adapter/polnilec na katerem piše: 9V-800mA. Bi bilo mogoče bolje če bi napajanje potegnil kar iz računalnika. 6 oziroma 12V ?

-drugi problem nastane tudi ko hočem samo enostavno prikazati nekaj na displaju.Če napilnšem recimo "testiranje" deluje vredu, če pa napišem recimo "test" se beseda pokaže le prvo sekundo,zatem pa zaslon napolnijo razni znaki. Ene besede delujejo,druge ne... pa ni finte u šumnikih,presledkih,velike-male črke itd...
-tudi če ne uporabljam ukaza csl mi zaslon vsako sekundo malce utripne.sicer skoraj neopazno a nevem zakaj.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Pet Dec 11, 2009 11:37 pm    Naslov sporočila:   Odgovori s citatom

ok.problem je rešen. imam pa novo uprašanje. Se je že kdo igral z pwm-jem oziroma servomotorčki?
To naj bi se dalo sicer z ukazom " servos" oziroma " config servos" pa mi nekako ne rata.Kako bi zgledala koda da recimo generiram signal z periodo 20ms, ter dutycyclom 1.5ms ?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
cfrik
Član
Član



Pridružen-a: Sre 24 Jan 2007 16:15
Prispevkov: 39
Aktiv.: 0.17
Kraj: Trbovlje

PrispevekObjavljeno: Ned Dec 13, 2009 6:38 pm    Naslov sporočila:   Odgovori s citatom

Če potrebuješ točno frekvenco lahko uporabiš prekinitve časovnika (primer v helpu za bascom avr), ali pa uporabiš PWM izhod samega mikrokontrolerja in mu nastaviš z deljenjem frekvence oscilatorja želeno periodo z vnosom vrednosti v OCRxy register pa določiš čas trajanja impulza Ton Dutycicle pa je določen kot D=Ton/T, kjer je T perioda signala in se izračuna T=1/f. Pri izbiri PWM izhoda mikrokontrolerja je še ena velika prednost, saj to deluje popolnoma neodvisno od ostalega dela procesorja in ne zaseda procesorjevega časa, pri prekinitvah pa mora procesor ob vsakem signalu za prekinitev končati s trenutnim delom, servisirati prekinitev, ter šele nato nadaljuje s prejšnjim delom.

LP Samo

_________________
lepo je imeti poklic in hobi na istem področju vendar je časa premalo
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: 5529
Aktiv.: 24.06
Kraj: Domzale

PrispevekObjavljeno: Ned Dec 13, 2009 8:42 pm    Naslov sporočila:   Odgovori s citatom

No, če želiš samo premikati standardne modelarske servomotorčke, uporabi kodo iz Helpa, ki preverjeno deluje!

LP, Grega
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Tor Dec 15, 2009 8:29 pm    Naslov sporočila:   Odgovori s citatom

Gre za modelarske motorčke ja. Codo z helpa sem seveda poizkusil najprej,pa ne deluje, ter tudi druge primere. So časovne dolžine mogoče odvisne tudi od takta procesorja? Preizkusil sem jih več, pa mi ne uspe.
Ne dela niti naenostavnejši program....

Koda:

$regfile = "m8515.dat"
$crystal = 8000000

config servos = 1 , servo1=portc.0 , reload = 10
config port c.0 = output
enable interrupts

servo(1) = 150



"reload" kolikor zastopim definira natančnost trajanja krmilnih impulzov, ter določa interval 10us.
"servo" pa določa dolžino pulza ki je v tem primeru 1.5ms (ki je značilen za sredinski položaj motorja)
Motorček je sigurno priklopljen pravilno.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
cfrik
Član
Član



Pridružen-a: Sre 24 Jan 2007 16:15
Prispevkov: 39
Aktiv.: 0.17
Kraj: Trbovlje

PrispevekObjavljeno: Tor Dec 15, 2009 9:10 pm    Naslov sporočila:   Odgovori s citatom

Sedaj ne morem pogledati helpa, vendar kakor si napisal si zamešal mikro in milisekunde. če imaš periodo 10us ne moreš imeti impulz dolg 1,5 ms. Zato poskusi definirati periodo 10ms.

LP Samo

_________________
lepo je imeti poklic in hobi na istem področju vendar je časa premalo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Tor Dec 15, 2009 10:42 pm    Naslov sporočila:   Odgovori s citatom

če je pulz 50x na sekundo je torej perioda dolga 20ms, pulz pa 1.5ms.

Ampak če citiram članek iz revije:

Citiram:
Frekvenca ponavlanja impulzov je tipično 50Hz, impulz trajanja (okoli) 1500us, pa postavi motor v sredinjski položaj. Opcija "Reload = 10" definira natančnost koraka, s katerim nastavljamo trajanje krmilnih impulzov. 10 je priporočena vrednost in določa interval 10us. Za generiranje krmilnih impulzov Timer0, kar pomeni, da Timerja0 ne moremo uporabljati za druge namene.


Dejanski primer uporabljen v članku:

Koda:

Dim Servo_pol As Byte

Config Servos = 1 , Servo1=PortC.0 , Reload = 10
Config PortC.0 = Output
Enable Interrupts

Servo(1) = 150     'sredinski položaj


Indikacijska lučka sicer utripa, a je prižgana dosti dlje kot je ugasnjena. Na servomotorju se ne zgodi nič. Uporabljam točno isto opremo, ter mikrokontroler kot v članku.
Kaj lahko izbran takt uC upliva na dejansko dolžino periode ter pulza?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Član
Član



Pridružen-a: Sre 03 Mar 2004 21:35
Prispevkov: 563
Aktiv.: 2.38
Kraj: Ljubljana

PrispevekObjavljeno: Tor Dec 15, 2009 10:48 pm    Naslov sporočila:   Odgovori s citatom

Kako pa imaš nastavljene Fuse bite?
Če se prav spomnim M8515 deluje tovarniško z internim oscilatorjem!
Za test daj eno ledico da ti utripa s sekundnim intervalom in boš videl ali ti M8515 deluje s takotm ki si ga nastavil ali pa z notranjo uro.
Vlado
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fičfirič
Član
Član



Pridružen-a: Ned 08 Nov 2009 22:20
Prispevkov: 27
Aktiv.: 0.14
Kraj: idrija

PrispevekObjavljeno: Sre Dec 16, 2009 12:19 am    Naslov sporočila:   Odgovori s citatom

aha sem že bližje Very Happy ugotovil sem namreč da imajo uporabljene žičke slab stik, oziroma kaže kot da imajo ogromno upornost. Uporabljene so bile žičke ki jih kupiš za vtikanje v protobord (nič jasno).Tako da zdaj se vsaj nekaj dogaja....čeprav še nič uporabnega (motorček trza, ali ga zabija v skrajno lego).

Sem pa ugotovil da uporabljena frekvenca upliva tudi na to funkcijo. Če frekvenco razpolovim, upočasni tudi utripanje.
Ne razumem čisto te odvisnosti frekvence od hitrosti programa. Pr kaki hitrosti potem naprimer ukaz WAIT 1, resnično traja 1 sekundo?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jurem
Član
Član



Pridružen-a: Tor 02 Dec 2003 15:53
Prispevkov: 408
Aktiv.: 1.72
Kraj: Ljubljana

PrispevekObjavljeno: Sre Dec 16, 2009 12:54 am    Naslov sporočila:   Odgovori s citatom

fičfirič je napisal/a:

Sem pa ugotovil da uporabljena frekvenca upliva tudi na to funkcijo. Če frekvenco razpolovim, upočasni tudi utripanje.
Ne razumem čisto te odvisnosti frekvence od hitrosti programa. Pr kaki hitrosti potem naprimer ukaz WAIT 1, resnično traja 1 sekundo?


Drži! Zato je treba z ukazom $crystal definirati frekvenco oscilatorja, da bo program pravilno preračunal delovanje. Wait 1 zelo redko traja resnično 1 sekundo! Za 1 sekundni takt bo potrebno uporabiti timer. Če si bil na tečaju, je to program 7.

Lp
Jure
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 -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
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: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group