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 

Attiny2313 in modelarski servo motor
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
start
Član
Član



Pridružen-a: Sob 06 Sep 2008 22:59
Prispevkov: 2392
Aktiv.: 12.58
Kraj: Eindhoven, Nizozemska

PrispevekObjavljeno: Sre Apr 20, 2011 8:03 pm    Naslov sporočila:  Attiny2313 in modelarski servo motor Odgovori s citatom

Pozdravljeni!

Izdelujem maketo elektronskega krmila za kajak.
Sem iz lesa naredil maketo, s modelarskim servo motorjem.
Za krmiljenje serva bom uporabil mikrokontroler Attiny2313.
Stvar deluje tako:
-Servo ima 3 pozicije (-45°, 0°, 45°)
-Imamo dve tipki, T1 (levo), T2 (desno)
-Ce ni pritisnjena nobena izmed tipk, je servo v poziciji 0°
-Ce je pritisnjena tipka levo, se servo premakne iz 0° na -45°
-Ce je pritisnjena tipka desno, se servo premakne iz 0° na 45°

Spisal sem program in Vas prosim za nekaj navodil in nasvetov:
-Ali je program pravilno napisan?
-Mogoce kaksnen komenar, nasvet (to je moj prvi samostojni program)

Tudi shemo sem zrisal in tudi tukaj vas prosim za majhno pomoc:
-Je vse pravilno?
-Skrbi me tisti kristal ali mora biti nujno tam?

Prvotno sem program spisal za uC Mega8, tam nisem imel nobenega zunanjega kristala.

Program:

    $regfile = "Attiny2313.dat"

    Config Portd.0 = Input 'tipka desno
    Config Portd.1 = Input 'tipka levo

    Config Servos = 1 , Servo1 = Portd.2 , Reload = 10
    Config Portd.2 = Output 'servo signal

    Enable Interrupts

    Tipka_desno Alias Portd.1 'Preimenovana tipka v Tipka Desno
    Tipka_levo Alias Portd.0 'Preimenovana tipka v Tipka Levo
    Servo_motor Alias Portd.3 'Preimenovanje v Servo



    Do

    If Tipka_desno = 1 And Tipka_levo = 1 Then Servo(1) = 40

    If Tipka_desno = 0 Then Servo(1) = 80

    If Tipka_levo = 0 Then Servo(1) = 120


    Loop




Shema je v priponki.
P.S. potebujem samo 3 pine, ostale sem dal, ce bom kdaj stvar nadgrajeval.
Sem hotel uporabiti manjsi kontroler Attiny13, vendar mi pise da ima premalo SRAMa...

Hvala!



Shema.jpg
 Opis:
 Velikost datoteke:  102.5 KB
 Pogledana:  39 krat

Shema.jpg



_________________
Lep pozdrav!

Aljaž T.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Obelix
Član
Član



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

PrispevekObjavljeno: Čet Apr 21, 2011 8:39 am    Naslov sporočila:   Odgovori s citatom

Kristal ni nujen. S primerno nastavitvijo "fuse-ov" aktiviraš interni oscilator.

LpA
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.04
Kraj: Dragomer

PrispevekObjavljeno: Čet Apr 21, 2011 8:43 am    Naslov sporočila:   Odgovori s citatom

Svoje čase sem krmilil servo motorje brez uporabe servo ukaza, z timerjem, zahtevno a je šlo. Ne vprašaj me, kje to imam, ker je tega davno.
Servo ukazi so zame novi in izgleda prijazni za uporabo.
Če so servo ukazi v tvojem programu v redu, pa gotovo ni odtipavanje tipk.
Tipke morajo biti deFinirane kot pind.o in ne portd.0

No morda malo neumestno vprašanje: kako pa nameravaš pritiskati na tipke, ko bo kajak v vodi?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
start
Član
Član



Pridružen-a: Sob 06 Sep 2008 22:59
Prispevkov: 2392
Aktiv.: 12.58
Kraj: Eindhoven, Nizozemska

PrispevekObjavljeno: Čet Apr 21, 2011 6:07 pm    Naslov sporočila:   Odgovori s citatom

@vilko Hvala!
Bom popravil program.

Kako bom tipke uporabljal?
Tipke pridejo druge, sedaj delam zadevo le za maketo. Za v kajak, pa bom naredil drugo tiskanino, kjer ne bo dodatnih (nepoterbnih pinov), tipke pridejo vodotesne.
Vezje bo spravljeno v vodotesnjeno ohisje.

Krmilo, je v bistvu le ena palcka, ki se jo premika levo in desno. Torej, bodo tipke postavljene ob palcki, tako da bos krmilo (namesto 6cm v vsako stran) premaknil cca 5mm v eno ali drugo stran in s tem sklenil tipko in obrnil krmilo...
Upam da sem vspel kaj pojasniti. Bom s slikami vec povedal...

Sem popravil tiskanino.

Kristal sem pustil gor, ga ne bom prilotal, ce ga bom potreboval ga bom ze namestil...
Manjkala sta mi upor in kondenzator med resetom in VCC in drugi med resetom in GND...
Tudi tiskanina je zrisana.

Vidi kdo se kaksno napako kje?

Hvala!



Shema popravljena.jpg
 Opis:
 Velikost datoteke:  129.47 KB
 Pogledana:  4 krat

Shema popravljena.jpg



Tiskanina.jpg
 Opis:
 Velikost datoteke:  147.28 KB
 Pogledana:  2 krat

Tiskanina.jpg



_________________
Lep pozdrav!

Aljaž T.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.07
Kraj: KOPER

PrispevekObjavljeno: Čet Apr 21, 2011 6:23 pm    Naslov sporočila:   Odgovori s citatom

Smiselno bi bilo na to ploščico dodati tudi napetostni stabilizator 5V s pripadajočimi kondenzatorji. Pa tudi eno diodo 1n4007 pred njim kot zaščito proti narobe obrnjeni polariteti.
_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
start
Član
Član



Pridružen-a: Sob 06 Sep 2008 22:59
Prispevkov: 2392
Aktiv.: 12.58
Kraj: Eindhoven, Nizozemska

PrispevekObjavljeno: Čet Apr 21, 2011 6:26 pm    Naslov sporočila:   Odgovori s citatom

Sem razmisljal tudi v tej smeri. Mogoce bi v postev prisla le dioda 1N400X. Ker za stabilizacijo oz napajanje pride Step down vezje Arrow http://www.elektronik.si/phpBB2/viewtopic.php?t=25610
Vendar moram pogledati ali bo servo deloval na 4.3V (0.7V je na diode,ne?)

_________________
Lep pozdrav!

Aljaž T.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.07
Kraj: KOPER

PrispevekObjavljeno: Čet Apr 21, 2011 6:52 pm    Naslov sporočila:   Odgovori s citatom

Diodo daj pred step down nato narisana elektronika . Torej sponka -> 1N400x -> Attiny 2313 in Servo motorček.
_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
start
Član
Član



Pridružen-a: Sob 06 Sep 2008 22:59
Prispevkov: 2392
Aktiv.: 12.58
Kraj: Eindhoven, Nizozemska

PrispevekObjavljeno: Čet Apr 21, 2011 7:04 pm    Naslov sporočila:   Odgovori s citatom

rudiP je napisal/a:
Diodo daj pred step down nato narisana elektronika . Torej sponka -> 1N400x -> Attiny 2313 in Servo motorček.

Bom tako naredil kot si predlagal.
Hvala.

Samo pri maketi bo vse OK, saj servo ne bo povlekel vec kot 150mA.
Servo za v kajak pa bo bistveno mocnejsi (19,2kg do 31kg), tako bo tekel tok (upam) nekje 800mA-1.2A...

_________________
Lep pozdrav!

Aljaž T.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
rudiP
Član
Član



Pridružen-a: Tor 07 Avg 2007 15:30
Prispevkov: 1234
Aktiv.: 6.07
Kraj: KOPER

PrispevekObjavljeno: Čet Apr 21, 2011 7:15 pm    Naslov sporočila:   Odgovori s citatom

rudiP je napisal/a:
Diodo daj pred step down nato narisana elektronika . Torej sponka -> 1N400x -> Attiny 2313 in Servo motorček.


Pravilno je: Torej sponka -> 1N400x -> step down na 5V -> Attiny 2313 in Servo motorček.


Za večje tokove pa dodaš še tranzistor ali Mosfet.

_________________
Lep pozdrav iz Kopra Rudi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
David2204
Član
Član



Pridružen-a: Pon 03 Nov 2008 0:01
Prispevkov: 997
Aktiv.: 5.30
Kraj: Ljubljana - Nova Gorica

PrispevekObjavljeno: Čet Apr 21, 2011 10:02 pm    Naslov sporočila:   Odgovori s citatom

rudiP je napisal/a:
Za večje tokove pa dodaš še tranzistor ali Mosfet.

Saj nočem biti pikolovski, ampak MOSFET je tranzistor. En izmed mnogih tipov.
Kot "tranzistor" mislim da imaš v mislih bipolarnega (NPN ali PNP). Imam prav? Think
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
start
Član
Član



Pridružen-a: Sob 06 Sep 2008 22:59
Prispevkov: 2392
Aktiv.: 12.58
Kraj: Eindhoven, Nizozemska

PrispevekObjavljeno: Čet Apr 21, 2011 10:30 pm    Naslov sporočila:   Odgovori s citatom

vilko je napisal/a:

Tipke morajo biti deFinirane kot pind.o in ne portd.0


Smem vprasati zakaj mora tam pisati pind.0 in ne port?
Kaj s portom definiramo, komplet od 0-7 portov a s pinom pa samo en pin, imam prav?

_________________
Lep pozdrav!

Aljaž T.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.04
Kraj: Dragomer

PrispevekObjavljeno: Pet Apr 22, 2011 6:45 am    Naslov sporočila:   Odgovori s citatom

start je napisal/a:
vilko je napisal/a:

Tipke morajo biti deFinirane kot pind.o in ne portd.0


Smem vprasati zakaj mora tam pisati pind.0 in ne port?
Kaj s portom definiramo, komplet od 0-7 portov a s pinom pa samo en pin, imam prav?


Ne. Enostavno postavljeno je tako, da z portd.0 postavljaš vrednosti, s kateremi krmiliš pin na izhodu, no lahko tudi povprašaš, kako si ga krmilil. Če pa hočeš prebrati vrednost pina, ki je vsiljena mikrokrmilniku od zunaj, potem moraš to nasloviti z pind.0
Primer:
Na pin imaš preko zaščitnega upora 300E priključeno kombinacijo tipka na maso in upor 10k na plus.

Krmiliš portd.0 = 1 - pin postaviš na 5V
Potem pritisneš in držiš tipko, pin forsiraš na 0V
bit = portd.0 bo še vedno dobil 1, ki si jo dal v portd.0
bit = pind.0 pa boš odčital dejanski potencial na pinu in boš dobil 0.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
start
Član
Član



Pridružen-a: Sob 06 Sep 2008 22:59
Prispevkov: 2392
Aktiv.: 12.58
Kraj: Eindhoven, Nizozemska

PrispevekObjavljeno: Pet Apr 22, 2011 7:17 am    Naslov sporočila:   Odgovori s citatom

Hvala za izcrpen odgovor.
Sem razumel. Smile

Se nekaj me zanima:
Ker kristala ne bom potreboval, mi je nekdo omenil da se moram igrati s fuse biti in bom tako vklopil notranjega...
Kaj to se nardi tako, da deklariram frekvenco (recimo 4000000) takoj pod tistim ukazom, kjer dolocim kontroler?

_________________
Lep pozdrav!

Aljaž T.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
žrepko
Član
Član



Pridružen-a: Tor 23 Mar 2010 20:12
Prispevkov: 700
Aktiv.: 4.08
Kraj: Ptuj-Maribor

PrispevekObjavljeno: Pet Apr 22, 2011 7:45 am    Naslov sporočila:   Odgovori s citatom

Uporabi FUSE CALCULATOR .

Sicer ti v datasheetu vse lepo nazorno piše in čaka, da prebereš. Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3351
Aktiv.: 15.04
Kraj: Dragomer

PrispevekObjavljeno: Pet Apr 22, 2011 2:32 pm    Naslov sporočila:   Odgovori s citatom

start je napisal/a:
Hvala za izcrpen odgovor.
Sem razumel. Smile

Se nekaj me zanima:
Ker kristala ne bom potreboval, mi je nekdo omenil da se moram igrati s fuse biti in bom tako vklopil notranjega...
Kaj to se nardi tako, da deklariram frekvenco (recimo 4000000) takoj pod tistim ukazom, kjer dolocim kontroler?


Običajno ima program, ki upravlja pretok programa iz PC-a v mikro, več zavihkov.
Eden je za polnjenje flash pomnilnika, programa, ta je najobičajnejši.
Drugi je za polnjenje (in branje) EEPROM-a, kjer lahko za mikro vpišeš trajne podatke. Običajno se ta briše pri polnnjenu programa v flash, lahko pa do brisanje prepoveš in
Tretji zavihek ti pokaže stanje FUSE AND LOCK bitov v mikrokrmilniku, kjer med drugim določiš, kateri oscilator poganja mikro. Nič ti ne pomaga, če imaš kristal, v fuse and lock bitih pa imaš specificiran 8 MHz interni oscilator. Mikro bo delal z 8 Mhz.

Je pa pri tem potrebno paziti. Je razlika med externim oscilatorjem in externim kristalom. Če pomotoma klikneš na externi oscilator, mikro brez eksternegaoscilatorja ne bo delal, niti ga ne boš brez tega mogel popraviti fuse bite.
Previdno torrej
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 -> Elektronika Č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: 70 dni


Powered by phpBB © 2001, 2005 phpBB Group