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
Tudom, hogy sokadszorra teszem fel a kérdést, de valaki hozzáértő nem tudna ránézni az alább linkelt dologra? Eddig már négyszer építettem újra, és fogalmam sincs, mi lehet a hiba.
A saját értelmezésem szerint (mivel ez egy komfort index modul) az "in_left" és "in-right" bemenetek valamelyikére +12V-ot kötve kell működnie. Amint rákerül a táp, az adott oldal reléje azonnal behúz. A gond az, hogy ezután már nem ejt el és úgy marad. Gondoltam, lehet, hogy a szoftverben van a hiba. Csakhogy ezután már csinálhatok bármit, mert, ha a tápot leveszem az egész modulról, majd visszarakom, a relék azonnal behúznak, míg újra le nem veszem. Próbáltam, hogy ezután felprogramoztam egy másik mikrokontrollert és beledugtam. Ekkor a tápot a modulra adva a relék nem húznak be, míg az "in_left"-re, vagy a "in_right"-ra rá nem kötöm a tápot. Amint rákötöm, máris ugyanazt csinálja, mint az előző mikrokontrollerrel. Leszürve a dolgot, kinyírja az ATtiny-t, amint az adott két láb valamelyikére tápot adok. Eddig 5 Attiny-t áldoztam a dologra. Légyszi, nézzen rá valaki! One-touch turn signal module
A rajz ilyen szempontból nem a legkorrektebb, +12V-ot nem illik az ATtiny bemenetére kötni. Volt előtte legalább egy ellenállás-osztó?
Szerintem az IN_LEFT/RIGHT_INDICATOR a bemenet, semmikepp nem a mikro labai, IN_LEFT/RIGHT.
Bar a szoveget olvasva most sem vilagos. Az indicator alatt itt mit ert?
Semmi nem volt. Csak minden a rajz szerint. Lehetséges, hogy az adott autó (BMW 850) másként működik az indexkapcsolója, mint mondjuk az enyém? Tudtommal általában 12V jön le onnan.
Esetleg mi lehet a megoldás? Mit kössek be közé?
Megvan, Jo minden, A bemeneteket a kapcsoloval testre huzd, ne 12V -ra kosd, figyelmeztet a leiras is !
A motyó nem időzítéses alapon működik, hanem leszámolja, hogy hányat villan az index. Az indicator alatt az autóban az index visszajelzőt érti, ami ebben az esetben ráadásul az a fajta, amelyiknél mindkét oldalhoz külön visszajelző tartozik. Ezeket figyeli, hogy hányat villant az index. A dip kapcsolókkal lehet beállítani, hogy egy érintésre hányat villanjon az index (3-4-5).
Na király. Akkor testre kell kötni. Mint fentebb említettem, akkor ez másképp működik, mint más autóknál. Akkor kössek be egy relét, ami testre köti, ha az indexkapcsolótól 12V-ot kap?
Akkor ok minden. Annyi hogy a LEFT/RIGHT bemeneteket GNDre huzd, es 12V ra ! Vagy mehet 12V-ra is, de akkor egy egy nyitott kollektoros optot oda is, ugyanugy mintttt az indicator bemenetre.
Idézet: „Akkor ok minden. Annyi hogy a LEFT/RIGHT bemeneteket GNDre huzd, es NE 12V ra !” Ezt akartad írni?
Es az AVRek TTL -esek, vagy LVTTL-esek, ott 12Vnak semmi keresnivaloja. Igen , AZT bocsi!
Vagy mehet 12V-ra is, de akkor egy egy nyitott kollektoros optot oda is, ugyanugy mint ahogy az indicator bemeneten van. - akartam irni.
Ezt odaírhatták volna. Mármint nem ezt, hanem eleve megcsinálhatták volna úgy a rajzot.
Építettem egy másik motyót is, aminél lehet, hogy szintén valami ilyesmi probléma lehet. Ez egyszerűbb és az ablaktörlő időzítés lenne a dolga. Viszont ez sem akar rendesen működni. Feltehetőleg hasonló okokból? Itt az a gond, hogy a kapcsolón 12V-ot kapva a relé behúz, majd elenged. Ezután mikor másodszor is megkapja a kapcsolótól a "jelet" (ekkor már rajta is hagyva) a két kapcsolás közt eltel időt eltárolja és ez után ilyen időközönkét kapcsolgatná be egy pillanatra a relét. Car Windscreen Wiper Control with ATtiny13 Idézet: „Ezt odaírhatták volna. Mármint nem ezt, hanem eleve megcsinálhatták volna úgy a rajzot.” Na de jó. Csak most olvasom és igen. Ahogy értelmezem, a srác teljesen leválasztotta az indexkapcsolót és a +12V-ot a kapcsolóról lekötötte és átkötötte a modulra. Az indexkapcsolón pedig a +12V helyére kötötte a földet és innentől a kapcsoló csak a modult vezérli.
Ezt eddig nem tudtad elolvasni?
A masiknal a zenerek megfogjak a 12Vot. Idézet: „Ezt eddig nem tudtad elolvasni? ” Az a baj, hogy soha nem tanultam angolul, de azért megértem. Viszont a hosszú szövegek olvasásánál belezavarodok, ezért inkább átfutok rajta és ilyenkor kimaradnak dolgok. Idézet: „A masiknal a zenerek megfogjak a 12Vot.” Akkor ott valami más gond van. De biztos nem az, hogy az ablakmosós részét teljesen kihagytam, mert arra nincs szükségem. De jó, hogy az ilyen hibákból tanul az ember.
Ha mar mukodik >> ez << kerlek jelezz vissza.
Szívesen szerettem volna most hétvégén beüzemelni, de sajnos későn kérdeztem rá a hibára és még előtte kinyírtam az utolsó ATtiny2313-at, ami itthon volt. Különben szerintem már működne.
Az egyébként normális lehet, hogy egy így kinyírt AVR-nél a működés meghülyül, de AVRStudioban simán lehet írni/olvasni? Mert az 5 darab kipurcant példányból az összes többinél a Studioban hibát dobott, csak a mainál nem.
Hat ezt nehez lenne megmondani /En nem mennek bele/
Sziasztok!
Segítségeteket szeretném kérni, a következő problémámra. Szeretnék építeni egy fordulatszámmérő készüléket (link mellékelve), de a benne lévő mikroproci programozásához nem értek. Ha lenne olyan segítőkész emberke, aki vállalná a programozást, azt megköszönném! A részleteket megbeszélnénk privátban. Előre is köszönöm. Bővebben: Link
Ha te megépíted a NYÁK-ot, akkor én vállalom, hogy elküldöm a beprogramozott AtMega8-at!
Viszont az áramkör egy Nokia LPH7366-os kijelzővel megy, van ilyened, vagy be tudod szerezni? A gépeden ha van LPT port, akkor te is fel tudnád programozni egyszerűen!
Szia, hogyan lehet LPT portón egyszerűen beprogramozni? (Bocsi a buta kérdésért de még nagyon kezdő vagyok) Mar próbálkoztam a PonyProg oldalán talált programozóval, de nem igazán akart komunikálmi egyik a másikkal.
Beszereztem egy újabb adag attiny-t és most már bölcsen a földet toltam rá. Leteszteltem a cuccot és működik.
"in_right" egy pillanatra földre kötve, majd a "right_indikator"-t háromszor a pozitívra érintve a relé elenged. Ugyanez a másik oldallal is. Szóval tökéletes. Az a legjobb a motyóban, hogy legalább valóban a villanások száma és nem idő alapon működik.
Szuper. Ahogy Charlie mondana: "ez boldogsag"
Egy roppant egyszerű áramkör kell hozzá, és egy könnyen kezelhető szoftver....
Az áramkör és a beültetési rajz alul! A program pedig AVRISP 5.0 névre hallgat, kis angol tudással könnyedén kezelhető! Ha kellenek az áramkör Eagle tervei és az AVISP program, akkor írj és felrakom. Én evvel az égetővel és programmal küldtem fel a firmware-t az LCD kijelzős 3x4 billentyűs kódolt kapunyitó áramkörben lévő AtTiny2313-ba, ráadásul üzem közben! Igaz valamiért nem működött nekem a szoftveres reset, de ez egy táp újraindítással helyettesíthető volt. A kijelzőre kiírt angol szöveget pedig át tudtam a programmal írni magyarra ékezetek nélkül persze.
Nagyon szépen köszönöm a segítséged! És ha megtennéd hogy átküldenéd az Eagle terveit és az AVISP programot azt is megköszönöm. Az LCD-s kapunyito projektet meg osztanád velem is ha lehetséges, mert nagyon felcsigázta a fantáziámat.
Előre is köszi!
Nagyon szívesen!
A programozó áramköri rajza tartalmazza a lábkiosztást! A programban a Device-nál majd ki kell választanod az mikrovezérlő típusát, ATTiny2313 az én esetemben, amit programozni akarsz. A program automatikusan megkeresi a feldugott eszközt. De a .HEX file-t így is be tudod tölteni, ha betöltöd az alábbi file-t, akkor jobb oldalon a szöveg legaljáig legörgetve angol szövegek láthatók, ezek jelennek meg a kijelzőn. A szövegek 16 bit szélesek a szoftver miatt, ezért ha véletlen szélesebbre írod nem fog megjelenni semmi, ezzel ügyeskedni kell, de majd a magyart átküldöm neked. Kapunyitó A beégetendő eredeti Firmware Magyart majd küldöm! A code lock avr pedig már az én Eagle terveim tartalmazza.
Sziasztok!
Tömbbe szeretnék belehelyezni egy lebegőpontos számot , majd kiírni az lcd-re. Így csinálnám:
Sajnos lebegőpontos számmal nem akar működni, de ha integer-ként deklarálom és a formátumot átírom %d-re, akkor működik. Nem jöttem még rá sajnos a hibára. Tudom nem a legjobb megoldás, mert sok helyet foglal,de lenne helyem és a program sem lenne időkritikus. Ha valakinek van valami javaslata, szívesen fogadnám. Köszönöm!
Azt hiszem az sprintf() lebegopontos resze ki van szedve, valamit be kell huzni hozza, de most igy fejbol nem tudnam megmondani.
Makefile hack:
Ha WinAVR -t hasznalsz, akkor igy konnyebb:
Using sprintf function for float numbers in AVR-GCC |
Bejelentkezés
Hirdetés |