Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   383 / 1319
(#) googa hozzászólása Jan 8, 2009 /
 
Sziasztok! Mehet egy hangszóró közvetlenül a PIC egy kimenetére? A saját belső 4 vagy 8 ohm-os ellenállása miatt kérdem. Köszi! goo
(#) icserny válasza googa hozzászólására (») Jan 8, 2009 /
 
Mit is mond erre O_h_m törvénye?
(#) trudnai válasza icserny hozzászólására (») Jan 8, 2009 /
 
Idézet:
„Mit is mond erre O_h_m törvénye?”


Vigyazz, mert mindjart jon a valasz, hogy Ohm bacsi meg nem ismerhette a PIC-et
(#) Action2K válasza icserny hozzászólására (») Jan 8, 2009 /
 
Jaj ne cukkold már
Persze hogy nem, csak minimum 520 ohm-os ellenállással sorba kötve, viszont halk lesz. Használj tranyó(ká)t.
(#) szilva válasza Action2K hozzászólására (») Jan 8, 2009 /
 
Kérdés, mi a cél: riasztó, vagy csak valami jelzőhang
(#) googa válasza szilva hozzászólására (») Jan 8, 2009 /
 
Az egyik vállalkozó kedvű kollégám a hangok útján szeretné megismerni a PIC-ek rejtelmeit. Gondoltam megkérdezem, hogy ne ejtsen kárt a holmijában.
Egyébként köszönjük. Én a tranzisztoros megoldást javasoltam.
A riasztóm kész lett, fel is került egy másik kedves kollégám garázsába. Két zóna, pin-kódos taszt, LED-es visszajelzés, fény és hangjelzőnek pedig egy relé kimenet.
Az előbb eszembe jútott egy fontos kérdés, de ahogy így írtam, el is felejtődött most. Na, majd később...
(#) szilva válasza googa hozzászólására (») Jan 8, 2009 /
 
Arra mindenképpen figyelni kell, hogy tartós egyenáram ne kerülhessen a hangszóróra! Szerintem ha csak "hangos ismerkedés" a cél, akkor elég lehet az a 2-300 ohm soros ellenállás is (20mA kimeneti áram 5V-nál 250ohm), szerintem igen hangosan fog az is szólni.
(#) googa válasza googa hozzászólására (») Jan 8, 2009 /
 
Eszembe jutott. Pl. a decfsz-el és egy példaprogrammal kapcsolatban vettem észre egy (számomra) ellentmondásos dolgot, de lehet, csak én tévedek.
A Tudomány és Technika oldal, közepes teljesítményű PIC-ekkel foglalkozó oldalán azt látni a decfsz f, d -vel kapcsolatban, hogy az 'f' értéke 0...127 lehet.
Ezzel szemben, az általam használt (talált) késleltető program egy részlete így néz ki:
  1. Delay250                movlw   d'250'
  2.                 goto    d0
  3. Delay100                movlw   d'100'
  4.                 goto    d0
  5.  
  6. d0              movwf   count1
  7.  
  8. d1              movlw   0xC7
  9.                 movwf   counta
  10.                 movlw   0x01
  11.                 movwf   countb
  12.  
  13. Delay_0         decfsz  counta, f
  14.                 goto    $+2
  15.                 decfsz  countb, f
  16.                 goto    Delay_0
  17.  
  18.                 decfsz  count1  ,f
  19.                 goto    d1
  20.                 retlw   0x00


Ez a program 4Mhz-es órajelnél annyit késleltet millisec-ben, amennyi értékre bállítjuk a count1-et. Én a 250-el használom és működik, másodpercre pontosan.
Ha a decfsz max 127 lehet, akkor hogy értelemzheti a fordító...és egyébként is, hogy működhet jól?
Most ezzel lehet jól beégek... Köszi, ha van válasz!
(#) icserny válasza googa hozzászólására (») Jan 8, 2009 /
 
Idézet:
„Én a tranzisztoros megoldást javasoltam.”

Egy Sokol rádióból kimentett kimenőtrafó hasznosabb volna.
(#) icserny válasza googa hozzászólására (») Jan 8, 2009 /
 
Idézet:
„a decfsz f, d -vel kapcsolatban, hogy az 'f' értéke 0...127 lehet.”

A hír igaz, de ez nem a számlálóregiszter tartalmára, hanem a címére vonatkozik.

Tehát a 14 bites utasítás így néz ki:

00 | 1011 | dfff | ffff

d= 0/1 a w/f választásnak megfelelően
a maradék 7 bit pedig megcímzi (a bankon belül) a számlálódat.

A számlálóregiszter természetesen 8 bites: 0-255
(#) googa válasza icserny hozzászólására (») Jan 8, 2009 /
 
Ó, a fene. Ezért jó, hogy vagytok! Kössz!
Erre az élelmes Angelo "Franko" Provolone azt mondaná: "Persze, hogy tudtam, csak nem sejtettem!"
(#) szilva válasza googa hozzászólására (») Jan 8, 2009 /
 
Igaza van a cikknek. Az "f értéke" az utasítás gépi kódjában elhelyezhető címre utal, ami valóban 0 és 127 közötti lehet. Ez azt jelenti, hogy annak a file regiszternek a címe, amivel majd az utasítás dolgozik, az eshet 0 és 127 közé. A megcímzett file regiszter tartalma természetesen 8 bites, azaz 0 és 255 közötti érték lehet.
(#) izenahogyishivnak hozzászólása Jan 8, 2009 /
 
Egy PIC18 A/D mennyi mintát tud venni másodpercenként?
(#) gulasoft hozzászólása Jan 8, 2009 /
 
Akkor itt az igért kiherélt hőmérős asm.

homero.asm
    
(#) zenetom hozzászólása Jan 8, 2009 /
 
Hali!
Mi a különbség a PIC18F1220 és a PIC18F1320 között?
(#) googa válasza zenetom hozzászólására (») Jan 8, 2009 /
 
Megnéztem a MAPS-on. Ott csak 1220 és 1230 van. 1320-at nem találtam a 18F családban.
(#) szilva válasza zenetom hozzászólására (») Jan 8, 2009 /
 
A flash mérete. De ezt Te is megnézhetnéd, és még csak nagyon kotorászni sem kell, mert egy adatlapon szerepel a kettő.
(#) zenetom válasza szilva hozzászólására (») Jan 8, 2009 /
 
Köszi.
(#) googa válasza zenetom hozzászólására (») Jan 8, 2009 /
 
Feljebb módosítottam a hozzászólásom és belinkeltem Neked a MAPS-ot, ha nem ismerted volna eddig.
(#) trudnai válasza googa hozzászólására (») Jan 8, 2009 /
 
Idézet:
„Megnéztem a MAPS-on. Ott csak 1220 és 1230 van. 1320-at nem találtam a 18F családban.”


Pedig van olyan - csak a "Sort Results by"-nal part number szerint kell rendezni es akkor konyebb megtalalni
(#) kisszee válasza izenahogyishivnak hozzászólására (») Jan 9, 2009 /
 
Ha minden igaz a mintavételezési idő az RC oszcillátortól és az előosztástól függ, 18F esetében a minimális mintavételezési idő 0,7us-nél kezdődik és 25us a maximális érték. Remélem nem mondtam túl nagy hülyeséget, ha igen, kijavítanak az okosabbak.
(#) watt válasza izenahogyishivnak hozzászólására (») Jan 9, 2009 /
 
Típusonként kismértékben eltérő, de kb. 1uS a TAD(RC kiválasztásakor 2uS, adatlapok AC időadatok!). Egy konverzió max 12TAD + az Acquisition Time, amit új csatorna kiválasztásakor ki kell várni. Ez is eltérő típusonként, de kb. min. 1,4uS. Összesen kb. 14uS ami azt jelenti, hogy kb. 70ksps. A szórólapok 100ksps-t írnak, de ott nem számolnak az Acquisition Time-al(csatornaváltásokkal).
Én azt mondanám, hogy 50ksps-t tudnak üzembiztosan, bár még nem használtam ilyen sebességgel 18F-t.
Ha nagy sebességre van szükséged, akkor a dsPIC-ek kötött van néhány SMPS-re kitalált típus, amik az adatlap szerint 2Msps-t tudnak. Igaz ez is csak 2 bemenet felváltott használatával, és a valóság itt is kb. 1,8Msps. Ez jó az SMPS tápokhoz, de nagysebességű kontrollált mintavételezési időpontú adatgyűjtésre nem(pedig én is azt hittem, hogy igen, aztán még is külön A/D-t vettem a célra, mert a PIC-ek nem erre valók.).
Egyéb kevésbé időkritikus feladatra viszont tökéletesen jók.
(#) watt válasza kisszee hozzászólására (») Jan 9, 2009 /
 
A mintavételezési idő 100nS(a kondi feltöltése), amiről te írtál az a TAD(konverziós órajel idő) és az RC kiválasztásakor inkább 2uS. Fosc kiválasztásakor lehet 0,7uS minimum, de tipikusan 1uS. De a mindtavételi sebesség(aminek nincs köze a mintavételezési időhöz!) több lépésből tevődik össze, ahogy fentebb írtam...
(#) icserny válasza izenahogyishivnak hozzászólására (») Jan 9, 2009 /
 
Idézet:
„Egy PIC18 A/D mennyi mintát tud venni másodpercenként?”


Van egy adatgyűjtési idő , ami hőmérséklettől függően Tacq = 1,4 - 2,4 us
Van egy konverziós idő, ami beállítástól függően bitenként Tad = 0,7-25 us (a pontos méréshez a minimumhoz közeli értéket célszerű választani!). A 10 bites ADC-hez ennek a 11-12-szerese szükséges.
Van aztán egy min. 0,2 us körüli kisütési idő, de ez a fentiekhez képest bagatell...

Ezekből úgy tűnik, hogy az elvi határ 100 kHz körül lehet.
(#) icserny válasza watt hozzászólására (») Jan 9, 2009 /
 
Idézet:
„Típusonként kismértékben eltérő, de kb. 1uS a TAD”

USB-s PIC-nél ráfaragás van, mert a 48 MHz (45 MHz fölött) miatt már Fosc/64 az ajánlott érték, így ~1,33 us jön ki. A "sima" PIC18-nál viszont Fosc/32 az ajánlott, ami Tad=0,8 us értéket jelent.

A PIC18F14k20-nál viszont 64 MHz és Fosc/64 kereken 1,0 us-ot eredményez.
(#) watt válasza icserny hozzászólására (») Jan 9, 2009 /
 
Az általad Adatgyűjtési időnek nevezett időt úgy láttam csak akkor kell kivárni, ha csatornát váltasz. Ha egy csatornán mérsz folyamatosan, akkor erre nincs szükség.
(#) watt válasza icserny hozzászólására (») Jan 9, 2009 /
 
Igen, köszi az áttekintést! Viszont úgy gondolom a legtöbb alkalmazásban ezek az idők nem kritikusak. Ha gyorsabban(és folyamatosan) kell mérni, biztosan nem ezeket a PIC A/D-ket fogjuk használni.
(#) icserny válasza watt hozzászólására (») Jan 9, 2009 /
 
Idézet:
„Az általad Adatgyűjtési időnek nevezett időt úgy láttam csak akkor kell kivárni, ha csatornát váltasz.”

Bár a mintavételezéhaz újra fel kell tölteni a konverzió alatt a bemenetről leválasztott kondenzátort, erre külön tényleg nem kell várni. Az adatlap szerint az ADC automatikusan újrakezdi a mintavételezést, így mire az adatot kiolvassuk, kész a következő konverzióra.
(#) kisszee hozzászólása Jan 9, 2009 /
 
Köszönöm az egyértelmű helyesbítéseket. Ah, TACQ = Amplifier Settling Time + Holding Capacitor Charging Time + Temperature Coefficient
=TAMP + TC + TCOFF, kicsit jobban bele kellett volna mélyedni tegnap az adatlapba. ( Ha már így leragadtam magánál az acquisition time -nál ). De, ha jól látom ennek az idejét is be lehet állítani ADCON2 -ben. (18F4520 sheet). Na, jobb lesz egyelőre nem ebbe belemerülni, inkább folytatom az én szintemnek megfelelő résszel a PIC -ezést.
(#) watt válasza icserny hozzászólására (») Jan 9, 2009 /
 
Igazad van, én nem vettem figyelembe az Rss-t és az Ric-t és hogy 120pF a kondi! Csak azért nem kell várni, mert a konverzió közben újratölt. Azért milyen gyorsan elfogy az a 100ksps ha csatornákat is váltogatunk közben! Az ember mindig jobbra számít!
Következő: »»   383 / 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