Fórum témák
» Több friss téma |
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
Olyan jót tudok mosolyogni a basic nyelven, mintha csak egy magyar angol fordítás lenne a szintaktika.
![]()
Szia! Egy arduino mini board bootloaderjét akarom beletölteni egy ATMEGA328P-be. Lényegében egy arduino mini boardot szeretnék létrehozni. Arduinoban kiválasztom az alappanel típusát, programozó típusát, és elvileg a "bootloader beégetése" menüponttal indulna a folyamat, de nem ismeri fel a programozót.
Ekkor próbáltam egy másik programmal beégetni (kkmulticopterflashtool), az gyönyörűen beégette az arduino könyvtárában lévő bootloadert. Utána FTDI kapcsolattal bele is tudtam tölteni a programot, de mindig csak egyszer. Gondolom, mert felülírta a bootloadert, vagy a konfig biteket nem úgy állította be a kkmulticopterflashtool, ahogy az arduino tenné. A programozóval lehet gond, hogy nem ismeri az arduino? A hozzászólás módosítva: Aug 16, 2013
Ok, akkor legyen _valódi_ Bascom-AVR nyelven (ver: 2.0.7.7-ben készült):
Az előző hozzászólásban az _alapelvet_ írtam le. C-ben, Arduinoban sem sokkal bonyolultabb... A nyelv nem volt az alapkiírásban... C: MicroC v. Gcc fordító Basic: MicroBasicm Bascom-AVR, FastAVR Pascal: MicroPascal Asm: AVR-Studioval Speciális: Arduino (C-oldalág) Szabadon választható. Én az Arduinoban vagyok nagyjából jól, illetve jól a Basic/Bascom-AVR nyelvekben... Minden nyelvnek van létjogosultsága. A 30+ korosztály még igencsak Basic nyelvjárásokon nőtt fel (ZX-81, Sinclair, C=64, Primo, HTZ80, QBasic...)
A m_delay_10ms(10) az 10*10ms...
![]()
A hozzászólás módosítva: Aug 16, 2013
Idézet: „A programozóval lehet gond, hogy nem ismeri az arduino?” Ezen az oldalon is található egy részletes útmutató (az arduino.cc most nem elérhető). Ebben az Arduino IDE melett az AvrDude programot ajánlják.
Tulajdonképpen egy automata mosógép vezérlőjét szeretném kiváltani, már minden megvan, csak még az NTC vel mért hőfokvezérlést kell kitaláljam, van ötletetek?
Köszi! Már csak azt nem értem, hogy az AVRStudio4 és a 6 sem ismeri az ATMEGA328P procit?
Ha a Device Programing ablakban kiválasztom az STK500-at com6-on, akkor a mellette lévő Device listában nincs 328P, de ha AVR simulatort választok, akkor van.
Persze, olvasni tudja, ki is írja, hogy 328P-t lát, de nem az van kiválasztva (mert nincs olyan)
Át kellett másolni a devices könyvtárból a STK500/xml könyvtárba az ATMEGA328P.xml fájlt. Így működik, írja, olvassa. Már csak azt kell kitalálnom, hogyan állítsam be a fuse biteket, hogy jó legyen arduinohoz.
![]()
Az ATMEL hivatalos válasza:
- a Studio 5 utáni eszközökben az STK500 támogatás korlátozott. Tessék áttérni MKII/JTAGICE MKII / STK600 programozókra. "Elavult eszközöket nem támogatunk" jeligére a marketingosztály fele lehet jelezni az észrevételt. - AVR-Studio 4.19 viszont mindent támogat.... AVR-Studioból frissíts a 4.13 fölé. Az után jelent meg a Mega328P chip. A hozzászólás módosítva: Aug 16, 2013
Még azt szeretném kérdezni, ha van egy egyfázisos motor, és relével akarom irányitani, akkor lesz valami baja, ha pl mind a 2 motor vezetékére csak fázist vagy csak nullát kapcsol?Mert igy szeretném megállitani, hogy ne kelljen még 1 relé?
Rajzold le.
Így elmondásból jelenleg fogalmam sincs a tervezett rajzról - ami a fejedben létezik csak....
Csak szólok hogy a 20ms-es felvillanáshoz nem kell jó szem, mindenki látja. Egyik termékünkön van egy PIC , a beállítás szerint a kimeneten 11-17ms ideig kell működtetnie egy bistabil csapot(igen, a 20ms más túl sok!). A kimenetre két LED is kapcsolódik, antiparalel módban. A csap működtetésekor kb. 2mA folyik a LED-eken, és lám! Tökéletesen látszik a felvillanás! Az AVR-es tesztgépünk csak azt mondja meg hogy jó/nemjó, így utólag megmértem az időt: átlagosan 14ms.
A hozzászólás módosítva: Aug 16, 2013
A teraszon nekem is figyel már lassan 2 éve egy vezérlőhibás mosógép, a terítővel és a virágokkal már teljesen beleolvadt a környezetébe.
Az egy analóg mérő lesz, egy ellenállás amit valószínűleg egy 230V-os relé kivezérlésére terveztek. Ha továbbra is ezt az NTC-t akarod használni akkor csavard ki a helyéről, mérd ki különféle hőfokokon hogy mekkora az ellenállása(polaritás nem számít), de lehet hogy típus alapján adatlap is lesz hozzá és akkor nem kell méregetni. A megszerzett tudást az AVR analóg bemenetén tudod kamatoztatni.
Zombee tudsz nekem segíteni picit?
Rendeltem HD44780-as vezérlővel egy LCD-t. Majd, az oldalon található megoldások közül egyet kiragadok, hogy 1 láb elég legyen az LCD-hez. (próbálkozok) Viszont amiben segítened kellene az az ADC mérés. Most megelégszem annyival, hogy ha elér X feszt az ADC bemeneten lévű feszültség, akkor kigyulladjon egy LED. (Majd a labortápomhoz szeretnék panelműszert egyszer....) A hozzászólás módosítva: Aug 16, 2013
Lehet hogy neked az analóg komparátor is elég lesz. Segítség: adatlap!
Aztán ha majd a labortáphoz szeretnék feszültség és árammérőt csinálni?
Az gondolom már nem egyszerű feladat... Igazából erre se nagyon jöttem még rá. ![]()
Létezik negatív/pozitív oldali árammérés, meg leválasztott is. De közvetlenül nem tudsz mérni, műveleti erősítő is kelleni fog. De amíg a programozás alapjai nincsenek meg, ne is álmodj labortápról!
A hozzászólás módosítva: Aug 16, 2013
Első körben szerintem max utánépítésben gondolkodj és azt a kódot módosítgasd.
Pl. http://tuxgraphics.org/electronics/200707/bench-power-supply-unit.shtml Itt benne vannak a kért alapok és sokat lehet közben tanulni... Elsőre nem rakétavezérlő-célkövető rendszert építünk, hanem LED villogtatót ![]() LCD tipp: először _tanuld_ meg a 4 ill. 8bites módot. Utána látod, hogy hogyan lehet a lábakat lefaragni - és van-e értelme/szabad-e és mi a következményei... A hozzászólás módosítva: Aug 16, 2013
Odáig jutottam, hogy körülbelül kész az IC1 programja, még úgyis kell változtatni az NTC miatt ami az ADC 0-ra megy majd, még lesz módositva a menübe, előre beálitott programok lesznek, és lesz lehetőség saját kezüleg beállitani.
Azt nem tudom, hogyan lehet beállitani, hogy külső Kvarcról működjön, milyen regisztert kell használni? IC1 szerepe, hogy számláljon, be legyen tanitva hányféle program legyen, és kezelje a nyomógombot, és az LCD-t. IC2 2 es lábán amig van GND addig fog mosni, ha a 3mas lábon van addig centrifugál, és 3 mas láb a szivattyúnak van. A vizkapcsoló olyan érzékelő ami akkor zár rövidre, ha tele van vizzel a mosógép.
A FUSE biteket kell módosítani a programozóval, regiszterek piszkálásával nem lehet kristályra kapcsolni.
Nekem csak sima LPT-s "programozóm" van azt hiszem STK 200 as másolat, aval lehet? Mert tudom hogy egyes programozók nem engedik a fuse biteket piszkálni.
S fontos külső kvarcot használni? Tulajdonképpen miszerint lehet meghatározni mekkora órajelre van szükség?
STK200-al is lehet, amit PonyProg és Bascom is támogat. PonyProg alól a SUT_CKSEL
részeknél az összes helyről ki kell venni a pipát és a FUSE-t írni. Pont lett volna a második kérdésem hogy minek kristály, nem látom hogy bármi is olyan pontos időzítést igényelne egy mosógépben. Maximum akkor ha a mosás elején ki akarod jelezni hogy ekkor meg ekkor lesz kész, azon kívül semmi. Egy mechanikus vezérlés esetén még az AVR +/- 5%-ánál is jóval nagyobb eltérések vannak, csak bele kell gondolni hogy milyen meleg maga a mosógép vagy a beáramló víz amit X fokra fel kell fűteni hogy továbbmenjen...
Megirtam IC2 nek a programot...
Még biztos kell rajta módositani, majd ha kipróbálom akkor jövök rá.
Igazából nem látom, miért kell két "kicsi" AVR mikor egy "nagy" is bőven elég. Tudom hogy egy mosógépben jósok érzékelő meg működtető cucc munkálkodik, de nem hiszem hogy annyira túl kellene bonyolítani hogy két külön IC (több hibaforrás) legyen a rendszerben. A portlábak hiányát nagyobb IC-vel és/vagy expanderrel szokás megoldani, nem újabb programozott IC-vel. Rosszul látom?
A hozzászólás módosítva: Aug 18, 2013
És igy nem működőképes? Nekem már nincs kedvem újből programot irni.
Leginkább azért döntöttem két AVR ben mert az egyik számolja az időt, mig a másik irányitsa a mosást. Az IC1 nél lévő relé a fűtőszálhoz megyen. Valaki elmondaná miképp kössek NTC-t az AVR adc lábára? Szükségem volna 1 rajzra. A hozzászólás módosítva: Aug 19, 2013
Csak tapasztalat, hogy a ki nem próbált dolgokat egyetlen IC-n kell megvalósítani, és csak akkor alkalmazni egy másikat ha valamelyik már kipróbált és 100% hogy működik. Tapasztalat.
Az általam (is) feljesztett tesztgépen a központi processzor(ATMega16) egyedül a kommunikációért felel, az egyes perifériákon(relémátrix, mérőmátrix, mérőkártya, tápegységek) is AVR van, és ez okozott pár gubancot a fejlesztésnél. Itt van két kép NTC bekötésére. Az első egyszerűbb, de nemlineáris. A másodiknál a kimenőfesz lineáris lesz, bár egy kicsit bonyolultabb. Mindkét esetben a segédellenállás és a feszültség értékét "jól" meg kell választani, az NTC nem termelhet számottevő hőt! |
Bejelentkezés
Hirdetés |