Megválaszolatlan hozzászólások | Aktív témák Pontos idő: csüt. márc. 28, 2024 11:10



Hozzászólás a témához  [ 281 hozzászólás ]  Oldal Előző  1, 2, 3, 4, 5, 6  Következő
AVR kérdések (ATMEGA) 
Szerző Üzenet
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
MI az RSTDISBL?


kedd aug. 01, 2006 9:16
Profil Privát üzenet küldése Honlap
ezüst tag

Csatlakozott: szomb. máj. 27, 2006 21:39
Hozzászólások: 36
Hozzászólás 
gemo írta:
Egy elpusztúlt attiny2313 lett az eredmény...
Fel lehet ébreszteni az elprogramozott attiny2313-at???


Valószínűleg "external oscillator" üzemmódba kapcsoltad, azaz külső órajelet vár a uC. Próbálj meg külső négyszögjelet (pl. 1MHz) vezetni az órajel bemenetre, és ezalatt konfiguráld "kristáyoszcillátor" üzemmódba.
Ha viszont az RSTDISBL bitet állítottad át, akkor már csak egy práhuzamos programozóval lehet visszaállítani... :(


kedd aug. 01, 2006 8:54
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Majd megnézem az adatlapot, de tílleg vigyázni kell mert ki lehet zárni magadat a chip-ből. És utána már csak valami párhuzamos programozó hozza helyre...


kedd aug. 01, 2006 8:22
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: hétf. júl. 31, 2006 10:13
Hozzászólások: 4
Hozzászólás 
Egy elpusztúlt attiny2313 lett az eredmény...

Pony proggal programoztam, előfordulhat hogy ez negáltan kezeli a FUSE-biteket...

Ezt olvastam ki egy működő attiny2313-ból:
1 CKDIV8
0 CKOUT
0 SUT1
1 SUT0
1 CKSEL3
0 CKSEL2
1 CKSEL1
1 CKSEL0

ha ez negált akkor 01 10 0100

Most akkor mit kellene beállítanom a 4MHz külső kvarcomhoz????

Fel lehet ébreszteni az elprogramozott attiny2313-at???


kedd aug. 01, 2006 7:19
Profil Privát üzenet küldése
vas-tag

Csatlakozott: hétf. júl. 31, 2006 10:13
Hozzászólások: 4
Hozzászólás 
Köszi!

Este ki is próbálom, és megírom az eredményt!

Gemo :lol:


hétf. júl. 31, 2006 10:45
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
winavr-hez nemtom pontosan milyen égetőt adnak, mert én ponyprog-ot használom, cimbi meg az avrdude-t (Linux)
Ez utóbbinál a konfig fájlban kell asszem megadni
hogy FUSE 010000010010110 stb.... (ez csak egy példa volt)
de mintha parancssorból is kiadható lenne.

A winavr saját égetőjélben nem tom hogy kell, nézd meg a doksiban.

Ja és vigyázz, mert valamelyik égetúő a CKSEL biteket (ami neked kell) fordítva (negáltan) jelöli...


hétf. júl. 31, 2006 10:41
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: hétf. júl. 31, 2006 10:13
Hozzászólások: 4
Hozzászólás 
WinAVR-t használok, ebben hol lehet a FUSE-biteket macerálni?


hétf. júl. 31, 2006 10:35
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Nézd meg a FUSE biteket, hogy nem-e a belső 1MHz-es RC oszcillátoráról jár-e a cucc


hétf. júl. 31, 2006 10:30
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: hétf. júl. 31, 2006 10:13
Hozzászólások: 4
Hozzászólás 
Hali!

Attiny2313 programozgatok, eddigi projektjeimnél az időzítések nem voltak túlságosan lényegesek, de most egy rtc-t kellene írnom, aminél a pontosság azért lényeg lenne :D
A probléma az, hogy hiába 4MHZ kristályt használok úgy tünik mintha csak 1MHz lenne, ami azért elég nagy gáz...
Itt a program részlet ami most jól működik, de a számításaim szerint nem szabadna jól működnie... valaki megmondaná, hogy mit számoltam el????? Vagy a belső órajel kavar be valamit?

#define TICKCOUNT 3700
ISR(TIMER0_OVF_vect)
{
i++;
if (i == TICKCOUNT)
{
ss++;
if (ss == 60)
{
ss = 0;
mm++;
if (mm == 60)
{
mm = 0;
hh++;
if (hh == 24)
hh = 0;
}
}
}
}

void init_clock(void)
{
cli();
TCCR0B |= 1 << CS00;
TIMSK |= (1 << TOIE0);
sei();
return;
}

A válaszokat előre is köszönöm.
Gemo


hétf. júl. 31, 2006 10:25
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Köszi!


csüt. júl. 13, 2006 22:37
Profil Privát üzenet küldése Honlap
platina tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 518
Tartózkodási hely: BP.XI
Hozzászólás 
Ros-Co. írta:
Bocsánat hogy egy valószínűleg elhangzott kérdéssel állok elő:

Szeretnék AT90S2313-ra készült kódot Attiny2313-on futtatni. A kódban semmilyen változtatás nem lehetséges, csak a bináris fájl van meg.

A fuse bitek megfelelő beállításával lehetséges a dolog??? (vissza lehet kapcsolni 2313 módba?)

Ha nem, esetleg disassemblerrel vissza lehetne fejteni a kódot, de ez véleményem szerint meg nem érné meg.

A 90S2313-at már nem gyártják. Gondolom másnak is felmerült a probléma.


Persze kompatibilis a tok, bele lehet égetni.
Amire figyelni kell, ha programozod, hogy a ki kell kapcsolni valami conf. bitet ami a külső orajelet leosztja 8-al asszem CKDIV8(disable). Nem kell visszakapcsolni 2313 modba mert nincs ilyen funkciója. Legalábbis a Pony progban nincs. Bascommal is lehet égetni de csak az 1.11.8-al?
De Róbert a avr.tavir.hu -n segít neked.

üdv


A hozzászólást 1 alkalommal szerkesztették, utoljára gerry pén. júl. 14, 2006 5:53-kor.



csüt. júl. 13, 2006 19:53
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Bocsánat hogy egy valószínűleg elhangzott kérdéssel állok elő:

Szeretnék AT90S2313-ra készült kódot Attiny2313-on futtatni. A kódban semmilyen változtatás nem lehetséges, csak a bináris fájl van meg.

A fuse bitek megfelelő beállításával lehetséges a dolog??? (vissza lehet kapcsolni 2313 módba?)

Ha nem, esetleg disassemblerrel vissza lehetne fejteni a kódot, de ez véleményem szerint meg nem érné meg.

A 90S2313-at már nem gyártják. Gondolom másnak is felmerült a probléma.


csüt. júl. 13, 2006 16:46
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3691
Tartózkodási hely: Ada
Hozzászólás 
albinolynx írta:
Közben Watt már tájékoztatott a PIC-es fórumban, hogy ezek mikrokontrollerek és nem PIC-ec. Én meg csak átmásoltam a postom. Guglizok egyet, köszi!
A mikrokontroller egy gyűjtőnév a memóriával, perifériákkal, stb. egy chipbe épített processzorokra. Ezen belül van a PIC, AVR, ARM, 8051, stb.


csüt. júl. 13, 2006 14:13
Profil Privát üzenet küldése Honlap
arany tag

Csatlakozott: szomb. júl. 01, 2006 18:09
Hozzászólások: 146
Hozzászólás 
Magyar oldalon nem találtam, ellenben külföldin ezt:

link


Mi a véleményetek róla?


csüt. júl. 13, 2006 14:10
Profil Privát üzenet küldése
arany tag

Csatlakozott: szomb. júl. 01, 2006 18:09
Hozzászólások: 146
Hozzászólás 
klavi írta:
albinolynx írta:
...
Adott három PIC: AT89C2051, AT89C1051, AT89C4051
...

Ezzel elárultad magad, látszik hogy fogalomzavarban szendvedsz...
A Microchip gyárt PIC mikrokontrollereket, az ATMEL pedig (többek között) AVR és 8051 alapú kontrollereket...
(Az általad említett uC-k 8051 alapúak)

A Google-ba írd be: "AT89C2051 programozó", és már válogathatsz is a jobbnál jobb kapcsolásokban...

Üdv:
Klavi


Közben Watt már tájékoztatott a PIC-es fórumban, hogy ezek mikrokontrollerek és nem PIC-ec. Én meg csak átmásoltam a postom. Guglizok egyet, köszi!


csüt. júl. 13, 2006 13:43
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szomb. máj. 27, 2006 21:39
Hozzászólások: 36
Hozzászólás 
albinolynx írta:
...
Adott három PIC: AT89C2051, AT89C1051, AT89C4051
...

Ezzel elárultad magad, látszik hogy fogalomzavarban szendvedsz...
A Microchip gyárt PIC mikrokontrollereket, az ATMEL pedig (többek között) AVR és 8051 alapú kontrollereket...
(Az általad említett uC-k 8051 alapúak)

A Google-ba írd be: "AT89C2051 programozó", és már válogathatsz is a jobbnál jobb kapcsolásokban...

Üdv:
Klavi


csüt. júl. 13, 2006 12:26
Profil Privát üzenet küldése
arany tag

Csatlakozott: szomb. júl. 01, 2006 18:09
Hozzászólások: 146
Hozzászólás 
Az előbb rossz topikba küldtem a postot. Egy az egyben átmásolom ide:

Sziasztok!


Bocsánat, hogy csak így egyszerűen bepofátlankodom a topikba! Adott három PIC: AT89C2051, AT89C1051, AT89C4051
Van egy .ASM, .BIN, .HEX file-om. Az egyik PIC-be amelyiket sikerül beszerezni, kellene beleégetnem a programot.

Szeretném a segítségeteket kérni egy olyan programozó kiválasztásában, ami egyszerű, könnyen utánépíthető (com portra). Illetve ajánljatok windowsos programot, amivel végre tudom hajtani a beégetést.

Sajnálom, hogy csak ilyen felületesen érek rá foglalkozni a témával! Nagyon kevés a szabadidőm.


csüt. júl. 13, 2006 11:31
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
up


csüt. júl. 13, 2006 10:29
Profil Privát üzenet küldése Honlap
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
Keresni kell vadul.Cben progizható kontrollerről van szó,és léteznie kell igen primitív ascii C megvalósításnak.(pl a mikrokontrolleren futó mini linuxokban..csakhát aki egy kernelben eligazodik..:))
De a serial-tcp,mint olyan,alapból egyáltalán nem olyan bonyolult,szinte egy billentyűzet illesztése komolyabb.
Pl egyáltalán nincs semmiféle "kézfogás" vagy időzítés a nagy hibatűrés miatt,nincs "időkorlát",és nem köteles a net-en lógó végpont a csomagokat "átvenni" vagy valamiképp mindet nyugtázni.Ami elvész,az elveszett(fogadó nem reagál rá),ismételgetik,vagy nem,előbb utóbb hibára fut a tuloldali gép,tehát nem kell szenvedni vele,hogy mi is tudjunk TCP "server" lenni(lehessen a portjainkra kapcsolódni),elég ha csak hostként tudunk a legegyszerűbb csomagokra reagálni egyetlen TCP kapcsolat erejéig,egyetlen tuloldali géppel,egyetlen porton.


vas. jún. 04, 2006 20:17
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: kedd márc. 29, 2005 19:48
Hozzászólások: 73
Hozzászólás gprs net
Hello!

Én is akartam ilyet csinálni, s töb megoldás is van a könnyűtől a nagyon nehézig :)

1. megoldás: lehet venni belső IP stack-kel rendelkező gprs modemet kb 25-30 ezer forintért

2. Rendelsz egy 4000 Forintos IC-t ami megoldja az IP stacket, ilyet akartam én is rendelni de valami arab országból jött volna, s 8 ezer forint szállítási költséggel :) a nevére nem emlékszem de ha gondolod megkeresem...

3. Te magad leprogramozod a PPP protokollt, hisz ezzel mennek a gprs netek...

solder


szomb. jún. 03, 2006 21:38
Profil Privát üzenet küldése ICQ
arany tag

Csatlakozott: kedd szept. 07, 2004 14:53
Hozzászólások: 147
Hozzászólás ATmel Net
Én ATMega32-vel dolgoztam eddig.
Szerintetek hogyan lehetne megoldani, hogy mobil telefon hálóztaton keresztül az interneten kommunikáljon egy atmel.

Gondolom valami gprs modul kellene. A pannonnak van olyan kártyája, ami nem előfizetéses és csak az adatforgalomért kell fizetni. Nos egy szerveren megjelenő file-t kellene olvasnia a kontrollernek, amiben paracsokat adok és azt végrehajtja. Az eredményeket pedig egy másik file-ba felteszi a szerverre. Tehát egyszerű ftp-t kellene megoldania.

Hogy leghetne megoldani?


pén. jún. 02, 2006 13:53
Profil Privát üzenet küldése
vas-tag

Csatlakozott: szomb. ápr. 15, 2006 15:23
Hozzászólások: 3
Hozzászólás 
Nagyon köszönöm,már működik is a Tiny.

Üdv:Pepita


hétf. máj. 29, 2006 19:40
Profil Privát üzenet küldése
vas-tag

Csatlakozott: hétf. dec. 19, 2005 14:20
Hozzászólások: 9
Tartózkodási hely: Budapest
Hozzászólás 
Tiny és a 90S közt a következőt kell beállítani:
DivClock/8 - Disable
Órajelet kell még kiválasztani.


Felülről a Tiny kompatibilis a 90S2313-l

Bascom AVR programozási kézikönyv, minták:
http://avr.tavir.hu


szomb. máj. 27, 2006 7:16
Profil Privát üzenet küldése Honlap
vas-tag

Csatlakozott: szomb. ápr. 15, 2006 15:23
Hozzászólások: 3
Hozzászólás 
Sziasztok!

90s2313 helyett szeretnék ATTINY2313-at használni.Tudna valaki segíteni hogyan kell beálítani a Ponyprogot,hogy működjön a dolog?
Kezdő vagyok,érthetően kéne,pl melyik bitet mire állítsam,lock1,lock2,ckout,cksel stb.
Előre is köszönöm.

Üdv:Pepita


vas. máj. 07, 2006 7:08
Profil Privát üzenet küldése
platina tag

Csatlakozott: szomb. jan. 01, 2005 11:21
Hozzászólások: 857
Hozzászólás 
Sztem építs sima STK200-as programozót, az mindennel hajlandó együttműködni.
szerk: szoftverekre gondoltam


csüt. feb. 09, 2006 11:48
Profil Privát üzenet küldése
arany tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 194
Hozzászólás 
Üdv!

Tudna nekem segíteni vki. Egy avr programozót szeretnék építeni
nézegettem a lancos oldalát egész jó, csak nem igazán értem, hogy mi a különbség az AVR ISP with SI-Prog és az STK200/300 között?
csupán ennyi?:
You can connect directly to the target system (ISP) through the 10 pin connector, alternatively you can connect a PonyProg adapter card for AVR, AT89S, SPI eeproms, microwire eeproms and feed external power to the device.

Esetleg vmi mást?
AVR ekbe tájékozatlan vagyok. (egyenlőre)

üdv sonar


csüt. feb. 09, 2006 11:20
Profil Privát üzenet küldése
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
Idézet:
Az első megszakításnál hogyan mondjam meg, hogy ne növelje a változót? Erre van valamilyen flag?

Persze, hogy nincs, de Te majd csinálsz egyet nem? :) Amúgy jó érzékeled a dolgot. Kicsit trükkös, mert lehet, hogy egy nem is elég, de majd kialakul..


szer. feb. 01, 2006 17:58
Profil Privát üzenet küldése Honlap
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Hopsza, tényleg felcseréltem.... Az első megszakításnál hogyan mondjam meg, hogy ne növelje a változót? Erre van valamilyen flag?

No lassan ki is fogom prószálni a dolgot...


szer. feb. 01, 2006 16:05
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
A rajz érthető, de lehet, hogy valamit elnéztél, és egy lehetőséget pedig nem vizsgáltál.

Amit elnéztél, az a második képletedben a régi és az új számlálóérték felcserélése. Szerintem a régit kell kivonni:
mért_érték = Tszáml - t(régi) + T(új).
A t(régi) értékét(vagy akár a [Tszáml - T(régi)] értéket) akkor kell letárolni, amikor a Timer megszakítást okoz.

Első megszakításkor még nem kell növelni a megszakításokat számláló változó értékét, csak a másodiktól.

És akkor itt van az az előforduló lehetőség amit nem említettél, hogy a mérendő impulzus első fele a t3 kor érkezik, a következő imp. pedig a t6-kor, ami nincs a rajzodon és a második timer túlcsordulás után jönne.
Nem kell azt vizsgálni, hogy a t(régi) kisebb, vagy nagyobb a t(új)-hoz képest, mert ez nem jó megközelítés, mert akár lehet nagyobb is. Csak azt kell vizsgálni a 3 különböző lehetőségnél, hogy volt e megszakítás.

Ha nem volt: mért_érték = t(új)- t(régi)

Ha volt : mért_érték = Tszáml * Timer_Int + (Tszáml - t(régi)) + T(új)
Ez azért elegendő, mert ha csak egy megszakítás volt, akkor a Timer_int = 0 (ez számolja az egynél több megszakításokat), és ekkor az első szorzás eredménye is 0, ami nem változtatja az eredményt és a második képleted marad(az is javítva)


szer. feb. 01, 2006 15:54
Profil Privát üzenet küldése Honlap
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Köszi! Már jártam ott, de akkor még csak pár mondat volt a leírás. A kütyü tílleg egy kicsit túlegyszerűsít, de legalább hatékonyan használja a proccot...

Én is vmi ilyesmit szeretnék.

Egy kicsit rajzoltam a számláló kiolvasásával kapcsolatban:
Kép

Remélem érthető a rajz. Jó az elgondolásom? Amikor akkor jönnek az impulzusaim amikor a számláló inkrementál, akkor csak kivonom a régi értékből az újat. Ha észreveszem, hogy az új érték kisebb mint a régi, akkor a számláló maximális értékéből kivonom az újat, és ahhoz adom a régit.


szer. feb. 01, 2006 13:18
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
Ros-Co
Megkerestem neked a motor vezérlő leírását a Lada oldalon. Linkelni nem lehet, így éred el:
http://zsiguli.hu/
Ott: Cikkek/Gyújtásrendszerek
ez alatt: Gyújtás-elektronikák, teljes vezérlések/Motor Vezérlő Rendszer Működési leirás a gt.racing Motor Vezérlő rendszerhez

Ez egy igen nyers megoldás, de az elméleti megközelítésben sok hasznos dolgot lehet olvasni és a program is hozzáférhető!


szer. feb. 01, 2006 6:34
Profil Privát üzenet küldése Honlap
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
RosCo:Mielőtt teljesen szétoffoljuk a topicot :wink:
Ide less,kedvcsináló,hogy néz ki egy ilyen: http://maskmanoka.tar.hu/
És a cucc: http://www.mskar.org/DME/Motronic911.zip


szer. feb. 01, 2006 1:31
Profil Privát üzenet küldése
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
Ott sem vesznek fel ihajj mennyiséget pedig(de azt jó helyen)..megpróbálom előásni neked a file-kat.Mivel ezek töréspontok,köztük is van "élet",adott meredekséggel növekszik,csökken,vagy változatlan marad a gyújtás.
A mechanikus ketyerének ugye pont 1 vagy 2 "töréspontja" van,a vákuum meg egy rosszul közelítő görbe,valami csúnya parabolaszerű izé.
Mégis működnek a mechanikus előgyújtásszabályzók(úgy ahogy).A régi zsigákon még vákuum(terhelésfigyelés) sincs!,nem csoda,hogy zabál mint az állat.
Itt inkább a motorra optimalizálni az adatokat lesz kemény.
A "3d" muszáj,mert két paraméter van,a terhelés figyelembevétele nélkül pont annyit ér az egész,mint a régi zsiga.
De kár túlgondolni,hogy "juj 3d",simán 2 független számítás,ami megadja a végső eredményt,ezért hívják ezt "jellegmezőnek" ,mert szó szerint egy mező,egy 2 dimenziós tömb.A régi elektronikákban egy 128K epromban elfér az egész szóval nem lehet kismillió pont,talán még 64sem.
Mert ugye ez már 64*64 adat,és nem csak egy jellegmező van,hanem minimum 2,egy a gyújtásnak,egy a befecskendezés alapidejének.


kedd jan. 31, 2006 23:56
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Hm. Az igaz, hogy a mechanikus jószág eléggé lexarja hogy milyen vezérlést adsz neki, de azért az nagyon durva lenne hogy az (500)..10000-es
fordulatszám-tartományt cssk 64 részre osztanám. Ha több pont van, akkor meg szerkeszteni elég borzasztó...

A 3D görbét még nehezebb kézben tartani, mármit ábrázolás és real-time módosítás ügyében, ezért én minimális pontszámra törekednék, közte interpolációval (persze ezt sem szabad nagyon leegyszerűsíteni)

Turbósnál vigyázni kell ám nagy fordulaton is, mert tönkremehet a motor ha rossz helyen kapja a gyújtást. Persze ez akkor áll elő, ha a motor nagyon ki van hegyezve. A felhasználást ismerve nagyon ki lesz hegyezve.

A V12 szép jószág lehet, mondjuk ez annyira erős, hogy alapból (elektronika nélkül is) röhögve viszi az autót, és sosem fog tönkremenni.

Ha esetleg nem titkosak a táblázatok, szívesen tanulnék belőle, főleg hogy hogyan érdemes ábrázolni, és milyen felbontásban kell tárolni az értékeket. Úgy szeretném, hogy a legtöbb autóhoz felhasználható legyen. (az analóg modul cserélhető lesz) illetve a rengeteg eltérő jeladó-fogszám miatt vszínű hogy programozható előosztót is be ell rakni.

Az Eprom nem gond, vagy a belső EEPROM-ot fogom használni, vagy pedig később egy külső SPI buszos flash-t. Ez már ki is van próbálva.


kedd jan. 31, 2006 23:35
Profil Privát üzenet küldése Honlap
gyémánt tag

Csatlakozott: pén. jan. 28, 2005 20:39
Hozzászólások: 3683
Tartózkodási hely: Bp
Hozzászólás 
Gyakorlatilag szinte nincs szükség interpolációra,de két érték közt egy harmadikat egyszerű átlaggal képeznék.(A+B)/2,ahol az osztás egy jobbratolás.Ha negyedelek,akkor ugye a két eredeti érték,meg a köztes,azok közt képzek további 2értéket,már van 3köztes értékem.
A motorok alacsony fordulaton nagy nyomatékon kritikusak,amikor pörög "mint az állat",keveset számít,hogy 4500 vagy 4510 a fordulatszám.
Tehát inkább nem lineárisan kellene az értékeket elosztani,persze ez sem egyszerű és nagyban függ a motortól. (én a V12-t extrém esetben pörgetem 2500-3000 felett nyilván,99%ban 2000 alatt üzemel).
A táblázat viszont 2dimenziós,vákuum és röppsúly,tehát terhelés és fordulat!!
Vannak ilyen táblázataim még az ősidőből,de nagyobb motorokra csak.Van valahol egy dosos pascal progi is,ami ezeket a "domborzatokat" 3D grafikonra rajzolja.
Gyári vezérlések sima Epromban tartják az értékeket,újabban eepromban,egy 64k eeprom is valami komoly pénz..kuka alján fexik:)
Annyit még lehet,hogy az értéket primitíven tömöríteni,mint az adpcm,tehát egymás utáni értékek diferenciáját nézni.A fordulat mechanikai okokból nem változhat ms-ek alatt,mindig sorban kell az értékeket olvasni amúgyis.


kedd jan. 31, 2006 21:01
Profil Privát üzenet küldése
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Bocs, igazad van! A zárásszög nem egy fix idő, hanem szög érték... És ráadásul egy adott fordulat felett meg kell növelni, hogy a trafó elegendően fel tudjon mágneseződni.


Köszönöm hogy ilyen sokat segítetek, talán lesz ebből valami... Egy ős-példány még írtam régebben, pascal alatt, az az impulzusok frekijét már tudta mérni, és késleltetni is. De itt muszáj a timereket használni, nincs akkora nyers erő mint pl. egy 386-osban :)

A gyújtáshoz tartozik egy táblázat. Első körben egy 64*8 bitesre gondoltam. Tehát az 500...10000-es fordulattartományt ennyi részre osztanám (nem tudom elég-e) és a köztes részeket lineáris interpolációval számolja.
A táblázatot célszerűen az EEPROM-ban akarom letárolni.
A lineáris interpolációra egy baráto ajánlott egy jó algoritmust, ami megkerüli az osztás használatát...


kedd jan. 31, 2006 19:16
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
Idézet:
Lehet hogy nem volt teljesen érthető,

Ha nem, akkor sem benned van a hiba!
A zárásszög kérdést nem látom át teljesen, de valamit sejtek. Egyébként könnyebb vezérelni, mint mérni, ezt már biztosan látom... :)

Idézet:
Viszont a kimenet megint problémás, mert egy nullponthoz (nevezzük felső holtpontnak -ez persze nem igaz-) képest kellene késleltetni a kimenő impulzust. Erre egy másik 16 bites timert gondoltam felhasználni a célra. Az ATMEGA128-nak 2 db 8 bites és 2 db 16 bites timer-je van, ez jó lesz sztem. Persze ez nagyobb proccot feltételez, de ez abszolút nem gond, van belőle jópár.

Ez világos. Nem kell ám ide olyan nagy erő. Még egy 16F-es is elvinné. Láttam teljes megoldást a Lada baráti kör oldalon, ami 16F-el lett megépítve és allítólag működik. Az vákumot, injectort, gyújtást, lambdát stb. is vezérel... Nem is hinné az ember, mikre képesek ezek az IC-k! Még én is sokszor meglepődöm(mint jelenlegi projectemben is), hogy micsoda mennyiségű számítást tudnak gyakorlatilag egyidőben végrehajtani.

Idézet:
A késleletetést úgy gondoltam megoldani, hogy a számláló teker felfelé, és mindig nullázom, amikor bejön az impulzus, és az "output compare" regiszter pedig megkapja a késleltetéshez szükséges értéket.

Szerintem ez is okés..

Idézet:
Az a bajom, hogy a gyújtáshoz tartozik egy zárásszög is, tehát az lenne a jobb, ha egy nagyjából fix szélességű impulzust lehetne időben ide-oda tologatni, ez viszont két komparálási értéket feltételez.

No ez az amit nem értek teljesen, mert a zárásszög az egy arány. A teljes periódus idő viszont egyre csökken a fordulattal. :?: :idea:


kedd jan. 31, 2006 16:48
Profil Privát üzenet küldése Honlap
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Igen, pont azért tetszik, mert nem tudom, hogy még mit fog csinálni a procc, és a mérendő jel pontossága alapvetően fontos, különben minek csinálnám a gyújtásvezérlőt. Végül is hasonlót szeretnék,a mi te csináltál, csak te méred az impulzusokat, és egyéb paramétereket, emellett nekem még a kimeneten időzíteni is kell.

Viszont a kimenet megint problémás, mert egy nullponthoz (nevezzük felső holtpontnak -ez persze nem igaz-) képest kellene késleltetni a kimenő impulzust. Erre egy másik 16 bites timert gondoltam felhasználni a célra. Az ATMEGA128-nak 2 db 8 bites és 2 db 16 bites timer-je van, ez jó lesz sztem. Persze ez nagyobb proccot feltételez, de ez abszolút nem gond, van belőle jópár.

A késleletetést úgy gondoltam megoldani, hogy a számláló teker felfelé, és mindig nullázom, amikor bejön az impulzus, és az "output compare" regiszter pedig megkapja a késleltetéshez szükséges értéket.
Az a bajom, hogy a gyújtáshoz tartozik egy zárásszög is, tehát az lenne a jobb, ha egy nagyjából fix szélességű impulzust lehetne időben ide-oda tologatni, ez viszont két komparálási értéket feltételez. Ezt úgy gondoltam átrhidalni, hogy amikor megtörtént az első komparálás, hozzáadok még egy fix értéket a regiszter értékéhez, így újra meg tud hívódni az ocr megszakítás.

Lehet hogy nem volt teljesen érthető, de én még csak erősen ismerkedem az uC-jellegű programozással...


kedd jan. 31, 2006 13:12
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
Idézet:
Úgy nézem van ICP nevű bemenete az AVR-nek. (input capture)

Igen ez az lesz.

Idézet:
A 65536-tal való szorzás gondolom megoldható eltolással, ami jóval eccerűbb...

Sőt, mivel kerek bináris érték, ezért csak egy bájtba bele kell tenni a *Timer megszakításban számlált értéket és U bájtnak értelmezni, majd hozzácsapni alulra H-t és a L-t, ami a mérésből adódik és kész az érték 3 bájton. Gyakorlatilag nem végeztünk matematikai műveletet.
Persze a H és L bájtokat ki kell előtte számolni, ami vagy összeadásból, vagy kivonásból fog születni(ez a megszakítások és a mérendő impulzusok időbeli elhelyezkedésétől fog függni)

Idézet:
Jó az ötlet, én nulláztam volna.

Először én is ezt gondoltam jónak, de amikor más megszakítás lekezelése közben jött egy mérendő impulzus, akkor késtem a nullázással, ami hibás mérést okozott attól függően, hogy mennyire volt leterhelve a megszkítás kiszolgálással a PIC. Persze ennek is van megoldása, mert nem nullázni kell, hanem hozzáadni. De ekkor is lehetnek csúszások és egy csomót kell kalkulálni, hogy a hozzáadás közben, ill. az addig vezető programlépések közben mennyit számlált volna a Timer. Szóval ez felejtős. A mostani megoldáskor a megszakításkor harveresen tárolódik a Timer értéke, amit le kell tárolni és a következő értékhez képest számolni vele. Ekkor mindegy, hogy mikor kezeljük le a megszakítást, csak egy a lényeg, hogy a következő megszakítás előtt. Ez persze majdnem mindig teljesül, mert ha nem akkor azt a jelet nem lehet megmérni, vagy másnak a kárára lehet megmérni.


kedd jan. 31, 2006 11:54
Profil Privát üzenet küldése Honlap
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Hmm. Jó az ötlet, én nulláztam volna. De így valószínű gyorsabb. Úgy nézem van ICP nevű bemenete az AVR-nek. (input capture) A 65536-tal való szorzás gondolom megoldható eltolással, ami jóval eccerűbb...


kedd jan. 31, 2006 11:29
Profil Privát üzenet küldése Honlap
gyémánt tag
Avatar

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 3333
Tartózkodási hely: Új nick-em watt (pont nélkül)
Hozzászólás 
Idézet:
Ehhez szükségeltetik első körben egy kb. 10...350 Hz környéki jel pontos frekvenciájának ill/vagy periódusidejének mérése. Arra gondoltam, hogy a 16 bites számlálót használom. Az impulzus fel vagy lefutó élére megszakításból megállítom a számlálót, kiolvasom, majd nullázom, és így tovább.

Az a baj, hogy elég nagy a pontosságbeli különbség az alsó és a felső freki között, mivel Van erre valami megoldás? Arra gondoltam hogy a számláló előosztóját állítgatom. Jól gondoltam?


Nem pontosan értem cd334 elképzelését, de ez nem jelenti azt, hogy nem jó, ill. azt, hogy én most nem ugyanazt írom le.
Ugyan én PIC-ben oldottam meg több impulzus mérését, de az elv ugyanaz.
A jelet formázni-illeszteni kell és ha létezik a PIC-hez hasonló CCPx bemenete az ATM-nek, akkor arra kell vinni. Ez megszakításkor a hozzá rendelt számláló tartalmát beletölti a CCPx regisztereibe, ezért pontos.
A CCPx-hez rendelt Timer bemeneti frekvenciáját úgy kell meghatározni, hogy a megmérendő legkisebb időt is megfelelő felbontással tudja mérni. Ezt a felontást, azaz pontosságot mi határozzuk meg.
Ahogy írtad, ez olyan gondot vet fel, hogy hasszabb idők esetén a Timer túlcsordul, akár többször is. Erre a megoldás az, hogy a Timer is okozhat megszakítást túlcsorduláskor, amikor is egy számlálót növelünk. Kiértékelésnél(CCPx megszakításkor) ezzel a számlált értékkel szorzunk(Timer szélességével, 16bit esetén 65536-al), majd hozzáadjuk a bemért maradékot.
De hogy ne okozzon mérési hibát a megszakítás lekezelés késlekedése, a Timert soha nem kell lenullázni, hanem a különbségét kell venni az előző és a most mért Timer érték között. Itt bejön, hogy mi van akkor, ha éppen a túlcsordulás előtt és a túlcsordulás után jön a megszakító jel, de ezt már meghagyom nektek..


kedd jan. 31, 2006 9:36
Profil Privát üzenet küldése Honlap
ezüst tag

Csatlakozott: hétf. nov. 14, 2005 11:35
Hozzászólások: 36
Tartózkodási hely: Budapest
Hozzászólás 
Ros-Co. írta:
Az Atmel oldaláról letölthető a FLIP nevű égető szoftver. Mit tudni erről? Ha annyira "flexibilis" ahogy a neve mutatja, miért csak a 8051 alapú kontrollereket tudja? Állítólag ezzel lehet égetni az AT89C51SND (MP3 dekóderes) kontrollert... (remélem jól írtam a nevét, de úgy is tudjátok miről van szó.


Sajnos sem a FLIP-et sem a AT89C51SND-t nem ismerem, így érdemben nem tudok válaszolni rá.

Ros-Co.1 írta:
cd334:

Szeretnék atmega 8 vagy 16-os kontrollerrel gyújtást vezérelni.

Ehhez szükségeltetik első körben egy kb. 10...350 Hz környéki jel pontos frekvenciájának ill/vagy periódusidejének mérése. Arra gondoltam, hogy a 16 bites számlálót használom. Az impulzus fel vagy lefutó élére megszakításból megállítom a számlálót, kiolvasom, majd nullázom, és így tovább.

Az a baj, hogy elég nagy a pontosságbeli különbség az alsó és a felső freki között, mivel Van erre valami megoldás? Arra gondoltam hogy a számláló előosztóját állítgatom. Jól gondoltam?

Hány mexakítást lehet egyszerre használni? Mert valószínűleg más folyamatokat is időzíteni kell majd.


Jó az ötlet.
Én építenék egy kis smitt-triggert és a felfutó élek közti időt számolnám. Ugye a számlálók proci órajelével vagy bizonyos leosztott órajelről járathatóak. Járathatod nagy órejelről, de akkor számolnod kell, hogy hányszor futott körbe a számláló. Erre van interrupt. Bármennyi megszakítást használhatsz. Nincs korlátozva.

A számlálónál beizzítanám a tulcsordulást figyelő interruptot, és amikor tulcsordul megnövelnék egy változót. Én az egyik int lábra raknám a smitt-triggerről jövő bemenetet, majd mikor bejön egy int(felfutó vagy lefutó élre), akkor indítanám el a számlálót és a következő interruptnál kiolvasnám a változót és a számlálót és ebből számolnám ki a frekvenciát. A számlálónál az előosztót oda állítod, ahol Neked kényelmes. Én hasonló módszerrel csináltam meg a gitárhangolómat.

Az átlagolás sokat segít, lecsökkenti a mérési hibát.


kedd jan. 31, 2006 9:19
Profil Privát üzenet küldése ICQ
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Az átlagolás segít vaklamelyest? Tehát ha több impulzus periódusidejének átlagát számolnám? Talán akkor pontosabb lenne...


hétf. jan. 30, 2006 16:20
Profil Privát üzenet küldése Honlap
ezüst tag

Csatlakozott: hétf. nov. 14, 2005 11:35
Hozzászólások: 36
Tartózkodási hely: Budapest
Hozzászólás 
Ros-Co. írta:
Az Atmel oldaláról letölthető a FLIP nevű égető szoftver. Mit tudni erről? Ha annyira "flexibilis" ahogy a neve mutatja, miért csak a 8051 alapú kontrollereket tudja? Állítólag ezzel lehet égetni az AT89C51SND (MP3 dekóderes) kontrollert... (remélem jól írtam a nevét, de úgy is tudjátok miről van szó.


Sajnos sem a FLIP-et sem a AT89C51SND-t nem ismerem, így érdemben nem tudok válaszolni rá.

Ros-Co.1 írta:
cd334:

Szeretnék atmega 8 vagy 16-os kontrollerrel gyújtást vezérelni.

Ehhez szükségeltetik első körben egy kb. 10...350 Hz környéki jel pontos frekvenciájának ill/vagy periódusidejének mérése. Arra gondoltam, hogy a 16 bites számlálót használom. Az impulzus fel vagy lefutó élére megszakításból megállítom a számlálót, kiolvasom, majd nullázom, és így tovább.

Az a baj, hogy elég nagy a pontosságbeli különbség az alsó és a felső freki között, mivel Van erre valami megoldás? Arra gondoltam hogy a számláló előosztóját állítgatom. Jól gondoltam?

Hány mexakítást lehet egyszerre használni? Mert valószínűleg más folyamatokat is időzíteni kell majd.


Én építenék egy kis smitt-triggert és a felfutó élek közti időt számolnám.

Kiegészített válasz később.


A hozzászólást 1 alkalommal szerkesztették, utoljára cd334 kedd jan. 31, 2006 9:22-kor.



hétf. jan. 30, 2006 14:43
Profil Privát üzenet küldése ICQ
a fórum lelke
Avatar

Csatlakozott: hétf. nov. 08, 2004 20:03
Hozzászólások: 6046
Tartózkodási hely: Bp.
Hozzászólás 
Az Atmel oldaláról letölthető a FLIP nevű égető szoftver. Mit tudni erről? Ha annyira "flexibilis" ahogy a neve mutatja, miért csak a 8051 alapú kontrollereket tudja? Állítólag ezzel lehet égetni az AT89C51SND (MP3 dekóderes) kontrollert... (remélem jól írtam a nevét, de úgy is tudjátok miről van szó.

cd334:

Szeretnék atmega 8 vagy 16-os kontrollerrel gyújtást vezérelni.

Ehhez szükségeltetik első körben egy kb. 10...350 Hz környéki jel pontos frekvenciájának ill/vagy periódusidejének mérése. Arra gondoltam, hogy a 16 bites számlálót használom. Az impulzus fel vagy lefutó élére megszakításból megállítom a számlálót, kiolvasom, majd nullázom, és így tovább.

Az a baj, hogy elég nagy a pontosságbeli különbség az alsó és a felső freki között, mivel Van erre valami megoldás? Arra gondoltam hogy a számláló előosztóját állítgatom. Jól gondoltam?

Hány mexakítást lehet egyszerre használni? Mert valószínűleg más folyamatokat is időzíteni kell majd.


pén. jan. 27, 2006 23:22
Profil Privát üzenet küldése Honlap
ezüst tag

Csatlakozott: hétf. nov. 14, 2005 11:35
Hozzászólások: 36
Tartózkodási hely: Budapest
Hozzászólás WinAVR
Sziasztok!

Egy kis up!

Megjelent a régen várt WinAVR új verziója!
Letölthető a http://sourceforge.net/projects/winavr oldalról.

Ez a verzió már támogatja vágre az ATMega640, ATMega1280, ATMega1281 AVR-ket, ezen felül rengeteg ujdonság van benne.

Megjelent az AVRStudio 4.12(build 460)-hoz az SP1-es service pack(build 462). Letölthető az http://www.atmel.com/dyn/products/tools ... ol_id=2725 oldalról.

Ha bármi kérdésetek van bátran!


pén. jan. 27, 2006 10:27
Profil Privát üzenet küldése ICQ
arany tag
Avatar

Csatlakozott: csüt. jún. 10, 2004 14:17
Hozzászólások: 262
Tartózkodási hely: Kispest
Hozzászólás 
Hi all!

Hol lehet kapni AT Tiny13-at?
elkészült az első szoftverem, ki kéne próbálni.

Illetve van még egy gond: A BASCOMban ha gyártok egy forráskódot, és le szeretném ellenőrizni, mindig kírja: File not found.
Ezt fordításnál és szimulációnál is kírja. Mi lehet a gond? (mert piszokul nem írja ki miért fáj megint a hasa...)


pén. jan. 06, 2006 21:22
Profil Privát üzenet küldése
vas-tag

Csatlakozott: kedd dec. 20, 2005 17:17
Hozzászólások: 7
Hozzászólás 
cd334 írta:
Idézet:
Build started 21.12.2005 at 18:00:55
avr-gcc -mmcu=attiny2313 -Wall -gdwarf-2 -O0 -Wp,-M,-MP,-MT,motor.o,-MF,dep/motor.o.d -c ../motor.c
avr-gcc -mmcu=attiny2313 motor.o -o motor.elf
C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/lib/crttn2313.o(.init9+0x0): undefined reference to `main'
make: *** [motor.elf] Error 1
Build failed with 1 errors and 0 warnings...


Akkor most mit próbáltál lefordítani a gcc fordítóval? Ha megvan c-ben is azt jobban szeretném, mert abban sokkal otthonosabban vagyok.
De ha ez egy asm program, akkor nem fog műkodni vele.

Amit küldtél kigyomláltam visszaküldtem. A az avr.inc legyen a projekt mappában motor.asm-mel együtt, úgy próbáld meg lefordítani.

8)



Köszike!

cd334 sikerült nekem is. nagyon köszönöm nektek a segítséget!

Üdv: Csaba :P


csüt. dec. 22, 2005 11:35
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: hétf. nov. 14, 2005 11:35
Hozzászólások: 36
Tartózkodási hely: Budapest
Hozzászólás 
Idézet:
Build started 21.12.2005 at 18:00:55
avr-gcc -mmcu=attiny2313 -Wall -gdwarf-2 -O0 -Wp,-M,-MP,-MT,motor.o,-MF,dep/motor.o.d -c ../motor.c
avr-gcc -mmcu=attiny2313 motor.o -o motor.elf
C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/lib/crttn2313.o(.init9+0x0): undefined reference to `main'
make: *** [motor.elf] Error 1
Build failed with 1 errors and 0 warnings...


Akkor most mit próbáltál lefordítani a gcc fordítóval? Ha megvan c-ben is azt jobban szeretném, mert abban sokkal otthonosabban vagyok.
De ha ez egy asm program, akkor nem fog műkodni vele.

Amit küldtél kigyomláltam visszaküldtem. A az avr.inc legyen a projekt mappában motor.asm-mel együtt, úgy próbáld meg lefordítani.

8)


csüt. dec. 22, 2005 11:15
Profil Privát üzenet küldése ICQ
platina tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 754
Hozzászólás 
Egyben jó.


csüt. dec. 22, 2005 10:33
Profil Privát üzenet küldése
Hozzászólások megjelenítése:  Rendezés  
Hozzászólás a témához   [ 281 hozzászólás ]  Oldal Előző  1, 2, 3, 4, 5, 6  Következő

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 61 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Magyar fordítás © Magyar phpBB Közösség