Fórum témák
» Több friss téma |
Próbálozok még vele , de az a baj hogy sok mindent nem értek még a programmal kapcsolatban , és így elég nehéz rájönni mi miért is van vagy hogy mit miért is kell hogy ugy legyen , amugy 16f628A val próbálkozok , az nagy segítség lenne ha tudnál adni egy példaprogramot , elére is köszönöm.
Vagy itt egy példa, hogy mire jó a waitunitllow funkció..
Rosszul gondolod, és működik..
A működése: végtelen ciklusban fut a program és mivel semmi nem számít ezért ha elindul a program végigmegy a feltételes elágazás nem ágán a ledet kikapcsolva addig amíg a start gombot meg nem nyomják, ekkor " örökre" az igen ágba ugrik a progi ahol 30X loopba kerül. Ahol bekapcsolja a ledet és ha a pause gombot megnyomod várni fog ameddig nyomva van, mivel ezt a funkciót erre találták ki, és nem kell elé a switch state.. ha a gomb el van engedve vagy meg se volt nyomva akkor tovább lép és vár 1s-t majd a 30-as loop maradandó számát újra és újra végig futtatja. ha kész a 30s + ha volt pause gomb akkor azzal az idővel növelve kilép a loopból és reseteli az "örökre" beakadást, és a feltételes elágazás nem ágával folytatódik.
Szia. Köszi szépne a példaprogramot ez tényleg így elég egyszerü megoldásnak tűnik , de azt hogyan lehetne elérni , hogy míg a pause gomd nyomva van addig a led se világítana.
Ugyanúgy mint ahogy bekapcsoljuk..
Egy kérdésem had legyen.... Cincog a FET... az lehet a magas freki miatt? mert ahogy latod a programban az még nincs szabályozva!
Attól is lehet. Alapvetően nem probléma a viszonylag nagy frekvencia ha FET meghajtót használsz.
100Ohm on keresztül van direktbe kötve a FET a PIC re.
Valamit ki kell találjak mert a nejem így nem engedi be a szobába! Szó mi szó tényleg zavaró! Na mindjárt kikavarok neki egy alacsonyabb frekit hátha csökken a cincogás...
Első lépésként a FET gate lábán kell megmérni a jelalakot oszcilloszkóppal, az sokat elárul a meghajtásról.
Neeem... első lépésben a nejemnek kell megmagyarázzam hogy kell nekem egy oszcilloszkóp!
Ígyis már kezdem nagyon belakni a műhelyszekrényemet! ugyhogy azt hiszem át kell rendezzem kell csináljak egy mini labortápegységet és egy mini forrasztó állomást Amugy már nézegettem PC-s vagy androidos scopokat azokat meg szabad venni?
Erről inkább itt érdeklődj: Oszcilloszkóp vétel...
Amúgy hogy a topiknál maradjunk most a tmr2 vel hívatom be a pwm makrot 200 Hz a freki és nem vibrál a led meg nem is cincog a FET!
Azért nem cincog, mert megváltozott a frekvencia. A PWM alapesetben a Timer2 -es időalapot használja. Ha közben másra is használod az időzítőt, elmászik a PWM frekvencia.
A hozzászólás módosítva: Feb 3, 2018
Hali.
Nem tudom, hogy miért nem jó a "C-kód" a flowcode 8-ban. Letöltöttem, hogy megnézzem, milyen lett az új verzió, csak próbaképp... A V5-ben nincs vele gondja, a V8-ban hibát ír ki. OSCCON regiszter: belső órajel beállítás 8MHz, belső. A hozzászólás módosítva: Feb 6, 2018
Flowcode 7 lesz az.
A hozzászólás módosítva: Feb 6, 2018
Köszi a segítséget. Nem gondoltam volna, hogy ilyen problémába belefuthatok.
Igazad van, 7-es verzió
Jó reggelt.
I2C kommunikáció... Ebben az esetben ismerni kell(ene) a céleszköz "address" azonosítóját. Jobb esetben kideríthető könnyen, rosszabb esetben sajnos nem. Ezért készítenék egy lekérdező rutint, ami egy LCD-re kiírná az adott eszköz címét. Eddig DAC chipet használtam, aminek tudtam a címét, így nem volt gond ezzel. (lásd csatolt képen) Viszont hogy kérdezzem le, ha nem tudom a címét? Anomália? Jártasabb "programozó kollégák" mit javasolnak? Köszönettel, Peti
Adatlap nélkül a céleszözt nem lehet programozni. Ha van adatlap, van cím is. Nem?
Alapvető probléma, hogy ahány I2C eszköz van, kb. annyi módon kell megszólítani őket. Van, amelyiknek az I2C cím után két bájtban kell megadni a belső regisztercímet, van, amelyiknek egy is elég. A lehetőségek a végtelen felé közelítenek, próbálkozni kb. lehetetlen, illetve felesleges.
Én is így gondoltam.
Próba kép vettem egy ilyet: OLED W click Na, ehhez nem találtam adatlapot. Ssd1306 meghajtó IC. Úgy gondoltam, hogy megtalálom a neten a címet, de eddig sajnos nem leltem.
0x3C, 0x3D, 0x78, 0x7A
Ezeket találtam a neten.
Köszi. Hol találtad?
Google:sSsd1306 i2c address
Sziasztok!
Még mindig azzal a problémával küzdök, hogy encoder makróban új funkcióként felvett "set_internal_counter" utasítással beállítsak egy megadott értéknél nagyobb változót. Tehát, ha encoder_count értéke nagyobb, mint 396, akkor encoder_count=396, majd set_encoder_count--->396. Így szeretném az encodert használni 0-396 érték között. Ezt az értéket elosztom néggyel, akkor az encodert egyesével léptetve változik az a változó (0-99 közöttt), amivel tovább fogok dolgozni (enc_value). Viszont nem 396-ot ír be a változóba, hanem 143-at. Ami érdekes, hogy ha 252-ra maximálom, akkor jól működik. Az alábbiakban példát is mutatók: JÓ. Encoder_count----encoder_value----max. érték 4--------------------1------------------252 8--------------------2------------------252 252-----------------63-----------------252 ROSSZ. 4--------------------1------------------256 8--------------------2------------------256 252-----------------63-----------------256 256-----------------64-----------------256 3--------------------0------------------256 7--------------------1------------------256 Úgy gondolóm, hogy ott lehet a hiba, ahol a makróban beállítom az értéket, ott BYTE típusú a változó. Ebben az esetben max. 255-ig adhatom meg. Esetleg nem tudom valahol átllítani ezt a makróban, hogy ne BYTE legyen, hanem INT típusú? Mellékeltem a makróban lévő utasítást is.
Milyen kontrollert és enkódert használsz? Egyszerűbb lenne egy manuális enkóder kezelés, ott azt csinálsz, amit akarsz.
Mellékeltben egy Gray kódú kimenettel rendelkező, enkóder kezelő példa. Egy feltétele van a dolgonak, a kontrollernek tudnia kell két Interrupt On Change bemenetet kezelnie.
Jelenleg ezt: Bővebben: Link
Kipróbáltam más típusúval is, de nem változott semmi. Kontroller: PIC18F4523. Port megszakítással kezelem le az enkodert. Ez van összerakva próbára. A végleges nem ez lesz. Majd olyan PIC-et kell keresnem, amiben 2db UART van, egy kell a HMI-nek, egy pedig az APC220 rádiós modulnak. Mire gondolsz a manuális enkóder kezelésre? Nem lehet ezek szerint a BYTE típust átírni INT-re? A hozzászólás módosítva: Feb 11, 2018
Időközben feltöltöttem egy példát. Két UART-hoz tudom javasolni a PIC18F26K22-es kontrollert. Ugyanakkor ha van HMI, én nem szenvednék enkóderrel ha nem feltétlen kell, ott a kijelző, pötyögjön azon a felhasználó.
De lehet ! Ahol a változót létrehozod ott lehet a tulajdonságait állítani .
|
Bejelentkezés
Hirdetés |