Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   92 / 360
(#) pjg válasza watt hozzászólására (») Nov 23, 2012 /
 
Működik a program. Kiírta, hogy "No Device Found". Ami igaz is. Mindjárt ráeszkábálom a DS-t. Csak kevés a Vcc csatlakozóm.
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Továbbra sem látja a devicét.. Próbálgatom még.
(#) vilmosd válasza baloghzoli1 hozzászólására (») Nov 24, 2012 /
 
Idézet:
„Nem olvastad a topic cimét?”
Programozasrol van benne szo nem barkacsolasrol. A PIC es egyeb programozhato eszkozoket programiras segitsegevel teszunk hasznalhatova. Program nelkul ezek az eszkozok olyanok mint egy auto motor nelkul. Lehet a legszebb, legjobb, legnagyobb autod, de motor nelkul annyit er mint egy bicikli kerek nelkul. Az hogy hogjan programozol vegulis mindegy, de ha nem tudod felfogni egy egyszeru par soros program ertelmet akkor mar regen rossz. Senki sem ugy szuletett, hogy mar tudott programozni, de megprobalta megtanulni, es idovel mar tud programot irni. Aki kijelenti hogy en nem tudok programozni, es csak arra var, hogy valaki megszanja, es megirja helyette a programot, az inkabb foglalkozzon massal.
(#) baloghzoli1 válasza vilmosd hozzászólására (») Nov 24, 2012 1 /
 
Csak nem olvastad el
Idézet:
„Flowcode software allows those with little to no programming experience to create complex electronic systems in minutes. Flowcode is available in 20 languages and is used by thousands of engineers and educators.”
Ez a vastagbetüs rész Matrixmultimedia
de a goggle le is forditja Bővebben: LinkEgyébként ilyet nem kértem hogy bárki is szánjon meg ,feltettem egy kérdést arra vártam választ.Nem irtam olyat sem hogy nem tudok programozni "c-ben nem tudok programozni".Söt azt sem irtam hogy pic-et sem programoztam nem tudom honnét szedted ezeket a badarságokat.Részemröl ezt lezártam.Ez már szánalmas
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
MŰKÖDIK! Lemaradt a DS18B20+ felhúzó ellenállása. 21,54 °C van.
(#) niedziela válasza baloghzoli1 hozzászólására (») Nov 24, 2012 /
 
baloghzoli1 teljesen igazad van, a flowcode használata során nem feltétlen kell C ismeret, ezt a program nem is kívánja meg. Rengeteg előre definiált blokk van benne amit könnyen és gyorsan lehet használni. Ez viszont nem azt jelenti, hogy mindenki gondolatát a Matrix kitalálta és beépítette a programba, ezért van C és ASM beillesztésre lehetőség.
Kérdésedre a választ pedig jó szándékkal és önzetlenül megkaptad
Bővebben: Link
Bővebben: Link
Az izmolás helyett odafigyelnél ara amit mondanak, elöbbre jutnál a problémád megoldásában.
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
Szia! Ügyes vagy! Feltennéd az fcf-t, mert ez engem is érdekel, ne kelljen előről kezdenem!
(#) pjg válasza (Felhasználó 15355) hozzászólására (») Nov 24, 2012 /
 
Igen. Az eredeti program 16F690-re készült. Azzal magyarázta a cikk, hogy a DS18B20 -at kezeli a FlowCode csak az órajelet 8MHz-re, vagy fölé kell állítani. Ez a "C" blokk természetesen értelmetlen a 18F2550 esetében. Töröltem. Így szépen működik. 0.06°C felbontással.
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Természetesen!
A hozzászólás módosítva: Nov 24, 2012
(#) pjg válasza (Felhasználó 15355) hozzászólására (») Nov 24, 2012 /
 
Nem belső! Külső 20MHz kvarcról megy. Az órajel 48MHz.
Kell ez a felbontás a feldolgozáshoz. A kijelzőn természetesen csak tized fokos megjelenítés lesz.
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
Köszi! Közben nekem is sikerült egy régebbi példa alapján, de kisebb felbontásban, ezért ez is érdekes!
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
A DS alapból 12 bites felbontással dolgozik. Ha kisebb felbontás kell akkor utasítani kell.
A hozzászólás módosítva: Nov 24, 2012
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
Igen, 9..12bites lehet. Most azt nézem, hogy hogyan kell beállítani a címüket, illetve, hogy a flowcode ezt hogyan oldja meg több eszköznél.
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
A Temp2-be nem mindig a helyes érték kerül, illetve az ha századkén értélmezzük a maradékot, de a megjelenítésnél hibás, mert ha a maradék 12, az xx.12, de ha 6, akkor nem xx.06, hanem xx,6, ami téves leolvasást ad.
Megoldás, hogy figyelni kell a Temp2 értékét és ha kisebb mint 10, elé kell fűzni egy nullát. Ezt úgy lehet, hogy konvertálni kell striggé.
  1. Hofok_tort_String = ToString$ (Hofok_tort)
  2. Hofok_tort_String = "0" + Hofok_tort_String
A hozzászólás módosítva: Nov 24, 2012
(#) watt válasza watt hozzászólására (») Nov 24, 2012 /
 
Közben olvasom, hogy ezeknek az 1wire cuccoknak egyedi 64bites címük van. Tudom, hogy ez rengeteg, de mekkora szívás lenne, ha véletlenül két egyforma címűt vennénk. Ugye nem csak hőmérő van ilyen, hanem sokminden más is. Persze ennek esélye kicsi.

Másik észrevételem az, hogy ezek az eszközök baromi lassúak. Fő ciklusba téve, ha gomb lekezelést akarunk mellé tenni, az kínszenvedés, mert fél másodperc körüli kiolvasási ideje van. Ha ilyen eszközt akarunk használni, akkor szinte mindent alacsony megszakításba kell lekezelni, ami emberi léptékű azonnali reakciót igényel. Az ennél is fontosabbakat a magas prioritásuban. Persze ehhez 18F- kell. Aztán lehet, hogy valamit elnéztem, javítsatok ki, ha ennek gyorsabban kéne történnie...
A hozzászólás módosítva: Nov 24, 2012
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Nincs rá esély, mert a 64 bites azonosítót a szabadalom tulajdonosától kell megvásárolni a gyártóknak. Ő nyilván ügyel rá, hogy ne legyen ismétlődés.
Hasonló az eljárás, mint a MAC address esetében. Ott sincs két egyforma. (elvileg)
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Igen. Ilyen 1 vezetékes óra IC-t rendeltem, de közben rájöttem, hogy szobatermosztátba nem is kell.
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
Mért ne kéne, simán tudsz egy programozhatót csinálni, ami változtatja a hőfokot a napszaknak megfelelő beállítások szerint.
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Erre én is felfigyeltem a kijelzőn, de még nem foglalkoztam vele. Köszi, hogy felhívtad rá a figyelmem. most éppen 20 fokról növekszik a hőmérséklet és 20,6 fok következet, azután 20,12.
(#) watt válasza watt hozzászólására (») Nov 24, 2012 /
 
Rögtön korrigálok is, mert nagy valószínűséggel nem az 1wire a lassú, hanem az LCD kijelzés!

Hát, sajnos nem! Kijelzés nélkül is 3..4 tized biztosan van...
A hozzászólás módosítva: Nov 24, 2012
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Leggazdaságosabb, ha a hőmérséklet állandó. Akkor csak a veszteséget kell pótolni és mindig jó idő van a szobában. Ha tekergeti az ember, akkor rengeteg gáz kell a visszafűtéshez. Ezen már rengeteget rágódtam. Olcsóbb tartani egy fix hőfokot.
No meg szigetelni ajtót, ablakot, falat.
A hozzászólás módosítva: Nov 24, 2012
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Ha a legnagyobb felbontást használjuk akkor a konverzió 750mSec!
(#) pjg válasza (Felhasználó 15355) hozzászólására (») Nov 24, 2012 /
 
Ha a termosztát mintavételi ideje nem elsődleges, akkor lehet a gombokat megszakításban kezelni. Addig, nincs hőmérséklet kiolvasás. Egy szobatermosztátnál ez nem szempont. Pár perc alatt nem szalad meg a kazán. Vagy addig le lehet állítani a fűtést.
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 24, 2012 /
 
A konverzió idő ennyi? Mert a kiolvasás tuti nem, csak a program valószínű várakozik az adatra... Na megnézem az adatlapot, mert ez így használhatatlan lenne!
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
Teljesen kényelmetlen, gagyi gombkezelést kapsz, ha nem azonnal reagál. MEgszakításban pedig nem jelezhetsz ki. Másrészt pedig nem létezik, hogy 750ms-et várakozni kéne egy hőfokra, ezt meg kell tudni oldani másképpen!
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
De miért is kell másodpercenként kiolvasni? Elegendő 5, akár több másodpercenként.
(#) watt válasza pjg hozzászólására (») Nov 24, 2012 /
 
Miért ne? Ha 1sec-enként szükésg van rá, akkor ki kell. Akkor semmi mást nem csinálhat a program, csak az eszközre vár? Kizárt, hogy ez így lenne. Az más kérdés, hogy a flowcode erre fel van-e készítve. Azt keresem, hogy hogyan lehet megvizsgálni, hogy a konverzió elkészült-e. Az adatlap folyamatábráján ez szerepel, de még nem találom a szükséges parancsot, illetve a visszatérési értéket, ami a készenlétet jelzi.
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Ezt nem tudom. Még böngészni kell hozzá. Majd később. Most ebéd jön.
(#) pjg válasza watt hozzászólására (») Nov 24, 2012 /
 
Ez lehet, hogy segít valamelyest:

AN162.pdf
    
(#) watt válasza (Felhasználó 15355) hozzászólására (») Nov 24, 2012 /
 
Ez eddig oké, de valahogy a flowcode-al kéne megoldani. Haladok, mert ez írja le a konverziós parancsot és megmagyarázza, hogy miért várakozik a flowcode(így könnyebb volt, bár nem kényszerítenek, hogy így csináljuk...)
  1. MX_UINT8 FCD_One_Wire0_DS1820_start_conversion()
  2. {
  3.    
  4.         MX_UINT8 in = 0;
  5.         MX_UINT8 counter = 0;
  6.  
  7.         FCD_One_Wire0_oo_busreset();
  8.         FCD_One_Wire0_oo_tx_byte(OO_SKIPROM);        // Command all temp sensors on the bus to start a conversion
  9.         FCD_One_Wire0_oo_tx_byte(OO_CONVERTT);    // Convert temperature
  10.         while (in == 0)
  11.         {
  12.             in = FCD_One_Wire0_oo_rx_byte();
  13.             delay_ms(4);
  14.             counter++;
  15.             if (counter == 0xFF)        // Security: if the conversion is not completed
  16.                 return 1;                // after > 1 sec -> break.
  17.         }
  18.         return 0;
  19.  
  20. }


Látható, hogy a SKIPROM és a CONVERTT után ciklusba vált és addig várakozik, amíg meg nem jön a kész jel, vagy időtúllépés keletkezik.
Egy üres rx_byte-al olvassa ki a státuszt(ha nem nulla, kész).
Erre lehet építeni, hamarosan jelentkezem.

A 44 az a konvert indítása, nem szabad csak egyszer kiadni. Utána csak olvasni kell a portot!
Jó étvágyakat!
A hozzászólás módosítva: Nov 24, 2012
Következő: »»   92 / 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