Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   251 / 360
(#) SzT3 hozzászólása Márc 14, 2016 /
 
Igen egy picit ez is benne van hogy megtanuljam az "adatkommunikáciot" mert jelen pillanatban szinte semmit nem tudok rola! De szeretném megtanulni!
Elsö körbe "tervezek" 2 panelt, keresek egy 3 analogbemenetes picet bár pont nemrég az egyik ledesbe emlitettek egy 3 analogbe 3 pwm ki PIC- et

És közbe probálom megérteni a szisztémát meg egy flow progit összerakni rà!
(#) niedziela hozzászólása Márc 15, 2016 /
 
Szia !

Belefutottam egy problémába,
PIC16F1936
ADC-t használok an0 és timer TMR0

Probléma, hogy az A4 portot bemenetnek használnám, de +5V van rajt és nem tudom beállítani i/o-nak
Megtudnátok mondani hogyan lehet, már c blokkban irogattam ezt azt, de nem jó

Köszi,
(#) elektroszala hozzászólása Márc 15, 2016 /
 
Üdvözletek!

A következő problémával zaklatnám a hozzáértőbbeket:
18f26k22, portok amik érintettek: B7-Output, B6-Output, B5-Analog input, B4-Analog input, B3- Output (többi B nincs bekötve). A jelenség: B7(és/vagy) B6, B3 -et 1-be teszem, majd olvasok B5 vagy B4 -en analog feszültséget, a kimeneteket lekapcsolja... Mit rontok el?
(#) Kovabe válasza elektroszala hozzászólására (») Márc 15, 2016 /
 
Lehet hogy feltennéd a progit akkor könnyebb lenne
(#) Bakman válasza niedziela hozzászólására (») Márc 15, 2016 /
 
Ha a lábat pl. 10 kOhm-mal lehúzod nullára, nem esik le a feszültsége? Esetleg láthatnánk a programot? Ha a programban lekérdezed a bemenetet, nem változik semmi?
(#) elektroszala válasza Kovabe hozzászólására (») Márc 15, 2016 /
 
Már lekopasztottam a progit, mire rájöttem, hogy az analog olvasás kapcsolja ki a két kimenetem a Bporton.
Jelen pillanatban már csak ennyi a progi, amit ideírtam.
portB3 ->1 ; Read ADC An11 -en(B4) ,
adc-t kiolvassa és kikapcsolja a PortB3 -at...
(#) Kovabe válasza elektroszala hozzászólására (») Márc 15, 2016 /
 
Nem tudnád feltenni a progit
(#) Bakman válasza elektroszala hozzászólására (») Márc 15, 2016 /
 
Valószínűleg az analóg bemenet olvasásakor a Flowcode átállítja a másik lábat is bemenetté, ez egy hiba lehet benne. Próbáld meg C kóddal kiolvasni az An11-et és ha azzal jól működik, már meg is vagy. Példa itt: Bővebben: Link.
(#) Kovabe válasza Bakman hozzászólására (») Márc 15, 2016 /
 
Szerintem nem jól adja ki a jelet a B port-on, azért kérem a progit.
(#) elektroszala hozzászólása Márc 15, 2016 /
 
Sajnos a komplett progit nem tehetem "közkincsé". Viszont gyorsan összedobtam egy másikat, üreset, amiben felépítettem ugyanazt a makrót. Az MŰKÖDIK. Valószínű, megzavarodott a FC (nem ez az első eset), tekintve, hogy a problémás programban, az adc kiolvasása elé és után betettem 2 Sec késleltetést. Egyértelműen akkor kapcsol ki minden más kimenetet a porton, amikor adc-t olvas...

Bakman: Kössz a linket. Evvel kapcsolatosan lenne egy kérdésem, ezt írtad:
"Flowcode-ban nem lehet megadni a belső referenciafeszültséget"
a következő lépésben egy lithiumakkuról (is) működő órában kell 2,5V-os referenciát használnom.
Amit írtál, ezek szerint engem is érint? Fizikailag összeállt a panel, csak felprogramozni nem tudtam még, a Vref-en van a 2,5V-os referencia, azt akkor a Fc alapból nem kezeli?
A hozzászólás módosítva: Márc 15, 2016
(#) niedziela válasza Bakman hozzászólására (») Márc 15, 2016 /
 
Szia !

Valami nem kerek sajna, de már ezt a kész elektronikát nem tudom vizsgálni mert elvitték.
Holnap előszedem a próba panelem és azon meg tudom nézni újra, ha előjön a hiba.
De most nézem, rosszul írtam, nem +5V van a lábon hanem GND.
A4 port kapcsolás ráeső része egy bemenet(pl:nyomógomb) ami alacsony szintre kapcsolna,
felhúztam egy külső 10K-s ellenállással, azaz csak akartam, mert a 10K egyik felén 5V van a PIC felől meg 2.5V. folyamatosan olyan volt a bemenet mintha nyomtam volna a gombot.
Ezért is mértem rá.
Kivettem a programból mert jelenleg nincs rá szükség, csak meglepett...
Lehet ott a gond, hogy a gomb változó alapértelmezésben 1 értéket adtam.
(#) kaqkk válasza elektroszala hozzászólására (») Márc 16, 2016 /
 
Idézet:
„2 Sec késleltetést”
Ezt felejtsd el ! A késleltetés ledvillogtatásra jó minden más esetben csak hibaforrás , az időzítéseket megszakításból kell lekezelni
Idézet:
„Valószínű, megzavarodott a FC (nem ez az első eset)”

A flow csak azt csinálja amit te kérsz tőle ,tehát nem a program hibája !
A hozzászólás módosítva: Márc 16, 2016
(#) kaqkk válasza elektroszala hozzászólására (») Márc 16, 2016 /
 
Idézet:
„Egyértelműen akkor kapcsol ki minden más kimenetet a porton, amikor adc-t olvas”

Nem akkor amikor a késleltetés indul !Ugyanis a nop megállítja az egész programot !
(#) Bakman válasza elektroszala hozzászólására (») Márc 16, 2016 /
 
Külső referencia feszültséget elméletileg tud kezelni, az ADC beállításaiban kell megadni. ha az nem működne megfelelően, akkor jöhet a C blokk.

Ha kiveszed a késleltetést, megszűnik a hiba?
(#) Bakman válasza kaqkk hozzászólására (») Márc 16, 2016 /
 
A késleltetésnek (mindegy, meddig tart) nem szabadna kikapcsolnia a kimenetet, nálam ilyen még soha nem fordult elő.
(#) elektroszala válasza kaqkk hozzászólására (») Márc 16, 2016 /
 
A késleltetést csak azért tettem bele, hogy egyértelműsödjön, mikor kapcsolnak a kimenetek. Tehát csak a hibakeresés idejére.
"
A flow csak azt csinálja amit te kérsz tőle ,tehát nem a program hibája "

Ne haragudj, de ez nem igaz. 3 éve használom, többször előfordult már, áttekinthető, néhány elemből álló programoknál is, hogy egy egy "gyári" komponens makró betétele után rejtélyes hibákat produkált. Jellemzően pwm vagy ADC komponensekkel szokott gond lenni. Volt olyan 24J -s pic, (FC6, nem torrentes, hanem frankó), amiben az egyik pwm csatornát nem tudtam rendesen használni. C blokkban konfigurálva ment. Nem ragozom, de a vége az lett, Hogy a Benji nevű kolléga (MM) javított a makrón...
Máskor egy üres projectben kellett újraírnom egy makrót, beimportálni, és úgy ment rendesen. Természetesen a makró ugyanúgy épült fel mint az, ami nem működött.
Ha soha nem fordult volna elő, hogy a Fc a hibás, nem lenne bennem a kisördög, sőt, még most is úgy állok hozzá, hogy én rontok el valamit, ezért is kérdezek...
A hozzászólás módosítva: Márc 16, 2016
(#) elektroszala válasza Bakman hozzászólására (») Márc 16, 2016 /
 
Nem a késleltetés kapcsolja ki a portot, én ilyet nem mondtam! A késleltetés előtt tettem a port fent vázolt bitjeit 1- be, 2mp-re, aztán adc olvasás (itt ezek a bitek port 0-ba váltanak), adc olvasás után ismét 2 mp szünet, a portokat újból 1-be teszem, így tudom mérni, látni, hogy az adc olvasás kikapcsolja a fent leírt portokat....


"az adc kiolvasása elé és után betettem 2 Sec késleltetést. Egyértelműen akkor kapcsol ki minden más kimenetet a porton, amikor adc-t olvas..."
A hozzászólás módosítva: Márc 16, 2016
(#) nagym6 válasza elektroszala hozzászólására (») Márc 16, 2016 /
 
Nem ismerem a Flowcod-ot, esetleg nem lehet az AD konfigurációs regiszterekbe (ADCON) közvetlenül írni? Mert ott kiválasztanád melyek az AD bemenetek.
(#) Bakman válasza elektroszala hozzászólására (») Márc 16, 2016 /
 
Én sem írtam ilyet. Próbáld ki a C blokkos ADC mérést, egy példát linkeltem.
(#) kkrisz75 hozzászólása Márc 19, 2016 /
 
Sziasztok. Kérdeznék újból egyet.

Összeraktam teljesen az órát.
De teszteléskor nagyobb sebességet fordulatot mért a program mint kellett volna.

Majd egy hét után, ma kiderült, hogy:
Ha a háttérvilágítás fényerőszabályzáskor elindul a PWM, akkor az órajel teljesen elmászik.

PL. ha 1.8kHz körül van beállítva a pwm(0) akkor pontosan 1.7 szeres szorzóval méri a sebességet és a fordulatot is. Ha 5kHz akkor csökkenti de nagyon.

A picbe írtam egy teszt "üzemóra" részt. Kiír másodperc, perc óra. stb..
És stopperrel mérve alap esetben normális (nyilván kis eltéréssel, mert nem órajel kvarc, sem a program nem úgy van írva, hogy ez legyen a fő feladat. de aránylag elfogadható, stopper órához képest.

Ha elindul a pwm, akkor a másodperc számláló felgyorsul, kisebb khz esetén kicsivel, nagyobb khz esetén kb század másodperceket mér.

Ha kikapcsolom a pwm-et és újra indítom az egészet, akkor megint jól mér.

A programnak két állása van.
Egyik esetben ha max a fényerő, akkor a pwm kimenetet kikapcsolja és direkt kimenetként bekapcsolja az optocsatolót, ami vezérli a 12V on aksiról tápot kapó ledeket.
Ha a fényerőt csökkentem, akkor kikapcsolja a kimenetet, bekapcsolja a PWM-et és beállítható értékkel szabályozza a fényerőt.

A pwm lábról közvetlen megy az optocsatolóra egy rövid vezeték. Nincs a kvarc vagy a pic közelében.

Ötlet?

Amúgy ha direkt pwm a kimenet akkor hibátlan minden, csak hát ez bosszantó..
A hozzászólás módosítva: Márc 19, 2016
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 19, 2016 /
 
A PWM általában a Timer2-t használja, lásd melléklet. Ha a Timer2-t és a PWM-et egyszerre használod, jönnek elő ilyen "hibák". Ha a kontroller tudja, másik időzítőt hazsnálj vagy a PWM-re, vagy a másik dologra, amire a Timer2-t.

Shot_366.jpg
    
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 20, 2016 /
 
Köszi.

Ez nem is néztem az adatlapban.

Igen a Timer2-t használom, mert abban pontos osztást tudok beállítani. Most 2000Hz re van állítva, és 200as számlálóval pontos 100ms az idő.

Átrakom a régi Timer0-ra. Ott 1220,xx hz volt 122-es számlálóval.

Ez nem F1 autó, így nem fog annyit számítani az eltérés.

Bár ha van tipp, ugyan ilyen pontos beállításra, akkor megköszönöm.

18F4620 pic.
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 20, 2016 /
 
Mi megy a PWM-ről? Ha más nem is, azt esetleg szoftveres PWM-mel helyettesíteni.
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 20, 2016 /
 
Az egész háttér világítása.

Azért lenne jó ha lenne, mert régen pillanat pákával(csak azom volt) forrasztott smd-ledek vesztettek az erejükből sokat és nem volt zavaró este a fényerő. (60db led)
Nappal teli fénnyel mehet most is, de tegnap este próbáltam, és a mostani "smd" pákával forrasztott ledek fénye kiviszi a szemem. Pedig ugyan azon előtét ellenállásérték és 14.7V a táp. Régen kb fele ekkora volt a fényerő.

Tegnap nagyon néztek a lámpánál, mitől van kék fejű ember a kocsiban.

Most próbálok egyet, TMR0 val. Ha nincs eltérés lényegében sok, akkor nem írok szoftveres PWM-et hozzá. Csak helyet foglal. (Ez azért nem űrtechnika a kocsiban)
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 20, 2016 /
 
Megoldódott Timer0-val.

Már csak újra kell vezetékezni az AD bemenetekre a hőmérőt és a benzinszintmérőt. Elég sokat ingadozik, holott eddig atom stabil volt. Mivel ülés alól a alaplap is felkerült az órába, műszerfalba, így a vezetékezés árnyékolt hiányában, sima vezeték lett egyelőre
(#) kkrisz75 hozzászólása Márc 20, 2016 /
 
Vissza kerestem pár oldalnyit és láttam páran használtatok sd kártyát pic-el.

Egy hónapja csináltam egy kis nyákot hozzá, igaz ez microSD kártyához van. Ma volt időm próbálgatni, de nem igazán működött.
(mmc.jpg)

A másik kép az ami alapján csináltam. Csak az ellenállásokat cseréltem, mert így 3.2V és nem 3V lesz a lábakon, legalábbis osztószámolgatás alapján. ( a táp lábon egy LD1117-33c adja a 3.3V-ot a kártyának, és ez méréskor is ennyi.)

A gyári mintaprogrammal próbáltam, egy szöveget beírni a fileba. Példaprogramok közt van. hardveres és szoftveres FAT komponens beállítással is (5.4es flowcode)

18F4620as pic. ( az órát használom hardvernek, későbbi terv miatt, az spi RC 3,4,5 és CS (RC6 nálam) láb kivezetve.) 20Mhz-es kvarc
(#) SzT3 hozzászólása Márc 24, 2016 /
 
Sziasztok!

ilyen Vagy ehhez hasonlo kijelzőt szeretnék PIC el hajtani!
Autoba lenne kiegészitő müszer.
Volt vizhőfok olajhőfok értéket mutatna... tulajdon képpen egyedül azért néztem ezeket hogy piktogramokat lehessen rakni az érték elé meg hog animàlni lehessen!

A flow képest ezt kezelni? Hogy àlljak neki szerintetek?
Nem nagyon találok cikkeket se rola
(#) Bakman válasza SzT3 hozzászólására (») Márc 25, 2016 /
 
Igen, lehet kezelni. A 6-os alapból ismeri, az 5-ös verzóban kicsit macerásabb, de nem lehetetlen: Bővebben: Link. Azt viszont vedd figyelembe, hogy ez egy nagyon pici kijelző.
(#) Bakman hozzászólása Márc 26, 2016 /
 
Nagyot!

Watchdog kérdés. PIC18F14K22, WDT 1:128 -ra állítva kb. 0,6-0,8 másodperces periódussal újraindítja a kontrollert. Eddig jó. 1:256 -ra állítva, öt perc alatt sem indul újra. Nem jól gondolom, hogy az előző időt dupláznia kellene?

Mellékletben a program. UART-on fogadja egy GPS modul jelét és jeleníti meg a kijelzőn.

ora.fcf
    
(#) kkrisz75 hozzászólása Márc 26, 2016 /
 
Hello mindenki. Hol van a hiba?

A kis kártyatartó rossz volt. Közben megtaláltam, hogy a microSD kártya lábkiosztása más. Így átalakítottam. CLK, Din, Dout, VDD, GND, CS lábak jó helyen legyenek.
Lecseréltem 2.2K és 3.3K ellenállásokra a régieket.
A Vdd most 3.29V. A Din és CS lábon 2.98V mértem.

a kártya 2GB-os Fat16-ra formázva.
18F4620 as pic és 20MHz a kvartz

A program lefut szimulációkor. De betöltve picbe megakad a Fat Init nél.
Vár az SD kártyára üzenetnél.

A program alap példa program.
Következő: »»   251 / 360
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