ATTiny13 kezdő kérdések

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

Sziasztok!

Kényszerből nekem is ki kellett próbálnom az ATtiny13-at és nem kifejezetten lett a kedvencem :S Hozzáértés erőteljes hiánya lesz a baj, de nem tudok rájönni, hogy konkrétan mi. Egy egyszerű léptetőmotort vezérlő programot akartam letölteni, ami meg is történt, de 5-6mA-es áramfelvételen túl semmi sem történik. A dolog odáig fajult, hogy egy közönséges LED villogtató program sem fut le rajta, a letöltés pedig minden esetben sikeres. Valami ötlet erre? A vezérlőprogram a következő lett volna:

$regfile = "attiny13.dat"

$hwstack = 32
$swstack = 0
$framesize = 16

Config Portb.4 = Output
Config Portb.2 = Output
Config Portb.1 = Output
Config Portb.0 = Output
Config Portb.3 = Input
Set Portb.3

Ki1 Alias Portb.2
Ki2 Alias Portb.1
Ki3 Alias Portb.0
Ki4 Alias Portb.4

Do
Ki4 = 0
Ki1 = 1
Waitms 50
Ki1 = 0
Ki2 = 1
Waitms 50
Ki2 = 0
Ki3 = 1
Waitms 50
Ki3 = 0
Ki4 = 1
Waitms 50
Loop
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Kapásból:
Hiányzik a : $crystal = 4000000
Szerintem ez kevés: Waitms 50
Nem direktben hajtottad a motort?
Fusebitek jól vannak belőve?
Mi az órajel fórása?
:?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

$swstack=0 ???
Nem elírás?

Az alaparányokat tessék megtartani (frames/stack)...
Szerintem a chiped fejreáll a stack hiánya miatt.


$crystal = 4000000 -> $crystal = 1200000 '1.2 MHz-s a chip :)
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

$swstack = 8-cal próbáltam először, de azzal sem ment. Közben viszont rájöttem, hogy az ATmega8-omat sem tudom rendesen felprogramozni! Vagyis a letöltés és visszaellenőrzés megtörténik, de a mikrokontroller nem csinál semmit. A biztosítékbiteket megmondom őszintén, hogy nem bántottam. Megtaláltam a leírásban a kellő beállításokat, de mivel egyfelől még nem kellett használnom őket -így nem is különösebben ismerem a kezelési módjukat-, másfelől a biztosítékbitek beállítására szolgáló panelen is teljesen más lehetőségek jelennek meg, mint a leírásban, ezért nem piszkáltam inkább.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Ha szűz még biztosítékbitileg a T13:
- órajel: 9.6 MHz
- DivClk8: engedélyezve
--> Órajel: 1.2 MHz ($crystal=1200000)

Egy sima LEDvillogtató mit csinál?

$regfile = "attiny13.dat"
$crystal=1200000

$hwstack = 16
$swstack = 4
$framesize = 8

Config Portb.4 = Output
Config Portb.2 = Output
Config Portb.1 = Output
Config Portb.0 = Output

do
toggle portb.4
toggle portb.2
toggle portb.1
toggle portb.0
waitms 250
loop


Tiny13 és Tiny13A költ mintha lenne valami eltérés (Timer?). Legalábbis külön def állomány van hozzá.
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

"Tiny13 és Tiny13A költ mintha lenne valami eltérés (Timer?). Legalábbis külön def állomány van hozzá."

Erre gondoltam én is, ki is próbáltam, mert jobban megnézve a tokot rajta van az "a" jelölés, de így meg kiírja, hogy az érzékelt mk sima ATtiny13.
Ezt követően kipróbáltam a LED villogtatót. Első letöltésnél folyamatos fényt eredményezett, másodjára viszont ment! Megpróbálom lépésről lépésre kibővítve letölteni a saját programomat, hátha összejön.
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

Sz'al már megy a léptetőmotort vezérlő négy kimenet be és kipacskolása, de ha az 1-es lábra be van kötve egy analóg fesz, amivel a motor forgatásának sebességét akarom vezérelni, akkor teljesen leáll a program és minden kimenet 0-n van.
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

Ja egyébként lehet, hogy a programozópanel driver-e volt túl régi, mert azt követően sikerült az írás, hogy azt frissítettem. Egy kínai ASP-s cucc, de legalább már megy.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

"de ha az 1-es lábra be van kötve egy analóg fesz,"

Az nem a RESET láb?
Vigyázz, FUSE-bitben ki ne lődd, majd ha jó lesz a programod,
utána. Más ADC bemeneted nem maradt ki?

Nem azért nem indultak a proghramjaid mert a poti a reset lábon
néha lehúzta?

JAni
20:44
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

"Nem azért nem indultak a proghramjaid mert a poti a reset lábon
néha lehúzta?"

Könnyen elképzelhető! Eddig sikerült elkerülnöm a reset láb használatát, így nem találkoztam ezzel a jelenséggel. Az a baj, hogy mindíg utólagosan olvasok utána a hibáimnak és nem megelőző jelleggel tájékozódom a dolgok mikéntje felől. Sajnos minden láb foglalt már az IC-n. Négy a motort vezérli, egyre egy reed-cső van kötve, a resetre meg az ADC-t tettem, de ebben az esetben a reset-et egyszerű digit kimenetként fogom használni a léptető egyik vezérlőlábjaként és az analóg beolvasást egy másik lábra kötöm át.

Köszi Mindenkinek a segítséget!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Ha a resetlábat kiütöd, akkor az ún. HVproggal (high voltage serial programmer) vissza lehet jutni a chipbe. (Ki tudod nyitni.)

Ez még a AVR FuseBit Doctor alkalmazásban is mintha menne....
Avatar
Cinege446
Biztosítékgyilkos
Hozzászólások: 67
Csatlakozott: 2008. július 22. kedd, 6:00

Hozzászólás Szerző: Cinege446 »

Kiütve szerencsére nincs, mert a felprogramozása még eddig ment tökéletesen. Minden esetre mégegyszer köszi a segítséget!
Avatar
atideath
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2011. július 3. vasárnap, 6:00

Hozzászólás Szerző: atideath »

Eddig 5V-on használtam az AVR-em. De most 3.3V-ról szeretném. Csak az AVR tápját kell 3.3V-ra állítani 5V-ról vagy fusebiteket is kell állítani?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Órajelet nézd meg, de elvileg megy így 3V3-ról is...
Válasz küldése