Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Lapozás: OK   717 / 840
(#) Massawa válasza csabeszq hozzászólására (») Jan 20, 2016 /
 
Ezért érdemes inkább a táppal foglalkozni ( azt elvben le is tudod választani - azaz csak a szervok áremellátását végzi) . Egy bontott PC tápot akár ingyen is tudsz szerezni, amit 20-30 A-t ad 5V-n, és minden gondod meg van oldva. Én azért használtam 12V/5A tápot, mert a modulokon ott volt már a DC-DC konverter igy kellett az >5V-nál nagyobb feszültség.
Ha még csak az Avr-nél tartasz, akkor egyszerübb a PC táp használata, más meg nem kell.
(#) csabeszq válasza Massawa hozzászólására (») Jan 20, 2016 /
 
Nem vagyunk egy véleményen. Egyrészt idegesít a szervó zaja, mert nem fog beállni fix értékre, hanem kerreg, másrészt elvi problémám van azzal, hogy minek fogyaszt áramot, ha nem is akarom, hogy működjön. Utána lehet méretes tápokat berakni, akkora lesz minden, mint egy tepsi, melegszik,... miközben egy kart szeretnék elfordítani jobbról balra.

Ráadásul megpróbáltam kézzel elforgatni a szervót, de nem sikerült. A fogaskerekek olyan erősen fogják, hogy lehetetlen kézzel megtekerni. Nem lesz olyan, hogy a kar magától egyik irányból a másikba véletlenül átmegy.

Jelenleg notebook tápot használok, 4A-t kibír, praktikus, nehéz lenne megmagyarázni, hogy miért kellene erősebb 15-20 szervo áttekeréséhez egyik állásból a másikba. Akkor is, ha az idő 90%-ában egyik sem mozog semmit.
A hozzászólás módosítva: Jan 20, 2016
(#) Massawa válasza csabeszq hozzászólására (») Jan 20, 2016 /
 
Nagyon keményfejü vagy, nem marad más hátra, mint orra esni.

Ha jo a táp a szervo olyan csendes mint a sir.

Várjuk majd az eredményeket. Azért vigyázz az orrodra, annyit nem ér meg a dolog.
A hozzászólás módosítva: Jan 20, 2016
(#) csabeszq válasza Massawa hozzászólására (») Jan 20, 2016 /
 
Maradjunk annyiban, hogy könnyebben kapcsolom ki a servo-k tápját, mint hogy egy 500 W-os erőművet berakjak modellszervók vezérléséhez.

500 W-tal (PC táp), már egy kisebb szobát fel lehet fűteni.

Tudom fizetni a villanyt, de a zaj, amit a kerregésükkel okoznának, azzal nem akarok együtt élni. Mert ugye akkor is van hangjuk, ha állnak.
A hozzászólás módosítva: Jan 20, 2016
(#) Massawa válasza csabeszq hozzászólására (») Jan 20, 2016 /
 
Komoly bajokban szenvedsz az alapvetö elektrotechnikai dolgokkal ( hány éve adok tanácsokat ). A tápon még a ventilátor sem fog elindulni, csak arra kell, hogy megfelelöen kemény legyen az áramforrás.
Mondok még mást is - talán az jobban fog tetszeni. A táp helyett rakj be egy komolyabb LIPO akkut (2S 4-5 Ah), és azt töltsd a laptop táprol állandoan. Az is megoldja a gondjaid.

Te döntöd el mit akarsz.
(#) csabeszq válasza Massawa hozzászólására (») Jan 20, 2016 /
 
Azért kerreg a servo, mert a táp nem stabil?
(#) Massawa válasza csabeszq hozzászólására (») Jan 20, 2016 /
 
Igen, mert cuppant egyet a tápbol valamelyik szervo, amire a táp egy kicsit összerogyik, azaz megváltozik a referencia és jön a kerregés.
(#) tothjanos hozzászólása Jan 20, 2016 /
 
Sziasztok!
Ha van egy érzékelőm (gyorsulásmérő), aminek a tápja 3.3V-os, így az analog kimenete is maximum 3.3V-os lehet(de inkább kisebb).

Ha ezt egy 5V-os AVR-el olvasnám be, akkor ezt a feszültséget inkább érdemes valami műveleti erősítővel felerősíteni, vagy csak referencia szintet váltok AVR-en?
Ha referencia szintet váltok AVR-en,akkor nem lesz lassú/lassabb? Gondolom az első 1-2 jelet el kéne hozzá dobnom.

Köszi a válaszokat!
(#) Massawa hozzászólása Jan 20, 2016 /
 
Sok segitség után én is kérdeznék valamit.
Egy kis vasuti állomás vezérlésén dolgozom.

Van egy A szakasz a bemenet ( vagy kimenet az uránytol függ.
Ebböl kiágazik 5 vágány (1-5) mindegyikhez 2 válto tartozik.
A vágányok másik végén van B szakasz kimenet ( vagy bemenet).
A fö irányba a vonatoknak egymás után kell megtölteni az elsö 4 vágányt (1-4). FIFO alapon, aza az elsö vonat jött az elsö hagyja el az állomást.
Minden szakaszrol rendelkezésre áll egy jel ( foglalt szabad), de a központi egységnek kezelni kell a szomszédos szakaszokat (A és B) azaz onna ill oda csak akkor mehet a vonat ha van hely ill ha nem foglalt.
Ha visszirányba mennek a vonatok, akkor csak az 5. vágány áll a rendelkezésre (2 váltoval). A visszirányra szintén van egy jel Dir (FW/REV).
Minden vágányon van egy kapcsolt szakasz, amin a vonat megáll ill indul.
A manuális (MAN On/Off) üzemben szintén csak az 5. Vágányon megy a vonat (a központi egységnek kezelni kell a váltokat az 5. Vágányt és a 2 közelitö szakaszt (A és B).
Csabeszq van valami ötleted, hogyan lehet ezt intelligensen megoldani? A proci 328-s NANO portok és a perifériák megvannak, az algoritmuson rágodok még. Ötletem van néhány - de sosem elég.

(Csak itt 10 szervo mozgatja a váltokat)

Bárki ötletét köszönöm.
(#) zombee válasza tothjanos hozzászólására (») Jan 20, 2016 / 1
 
Elsőre próbálkozz a referenciával, nem lesz lassabb.
(#) csabeszq válasza Massawa hozzászólására (») Jan 21, 2016 /
 
A szervó kérdés egyelőre megoldódott. Levettem a teszt szervómat a polcról és kísérletezgettem. Meg volt szorulva és leégett. Tekergettem egy kicsit, ettől a fogaskereke is eltört. Amíg új érkezik az ebay-ről, az beletelik egy kis időbe.

Érdekes, hogy pusztán attól, hogy a polcon állt, képes volt megszorulni.
(#) tothjanos válasza zombee hozzászólására (») Jan 21, 2016 /
 
Köszi!
(#) csabeszq válasza Massawa hozzászólására (») Jan 21, 2016 /
 
Ha FIFO-t akarsz, akkor azt sajnos le kell programozni. Mármint csinálsz egy 5-ös tömböt és amikor bejön egy vonat, akkor beírod, hogy hányadiknak jött be, amikor meg távozik, akkor kitörlöd onnan, a várakozó vonatok helyértékét meg csökkented 1-gyel. Mindig az 1-es vonat távozik. Csak szabad vágányra érkezhet vonat.

Én kicsit magasabbról szemlélném a problémát automatikus játék esetén. Amikor egyik túl közel kerül a másikhoz, akkor beállítom, hogy előzzön. A program meg úgy állítja a váltókat, hogy az előzés létrejöhessen.

Nálad gondolom hasonló lehetne: vannak vonatok: személy, gyors, teher, ... A személy minden állomáson megáll, a gyors minden fontos állomáson, a teher A pontból B pontba megy. Ezeknek prioritása van: a teheré a legkisebb, a gyorsé a legmagasabb. A váltókat úgy állítod, hogy az egyes vonatok igényét kiszolgáljad. Annyit csinálsz, hogy a problémát magasabb szintre emeled, a FIFO nekem nem tűnik életszerűnek. Értelemszerűen tehervonattal nem állsz be az állomás legelejére, mert eltorlaszolsz vele mindent.

A kézi vezérlés nálam váltóállítással valósul meg. A menetszabályzóval javaslatot lehet tenni a vonat sebességére. Kereszt irányú váltónál természetesen megáll a vonat, függetlenül attól, hogy mi van a menetszabályzóval.

Egy manuális kikerülés (szembe jövő vonatok) így nézne ki:
- a bemeneti váltót 4-es re állítod
- a kimeneti váltót 5-ösre

Megvárod, míg mindkét vonat beér és megfordítod a váltókat. A bemeneti lesz 5-ös, a kimeneti 4-es. Ez automatikusan megadja a szabad jelzést és indul mindkettő. Pusztán a váltók megfelelő állításával automatikusan lassít, megáll és gyorsít a vonat.
A hozzászólás módosítva: Jan 21, 2016
(#) Massawa válasza csabeszq hozzászólására (») Jan 21, 2016 /
 
Kösz.

Ezen az állomáson nem elöznek a vonatok, itt csak várnak, igy ezt nem kell megoldanom.
Ez egy rejtett állomás nem is láthato, csak arra szolgál, hogy a vonatok ott várakozzanak.
Az állomáson kivül a menet kezelve van, azaz az egyik vonat követi a másikat egy blokk távolságra. Itt csak azt kell megoldani, hogy akkor indulhat amikor az elötte levö szakasz szabad.
A kézi vezérlés itt is váltoállitással meg vonat inditással és fogadással történik, a központnak csak az lesz a feladata, hogy kezelje a foglaltsági állapotokat, azaz, ha pl a 3. Vágányra akorok küldeni egy vonatot jelezze, hogy az szabad. Ugyanugy az inditáskor jelezze a 3. Vágányon levö vonatnak, hogy az elötte levö szakasz szabad.
(#) csabeszq válasza csabeszq hozzászólására (») Jan 22, 2016 /
 
Megvásároltam aranyáron (1400 Ft) egy modell boltban egy szervót (SG90) és lemértem a fogyasztását.

- ha nem küldök impulzusokat, akkor pontosan 5 mA-t eszik
- ha küldök impulzusokat, de már beállt a servo, akkor is 5 mA-t eszik
- nincs olyan műszerem, amivel a mozgást elkaptam volna, mert túl gyors, gondolom felmegy rendesen, viszont a multiméterem 400mA-s biztosítékja nem égett ki
- a kerregés megszűnt miután 1200 µF kapacitást rávarázsoltam a szervó tápjára

Kijelenthető, hogy nincs mérhető különbség SG90 esetén impulzusok küldése / nem küldése között. Tehát nem kell leválasztani.

Ha veszek 16 modell szervót, az értelemszerűen 80 mA-t fog fogyasztani nyugalmi állapotban. Ehhez nem kell PC táp (500W) és nem kell varázslás sem. Ennyit tudtam lemérni. A kerregést kell megszüntetni, akkor leesik a fogyasztás is. Nem kell ki/be kapcsolgatni, mert a nyugalmi fogyasztása nem vészes.
(#) Massawa válasza csabeszq hozzászólására (») Jan 22, 2016 1 /
 
Ez az az eljárás, ami tankönyvbe illö ( vagy politikailag Brüsszelbe. ) mint elrettentö példa. Csináltál rengeteg mérést, levontál következtetéseket, csak nem jok, és nem jutsz A-rol B-re.
Az egyetlen jo következtetés, hogy valoban nem kell az alapfogyasztás miatt lekapcsolni a szervot, mert ha jo a táp, akkor nem oszt meg nem szoroz az alapfogyasztás.

Amit mértél teljesen értelmetlen, mert azt mezei DMM-l nem lehet megmérni.
Gondold meg, milyen jelet küldesz a szervoba? 20 ms-ként 1-2 ms hosszu impulzust!
Mennyi ennek a kitöltési tényzöje? 1/20ad?
Mit tud egy mezei müszer erre mutatni? A legjobb esetben a valos érték 1/20-t! A valoságban sokkal rosszabb a helyzet, mert a müszer maga is mintavételez és két freki viszonya ismeretlen, azaz az eredmény is.
Felejtsd el és hidd el, nem unalombol szajkozom, hogy 1A/szervo az irány. A te utadat másfél éve jártam meg, 48 szervoval indulva. 8 szervonként van 1 darab 5 A-s tápom, azota csend és nyugalom van.
A hozzászólás módosítva: Jan 22, 2016
(#) csabeszq válasza Massawa hozzászólására (») Jan 22, 2016 /
 
A multiméter az átlag fogyasztást méri. Független attól, hogy PWM van-e, vagy sem.

Van benne kapacitás, ami az impulzusszerű élek kiszűrésére van. Csodálatosan mutatja PWM-nél az átlagot. Nem értem, hogy hogy jön a 20 ms-es tüske a képbe, amikor a szűrő ezt kiveszi.

Mi a jó a pillanatszerű fogyasztás mérésében? Mennyivel ad jobb képet? Átlagban 5 mA-t vesz fel, ezt mértem hitelesített multiméterrel. Az átlag teljesítménye 25 mW. Ezen túl sokat nincs értelme vitatkozni.
A hozzászólás módosítva: Jan 22, 2016
(#) rolandgw válasza csabeszq hozzászólására (») Jan 22, 2016 /
 
Bocs,de ez melyik topic ? A MÁV-tól a servo-ig, minden van már
(#) csabeszq válasza rolandgw hozzászólására (») Jan 22, 2016 /
 
Nem láttam eddig közös mikrovezérlős topikot. Jelenleg arról beszélünk, hogy hogyan kell irányítani/méretezni egy/több szervót és milyen PWM jelalakot érdemes kiküldeni rá.

Megértem, hogy lehetne PIC/ESP8266/STM32/Arduino is, valóban nem AVR-ről szól a dolog. Közös topikot idáig nem láttam. Ez mikrovezérlős szervo irányítás, nem tudom melyik másik topikban lenne a helye.
A hozzászólás módosítva: Jan 22, 2016
(#) Massawa válasza rolandgw hozzászólására (») Jan 22, 2016 1 /
 
Kedves barátom, az AVR nem arra van, hogy összevissza programozzák, hanem arra, hogy valamilyen feladatot megoldjon. Igy nem igen helyénvalo, ha felszolalsz, amikor valaki a szervok vezérlésével tölti a becses idejét, vagy a vonatok kezelésével, te meg esetleg egy fülvakaro berendezést fogsz csinálni.
(#) Massawa válasza csabeszq hozzászólására (») Jan 22, 2016 /
 
A szervod akkor igényel NAGY áramot, amikor mozdul (amikor jön a 1-2 ms tüske, és a kar nem ott van ahol lennie kell), különben elmegy gombelemröl is.
Ezt a multiméterrel soha az életben nem fogod tudni kimérni. A tápod pontosan az impulzus idejü fogyasztásra roggyan össze és okozza a zümmögést. Egy szervo esetén még ugy ahogy segit a nagy kondi 1200µF ( sokkal jobb lenne a nagyobb), de nem oldja meg a gondodat!
A lényeg ugyanis azon van, hogy a szervok alapbol igen kis kimenö ellenállásu áramforrásra lettek tervezve (akku), amik képesek több 10 A-t leadni nagyon rövid idöre. A tápnak ugyanilyen tulajdonságokkal kell rendelkeznie. Pl egy klasszikus trafos táprol soha nem fognak jol menni.
A hozzászólás módosítva: Jan 22, 2016
(#) rolandgw válasza Massawa hozzászólására (») Jan 22, 2016 /
 
Kedves barátom,ez nem chat. Nem véletlen van ennyi topic.Aki avr témában érdeklődik,nem gondolom,hogy a modellezésről szeretne olvasni dolgozatokat.
(#) Massawa válasza rolandgw hozzászólására (») Jan 22, 2016 /
 
Nem, az adott esetben sem a modellekröl van szo, hanem bizonyos berendezés kezeléséröl.
Ha itt visszanézed a topik sok 100 oldalát a két kezed ujjain megszámolhatod, hány olyan projekt volt, ahol valos feladatot kellett megoldani, a többi meg csak arrol szol melyik kész programot és hova beilleszteni, vagy hogyan kezelni az AVR valamelyik regiszterét, portját stb.
Szomoru, hogy alig volt más téma az utobbi néhány évben.
Ha megnézed a többi topikot is, ahány mikroprocesszoros van, ott sincs nagyobb választék. A páka vezérlésen , robotikán meg az alkatrészteszteren kivül más nincs is. Ott is föleg arrol megy a szöveg, hogy melyik kész programot honnan lehet ellopni és letölteni a saját berendezésbe..
Nem szégyen ez egy kicsit?
Csabeszq kolléga az egyetlen, aki kitüzött magának egy atipikus feladatot és már évek ota azon dolgozik, és vergödik olyan dolgokkal, amikröl a nagy programozok talán még nem is hallottak.
( sajnos az eredmény lépten nyomon láthato a modern autokban, és egyébb drága okos telefonokban stb., ahol csapnivalo a FW, mert a tervezönek dunsztja sincs bizonyos alapvetö dolgokrol).
Mutass egyetlen hozzászolást, ahol algoritmusokról vagy a perifériák kezeléséröl van szo! ( Csabeszq és hozzászolásaimon kivül).
Nem erröl kéne egy ilyen topiknak szolnia?
(#) kapu48 válasza Massawa hozzászólására (») Jan 22, 2016 /
 
Nemrégen volt ilyen 5 + 4 vágányos kitérő programozására megbízásom.

Ott a szabad vágányjelzők is voltak +ban a váltókezelésen felül!
Az is PC tápról volt meghajtva. Mondjuk a HW feladatokat a megrendelő oldotta meg, az én gondom csak az SW volt.

Mi időosztásosan vezéreltük, hogy bírja a táp a terhelést. 1*re Csak 1 eszköz vezérlése ment 100mS-ig, közben 100mS szünetekkel. hogy legyen idejük a kondiknak feltöltődni.

Közben még a váltók helyes beállását is figyeltük, + a szabad vágány jelzőket.

Elég szépen működött. Nem volt táp gond!

Ja! És Arduino Megával oldottam meg! (Hogy nehogy kidobjanak OFF ért!)
A hozzászólás módosítva: Jan 22, 2016
(#) Massawa válasza kapu48 hozzászólására (») Jan 22, 2016 /
 
Esetleg majd irj rola - akár privátban is - hogy ne zavarjuk itt a bitrendezöket - érdekel. Nekem is a HW már megvan, müködik, a tápok is rendben vannak. ( az ilyen projektet mindig ezzel kell kezdeni), igy elvben nekem is csak a SW-t kell megirni.
Nálam nagyobb szünetek is lesznek, hiszen itt nem sürgös a dolog, csak a váltok kb. 2 másodpercet igényelnek az átállásra, a szakaszok is mintegy 3-4 sec után jeleznek szabdat, igy van ideje a procinak "gondolkodni" mielött a következö parancsot kiadja.
(#) kapu48 válasza Massawa hozzászólására (») Jan 22, 2016 / 1
 
Nagy vonalakban, ami a kezdéshez kell!
A HW pontos leírása. Mi hova van kötve és hogyan működik, hogyan kell vezérelni?

Ezt így kezdtük, aztán következet a folyamatok kidolgozása:
  1. Beállítások, bemenetek, kimenetek:
  2. Bemenetek:
  3. #define latchPinIn (2) //pin 2 on arduino goes to pin 1 of 74HC165
  4. #define clockPinIn (3) //pin 3 on arduino goes to pin 2 of 74HC165
  5. #define dataPinIn (4) //pin 4 on arduino goes to pin 9 of 74HC165
  6. -       sinadat   3 byte    (PL Pin13, CP Pin12, Q7 Pin11)
  7. o       váltóállás visszajelzés                    foglaltság                        vágányút kiválasztás
  8. o       vv1 vv2 vv3 vv4 vv5 vv6 vv7 vv8       f1 f2 f3 f4 f5 f6 f7 f8     s1 s2 s3 s4 s5 s6 s7 s8
  9.  
  10. Kimenetek:              
  11. #define latchPinOut1  8  //HCT595 váltóállás beállítás
  12. #define clockPinOut   7   //Pin connected to SH_CP of 1st 74595 HCT595 orajel
  13. #define dataPinOut    9  //HCT595 adatki
  14. -       vezérlés adat  1 byte    
  15. o       váltóállás beállítás            
  16. o       v1 v2 v3 v4 v5 v6 v7 v8  
  17.  
  18. #define latchPinOut4 10 // HCT 595 jelző jelzéskép beállítás               
  19. jelző jelzéskép beállítás
  20. jv1 jv2 jv3 jv4 jv5 jv6 jv7 jv8
  21.  
  22.  #define latchPinOut2  6  //HCT 595 váltó ütemvezérlő beállítás
  23. -       ütemvezérlő  1 byte    
  24. o       váltó ütemvezérlés                    
  25. o       va1 va2 va3 va4 va5 va6 va7 va8      
  26.  
  27. #define latchPinOut5 11   //HCT 595 jelző ütemvezérlő  
  28. -              jelző engedély vezérlés
  29. je1 je2 je3 je4 je5 je6 je7 je8
  30.  
  31. #define latchPinOut3  5  //Pin connected to SH_CP of 1st 74595
  32. -       visszajelzések 1 byte     )
  33. o       LED1, LED2, LED3, LED!,
  34. o       LED1, feladat végrehajtva,
  35. o       LED2, dolgozom
  36. o       LED3, szakasz foglaltság miatt nem végrehajtható
  37. o       LED4, két gomb megnyomva
  38. o       LED5, hibás váltóállás
  39. Analóg kimenet:
  40. #define hangOut  A1  //Pin connected to SH_CP of 1st 74595
  41. -       hangszóró, csipogó
  42. (Tone Pin10)
  43.  
  44. Működés:
  45. -       bekapcsolás után Master reset (pin Reset )
  46. -       vágányút (s1….s8) megnyomására vár
  47. -       ha s1 akkor ellenőrizni, hogy f1 = 0, akkor beállítani a v1, v2, v3, v4, v5 = 0 váltóutat, LED2 = on
  48. -       ha s2 akkor ellenőrizni, hogy f2 = 0, akkor beállítani a v1, v2, v3, v4 = 0, v5 = 1 váltóutat, LED2 = on
  49. -       ha s3 akkor ellenőrizni, hogy f3 = 0, akkor beállítani a v1, v2, v3 = 0, v4 = 1 váltóutat, LED2 = on
  50. -       ha s4 akkor ellenőrizni, hogy f4 = 0, akkor beállítani a v1, v2 = 0, v3 = 1 váltóutat, LED2 = on
  51. -       ha s5 akkor ellenőrizni, hogy f5 = 0, akkor beállítani a v1 = 0, v2= 1 váltóutat, LED2 = on
  52. -       ha s6 akkor ellenőrizni, hogy f6 = 0, akkor beállítani a v6 = 0, V1, V7, v8 = 1 váltóutat, LED2 = on
  53. -       ha s7 akkor ellenőrizni, hogy f7 = 0, akkor beállítani a v6, v8 = 0, v1, v7 = 1 váltóutat, LED2 = on
  54. -       ha s8 akkor ellenőrizni, hogy f8 = 0, akkor beállítani a v6, v7 = 0, v1 = 1 váltóutat, LED2 = on
  55. -       ha két nyomógomb lett megnyomva, akkor aktiválni a LED4 –t és Tone2 rövid hang 2x,
  56. -       ha a szakasz foglalt, akkor aktiválni a LED3 = on Tone3
  57.  
  58. -       a váltóút adatot ki kell írni a v1 … v8 váltókimenetekre.
  59.  
  60. Adatkiírás után aktiválni kell a va1 …. va8 váltó ütemvezérlő kimeneteket 100msec impulzusokkal.
  61.  
  62. Az ütemvezérlő kimenet lefutása után 100msec vár.
  63.  
  64. Ellenőrizni kell a beállított váltóutat a váltóállás visszajelzéssel:
  65. v1 = vv1, v2 = vv2, v3 = vv3, v4 = vv4, v5 = vv5, v6 = vv6, v7 = vv7, v8 = vv8
  66. -       ha egyenlő akkor aktiválni a jv1 = 1 jelzésképet.
  67. -       ha nemegyenlő, akkor aktiválni a LED5-t, és Tone2 SOS
  68.  
  69. Jelző engedély kimenet aktiválni    je1 = 1
  70.  
  71. Aktiválni a LED1= on majd Tone 2, Tone1
  72.  
  73. -       Vágányút  (s1….s8) megnyomására vár.

(#) Massawa válasza kapu48 hozzászólására (») Jan 22, 2016 /
 
Kösz szépen

Áttanulmányozom, de sajnos ma mennem kell, majd talán holnap.
(#) csabeszq válasza Massawa hozzászólására (») Jan 22, 2016 /
 
A mikrovezérlőzés átalakulóban van (szerencsére).

Leginkább a LEGO-ra kezd hasonlítani, megveszed a kész panelt, letöltöd a függvénykönyvtárakat, írsz egy pár soros programot, összeütöd a kódot. Hardvernél kész paneleket veszel (servo vezérlő, step down, ...) drótozol, minimális elektronikával.

Ennek sok hátulütője van (nem optimális kód, erősebb vezérlők,...), de alapvetően a megközelítés jogos.

Legutóbb 2 napom ment el azzal, hogy az Atmega328P EEPROM-ot bootloaderbe rakott Flash íróval helyettesítsem, mert 4k-ra volt szükségem. Két nap azért, mert az Atmega328P alul volt méretezve a feladathoz. Nem tartom jónak a bűvészkedést azért, hogy beleférjek a SRAM-ba, EEPROM-ba, FLASH-be. Ez mind kidobott, soha meg nem térülő idő. Pár év múlva jön egy erősebb vezérlő és minden mehet a kukába.

Ha nem 1 milliót gyártok belőle, akkor nem éri meg spórolni a teljesítményen.

Ebbe a képbe az Atmega328P csak neccesen fér bele, igencsak súrolja a használhatóság határát.

Ami nekem hiányzik:
- 512k FLASH
- 64k SRAM
- 1000 Ft körüli panel költség
- 100 MHz
- komoly támogatottság függvénykönyvtárakkal, inkább letöltesz, mint programozol
- használható perifériák (ADC-k, UART-ok, I2C-k, SPI-k, DAC-k,...)
- DMA

Vannak ilyen árban jó mikrovezérlők, viszont a támogatottság hiányzik náluk. Mindent neked kell megírni hozzájuk letöltögetés helyett. Maga az Atmega328P szerintem elavultnak tekinthető, amit kizárólag az Arduino keret tart még most is életben, mert a chip gyenge képességei ellenére gyorsan és könnyen programozható.
A hozzászólás módosítva: Jan 22, 2016
(#) Massawa válasza csabeszq hozzászólására (») Jan 22, 2016 /
 
Szerencsére nem nagyon értek a modern magasabb nyelvekhez, igy szonte mindent magam izzadok ki ASM-ben. Én is rengeteg, egyszer már kiizzaditt makrot használok és sajnos én is belefutottam már sok csapdába. Van egy gyári fejlesztö NYÁKoom meg egy nagy breadboardom. A fejlesztö lapon minden megvan, csak nem volt elég olyan port ami kellett volna, igy átraktam a procit a breadboardra azon meg nem ismerte fel a atmel studio. Mai napig nem tudom miért. Igy a Drgonban kellett programozni majd vissza dugni a breadbordba- ez ment egy honapig. Csináltam egy NYÁKot és nicsak ott minden megy.
Én is most a 328al probálkozom - van egy marékkal NANO modulon. Ha nem elég akkor majd szerzek egy 644-t.
(#) rolandgw válasza csabeszq hozzászólására (») Jan 22, 2016 /
 
Stm32,LPC ? Cube,Lpcxpresso stb. miden standard lib-et megkapsz,ami plusz kell a neten biztosan megtalálható.Tény,hogy nagyobb falat,mint az avr, de ez már az Xmega-ra is elmondható.
Következő: »»   717 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem