Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   204 / 361
(#) Baxi válasza watt hozzászólására (») Szept 25, 2014 /
 
Egyenlőre a hardware-t nem raktam össze. Szimulációban tesztelgetem, de semmi. Ahogy elindítom be is lép a megszakításba egyből amikor a TMR0 nál a T0CKI használom. Nem értem, elvileg ez a beállítás külső lábról működő órajelet jelent, ha jól tudom. Prg. meg csak nem prelleg a bemenet/nyomógomb.
Ha átrakom ott a megszakítást RB0-INT0 ra akkor működik, de nem tudom beállítani az osztás. Mihelyst megnyomom a gombot belép a megszakításba. Végül evvel is meglehet oldani amit akarok, csak macerásabb.
A timer kiolvasás még mindig érdekelne, hogy lehetne megcsinálni flowcode-ban.
A hozzászólás módosítva: Szept 25, 2014

led.fcf
    
(#) watt válasza Baxi hozzászólására (») Szept 25, 2014 /
 
Több hiba lehet. A flow nem jól állítja be a biteket(ilyet már láttam), vagy nem jól szimulálja le a külső forrást. Meg kell nézni mire fordul le és eldönteni, hogy jó-e az adatlap szerint.
A Timer kiolvasását próbáltad úgy, ahogy írtam? Egyszerűen beletöltöd a változóba egy blokkban. Ha nem lehet elérni a TMR0 regiszert, akkor C blokkban ugyanúgy meg kell próbálni. Érdemes megnézni a C forrást, hogy a TMR0-t hogyan éri el a forrásban a fordító.
A hozzászólás módosítva: Szept 25, 2014
(#) Baxi válasza watt hozzászólására (») Szept 25, 2014 /
 
ok, hirtelen hallásra nem lesz egyszerű, de rajta leszek.
Lesz egy uj projekt
A webasto-ba tönkre ment a vezérlés, nálam sose működött, most értem el hogy kiszedjem.
Amennyiben sikerül víz szivattyút kerítenem neki állok a dolognak. Ötletek szívesen várok majd hogy mire lenne érdemes majd figyelni. Erről lenne szó. Már sikerült kiderítenem hogy a szivattyú halott. A kerámia micsodának* meg csak áram kell, és már izzik is. Nagyából megvan minden a működéséről. A benzin szivattyúja nagyjából úgy működik mint a régi (pl.:lada) AC pumpák, csak nem tengely tologatja hanem elektromágnes. Ezután van az izzítás, és egy venti ami keveri rá a levegőt. Ha begyulladt elkezdi melegíteni a kazán teret. Ekkor lehetne indítani a keringetőt. A gyári elektronika csak a kazántér külső hőmérsékletét mérte. Nagyából ezt a folyamatot kellene hülye biztossá tenni. Én még szeretnék bele több hőmérőt használni (PT100).
De ez mjad csak akkor lesz ha szerzek keringetőt, mert ennyi pénzem nincs rá

*mod.
A hozzászólás módosítva: Szept 25, 2014
(#) Baxi hozzászólása Szept 27, 2014 /
 
Hi Mesterek!
Segítséget szeretnék kérni. Feszültség mérőt akarok készíteni.
Mivel 1024 a "felbontáson" ezért az 5V elosztottam 1024-el. A kapott eredmény 0,0048 stb.
Elvileg ha ezt megszorzom az aktuális AD értéket akkor meglenne kapnom a bejövő feszültséget.
Csak az a baj hogy a szorzás eredménye egész szám, hiába rakom int vagy lebegő pontosra a változót.
Vagy lehet hogy tévúton járok?
Segítséget előre is köszönöm.

FESZ.fcf
    
(#) kokozo válasza Baxi hozzászólására (») Szept 27, 2014 /
 
Nem értek hozzá, de én így csináltam..

volt.fcf
    
(#) Baxi válasza kokozo hozzászólására (») Szept 27, 2014 /
 
hi, köszönöm.
Közben sikerült, azt hogy miért csak így működik azt nem értem, de működik .
Nekem az AD bementén van egy 10 osztó. A kocsiba lesz feszmérő, többek közt.
Köszi még egyszer
A hozzászólás módosítva: Szept 27, 2014

FESZ.fcf
    
(#) Baxi válasza (Felhasználó 15355) hozzászólására (») Szept 28, 2014 /
 
Ok, köszönöm, ezt majd kipróbálom!
Így az eredményt mibe képzi a "Float"-ba?

Van egy kis gondom a hardverrel. Nehezen indul, csak 2-3 tápráadásra. Másik hogy ~2 perc utána össze szaladnak a feliratok a kijelzőn. Ennek a megoldására most jöttem rá,ez az amiatt van mert a E és a RS lábak a programozó miatt kaptak 330 ohm-os ellenállásokat. Menyiben ezeket az ellenállásokat rövid zárba viszem a kijelzés helyre áll. Viszont az induláshoz lehet közük?
Segítséget előre is köszönöm!
A hozzászólás módosítva: Szept 28, 2014
(#) Bakman válasza Baxi hozzászólására (») Szept 28, 2014 /
 
Ugyan nem tudom megnézni a lay fájlt, de a hibajelenségből arra következtetek, hogy a stab. IC-k kimenetein vannak pufferkondik, hibásan. A bemenetre kell, a kimenet stabilizált, max. 100 nF-os zavarszűrők kellenek*. A kondenzátor alaphelyzetben (feltöltetlenül) rövidzár. Ezt érzékeli a stab. IC és kiakapcsol saját maga védelme érdekében igaz, már valamennyit töltött bele. A következő bekapcsolásnál még mindig túl nagy terhelést észlel, ekkor már valamennyire fel van töltve a kondi, rá is tölt valamennyit de a már említett ok miatt ismét letiltja magát. Ezt addig csinálja, amíg a kondi fel nem töltődik és bekapcsoláskor nem terheli meg a stabilizátor IC-t.

* Ami viszont nincs a mikrokontroller táplába közelében.
A hozzászólás módosítva: Szept 28, 2014
(#) Baxi válasza Bakman hozzászólására (») Okt 1, 2014 /
 
Hi
Az volt a baj hogy a 12V stab kocka után vagyis annak a kimenetére raktam az 5v bemenetét.

Olyan kérdésem lenne hogy valaki csinált már 2 db pic össze kötést i2c-vel?
Nekem nem akar össze jönni
(#) Baxi hozzászólása Okt 1, 2014 /
 
Sajnos nem jutottam semmire evvel az i2c-vel.
A master illetve a slave-t hogy tudom beállítani, mert Én csak adás vételt sikerült megtalálnom.
Itt lenne a teszt prg ami nem megy. Akármilyen címzést, device számot használok nem akar sikerülni. Csináltam egy rajzott is hogy hogyan kötöttem össze a két pic-et.
Próbáltam fix alsó és felső byte-tal is, az sem ment
Ha valaki majd ránéz a prg-re és futtatja a master nevűt akkor ott a visszatérési érték nulla. Össze rakva pedig "1"-et ír ki az LCD-re.
Segítséget előre is köszönöm.
A hozzászólás módosítva: Okt 1, 2014
(#) watt válasza Baxi hozzászólására (») Okt 1, 2014 /
 
Szia! Korábban már elmondtam, természetesen nem neked, hogy a FlowCode nem mentesít a PIC ismerete alól. Aki ezt hiszi, csalódni fog. Elő kell venni az adott PIC adatlapját, megismerni az I2C modulját, beállítási regisztereit és ha nem megy valami, meg kell nézni a C kódban, hogy az adott regiszter hogyan áll be. Gyanítom, hogy jelen esetben beállítási probléma van. Az összekötés a rajz alapján jó, bár 4k7-s ellenállásokkal szokták felhúzni a vonalakat, a 2k kicsit szigorú, bár ettől biztosan működne. Ennyit tudok segíteni, mert jelenleg a Flow nincs feltelepítve nálam és nem is tervezek belefolyni, bokros teendőim miatt...
(#) Bakman válasza Baxi hozzászólására (») Okt 1, 2014 /
 
Most nem tudom ellenőrizni, de úgy emlékszem, Flowcode-ban nincs I2C Slave funkció.
(#) Kovabe válasza Bakman hozzászólására (») Okt 1, 2014 /
 
Igazad van, én most néztem meg és valoban nincs Slave

Baxi: amúgy müködik a többi rész?
(#) Baxi válasza Kovabe hozzászólására (») Okt 1, 2014 /
 
Hi
Igen, a kijelzők élednek, számolnak stb. Ha az I/o SDA-át felrakom +5V ellenálláson keresztül még 255 is kiírja. Nem tudom, szerintem az lesz amit írtatok hogy átnézem a C-ét.
A hozzászólás módosítva: Okt 1, 2014

DSC_0044.JPG
    
(#) Baxi válasza Baxi hozzászólására (») Okt 1, 2014 /
 
még a i2c-hez tartozó regisztereket sem találom meg a C kodban .
Mindegy megpróbálom másképp megoldani az elképzelésem.
Azért köszönök minden segítséget !
(#) watt válasza Baxi hozzászólására (») Okt 1, 2014 /
 
Szerintem is tedd át SPI-re, az holt egyszerű!
Nincs benne az SSPCON a C -ben? Az meg hogy lehet!?
A hozzászólás módosítva: Okt 1, 2014
(#) Baxi válasza watt hozzászólására (») Okt 1, 2014 /
 
ok, köszönöm, megnézem.
(#) Baxi válasza (Felhasználó 15355) hozzászólására (») Okt 2, 2014 /
 
Hi
Sajnos ez sem akar össze jönni sem az osztás sem a szorzás
  1. Float = fmul(Float1,Float2)// 2 Változó szorzása
  2. Float = fmul(Float1,0.47) // 1 Változó és egy fix lebegőpontos szám szorzása
  3. AD = fmul(AD) / fmul(0,47)

Vagy rosszul értelmeztem?
(#) ktamas66 válasza Baxi hozzászólására (») Okt 2, 2014 /
 
Példa:
(#) Baxi válasza (Felhasználó 15355) hozzászólására (») Okt 2, 2014 /
 
Itt lesz a prg.
A lényeg az lenne hogy hőmérőt akarok csinálni. Megnéztem az AD értéket 0C és 23,3C fokon.
0C° fokon 280 az AD értéke, 23,3C° pedig 323. Különbség 23,3C° fok 43 Ad érték. Tehát ha elosztom a 23,3/43 al akkor megkapom egy AD értékhez tartozó hőfokot, ami most 0,4 és 0,6 közt változik a prg-be. A hardvertől függően AD1;AD2;AD3.
Szóval akkor a képlet: kapott aktuális AD - AD 0C° értéke, s ennek az eredménye szorozva az 1AD nak megfelelő C°-al.
Na ezt szeretném kivitelezni, csak az a fránya lebegőpontos osztás nem akar menni

HOMERO.fcf
    
(#) Baxi válasza (Felhasználó 15355) hozzászólására (») Okt 2, 2014 /
 
PT100-at. Az AD makróban van ami gondot okoz. Köszönöm a segítséget.
(#) vilmosd válasza Baxi hozzászólására (») Okt 2, 2014 /
 
Hasznalj tablazatot, es onnan olvasd ki az erteket. megszunik a lebegopontos problema. Amugy is problemas a PT100, mert nem linearis a karakterisztikaja, hanem egy masodfoku fveny.
(#) Baxi válasza vilmosd hozzászólására (») Okt 2, 2014 /
 
igen, kezdek rájönni.
0C° AD: 280
23C° AD: 330
28C° AD: 380
Nem bírok rájönni. Szerintem NTC lesz belőle
A hozzászólás módosítva: Okt 2, 2014
(#) watt válasza vilmosd hozzászólására (») Okt 2, 2014 /
 
Én úgy tudom, hogy a Pt100 megközelítően lineáris.
Pt100 karakterisztika táblázat
Ha nem szükséges a nagy pontosság, akkor lineáris egyenlettel elég jól közelíthető, Ha fontos, akkor vagy polinommal lehet közelebb menni, vagy táblázattal még jobban.
A hozzászólás módosítva: Okt 2, 2014
(#) Baxi válasza (Felhasználó 15355) hozzászólására (») Okt 2, 2014 /
 
Köszönöm szépen, akkor az volt a gond hogy nem mindegyik változó float, azaz lebegő pontos ha jól tippelek.
Most jelenleg az ntc próbálgatom .
A PT feladtam.
Köszönöm még egyszer!
(#) Baxi válasza watt hozzászólására (») Okt 2, 2014 /
 
Hát elvileg igen, már mint lineáris csak a számok nem ezt mutatják.
De már elszórakoztam vele egy napot. Szinte sose áll vissza arra az AD értékre amiről felmelegítettem vagy lehűtöttem.Az baj hogy már mindent végignéztem, mértem, szimuláltam X prg-el. Azaz a áramgenerátort,műveleti erősítőnél az ofszetet, az 5V-os illesztést stb.
Most egyenlőre elég volt a PT-ből., de láttam itt olyat is ami nem műverősítővel volt a pic-hez illesztve. Majd megnézem azt is, ha majd erőt gyűjtők hozzá ismét.
(#) Kovabe hozzászólása Okt 2, 2014 /
 
Sziasztok
Egy ethernet modullal és egy 18f14k50-el küzdök, a zöld led folyamatosan világit mig a sárga fel fel villan de semmi kommunikáció. Esetleg van valkinek ötlete?
(#) vilmosd válasza Baxi hozzászólására (») Okt 3, 2014 /
 
Szerintem az NTC meg rosszabb. Talan valami aktiv szenzor mint a TC1047A, MCP9700A, LM35 (csak 0-125 C) megoldana a problemadat. Gombokert kaphato (1/4 $) erzekelok 10 mV/C karakterisztikaval. Nem kell erosito, csak raakasztod a PIC-re es kesz. 2,56 V AD referenciaval 1/4 C felbontast kapsz.
(#) vilmosd válasza watt hozzászólására (») Okt 3, 2014 /
 
A PT100 nem linearis elem. Itt talalhato a keplet.
  1. float GetPt100Temperature(float resistance)
  2. {
  3.       float const Pt100[] = {80.31, 82.29, 84.27, 86.25, 88.22, 90.19, 92.16, 94.12, 96.09, 98.04,
  4.                             100.0, 101.95, 103.9, 105.85, 107.79, 109.73, 111.67, 113.61, 115.54, 117.47,
  5.                             119.4, 121.32, 123.24, 125.16, 127.07, 128.98, 130.89, 132.8, 134.7, 136.6,
  6.                             138.5, 140.39, 142.29, 157.31, 175.84, 195.84};
  7.  
  8.       int tempC = -50, i = 0, dt = 0;
  9.  
  10.       if (resistance > Pt100[i])
  11.          while (250 > tempC)
  12.          {
  13.                dt = (tempC < 110) ? 5 : (tempC > 110) ? 50 : 40;
  14.  
  15.                if (resistance < Pt100[++i])
  16.                   return tempC + (resistance - Pt100[i-1]) * dt / (Pt100[i] - Pt100[i-1]);
  17.                tempC += dt;
  18.          }
  19.       return tempC;
  20. }
Ez pedig egy linearizalo fveny C-ben.
(#) vilmosd válasza (Felhasználó 15355) hozzászólására (») Okt 3, 2014 /
 
Biztosan. A kornyeken meg ott van a fveny C-ben.
Következő: »»   204 / 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