Fórum témák
» Több friss téma |
Hát bövebben a célom egy motor fordulatszámszabályzó épitése amit egy szervo csatorna vezérel. Az impulzusszéllesség adja meg a fordulatszámot.
Tisztelt Fórumozók!
Elkezdtem csinálni egy hall érzékelő működését imitáló egyszerű áramkört és a hozzá tartozó programot. PWM jelet használok fix kitöltési tényezővel és period regisztert állítom adc függvényében. Az a jelenség, hogy magas frekvencián változik a kitöltési tényező, hiába van fixen megadva. Élesben még nem néztem szkóppal csak szimuláltam. Ha valaki esetleg tudja mi a gond, legyen kedves megosztani velem. Előre is köszönet.
Nem adhatod meg a kitöltést fixen ha a period változik.
Kettő egymással szorosan összefügg. Próbáld meg így. A hozzászólás módosítva: Okt 24, 2012
Köszönöm, eszembe sem jutott ez a megoldás. Szimulációban tökéletes, holnap megy a szkóp tesztje.
Sziasztok feltenék egy progit, ezzel tudok normál modban frekit mérni?
Szia,
Igy szerintem nem. Ha a kitöltés megegyezik a frekivel sokmindent nem fogsz mérni
Üdv minden Fórumozónak!
Kis segítséget szeretnék kérni... Egy SIM900 modult tanulmányozok éppen. PC-vel RS232-n keresztül, ClearTerminal-lal, MAX3232 szintillesztéssel utasítgatom különböző feladatokra. Ezzel nincs is semmi baj. Következő viszont az lesz, hogy Flowcode v5-ben fogom ugyan ezt tenni, csak a PC-t egy PIC-el helyettesítve. Ha valaki tud egy-egy "pársoros" példaprogramot belinkelni egy hardveres USART használatára, szerintem jó néhányan érdeklődve tanulnánk belőle... A matrixmultimedia oldalán van GSM modul és annak tananyagai (EB066), de sajnos szinte semmi használható, példaértékű fcf fájlt nem találok hozzá. Megköszönve segítségeteket... fatti
Srácok, kellene kis infó. Lehet nem is ide kellene írni, de hátha valaki dolgozott már vele.
Szeretnék egy Lakás/garázs riasztót csinálni. Az a rész, hogy ha kinyitnak valamit és szirénázzon nem jelent gondot, szimpla kapcsoló vezérlés. A fő problémám, hogy távirányítóval kellene tudnom kapcsolni. Nem taglalom miért maradt ez a megoldás és nem a billentyű kombináció vagy rejtett kapcsoló. Láttam a HEStore-ban RF modulokat és távirányítókat. Használta már valaki? Hogyan tudom megoldani, hogy ki be tudjak a távirányító gombjaival kacsolni kimenetet? 16F877A és 18F4550 PIC van tartalékba. Nyilván azt használnám amelyik szükséges hozzá. A program természetesen Flowban készülne.
Hello!
Nemrégiben akartam én is RF-ekkel dolgozni, de egyszerűbb megoldást találtam. Vettem az Ebay-en egy auto-távirányító egységet. 12Vról működik, nyit, zár, és semmi dolgod vele (10-15 dolcsi) (csak egy javaslat) Az lenne az én kérdésem, hogy comparátort szeretnék használni egy 16f628A-val. A programot raknám össze, de el sem tudtam kezdeni. Van erre valami FlowCode-ban vagy C-ben kell intézni? (akkro nem keresem).
Használt már valaki Comparátor FloweCode alatt?
Nekem nem sikerül. Valaki segítsen már ki, hogy miért nem megy? Elvileg annyit kellene beírnom, hogy TRISA= 0b00000000; CMCON = 0b00000100; De nem is érti miről beszélek. Valaki tud nekem segíteni?Az már csak haba tortán, hogy nem tudok hivatkozni, vagy lekérdezni a CMCON C2out bitjét. Hogy kell ezt? Valaki segítene? (16f628A a PIC)
Köszönöm, ezt még nem találtam meg...
Az a furcsa (most vettem észre), hogy az összes flowecode programomban (és szerintem a tiétekben is) benne van a C-re fordított *.c-ben: CMCON = 0x07; sor, ami a komparátor kikapcsolását jelenti. Na most ha van a kódban kikapcsolás, akkor szerintem valahogy lehet azon változtatni (nem hinném, hogy fixen benn van, hogy kapcsolja ki), de nem találok semmi ilyesmit a project option-ban sem, és máshol sem. Egyetlen hülye kérdésem lenne: Hogy hivatkozok a CMCON regsiter, 7dik, C2OUT nevű bitjére? CMCON.C2OUT? Vagy valami más módon? (mondjuk egy IF elágazásban Cben, és hogyan tehetem meg ezt ugyanezt a Flowcode-ban egy elágazásnál? Vagy ezt ugyanígy csinálom? nem egészen értem.. bár a linken amit adtál, egész jól le van írva (köszi még1x...) Bár ezt a test_bit parancsot nem ismerem még... keresés alatt... Sztem Kval is jó és Cvel is. Az egyik "magyar", mint a fájl, a másik meg angol, mint a file... A hozzászólás módosítva: Okt 29, 2012
Ha sikerül összehozni, akkor egy apró példaprogramot tehetnél fel.
Csak csendesen jegyszem meg , ez már nem angol hanem kínai !
Sziasztok, szeretnék építeni egy terebélyesebb led projectet, és ehhez szeretnék 74HC595 shiftregisztereket használni, a kérdésem az lenne, hogy valaki tudna e küldeni egy mintaprogramot kapcsolási rajzal? Nagyon hálás lennék érte. A legjobb az lenne, hogyha a 4 pic kimenet , több shiftregiszterre kapcsolódna.
Köszi!
Hello!
ITT találhatsz egy kapcsolási rajzot. Erre már csak mintaprogramot kell írkálnod és gyakorolni... ITT is van egy másik projekt. 3. projekt Google-val találtam a linkekre, kb. 3 perc kereséssel és amit beírtam: pic18f 74HC595 >>> keresés képek között >>> kapcsolási rajzokat kerestem A hozzászólás módosítva: Okt 30, 2012
Igen, az elsőt énis megtaláltam, de például a másodikat nem, nagyon szépen köszönöm, nagyon jók!!! Most pedig elvonulok tanulmányozni.
Én is ezt használom az órában.
Nagyon egyszerű de minta programot hiába küldök, mert alkalmazástól függ a kialakítása. 3 láb elég a vezérléshez. Milyen segítség kell? Mit nem értesz?
Szia, egyenlőre még semmit sem értek, mert igazán normális leírást nem találtam, de mostmár így kezd összeálni...
Szia, még anyit hagy kérdezzek, hogy mit hova kell kötnöm, például, az órajelet hogy adom ki a csipből, és melyik lábon?
Működik a c *omparator. Bár most nem otthon vagyok, ezért csak azzal tudom tesztelni, amit magammal hoztam (két ellenállás és egy poti)
A programot mellékelem. Bár még nem egészen tökéletesen tiszta minden... de működik. A villogás az elején azért van, hogy lássam elindult e a PIC (voltak vele gondok a szállítás után). * c = k tehát komparátor, amíg a magyar felületre írsz ! A hozzászólás módosítva: Okt 30, 2012
Lenne egy kérdésem. Az jutott eszembe, hogy, ahogy tekerek fel egy potit, úgy világít egy ledsoron egyre több led (mint egy hangerő, pl...). Ezt egy ADC-vel oldanám meg, de 16F628A-t használok, ebben nincs ADC.
Hogyan tudom ezt megcsinálni? ADC nélkül sehogy? Ez egy egyszerű feladatnak tűnik, de ötletem sincs mi alapján oldhatnám meg... Valaki adna ötletet?
Szia, beolvasod, a bemenetet byte ként, írsz pár feltételt, ami behatárolja a tartományokat, ezt kimenetként megadod, és kész.
Amúgy ilyen is van: Bővebben: Link
Elnézést, de ezt nem értem. Hogy olvasok be egy analóg bemenetet (ami a potiból jön) byte-ként? Egy picit segítenél, hogy megértsem?
( a link az jó cucc...) Arra gondoltam (tudom, hogy ez talán fölöslegesen bonyolult), de: Megszakítások lennének, mondjuk 1/100 másodpercenként. Ilyenkor a Vref feszültséget alacsonyról felviszem, mondjuk 10 lépésben magasba, és minden körben megvizsgálom, hányadik lépésben lesz nagyobb mint a bemeneti analóg jel. HA pl a 6diknál, akkor 6 ledet világítok ki. Ki is próbálom...
Ilyenekkel ne foglalkozz, ezt a chip végzi (nem biztos hogy jó amit írtál, csak nem akartam kibogarászni) a chip-ben található ADC ezt elvégzi, onnantól neked már csak azzal kell foglalkozni , hogy behatárold a tartományokat. Pl.: az egyes LEDet gyújtsa ki ha a beolvasott változó értéke x>0 és így mindíg (kivéve persze 0) kigyújtja a ledet, has több led, ugyanez, csak ott már AND es feltételek kellenek.
Na akkor bocsi, ezt elnéztem (emlékezetem mint egy guppié) akkor egy A/D konverter?
Szerinted mi a különbség az ADC és az AD/konverter között ? Mikor nézted utoljára a 628 adatlapját ?
Szia!
Szoftveresen is meg lehet oldani, a csatolt rajz működött, kipróbáltam! Működése: startkor egy tranzisztor kisüti a kondit, egy számláló nullázódik.Timer1 folyamatosan fut .tTúlcsordulásakor megnézi az ST bemenetet, hogy magas-e ,ha nem növeli a számlálót, ha igen kiírja a ledekre a számot,és kezdi elölről. ASM-ben megvan, de neked nem segít sokat. üdv. Foxi
Nem néztem meg a minta programokat, mert máshogyan közelítettem meg a végén.
Először is döntsd el mit kacsolsz az IC-vel. +5V ot vagy testet. vagyis ha 5V-ot adsz ki a lábakon és a ledek másik fele a testen van, akkor: - ha az első gyullad ki akkor teljes fénye lesz, ha a második akkor esik a fényerő, és így tovább, ha a 8. gyullad ki akkor az összes fényereje halványabb lesz. Ez nem gond, akkor ha csak 8 leded van. Viszont a 9. led amit már másik IC hajt meg ismét teli fényerővel világít, és látható lesz a nem kicsi különbség. - Ha testet kapcsolsz akkor a led negatív lába az IC felé néz és a másik lába +5V on van. Így a fényerő egyforma lesz. Viszont ez szerint is kell besorozni az 1 és 0 kat. Vagyis ha testet kapcsolsz akkor ahova 0-t sorozol ott fog világítani a led, ahova 1-et ott nem fog. Ha +5v ot kapcsoltatsz pont fordítva lesz. ahova 1 megy ott világít, ahova 0 ott nem. ne úgy képzeld el az órajel lábat, hogy állandó frekvencia mint a chipnél. A GND és a VCC lábak tiszta sor gondolom. Ha több IC-t teszel sorba, hogy sok ledet vezérelj, akkor az első IC Q7' lábát a második IC DS lábával, a második Q7' lábát a harmadik DS lábával, és így tovább. (te csak ez első IC DS lábára adod a kimeneti értéket) Ő maga végig tolja az összes IC-n. Ha 10db IC-d van akkor 80jelet kell betolnod (1 vagy 0), hogy az összes led úgy világítson ahogy neked kell. Az összes IC-n az OE lábat összekötheted és lehúzhatod testre. Az azt szolgálja, hogy amikor testet kap, akkor megy csak ki a jel, addig nem világít semmi míg ez testre nem kerül, hiába van kisorozva. Ha folyamatosan testen van akkor ahogy kiment mind, kigyullad automatikusan. Az összes IC-n az MR lábat össze kötheted. Ezt érdemes az egyik (mindegy melyik) PIC lábhoz kötni. Ezzel tudod induláskor ki reset-elni a tartalmat. Vagyis kiadsz erre a lábra egy egyet. Vagyis PL.: D0 - 1 és D0 - 0 Ennyi. a reset. Maradt 3 láb SHCP, STCP, ÉS az első IC DS lába. Ez kell neked. Az SHCP-ket összesnél összekötöd és a PIC neked szimpatikus lábára bekötöd. PL C6 Az STCP vel ugyen ez. PL: C5 Az első IC DS lábát szintén A PIC szimpatikus lábára kötöd. PL: D2 Kisorozás: A programban fogsz egy kimenet ikont és beállítod, neki, hogy D2 és az értéke 0. Ismét fogsz egy kimenet ikont, alá teszed és C6 értéke 1 Ismét fogsz egy kimenet ikont, alá teszed és C6 értéke 0 (így kisoroztad az első led értékét 0ra. vagyis az adat lábon adtál 0-t. Majd a shift regiszterrel egyel arrébb toltad a számlálót.) Lényegében ennyi. Ezt annyiszor csinálod meg ahány ledet akarsz kigyújtani. Az elején történ választástól függően pl. ahol DS-nek 0-t adtál világít ahol 1 ott nem. Ha bement az összes led, akkor: Ismét fogsz egy kimenet ikont, alá teszed és C5 értéke 1 Ismét fogsz egy kimenet ikont, alá teszed és C5 értéke 0 ezzel az összes tároló regiszterét kitolod, rögzíted, ahogy akarod úgy hívod. Ilyenkor kellene megadni az OE lábnak a testet vagyis alacsonyra tenni, de mivel nekem már testen van ezért kigyulladnak a ledek egyből. Aztán kezdődik elölről minden. Mivel a PIC órajele 4-20 MHz ezért ezt ilyen tempóval lépteti be. Mivel neked valószínű ciklusban dolgozik a program érdemes úgy is gondolkozni. Csinálsz egy makrót amivel 1-et tolsz ki és egy makrót amivel 0-t. Aztán csak meg kell hívogatni sorba. Az *.fcm fileok makrófileok. Vagyis makró importálással tudod behívni. A KMH2 nél ne ijedj meg az elején, az egy 7szegmenses kijelző kisorozása. (0-1-2-3-4-5 H) Sebesség fokozat, ahogy a váltó áll. (H- Hátramenet, 0 üres) Mivel a ledeket mindig hátulról kell kisorozni. Vagyis a legutolsó leddel kell kezdeni, nekem az ezt vezérlő IC az utolsó. Így is nézd végig.... Ugyan így a RPM kijelzésnél... Ott láthatod a vízhőfok és a benzinszint ledjeinek a vezérlését. Mind a két makró végén látod az STCP kimenet 1 és 0 megadását. Jó bogarászást. Szerintem kezd 8db leddel. Aztán rájössz és megy akár 1000 is.
Kezdő vagyok, nem egészen értem.
A leírásod alapján: Azt nézi, hogy egy bizonyos kondit mennyi idő alatt tölt fel? (bocs, de még nem vágom a dolgot, és ebben az esetben pont az elméletét szeretném érteni..) |
Bejelentkezés
Hirdetés |