Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   489 / 1210
(#) vilmosd válasza SzT3 hozzászólására (») Feb 9, 2014 /
 
Nalam ilyen megoldassal dolgozik az erzekelo. A TL431 katodjan be kell allitani 2.56 V-ot a P1 segitsegevel. Jo stabilitassal rendelkezik, tehat nem fog maszkalni a Vref. A LM317 sokkal rossszabb valasztas, es meg hozzajon az is, hogy terheles nelkul nem lehet hasznalni. Ebben a kapcsolasban az erzekelok tapjat is ez adja.
(#) foxi63 válasza Hilo hozzászólására (») Feb 9, 2014 /
 
A H híd alkalmas irányváltásra és fordulatszám szabályzásra is.
A híd bal felső és jobb alsó eleme egy időben működik, ahogy a jobb felső és bal alsó is.
Kapcsolóként simán irányváltás teljes fordulattal.Azonban 50%-os kitöltésű pwm jellel hajtva mindkét oldal beáll a pwm átlagfeszültségére, azaz 12V esetén 6-6V van a motor mindkét kivezetésén azaz nem forog. Belátható mi lesz 10% és 90% pwm esetén.:10%=egyik oldal 10,8V másik oldal 1,2V. 90% esetén fordítva.
üdv. Foxi
A hozzászólás módosítva: Feb 9, 2014
(#) Balagemann2031 válasza foxi63 hozzászólására (») Feb 10, 2014 /
 
Szia! Igazából nekem PWM- re lenne szükségem, mert a kitöltés változtatásával tudom szabályozni a motor szabályzó ESC-t. Átgondolom a mit írtál, lehet hogy több timer bevonásával össze tudok hozni valami PWM-szerű dolgot. ( De lehet hogy még 4 picet felfűzök SPI-re és csak az lesz a dolguk, hogy a beérkezett adatot kitegyék a HW-es PWM lábra.)
(#) icserny válasza Balagemann2031 hozzászólására (») Feb 10, 2014 /
 
Idézet:
„De lehet hogy még 4 picet felfűzök SPI-re...”

Miért nem keresel inkább egy motorvezérlő (MC) dsPIC-et?
"Cipőt a cipőboltból!"
(#) Balagemann2031 válasza icserny hozzászólására (») Feb 10, 2014 /
 
Az a helyzet, hogy még nem vagyok otthon a 18F feletti pic-ekben, és ezért próbálkozom ezzel a piccel. Viszont nemsokára sikerül beszereznem egy MICROSTICK 2-t és akkor elkezdem nyúzni. Azért ránézek egy ilyen motor vezérlő dspicre! Köszi az ötletet!
(#) icserny válasza Balagemann2031 hozzászólására (») Feb 10, 2014 /
 
Idézet:
„Viszont nemsokára sikerül beszereznem egy MICROSTICK 2-t”

Ahhoz adnak egy dsPIC33FJ64MC802-t is. Az MC pont motorvezérlőt jelent.
(#) vilmosd válasza Balagemann2031 hozzászólására (») Feb 10, 2014 /
 
A 18F4431 tartalmaz 8 PWM csatornat.
(#) Balagemann2031 válasza vilmosd hozzászólására (») Feb 10, 2014 /
 
Köszi! Jó tudni, hogy van ilyen PWM nagyágyú
(#) pillesoft válasza icserny hozzászólására (») Feb 10, 2014 /
 
köszönöm mindenkinek a hozzászólást!
rábökök egyre, remélem működni fog.
A hozzászólás módosítva: Feb 10, 2014
(#) Kapagerenda hozzászólása Feb 11, 2014 /
 
Üdv!
Most kezdtem el foglalkozni a programozással és egy két Led-es villogót szerettem volna megcsinálni 16F887 mikrokontrollerel. A két Led sajnos csak világit nem villog. A 0 biten levő Led halványabban világít. Próbáltam növelni a késleltetést azzal hogy D'20' helyet nagyobb összeget irtam be ,de semmi. Próbáltam más fajta késleltetéseket is amiket netről szedtem, de szintén csak világítanak a Ledek folyamatosan pedig azokat a programokat előzőleg már más letesztelte. Szerintetek mi lehet a gond?

  1. A        EQU  20
  2.           ORG  0
  3.           goto BEALLITASOK
  4. BEALLITASOK
  5.           CLRF          PORTD
  6.           BANKSEL   TRISD
  7.           CLRF         TRISD
  8.           BANKSEL   PORTD
  9. Led1  movlw       B'00000001'
  10.           movwf       PORTD
  11.           CALL          IDO1
  12. Led2  movlw        B'10000000'
  13.           movwf       PORTD
  14.           CALL          IDO2  
  15. IDO1  
  16.           movlw     D'20'
  17.           movwf     A
  18. X1      DECFSZ    A,F
  19.           goto      X1
  20.           CLRF      PORTD
  21.           goto      Led2
  22. IDO2
  23.           movlw     D'20'
  24.           movwf     A
  25. X2      DECFSZ   A,F
  26.           goto       X2
  27.           CLRF      PORTD
  28.           goto      Led1
  29. end
A hozzászólás módosítva: Feb 11, 2014
(#) Balagemann2031 válasza Kapagerenda hozzászólására (») Feb 11, 2014 /
 
Szia! Ha CALL-al belépsz egy rutinba, RETURN-nal lépj ki, mert le fog fagyni a progid miután a verem megtelt.
(#) Kapagerenda válasza Balagemann2031 hozzászólására (») Feb 11, 2014 /
 
Ok kösz! Ha több Call utasitás van egy programon belül akkor a return a legelsőre fog automatikusan visszalépni?
(#) NyariG válasza Kapagerenda hozzászólására (») Feb 11, 2014 /
 
Returnal oda megy ahonnan meghivtad a call-t
(#) NyariG válasza Kapagerenda hozzászólására (») Feb 11, 2014 /
 
Amúgy ahogy nézem kb 23 lépés után márt ki is kapcsolod a ledet.

Számold már ki hogy hány ms.... (milyen gyors a Kvarcod)
(#) Balagemann2031 válasza Kapagerenda hozzászólására (») Feb 11, 2014 /
 
Ha belépsz egy rutinba (call), miután végrehajtotta amit kell, ki kell léptetni (Return). Rutinokat lehet egymásba is ágyazni, de figyelni kell a szintekre, és ahogy belépkedtél, úgy visszafelé ki is kell lépkedni!
(#) bocios hozzászólása Feb 11, 2014 /
 
Sziasztok!

MPLAB C30 alatt, ha egy függvényt a deklarációnál static módosítóval látok el, akkor az miben különbözik attól ha nincs ott? Csak ugyanabból a forrásból tudom majd meghívni? Más megkötések, hatások?
(C30 dokumentációban csak az inline és static kombót találtam meg)

Köszönöm
(#) Kapagerenda válasza NyariG hozzászólására (») Feb 11, 2014 /
 
4 MHz es kvarcom van akkor ha jól számolok akkor 0,25 us.
(#) foxi63 válasza Kapagerenda hozzászólására (») Feb 11, 2014 /
 
4MHz = 1uS/utasítás. A 20-as késleltetés kb 60usec időt jelent, Ekkora sebességnél még Superman sem látja a villogást. A késleltetésnek min. 0,04 sec nek kell lennie. A szem kb. 25Hz -es frekvenciáig látja meg a villogást!
Egyébként a program működésképtelen, már leírták előttem.
üdv.: Foxi
A hozzászólás módosítva: Feb 11, 2014
(#) foxi63 válasza bocios hozzászólására (») Feb 11, 2014 /
 
Szia!
Függvényt nem szoktak static módosítóval ellátni, csak változókat. Ha jól tudom, akkor a fordítóra van bízva egyes változók élettartama és értékének változása. Ha static, akkor garantálja a fordító, hogy következő meghívásakor is ugyanazt az értéket találod benne, ami volt. Ráadásul globális lesz, más függvények is látják.
(#) icserny válasza bocios hozzászólására (») Feb 11, 2014 /
 
C-ben a static módosítóval ellátott függvény csak a vele egy fordítási egységben definiált függvényekből hívható, tehát az elérhetősége korlátozott.
(#) bocios hozzászólása Feb 12, 2014 /
 
Köszönöm, nem teljesen értem, hogy mi történik ha egy lokális változóra teszem rá a static módosítót. Más függvények is látják?
Csak azok amelyeket abból a függvényből hívok tovább, ahol a static -ot lokálisként deklaráltam vagy pontosan mire nézve lesz globális?

fuggveny1() {
...
for ( ... ) {
if ( ...) {
static int fuggvenyreLokalVar1; ..
}
}
}

Ez mire nézve lenne globális így?
(#) NyariG hozzászólása Feb 12, 2014 /
 
Sziasztok,
Szükségem lenne egy viszonylag pontos páraméröre (lakásban akarok páratartalmat mérni). Viszont amiket a boltokban, neten láttam az vagy nagyon drága vagy mutat ugyan valamit de nem sok köze van az igazsághoz.

pichez tudtok ajánlani nekem valamit mit nem túl drága viszonylag egyszerü is programozni, jó lenne ha gyárilag kalibrálva lenne mivel nincs mivel kalibrálnom.

Ha hömérsékletet is tudna mérni az extra bonus lenne
A hozzászólás módosítva: Feb 12, 2014
(#) vicsys válasza NyariG hozzászólására (») Feb 12, 2014 /
 
Anno az SHT75-t próbáltam ki, nekem tetszett. Sajnos nem olcsó és nem túl egyszerű a programozása. Ezzel szemben hamar rájöttem és utána már szépen lehetett üzemeltetni.
(#) TakiG válasza NyariG hozzászólására (») Feb 12, 2014 /
 
Nekem DHT11 szenzorom van, olcsó(ebay), viszonylag egyszerű volt leprogramozni, de a pontosságáról nem tudok nyilatkozni, nincs mihez hasonlítanom. Hasonló a DHT22 is, az jobb felbontást tud. Esetleg van valakinek tapasztalata róluk, hogy mennyire lehetnek pontosak ezek?
(#) icserny válasza NyariG hozzászólására (») Feb 12, 2014 /
 
DHT-22 (AM2302)
(#) NyariG válasza icserny hozzászólására (») Feb 12, 2014 /
 
Köszönöm a hozzászólásokat.
Azt hiszem a DHT-22 lesz a nyerő rendelek is párat
(#) Stefan válasza bocios hozzászólására (») Feb 13, 2014 /
 
Szia!
3 dologra lehet staticot rakni:

- Globális változóra és függvényre : ahogy icserny írta, így a láthatóságát korlátozod, ez csak arra jó, hogy másik forrásfájlból nem látható, ha "extern" kulcsszóval megpróbálod felvenni, a linker hibát fog dobni.
- Lokális változó: Alapból ezek a stacken jönnek létre, a függvényhívások között nem marad meg az értékük. static-kal azt éred el, hogy "csak abban a függvényben látható globális változó lesz", nem a stacken helyezi el, és így megmarad az előző hívásban felvett értéke.

  1. void foo()
  2. {
  3.     static int x = 0;
  4.     if(!x)
  5.    {
  6.          /* csak egyszer fut be ide */
  7.          x=1;
  8.    }
  9.  
  10. }
A hozzászólás módosítva: Feb 13, 2014
(#) Hilo hozzászólása Feb 13, 2014 /
 
Sziasztok,
Ha egy PIC-nek nem stabil 5V-ot hanem 3.3V-ot adok, kell bármit állítani, vagy mire kell figyelni? Csak annyi hogy 3.3V ról üzemel, de semmi más különbség nincs? (16f886)
Köszönöm előre is a választ/válaszokat!
(#) pcb12 hozzászólása Feb 13, 2014 /
 
Sziasztok!

Következőben szeretnék információt kérni.
Kettő motort szeretnék USB porton keresztül működtetni.
Usb kapcsolatot felépítettem, de hogy mondjam meg a pic-nek, hogy melyik motor mikor menjen?

Válaszaitokat köszönöm

Tamás
(#) eSDi válasza Hilo hozzászólására (») Feb 13, 2014 / 1
 
Üdv!

Csak annyira, hogy 3.3V-ról max. 10MHz lehet az órajel.
Következő: »»   489 / 1210
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