Nagyteljesítményű ledes villogó az alapoktól...

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

Nagyteljesítményű ledes villogó az alapoktól...

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

Üdv mindenkinek.

A legelső dolog amit leszögeznék, hogy ultra kezdő vagyok AVR témában(PLC jobban fekszik),de szeretnék csinálni egy hatalmas 64 db-os spec. ledes (12V/20mA/led) villogót.(Ledmátrix és társai nem jók)
Nem akarom túlbonyolítani a dolgot,mert se sok helyem, se időm nincs rá Kinéztem egy ATMega 1280-ast , ott van elég I/O port, meg elég memória a különböző villogási mintáknak.A kimenetre teszek egy kis teljesítmény fokozatot,azok után mehetnek a ledek és ez a része kész is.A bemenetnél viszont van egy kis gondom.

1, Kérdés:
Mivel több villogási mintát szeretnék, azok között váltani is kéne valahogy.Két mikro kapcsolóra gondoltam, amivel tudok váltani a minták között, erre kellene valami pofon egyszerű ötlet.Gondolom valami számlálós dologgal meg lehet oldani, vagy nem tudom.Egy kis proram részletnek nagyon tudnék örülni.Ti vagytok itt az agyak nem én.Nekem még új ez a dolog,de lassan kezdem átlátni csak kéne valaki aki töviről hegyire elmondja lényeget. :cry:

2, Kérdés:
Mivel ez egy elég sok lábú IC, ha jól emlékszem asszem 100, ezt hogy szokás beforrasztani? Azt gondolom, hogy tokba érdemes,de ha esetleg van valami jó tanácsotok várom szeretettel.SMD-s dolgokkal elbírok de ilyen tokot még nem forrasztottam.

3, Kérdés:
Hát még annyi extrát el tudnék képzelni benne,ha mondjuk a villogási sebességet tudnám manipulálni valahogy,például egy potival, vagy esetleg egy zene ütemére..
Gondolom ha nem kvarcot használok ez kivitelezhető...Csak nem tudom hogy stabil marad-e a működés....

4, Kérdés:
A program beégetés...Hát mivel igen nagy az esélye, hogy ez a program a későbbiekben változtatva lesz.Arra gondoltam hogy valami halál egyszerű de mégis működő égető kapcsolást bele integrálok a kapcsolásba.Csinálok neki egy interfészt.Így csak rádugom a Laptopot és "egy pillanat" alatt rátöltöm az új szoftvert. Láttam itt valahol egy soros portból készített verziót, az tetszett :) Csak azt nem tudom már hogy ehhez az AVR-hez jó-e.... :?


Egyenlőre Bascom-ot használok, ez túl bonyolult,csak még nem ismerem a parancsokat,de a könyv és ez a fórum aranyat ér. :D
Mivel még csak ledek vannak meg, meg 1-2 apróság , így Proteusban szimulálom az első lépteimet, ha tudtok jobbat várom... :)

Hát ez így egyszerre nem kevés kérdés,de bízok bennetek.... a HE-n is kérdezősködtem,de ott 1-2 ember nagyon el van szállva magától,nem állítom hogy hülyék mert nem,de nem túl segítőkészek....

Előre is köszönöm!
Üdv!

Szerk.:Még annyit, hogy az egyik villogási mintának szeretnék egy "random" villogást, szóval össze vissza ami "eszébe jut" :) Erről még elképzelésem sincs, hogy álljak neki.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Rakétavezérlőt ne az első projektnek!!!!

DE:
1, írj fel egy listát mit szeretnél.
2, utána ezt rendezt amolyan logikai sorba, hogy mit, m után kell végrehajtani onnan, h bekapcsolod a holmit.
3, az egyes részfeladatokat _külön_ meg kell írnni...


Innen számos dolog következik:
1, Chip órajelet _enm_ állítunk futás közben, hanem a programban a beépített várakozások manipulálhatóak (waitus, waitms, wait, nop)
2, Sorosport vagy valami kell rá, amin a mintákat feltolod plusz debuginfok céljára is jó
3, A M1280-as minek? 0.5 mm a lábtávolsága, nem otthoni technika!
Amúgy paszta, biztos kéz és hőlégpáka....
4, programozás: bascom könyv 4. fejezet, ill a Bascom mint programozó fejezet. A kulcsszó: ISP, azaz a chip lábaot elég kivezetni (MOSI/MISO/SCK/RESET/táp és GND). ISP10 ill ISP6 a kulcsszó.

Sorosporti égetőt felejtsd el: Sorosport nincs a laptopon...
USB port van, így szerintem:
1, STK500 programozó (lsd Webshop)
2, Bootloader a chipbe és utána soros USB) porton át frissíthető a program, programozó nélkül)



Visszakérdezek:
1, LEDek meghajtását kitaláltad már? Ezt kritikusabbnak érzem:ű
- ha a LEDek egyesével vannak meghajtva, akkor az 64x20mA= 1.2A-l rángatod a tápot... (12V esetén 20W-t kapcsolgatsz)
- LEDek mátrixban?
- LEDmeghajtást mivel végzed?

A kezdeti minta:
- Sorosporton melyik LED égjen, melyik ne.
- utána ezt a mintasort valami memóriába letárolod (SDkártya, I2C vagy SPI eeprom, esetleg a chip belseje)


Szóval programozásban tessék elindulni az elején:
1, sorosporton beszélgess egy tetszőleges AVR-rel
2, 1...20 LEDet tudj ki/bekapcsolni
3, ezt memóriába tárold le és menüből (sorosporti) tudd váltogatni.
4, esetleg közben a sebességállítás sorosporton
Ehhez elég egy Mega16 chip (lábak miatt), négány sima LED plusz ellenállás (lábanként), egy soros illesztés (vagy USB) [MAX232 vagy FT232RL]

Én csak ez után javasolnám a bonyolultabb 64 LED-es, vezérelt/irányított kijelzést...

És ha lehet kerülném a 100 lábas ICt.
Shiftregiszterrel oldanám meg a kezelést:
- egyszerű felfűzni
- CMOS lévén a 5V->12V konverzió a chipben meg van
- ha meghal 1 láb akkor elég a shiftregisztert cserélnio, nem kell a 100lábas AVRt cserélni....
- kisebb AVR elég, így olcsóbb!
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Köszönöm a gyors és kimerítő választ.
A rakéta vezérlő is meg van már fejbe...:P de ez még nem az lesz.
Megpróbálok erre az "infóhegyre"(amit nagyon köszönök) reagálni.
Szóval:
Az egyes minták meg vannak fejbe, meg mint ahogy írtad is kicsibe 16 leddel kipróbáltam(Multisim-ben) úgy ment szinte elsőre minden,ezzel nincs is nagy gondom.csak ezek között valahogyan váltani kellene,de úgyis addig "verem" míg jó nem lesz. :)

1,Az órajel manipulálást külsőleg így akkor kilövöm,hanem programban módosítom.Így utólag tényleg hülyeség :)
2,Sorosport nyert
3,A sok I/O port miatt gondoltam az AM1280ra.Végül is 0,5mm lábtávolság inkább tervezésnél jelentene gondot mint beszereléskor,pláne hogy tokba lenne.De így elgondolkodom egy kisebb DIP-tokos megoldáson.
4,Én is ezt a fejezetet néztem,de túl szépnek/egyszerűnek tűnt, hogy igaz legyen,ennyire gondoltam én is,de azért nem rontok ajtóstól házba, inkább kérdezek előtte.

Sorosport van laptopon,az újakon nincs ez igaz,ha van is nagyon jó pénzért.De nekem sikerült beszerezni egy ilyet szükség volt rá PLC programozás és autodiagnosztika miatt.
De bevallom, hogy szemezek egy ilyen STK500-as programozóval,már csak azért is mivel gyári meg biztosan megy elsőre, meg árban se eget verő dolog.Meg a másik laptopon csak USB van :S,és az ördög nem alszik ugye.

A LED-ek meghajtása valóban elég nagy probléma,és látom egyből levágtad az okot,egyenlőre annyira gondoltam hogy a vezérlő kimenetére egy ellenálláson át vezérlek egy tranzisztort, aminek a kollektor körében van a led.Igen ez 64 tranyót és egy raklap ellenállást jelent,de így tudom egyesével vezérelni őket.Bár ez sem túl szép megoldás,szóval nem végleges.Esetleg valami CMOS ic tudná közvetlenül vezérelni,de akkor is ott van még az a gond hogy 20mA-t nem biztos, hogy elbír a kimenetén.
Mátrix azért nem jó, mert ez úgy néz ki van 4 "cső" amibe a ledek vannak a felsőbe 12db a két oldalsóban 21-21db és alul pedig 10db,és elég macerás ebből mátrixot csinálni.Max ha nagy frekvencián villogtatom a ledeket de az meg nagyon hosszú program lenne, már amennyire """jártas""" vagyok AVR programozásban, így gondolom.

Nagyon szépen köszönöm, a fejtágítást, és iránymutatást, és bocs a sok kérdésért,és sületlenségért,de tényleg senki nincs akitől kérdezni tudnék,én magam soha nem tanultam ilyet,és nagyobb dolgokkal dolgozom például CNC-k javítása,és hasonló kütyük.Szóval ez még nagyon új,de ha megtanultam olaszul NC-t programozni úgy hogy egy kukkot nem beszélek olaszul,csak nem fog ki ez sem rajtam :)

Köszi mégegyszer!!!
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Pusy19 Üdv a fórumon!
Amint íród CNC-ben Mester vagy!
Én, pedig most vagyok ezen a téren lelkes tanonc.
Fejlesztgetek 1 kis hobby gépet, a műszereim előlapjának gravírozására, marására, nyákmarásra stb…!
Viszont Bascomban van gyakorlatom. :)
Mindkettő hobbym időigényes fejlesztéseket igényel!
Szóval esetleg kölcsönösen segíthetnénk egymást tanácsokkal? Hátha közösen töbre megyünk? :)
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Üdv!

Hát "Hobby géppel" még nem volt szerencsém,de végül is az elve ugyan az mint a nagyoknak.Én is régóta készülök építeni egy kicsit hasonló célokra,de mindig van mit csinálni helyette:S:S
Minden további nélkül segítek,de hogy ne offoljuk ki ezt a topicot kiteszem az msn címem az adatlapomra és ott keress bátran.

Köszönöm, hogy kerestél.


Üdv!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

A cmos kapuk kimenete jellemzően 30...40mA.
A logikai szintkezelés a avr-rel összehozható, mint bemenet....


Tranzisztoros kimenet ha AVR-re akarod:
ULN2803 -> 8x0.5A@max 50V
~100 Ft-s IC....

Szimulátor helyett a kisebbiket élőben kellene kipróbálni....
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Istenek vagytok. komolyan mondom.
:D
Közben kicsit átgondoltam ezt a LED-elrendezést is, mert ez okoz nagy gondot végül is.Ha elrendezem, hogy fent és lent 11 led két oldalt 22,így tudok csinálni 6X11-es mátrixot,így igaz 66 LED lesz,de hát abból sose elég :)De még mindig tartok a mátrixolástól...Viszont így nem kell csak 17 kimenet.
Ez tranzisztoros kimenet sokat segített,így eltűnne a tranzisztor erdőm:)

Még a logikai szintezést megoldom,és már csak a programozás okozhat gondot.

Nagyon szépen köszönöm!
Üdv!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

A mátrixnál a felső tranzisztormező lehet gond (ami a 12V-s ágat kapcsolja).
Én a shift regiszter plusz tranzisztor, vagy MCP23017 plusz tranzisztoros kimenetre szavaznék. Igy 16*8=128 LED címezhető (16 kimenet van 1 MCP23017-n, és ebből 8 fűzhető fel)

Az adatok I2C-vel címezhetőek (MCP23017). A kimeneteiken meg ULN2803. Így a nyákrajz egyszerűsödik:
- kell egy meghajtópanel (AVR, soros rész, táp, sallangok)
- LEDvezerlo ( MCP2307, uln2803) ebbol 4.
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Üdv Robert

Nagyon jó ötleteid vannak...
Shift regisztert megmondom őszintén nem akarok, azért mert ha jól veszem ki a szavaidból akkor úgy gondolod hogy az oszlopokat hajtanád vele egy tranzisztor mezővel persze,de a shift regiszter ha jól tudom(amire nem sok esély van) .akkor az oszlopokat kapcsolgatná sorba előre vagy hátra,és ha megfelelő ütembe aktiválom a sorokat egy futófény félét kapok.Jól gondolom?

De ha például én csak minden második oszlopot szeretnék léptetni ,vagy minden 3.-at már nem jó.Ha mondjuk rosszul tudom,és tudna ilyet is akkor persze jó.
Bevallom ,suli óta nem foglalkoztam ilyenekkel,most meg nem sok időm van utána olvasni 2 állás és 3 műszak mellett...:( Remélem megértitek butaságom okát.

Az I2C nekem még kínai, épp most bújom az oldalt valami doksi után ami leírja,hogy eszik vagy iszák,de nem nulláról hanem úgy -10-ről :D
Már csak azért is mert írtad, hogy abban tudnám esetleg tárolni a programot,és most ismét előjött...szóval már érdekel, hogy mi az.
Avatar
ampervadasz
Bitmanipulátor
Hozzászólások: 119
Csatlakozott: 2008. január 19. szombat, 7:00

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

Szervusztok!

Javaslatom a következő lenne! I2C meghajtással MAX6953

Adatlapja: http://datasheets.maxim-ic.com/en/ds/MAX6953.pdf

4x5x7=140 Ledet tud kezelni egyetlen IC! Minden LED-nek külön lehet a fényerejét állítani! A címzés miatt több IC-t is tudsz működtetni egyszerre, így a LED-ek száma növelhető!

Egy-két kép (GOOGLE)

http://www.electronics-lab.com/projects ... AX6953.gif

http://www.electronics-lab.com/projects ... 9/1_th.jpg

http://www.electronics-lab.com/projects ... PCB_th.gif


Egy link mindezekről: http://www.electronics-lab.com/projects ... index.html

Remélem így jólesz neked! :D
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Üdv ampervadasz!

Ez egy érdekes megoldás...
Egyetlen egy bajom van vele,hogy a kerülném az I2C-t ha megoldható... Bár erre egyre kevesebb esélyt látok,de azért nagyon szépen köszönöm!!
Avatar
ampervadasz
Bitmanipulátor
Hozzászólások: 119
Csatlakozott: 2008. január 19. szombat, 7:00

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

pusy19 írta:Üdv ampervadasz!

Ez egy érdekes megoldás...
Egyetlen egy bajom van vele,hogy a kerülném az I2C-t ha megoldható... Bár erre egyre kevesebb esélyt látok,de azért nagyon szépen köszönöm!!
Ha sok LED-et akarsz meghajtani akkor kétféle megoldást találsz!

Nagy I/O lábszámú AVR (nagy tárral, mert külön kell minden portot mindig kezelni, hacsak tömbbe nem tárolod az ábrát.)

Külső perifériás egység I2C-vel, vagy SPI buszon.

A fórumon mindkét variációban segítenek, igaz az utóbbinál a vezetékezésben nem fogsz elveszni, nem kell külső meghajtó tranyó, szinte semmi. Sőt "sample" is van hála az égnek a világon, úgyhogy próbára én az utóbbit ajánlanám (I2C).

Könnyű megtanulni - nekem legalábbis könnyebb volt, mint egy LCD-t bekötni :lol:
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Üdv ampervadasz!

Hajlanék az I2C-re,csak meg kellene tanulnom kezelni,biztosan 100X könnyebb lenne a dolgom meg biztosan jó dolog, mert még a csapból is ez folyik, szóval ennek oka van...
Szerintem nincs más hátra mint előre utána nézek, hogy működik...
Ha nem látom nehéznek visszatérünk erre a MAX IC-s megoldásra,vagy valami hasonlóra,ha viszont meghaladja képességeim marad a mátrix :(

A fórum segítőkészsége pedig példátlan,jó helyre jöttem.:D

Köszönöm válaszod!
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Találtam egy jó kis leírást az erről az I2C-ről itt az oldalon, így nem tűnik bonyolultnak.Végül is olyan mint a PLC-knél a bővítőkártyák,meg rémlik valami erről a master-slave kapcsolatról a suliból.Ezzel a megoldással simán megtudnám oldani a problémám,most már értem miért javasolta mindenki ezt,tényleg ezzel a legegyszerűbb.
Csak ehhez a programozáshoz ne lennék ennyire láma...
Avatar
pusy19
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2010. július 2. péntek, 6:00

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

Robert írta: Én a shift regiszter plusz tranzisztor, vagy MCP23017 plusz tranzisztoros kimenetre szavaznék. Igy 16*8=128 LED címezhető (16 kimenet van 1 MCP23017-n, és ebből 8 fűzhető fel)

Az adatok I2C-vel címezhetőek (MCP23017). A kimeneteiken meg ULN2803. Így a nyákrajz egyszerűsödik:
- kell egy meghajtópanel (AVR, soros rész, táp, sallangok)
- LEDvezerlo ( MCP23017, uln2803) ebbol 4.
Ezt így utólag, hogy már tudom mi a fene az I2C teljesen jónak tartom.
4 db MCP23017, 9db ULN2803 ,1db kisebb AVR, meg esetleg valami memória ha kicsit megszaladna a program mérete.(az apróágokat direkt nem írtam)
Így megvalósítható, hogy minden ledet tudok vezérelni akárhogy.Most már jöhet a programozás része... :?
Válasz küldése