Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   282 / 1319
(#) zsimon válasza szilva hozzászólására (») Szept 9, 2008 /
 
Illetve csinálhatod azt is hogy beraksz a renccerbe egy jó nagy I2C, vagy SPI memóriát és abban tárolod a programot. És onnan szolgálja ki magát mindenki.

Másik változat: 4db 1-16mux/demux.

Elvileg a JTAG erre a problémára van kitalálva ami neked felvetődött, de az a baj hogy noha már PIC24-ben is benne van, a Microchip nagyon nem akarja támogatni. Na ott aztán láncba vannak kötve a kontrollerek, és nem gond az ami neked most éppen gond.
(#) zsimon válasza szilva hozzászólására (») Szept 9, 2008 /
 
Illetve még egy megoldás:
Nem tudom mi a minimális különbség a programokban, de ha csak paraméterek, változók, nem pedig maga a program struktúra, akkor viszont nem célszerű a bootloader, hanem tényleg egy SPI memóriában tárold a PIC-ek részére a megfelelő paramétereket.
(#) LOmmPA hozzászólása Szept 9, 2008 /
 
Emberek! Kéne nekem egy nagyon-nagyon nagy segítség. Most nem akarok PIC égetőt csinálni, viszont vettem egy PIC16f628-at és be kéne égetni neki egy progit. Valaki el tudná vállalni? Elküldöm postán, vállalom a szállítási költséget is. Nagy segítség lenne.
Előre is köszi!
(#) zsimon válasza LOmmPA hozzászólására (») Szept 9, 2008 /
 
Küldheted. Címet magánba.
(#) sany válasza trudnai hozzászólására (») Szept 9, 2008 /
 
Az előzmény:


A http://www.micro-examples.com/ találtam egy PIC 16F84A - val megvalósított ébresztő órát.A program forráskódja meg van mikroBasic - ben.Feltelepíttem az MPLAB IDE v8.10 verziójú programot,de nem sikerül exportálni a fájlt hex formátumba.Tudom hogy az MPLAB alapból nem képes kezelni a PicBasicet ,ezért a neten keresgélve rátaláltam erre az oldalra.A PicBasic 2.47 verziója megvan.A leírtaknak megfelelően csináltam mindent ,de mégsen sikerül a forráskódot átalakítani hex formátummá.

Bocs sok írásért.

Segítséget előre köszönöm!
(#) sany hozzászólása Szept 9, 2008 /
 
Itt a csatolt forráskód.

forraskod.txt
    
(#) watt válasza sany hozzászólására (») Szept 9, 2008 /
 
Idézet:
„mikroBasic <-> PicBasic 2.47”

Nem tűnik fel, hogy ez nem ugyan az?
(#) sany válasza watt hozzászólására (») Szept 9, 2008 /
 
Bocs még kezdő vagyok.Nem tudhatok mindent.
(#) zsimon válasza sany hozzászólására (») Szept 9, 2008 /
 
Több türelmet Watt... Oktasd a kezdőket, ne kioktasd... Peace
(#) LOmmPA hozzászólása Szept 9, 2008 /
 
Jó a szó tesó
(#) watt válasza zsimon hozzászólására (») Szept 9, 2008 /
 
Én csak kérdeztem...
(#) zsimon válasza LOmmPA hozzászólására (») Szept 9, 2008 /
 
A tinédzser menjen aludni... Holnap iskola van...
(#) Doncso válasza LOmmPA hozzászólására (») Szept 9, 2008 /
 
Idézet:
„Jó a szó tesó”


Vazz, ez nem span tanya. Valami formát adhatnál a megnyilvánulásaidnak........tesó........!!!
(#) lidi válasza zsimon hozzászólására (») Szept 10, 2008 /
 
Ó, télleg, és mi van a beépített eeprommal ? Erről jól mefeledkeztünk, abban is lehetne tárolni a változókat. Csak vigyázni kell hogy programozáskor az ne írodjon felül.
(#) watt válasza lidi hozzászólására (») Szept 10, 2008 /
 
Változót RAM-ban szoktunk tárolni, eepromban inkább állandót, vagy nagyon ritkán változó értékeket(beállítási értékek, hosszabb időre rögzített adatok stb.) Értem mire gondolsz, de nem szerencsés változónak nevezni.
(#) RCMaker hozzászólása Szept 10, 2008 /
 
Hy all! Valaki mondja el konyhanyelven mire való a pic és miért van rá szükség villanymotoros szerkezeteknél?, mondjuk egy házi cnc maróban.
(#) Sendi hozzászólása Szept 10, 2008 /
 
Helló Mindenkinek

A hardweres PWM-rel ismerkedek.
Áttanulmányoztam egy mintaprogramot.
Világos is, kipróbáltam működik, de valamit nem tudom, hogy miért csinálja.
A prg, a pwm-t konfigurálja, OK.
a kitöltési tényezőt 10 bitjét nullázza. OK
a CCPR1L értékét (8bit) elkezdi növelni egyenként OK.
Kis szünet OK.
Amikor túlcsordul kezdi elölről. OK.
DE itt túlcsordulást követően "hosszabb" ideig 0 lesz.
A periódus idő 800 usec (1.25 KHz) és a szünet pedig 7-8 msec.
Miért (mitől) van ez a szünet?

Köszönettel
(#) watt válasza RCMaker hozzászólására (») Szept 10, 2008 /
 
A PIC ebben a felállásban fogadja a vezérlő programtól a parancsokat, majd a megfelelő motorvezérlő kimenetein kiadja a motorra a parancsokból értelmezett inpulzusokat, hogy a motor azt tegye, amit a tervező megálmodott.
Nagyon pongyolán, de talán részletesebben nem is érdemes.

Ha mélyebben érdekel olvasd el ezt a topicot, és a menet közben talált hivatkozásokat!
(#) watt válasza Sendi hozzászólására (») Szept 10, 2008 /
 
Milyen PIC is ez? (amúgy nem értem teljesen, mert sok a hibás fogalmazás, próbáld újra érthetően leírni a kérdést!)
(#) RCMaker válasza watt hozzászólására (») Szept 10, 2008 /
 
Köszi, kezdem érteni. Például a szoftver küld egy olyan utasítást, hogy 5mm-ert haladjon a szerszám, és ezt a pic-be írt program lefordítja impulzusokra, hogy forogjon a motor. Köcce!
(#) watt válasza RCMaker hozzászólására (») Szept 10, 2008 /
 
Például, de hogy a valóságban mire minek kell következnie, azt a program tervezője tudja, vagy esetleg egy gyári protokoll esetén lehet róla leírás is.
(#) trudnai válasza RCMaker hozzászólására (») Szept 10, 2008 /
 
Meg annyit ahhoz amit watt kollega mondott: Sok modern DC motor mar nem nem kepes onmagaban menni pusztan az egyenfeszultseg rakapcsolasaval - azaz a forgatashoz szokseges valtakozo aramot / valtozo magneses teret a motor nem allitja elo - ilyenek a szenkefe nelkuli motorok, lepteto motorok. Ezeket vagy egy speci meghajto IC-vel lehet vezerelni - mint amilyen pl a winchesterek elektronikajaban is van - vagy egy altalanosan felhasznalhato eszkozt alkalmaznak, mint pl a PIC. A vezerles eloallitja a forgo magneses teret es kozben mas dolgokat is cisnalhat pl mericskelheti a motor altal felvett aramot vagy az aktualis poziciojat. PIC-et lehet erre is hasznalni meg sokminden masra is.
(#) trudnai válasza Sendi hozzászólására (») Szept 10, 2008 /
 
Jobban jarnank a forras koddal, meg egy kep hogy a scope-on mit mersz - vagy logikai analizator ha az van / szimulalsz stb.
(#) Sendi válasza trudnai hozzászólására (») Szept 10, 2008 /
 
Helló Trudnai.

Köszi a segítséget.
Itt a kód.
Közben én megfordítottam, hogy 0-tol indul 100%-ig.
a kimeneten megcseréltem hogy L vagy H legyen az aktív.

köszönettel

pwm.asm
    
(#) Sendi válasza Sendi hozzászólására (») Szept 10, 2008 /
 
Helló Trudnai.

Itt van két kép is.
És tovább módosítottam a prg-n igy most a LED fényereje nő-csökken-nő....... De a maximális fényerőn egyet "pislog"
Itt prg. is

Köszönettel
(#) trudnai válasza Sendi hozzászólására (») Szept 10, 2008 /
 
Nem latok hirtelen benne kivetni valot. Leszimulalva is csinalja amit kellneki: kb 2 mp alatt eri el a maximum kitoltest, majd atcsordul minimum kitoltesre. 0 kitoltesnel kb 8 ms-ig ugye nincs tuske mert 0% kitoltesnel soha nem fog billegni a kimenet - nem ez teveszt meg veletlen?

PWM_887.GIF
    
(#) potyo válasza Sendi hozzászólására (») Szept 10, 2008 /
 
Azért pislog, mert egy periódus idejére a kitöltési tényező nullára vált. Úgy kell megoldani, hogy amikor az új ciklus elkezdődik (ezt a TMR2IF figyelésével lehet meglátni), akkor megnézzük, hogy a CCPR1L értéke elért-e 0xFF-re. Ha igen, akkor egy jelzőbitet nullára állítunk, és fordítva, ha a CCPR1L értéke nullára ért, akkor a jelzőbitet egybe billentjük. Ezután pedig a jelzőbit értékétől függően nüveljük vagy csökkentjük a CCPR1L értékét. Tehát valami ilyesmi lenne:

  1. LOOP
  2.         BTFSC   PIR1, TMR2IF
  3.         CALL    TMR2ISR
  4.         GOTO    LOOP
  5.        
  6.        
  7. TMR2ISR
  8.         BCF             PIR1, TMR2IF
  9.        
  10.         MOVF    CCPR1L, W
  11.         XORLW   0xFF
  12.         BTFSC   STATUS, Z
  13.         BCF             FLAG
  14.         MOVF    CCPR1L, F
  15.         BTFSC   STATUS, Z
  16.         BSF             FLAG
  17.        
  18.         BTFSC   FLAG
  19.         INCF    CCPR1L, F
  20.         BTFSS   FLAG
  21.         DECF    CCPR1L, F
  22.        
  23.         RETURN


Mint megfigyelhető, nem delay-el működik, hanem a Timer2 túlcsordulását figyeli. Nemis igazi megszakítás, mert van közel egy periódusnyi idő a Timer2 túlcsordulásának lereagálására.
(#) trudnai válasza Sendi hozzászólására (») Szept 10, 2008 /
 
Ez azert van nyilvan, mert mire eszreveszed, hogy tulcordult addigra mar keso... elerte a 0 kitoltest...

Ez volt a kodod:
  1. novekszik:
  2.         incf    CCPR1L,f
  3.         movf    CCPR1L,w
  4.         movwf   PORTD
  5.  
  6.         movlw   d'10'              
  7.         movwf   Delay2
  8.         call    delay
  9.         movf    CCPR1L,f
  10.         btfsc   STATUS,2
  11.         goto    csokken
  12.         goto    novekszik

Szoval itt megnoveled, az tulcsorog, majd varsz kb 7ms-et, majd megnezed tulcsordult-e...

En valahogy atszerveznem az egeszet valami ilyesmire:
  1. main:
  2.         movlw b'00000000'       ; bit 9 - 2
  3.         bcf CCP1CON,CCP1X       ; bit 1
  4.         bcf CCP1CON,CCP1Y       ; bit 0
  5.                                                                
  6.        
  7. novekszik:
  8.         movwf   CCPR1L
  9.         movwf   PORTD
  10.        
  11.         movlw   d'10'              
  12.         movwf   Delay2                 
  13.         call    delay                          
  14.  
  15.         incfsz  CCPR1L,w   ; itt egyenlore csak W-be tesszuk....       
  16.         goto    novekszik        
  17.  
  18.         movlw   0xFF       ; ok, tulcsorgott, tehat W-be a max-ot tesszuk....
  19.        
  20. csokken
  21.         movwf   CCPR1L ; ... hogy aztan itt a max keruljon be...
  22.         movwf   PORTD
  23.        
  24.         movlw   d'10'                
  25.         movwf   Delay2                 
  26.         call    delay                          
  27.  
  28.         decfsz  CCPR1L,w                       
  29.         goto    csokken                        
  30.  
  31.         goto    novekszik
(#) watt válasza trudnai hozzászólására (») Szept 10, 2008 /
 
Ettől még lemegy 0-ra a kitöltés, és elég sok ideig nem fog égni a LED. Ahhoz, hogy a folyamat ne szakadjon meg látszólagos sötétséggel, nem szabad leengedni 0-ra a kitöltést.
(#) Sendi válasza watt hozzászólására (») Szept 10, 2008 /
 
Helló Watt, Trudnai, Potyo.

Köszönöm, betöltöttem, és működik is.
Most még egy kicsit tanulmányozom.

Köszönet mindenkinek.

Kicsit OFF kérdés.
Nem tud valaki interface modult a Tektronix TDS 210-szkóphoz?

Köszönettel
Következő: »»   282 / 1319
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