Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   333 / 361
(#) niedziela válasza bubuszoft hozzászólására (») Szept 26, 2020 1 /
 
Idézet:
„de nekem komplett működő program kéne, kapcsolási rajzzal”

Akkor te abban kérsz segítséget, hogy vegyél egy órát

Tessék a segítség
A hozzászólás módosítva: Szept 26, 2020
(#) bubuszoft válasza Bakman hozzászólására (») Szept 26, 2020 /
 
Backman

Tudom hogy tele van a net, de nem idazán akarok abba belefutni, hogy megcsinálom az áramkört, megveszem a drága alkatrészeket, és kiderül, hogy mindent csinál, csak pont azt nem amit kéne. De ha Te nem segítesz, nem gond, de hagyd, hogy esetleg más segítsen benne.
(#) Bakman válasza bubuszoft hozzászólására (») Szept 26, 2020 /
 
Az első válaszomban már segítettem, hogyan kell kiolvasni az időt a DS3231-ből. Szívesen adok további támogatást de az, hogy én vagy valaki megcsinálja helyetted, nem segítség.

Tipp: nem kell az RTC IC-nek tudnia a riasztási funkciót, azt a kontroller programjában is meg lehet csinálni. Pl. a kiolvasott órát megszorzod 100-zal és hozzáadod a percet. Ha ez az érték egyezik a riasztás időpontjával, amit szintén négy számjegyen tárolsz, akkor mehet a riasztás. 1834 jelentése 18:34, 345 jelentése 3:45 stb. Vagy, ha a kiolvasott óra és a kiolvasott perc egyezik a riasztásban tárolt órával és perccel...

Mondok még egy tippet: karakteres LCD kijelzőt ne használj óra gyanánt, nem fogja a célközönség látni a számjegyeket, pláne frissen ébredve az álomból.
Idézet:
„kiderül, hogy mindent csinál, csak pont azt nem amit kéne”
Ez akkor is előfordul (nem feltételes mód, mindig ez van), ha valaki megcsinálja helyetted. Annyi a különbség, hogy van kinek reklamálni emiatt. Ezért kell szinte hajszálpontos leírás, mit szeretnél, különben 66-szor kell módosítani, faragni a programot. Ha te csinálod magadnak, akkor pont olyan lesz, mint amilyet szeretnél.

Végül de nem utolsó sorban, a saját készítészítésű rádió szól a legszebben, óra mutatja a legjobban az időt...

Várjuk a kérdéseket!

Ora.jpg
    
(#) bubuszoft hozzászólása Szept 26, 2020 /
 
Valami ilyesmire gondoltam.
Itt van alarm is elvileg, még tanulmányozom milyen RTC-re íródhatott, de legalább olyan, amit elképzeltem.
(#) Bakman válasza bubuszoft hozzászólására (») Szept 26, 2020 /
 
Ebben a programban nincs RTC, a kontroller saját órajele, pontosabban a Timer 0 megszakítás van használva időalapnak.
(#) kokozo válasza bubuszoft hozzászólására (») Szept 26, 2020 /
 
Szia!
Ez belső órajelre lett csinálva, de ha találsz DS1307-as RTC-s órát, az ugyanazzal a parancsokkal működik mint a DS3231, és a DS1307-ből van példa fent a mátrixon.
(#) bubuszoft válasza Bakman hozzászólására (») Szept 26, 2020 /
 
De ez már az, RTC vel megy.
(#) bubuszoft hozzászólása Szept 26, 2020 /
 
Azt még nem tudom, hogy Pl az órát hogy tudom mondjuk itt állítani, de nem adom fel a tanulást
(#) niedziela válasza bubuszoft hozzászólására (») Szept 26, 2020 /
 
Ezt amit ide feltettél Quickset... kár nézned, csak még mélyebb lesz az a kút
(#) Bakman válasza bubuszoft hozzászólására (») Szept 26, 2020 /
 
Szép összetett progra. Ki fog ezen eligazodni? Milyen kijelzők vannak ezen? Azt látom, hogy van karakteres LCD de valami más is van az RS230(0) makrókhoz láncolva, valószínűleg valamilyen HMI.
(#) Kovabe hozzászólása Szept 27, 2020 /
 
Sziasztok
Egy kis segítségre lenne szükségem. Szeretnék egy 18F14K50-et szertnék összekötni egy HMI-vel.
Megy a kommunikáció de irdatlan lassan és valamiért nem tudja a HMI értelmezni.
Belső órajel elég, nincs szükség az atomórára.
Valakinek lenne esetleg egy perce megnézni, hogy mit csesztem el!
(#) Bakman válasza Kovabe hozzászólására (») Szept 27, 2020 /
 
Nincs beállítva az órajel. Sem az osccon regiszterrel, sem a beállításokban nincs megadva. Ezt az órajel frekvenciát belső oszcillátorral nem tudja.

Build menü -> Projekt opciók.

Mekkora legyen az órajel frekvenciája?
(#) Kovabe válasza Bakman hozzászólására (») Szept 27, 2020 /
 
Szia

Próbáltam 8MHz-re de az sem volt jó. Igazából nekem az kéne hogy 9600baudrate-el pörögjön az RS232 és működjön a DS18B20.
Más nagyobb elvárásom nincs
A hozzászólás módosítva: Szept 27, 2020
(#) Bakman válasza Kovabe hozzászólására (») Szept 27, 2020 / 1
 
Pár hiba van még a gépezetben.

Ha nem használod az USB modult, kár ilyen kontrollert venni, eleve buksz három lábat. RA0 és RA1 csak bemenetként használható, hiába kötöttél oda LED-et. Ajánlom figyelmedbe a PIC18F14K22-es típust, az is 20 lábú.
Extend Instruction Set legyen mindig kikapcsolva, ha tud ilyet a kontroller. Karakteres LCD hazsnálatánál biztosan okoz gondot, a többit nem teszteltem. A hiba megerősítve a MAtrix fejlesztői által is. Hogy ez a Flowcode és/vagy a BoostC hibája, kb. mindegy is.
A program, hacsak nem valami extáról van szó, mindig kezdődjön egy kis késletetéssel.
A feltétel bekarikázott része soha nem fut le, mert ha t kisebb, mint 24, akkor nem lehet nagyobb, mint 80, a t=0 rész soha nem hajtódik végre.

A helyes órajelbeállításhoz kell egy kis C kód az elejére:
  1. osccon=0b01110000;
Az itt beállított értéket kell a programnak is megadni. Javaslom a 16 MHz-et, 8 MHz a nagyon minimum 1-Wire használata esetén Flowcode-ban. Az órajel átállításával a Timer0 periódusideje is megváltozik, ezt állítsd be úgy, ahogy neked jó.

A programban az UART sebessége 38400-ra van állítva, ezt tekerd át 9600-ra, ha annyi kell, vagy a HMI-n állítsd át a kommunikációs sebességet 38 400-ra mindjárt az első oldalon.
  1. baud=38400
(#) Bakman válasza Kovabe hozzászólására (») Szept 27, 2020 / 1
 
Most vettem észre, szerintem a parancsok fogadása így nem fog működni a HMI-től. Írd át a programját úgy, hogy minden gombnyomásra csak két karaktert küldjön. Pl. A0 - A9, B0 - B9, C0 - C9 stb. Ez eddig 30 féle utasítás. Az RX makróban pedig ilyesmi legyen, lásd melléklet.
(#) Kovabe válasza Bakman hozzászólására (») Szept 27, 2020 /
 
Még nagyon az lején vagyok, csak a régi programokat ollóztam össze.
Hálás köszönet a leírásért és az okfejtésért.
Amúgy megmaradt kontroller és szerettem volna felhasználni ha már van idehaza. Amúgy a későbbiekben amúgy is nagyobbat szeretnék de az még odébb van.
Jó pihenést, jó éjt.
A hozzászólás módosítva: Szept 27, 2020
(#) Kovabe válasza Bakman hozzászólására (») Szept 28, 2020 /
 
Köszönöm a segítséget, már majdnem jó. Valamiért csak 3,3V-ról működik, 5V-ról nem csinál semmit.
Mit nem csináltam jól?
(#) niedziela hozzászólása Szept 28, 2020 /
 
Próbált már valaki olyant, hogy a PIC program 4MHz belsőről jár, mellette meg van egy 32KHz -es quarz ?
(#) niedziela hozzászólása Szept 28, 2020 /
 
Flow 8 -ban az oszcilloszkóp valami hardverrel együtt működik csak ?
(#) Bakman válasza Kovabe hozzászólására (») Szept 28, 2020 /
 
A Vusb lábra kell egy kondenzátor, 220 nF - 470 nF a GND felé.
(#) Bakman válasza niedziela hozzászólására (») Szept 28, 2020 / 1
 
Nem próbáltam de nem tűnik űtrechnikának. A másodlagos oszcillátort (Secondary oscillator) kell bekapcsolni és megmondani a Timer1-nek, hogy az órajel onnan jön. Egy trükk van, ha másodpercenkénti megszakítást szeretnél: a Timer 1 számlálóregisztereit fel kell tölteni minden megszakítás után, különben csak két másodpercenként kapsz megszakítást.

tmr1h = 0x80;
tmr1l = 0x00;

Az órakvarc 23 768 Hz-en működik, a Timer 1 regiszterei viszont 65 535-ig számolnak (2^16).
(#) Kovabe válasza Bakman hozzászólására (») Szept 28, 2020 /
 
Közeben a feszültség megoldódott, elnéztem és nem volt a tápUSB GND bekötve rendesen.
Viszont a DS18B20 olvasással van valami bajság, totál fals értékeket dobál és nem tudom mi lehet.
(#) Bakman válasza Kovabe hozzászólására (») Szept 28, 2020 /
 
A "gettemp" makrót átírtam egy olyanra, amit régóta használok, próbáld ki. A gyári DS18B20 kiolvasással több bajom volt. Vagy nem működik a CRC ellenőrzés vagy több OneWire portot nem tud kezelni.

A OneWire komponenbsn kikapcsoltam a "Use CRC" opciót, abból is a "saját" van használva. A makróban hiányzik egy értékadás, miszerint mi legyen a 'dsegesz' változó értéke hiba esetén, ezt írdd át valamire hogy tudd, hibás kiolvasás volt.
(#) Kovabe válasza Bakman hozzászólására (») Szept 28, 2020 /
 
Köszönöm, már félig működik, már csak valahogy rá kéne vegyem hogy ki is olvassa
(#) Bakman válasza Kovabe hozzászólására (») Szept 28, 2020 /
 
Ki olvasson ki kit?
(#) Kovabe válasza Bakman hozzászólására (») Szept 28, 2020 /
 
A PIC nem olvassa a DS-t. Gyanítom hogy ismét valamit nem jól csináltam.
(#) Bakman válasza Kovabe hozzászólására (») Szept 28, 2020 /
 
Ha a mellékelt program nem működik, akkor próbáld másik DS IC-vel, másik kábellel, másik felhúzóellenállással. Én, ha hosszabb a kábel, mint egy méter, a DS lábaira szoktam forrasztani egy 1206-os, 100 nF-os kondit, közvetlen a nyakára. Pont jó a lábtávolság hozzá.
(#) Kovabe válasza Bakman hozzászólására (») Szept 28, 2020 /
 
DS csere megvolt (korábban mind a kettő működött), ellenállás megvolt, most 3,3k van épp rajta.
Most jött a 100nF. Ez sem nyert.

Szerintem alszok rá egyet és holnap mikor belevágtam a csákányt fogok rájönni hogy megint valamit elcsesztem.
A hozzászólás módosítva: Szept 28, 2020
(#) Bakman válasza Kovabe hozzászólására (») Szept 28, 2020 /
 
Akassz egy logikai analizátort a 1-Wire vonalra. Az alábbiakat kellene látnod:

1sec.jpg: Az egy másodperc szünet a "DS18B20_0_StartConversion" és a "DS18B20_0_ReadTemeprature" makrók közötti idő. Ennek kb. 1 s hosszúságúnak kell lennie.

A szünet bal oldalát nézd meg tüzetesebben, ebben van a mérési parancs.

Reset.jpg: A reset időtartam kb. 600 ms hosszúságú.
Presence.jpg: 95 - 96 µs.
Adatfolyam.jpg: A reset kezdete és az utolsó bit vége közötti időnek kb. 2.4 ms-nak kell lennie.

Ha ezek az idők nagyon nem stimmelnek, akkor a kontroller nem 16 MHz-en jár. Próbáld meg úgy, hogy a program elején lévő
  1. osccon=0b01110000;
sort átírod erre:
  1. osccon=0b01110011;
Az USB modul miatt van a rendszerben egy "CPU divider" nevű osztó, nem tudom, beleszól-e az órajelbe ilyen esetben.
A hozzászólás módosítva: Szept 28, 2020
(#) Kovabe válasza Bakman hozzászólására (») Szept 28, 2020 /
 
Nem jó valami de nagyon. Mellékelem az olvasást, ez csak hasonlít arra amit neked mutat.
most megmértem, kb 3,3ms
A hozzászólás módosítva: Szept 28, 2020

untitled.csv
    
Következő: »»   333 / 361
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