Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
 
Témaindító: G-Lex, idő: Jan 9, 2006
Lapozás: OK   1280 / 1280
(#) freddyke válasza Elektro.on hozzászólására (») Sze, 22:07 /
 
Idézet:
„Bocsi mobilról nem rakja be a linket. https://www.microchip.com/maps/microcontroller.aspx
Ezt a keresőt is megtaláltam. Felhozza a másikból hiányzó ATXMEGA64-et, de tokozás szerint nem tud keresni. 8-bit-es AVR esetében (amelyhez a programozóm jó) az ATXMEGA sorozatban ki is merülnek a lehetőségek (2 DAC és 2 ADC 8 bit-en). Sajnos mindegyik TQFP tokozású és ezt most nem fogom tudni beforrasztani.

A DIP tokos PIC jobb lenne kísérletezni. A Chipcad-nél 12500 Ft a PICkit 3 ez a legkedvezőbb ár, amit találtam. Csak nem szeretnék egy 800 Ft-os PIC-hez beinvesztálni erre.
A hozzászólás módosítva: Sze, 22:08
(#) Kovidivi válasza freddyke hozzászólására (») Sze, 22:46 /
 
Csak DAC kell, vagy esetleg a PWM-et szűrve kapott DC is megfelelő? Lehetséges, hogy nem is olyan nagyok követelmények.
(#) pajti2 válasza freddyke hozzászólására (») Csü, 0:17 /
 
Idézet:
„A Chipcad-nél 12500 Ft a PICkit 3 ez a legkedvezőbb ár, amit találtam. Csak nem szeretnék egy 800 Ft-os PIC-hez beinvesztálni erre.”
A pickit3-ba nem egy 800 forintos pic miatt invesztálsz be, hanem azért, mert az platform belépő költség. Nincsenek meg a platformhoz feltétlenül szükséges eszközeid, az egész platform elérhetetlen a számodra - a 800 forintos pic is.

Ha atmegához fel vagy szerelve, használd azokat, amit és ahogy tudsz. A nem szeretnél +1 tokot ismerős érzés, de nem lehet mindig mindent megúszni.
(#) pipi válasza freddyke hozzászólására (») Csü, 0:52 /
 
Aliexpressen kb 3000Ft egy PICkit 3 klón, működik rendesen.
(#) Wezuv válasza killbill hozzászólására (») Csü, 6:52 /
 
Nem akarom bagatelizálni a dolgot, de jelen nyákon a kialakítások hasonlóak annyiban, hogy a hidegítések az IC alatt vannak és az analog földön nem folyik más árama. Egy eltérés, hogy nem teliföldes. Nagyon sok áramkört építettem eddig, nincs köztük teliföldes és mindegyiken jól működik az ADC. Sőt, sok esetben asztalon lógattam össze próba áramköröket, nem volt gond. Ez most annyiban különleges, hogy 200MHz-en működik, elfogadom, hogy itt már számíthat. Nem mellesleg 64 lábig elég könnyű nyákot tervezni, akár teliföldest is, de egy ekkora tok már fejtörést okoz minden téren...
A hozzászólás módosítva: Csü, 6:52
(#) icserny válasza freddyke hozzászólására (») Csü, 8:25 /
 
Ha a "PWM minőség" nem elegendő, akkor külső DAC-kal jobban jársz. Van 8 lábú, SPI meghajtású is, nem nagy gond a mikrovezérlő mellé felrakni.
(#) freddyke válasza Kovidivi hozzászólására (») Csü, 12:59 /
 
Van két, egymással szinkronban változó 0-5V és 0-2.5V között mozgó jel. Ezek egy autó motorvezérlő elektronikájára kapcsolt dupla potenciométeres jeladóból származnak. Azért van duplán és különböző feszültségtartományban, hogy a motorvezérlő felismerje a jeladó meghibásodást. (Meghibásodás esetén feltételezem, hogy az autó megáll, érthető biztonsági okok miatt.)

Ezt a rendszert bontanám meg. A potikról a jeleket ADC-vel a proci kapja meg és helyette a proci adja a jeleket a motorvezérlőnek DAC-vel (adott esetben teljesen eltérőek lehetnek a jelek, nem átalakításról van szó). Mivel ez biztonságot veszélyeztet, egy kritérium van, redundáns legyen. 2-3 procival szeretném megoldani, amelyek egymástól függetlenül értelmezik a jeleket (azt is visszaellenőrizve, ami a DAC kimenetén van) és ezek bármelyike (vagy-vagy alapon, versenyhelyzet kizárása miatt) le tudja kapcsolni a DAC kimenetét.

Sajnos van mégegy dolog, ami elkerülte a figyelmem. A fentiek miatt az ADC és DAC-knek legalább két csatornásnak kell lenniük az egyidejű mintavétel és szinkron jelgenerálás miatt. (A procikban általában csak egy "sample and hold" áramkör van, eleve kizárja ezt a lehetőséget.)
DAC esetén lehetne trükközni azzal, hogy csak egy DAC van, a szinkronban változó másik jelet a duplájára erősíteni műveleti erősítővel, ezzel a motorvezérlőt verném át, kikerülve annak a biztonsági ellenőrzését.

Rengeteg adatlapot átnézve a fenti követelményeket csak ATxmega vagy a dsPIC sorozat tudja. Ezek 3.3V-on mennek, ráadásul a dsPIC-ben nincs EEPROM. A bemenő jel tartományának csökkentéséhez, a kimenő jel tartományának növeléséhez 3.3V és 5V között műveleti erősítők kellenének. Ez így +1 (dupla) műveleti erősítő procinként, +1 EEPROM dsPIC esetén. Plusz a nyűg az SMD tokozás normál méretűre alakításával (ezekből DIP nincs).

Alternatív lehetőségként teljesen alap procik mellé külső ADC-t és DAC-t lehetne tenni. Ezekből is csak olyan felel meg, amely szikronban működik (a Microchip-nek csak DAC-ben van ilyenje, ADC-t keresni kell más cég kínálatából, ha egyáltalán lesz megfelelő). +2 IC procinként. Itt még gondolni kell a proci és a külső elemek között bevitt meghibásodási lehetőségekre és azok szoftveres kezelésére.

Esetleg valamilyen hibrid megoldás olyan procival, amelynek legalább az ADC-je tud két csatornán szinkronban mintát venni, a DAC-re pedig marad a külső IC.

Idézet:
„Csak DAC kell, vagy esetleg a PWM-et szűrve kapott DC is megfelelő? Lehetséges, hogy nem is olyan nagyok követelmények.”
Nem tudom, hogy a jeleket vevő egység (motorvezérlő) mit tolerál. Ilyen tekintetben egy fekete doboz, rövid vagy hosszútávon káros hatásai is lehetnek. Emiatt nem szeretnék PWM-el kísérletezni. Ugyanerre a célra láttam egy kapcsolást, ahol a PWM után sok műveleti erősítő van, a motorvezérlő szintjén történő redundancia ellenőrzést megkerülve és eleve túlbonyolítva az egészet.
"PWM DAC" esetén a "PWM DAC" jeleinek visszaellenőrzése miatt (minden proci által) talán túl nagy lehet a zaj, emiatt túlságosan engedékeny tolerancia küszöbértékekkel kellene dolgozni, csökkentve a visszaellenőrzés hatékonyságát. Maradnék a DAC mellett.

Idézet:
„Ha a "PWM minőség" nem elegendő, akkor külső DAC-kal jobban jársz. Van 8 lábú, SPI meghajtású is, nem nagy gond a mikrovezérlő mellé felrakni.”
Nem nagy gond, csak plusz hibalehetőség (amelyet szoftverből is kezelni kell) és 2-3 proci esetén már sok külső alkatrészt jelent. Ezért lenne jobb a prociba épített ADC és DAC (ha lenne megfelelő proci).
(#) freddyke hozzászólása Csü, 13:16 /
 
Kicsit OFF, de most jutott eszembe.

A szinkronban bejövő 0-5V és 0-2.5V közötti jelek tartományon belüli eltérését (például, ha a 0-5V közötti jel 2.5V, akkor a 0-2.5V közöttinek 1.25V-nak kell lennie) hibajelet generáló műveleti erősítős kapcsolással lehetne összehasonlítani. (Analóg áramkörökben hiányos tudásom, de talán összehozom ezt a kapcsolást valahogy.) A hibajel értelmezéséhez már nem kell két csatornán szinkronban mintát venni, olyan ADC minden fapados prociban lesz. (Teljes redundancia miatt ebből is minden proci mellé kellene egy). Vagy keresek egy olyan procit, amiben eleve van analóg komparátor, ennek még nem néztem jobban utána.
Ekkor még mindig külső DAC fog kelleni sajnos. Végeredményben nem lesz több alkatrész, mert ennek a jelét nem kell műveleti erősítővel 5V-os tartományra erősíteni.
A hozzászólás módosítva: Csü, 13:21
(#) freddyke hozzászólása Csü, 13:37 /
 
Sajnos már nem tudom törölni az előző hozzászólásom. A hibajel csak a szinkronban levett alapjellel együtt értelmezhető. Felesleges hibajelet generálni, megkötés a szinkron mintavétel.
(#) killbill válasza Wezuv hozzászólására (») Csü, 13:57 /
 
A 200MHz nem az ADC dolga. Ha az Avss es az ADC bemenet kozott ott a 100n hidegito, akkor nem igazan szamit, hogy a processzor mag hany MHz-en megy. Par uV zaj lehet, de 2.5V referencia mellett 12 biten 1 LSB az 610 uV. Ha egy 3.3V-os negyszog jelet mondjuk 10pF csatolassal raviszel a 100nF hidegitore, akkor az 330uV zaj lesz az ADC bemeneten. Ez fel LSB sincs.

Szerintem, ami fontos, hogy az analog foldek (referencia aramkor foldje, Avss, forras foldje, bement es referencia hidegitok also pontja) azonos pontecialon legyenek minden frekvencian. Erre jo a telifold, ha messze vannak egymastol a fenti pontok. Ha a fold rendben van, akkor ket helyen mehet be nagyobb zaj: az ADC bemeneten es a referencian. Ezeket le kell kondizni, sok mast nem lehet csinalni. Ezen felul gyarkorlati megvalositas kerdese (IC belseje), hogy tapon keresztul mennyire erzekeny. Mikrocsiprol leven szo, barmi is lehet, nem hiresek a jol megtervezett alkatreszekrol. De az Avdd-n elhelyezett 100n sokat segit ezen a probleman, esetleg LC szures. De nem ilyen antenna jellegu throuh-hole tekercs, hanem egy jofele SMD ferrit beed.

Nekem a 12 bites A/D akkor volt mocskosul (20-30 LSB) zajos (nem PIC), amikor muveleti erositovel hajtottam meg az AD-t, de kb. 30-40mm tavolsagbol jottek a jelek, es nem volt az ADC bemenetnel kondi, mert en balga azt hittem, hogy az OPA kimenete 0 Ohm, kis impedancia, nem kell azt hidegiteni. De kell, sajnos be kellett tenni 1k/100nF szuroket az uC ala, es maris elmult a zaj (2-3 LSB). Pedig az egesz analog resznek sajat telifoldje volt, raadasul negyretegu nyak belso retegen.
(#) pajti2 válasza freddyke hozzászólására (») Csü, 14:58 3 / 1
 
Ha kérhetném, tartsuk meg a szakmai objektivitást. Ha valami redundáns biztonsággal kell, az okés. Hogy szélsőséges környezetbe kell, az is okés. Hogy valami konkrétan autóba, vagy repülőgépbe, vagy katonai életvédelmi célra kell, vagy hogy valaki meghalhat miatta, azt a részét viszont nem akarjuk tudni. Az egyedül csak a te felelősséged, és szakmailag nem objektív.
(#) killbill válasza freddyke hozzászólására (») Csü, 15:24 /
 
Ez a ket jel / egy jel dolog eleg egyszeru. Azt kell eldontened, hogy mit akarsz a ket jellel elerni. Ha csak egy DAC-od van, ami 0-5V kozotti jelet ad, es abbol csinalsz egy 0-2.5V jelet, akkor meg is oldottad. Miert akarnal ket DAC-ot minden processzorra? Eleg egy is, ha harom processzorod van, es egymast ellenorzik, nem? Mert ha pl. a szoftver valamit felreszamol, akkor mindket DAC-ra rossz adatot fog adni. Tok mindegy, hogy hol duplazod meg a jelet, a programban vagy a hardverben. De egy DAC kevesebb hibaforras, mint ketto.

A ket bemenet egyideju figyelese azert nem olyan nagy tragedia egy ADC-vel sem. Gondolom, bar eddig nem irtad (vagy elkerulte a figyelmemet), hogy a jel forrasa valamely human interface (gázpedál), ami viszont nem valtozik olyan gyorsan, hogy ne lehetne tiz-husz mikroszekundum kesessel mintavetelezni a ket jelet. De ha valami mas mechanikus jel, az sem nagyon valtozik 20us alatt. 8000 fordulaton 20 us alatt a fotengely 1 fokot fordul.
A hozzászólás módosítva: Csü, 15:26
(#) pajti2 válasza killbill hozzászólására (») Csü, 15:29 /
 
A teliföld önmagában nem hatékony zavarvédelem. Nem tudja helyettesíteni az induktív szegény kapacitásokat célzottan az ic lábára pakolva. A kapacitások a hatékony védelem. Ha ott vannak minden energiaforrás és nyelő ponton elég nagy és relatíve induktív-szegény kapacitások is, valójában mindegy, hogy teliföld, vagy sima vezeték. Az összes lényeg, hogy ingadozás mentes átlag árammá változzon a tápvezetéken az egyébként impulzus jellegű áram. Persze frekvencia kérdése is, hogy az mekkora bajt tud csinálni. Mondjuk 10 MHz alatt felesleges pepecselés foglalkozni vele, de 200 MHz-en már nem annyira.

Amúgy meg az áramlöketek keltette hullámokat nem tudod "bezárni" sok réteg közé elöl-hátul teli fóliával, mert valójában nem tettél egyebet, csak gyártottál egy helix-antennát.

A teliföldet inkább csak a nyákosok szeretik, mert kevesebbet használod a maró cuccot a fürdőben
(#) sdrlab válasza pajti2 hozzászólására (») Csü, 17:04 / 1
 
Ezzel nem értek teljesen egyet! Egy több rétegű nyák esetén igen jelentős árnyékolást lehet elérni magával a rétegekkel is, megfelelő topológiát alkalmazva! És hát nyilván, ha egyik irányba árnyékolsz, az a másik irányba is pont annyit fog nagyjából hatni. Vannak helyzetek a nagyfrekvenciás témakörben, amikor meg sem tudod kerülni a telifóliát, nemhogy "luxus", már-már felesleges dolognak beállítva kell kezelni...
(#) freddyke válasza killbill hozzászólására (») Csü, 17:32 /
 
Szerintem túlbonyolítottam, gondolkodom egy egyszerűbb megoldáson. Valóban elég lehet a multiplex-elt ADC, nem változik a jel olyan gyorsan. Viszont a gyári védelémet nem iktatom ki. Meghibásodhat az eredeti jeladó és a beiktatott áramkörben bármi. Ebben az esetben kapjon hibás jelet a motorvezérlő és intézkedjen. Ha a DAC 0-5V közötti jelét lefelezve duplikálnám, a motorvezérlő garantáltan mindig hibátlan jelet kapna. Ha az eredeti jeladó hibásodik meg, akkor nem akarok okosabb lenni, a hibás jelet továbbítom a motorvezérlő felé, ezt csak két külön DAC-vel lehet megvalósítani. Vagy kellene egy kapcsoló (ahogyan eredetileg is terveztem), ami visszakapcsolja az eredeti jeladót, de már elvetettem az ötletet, szerintem lesz ettől hibatűrőbb megoldás. Próbálom összehozni minél egyszerűbb procikkal háromprocis rendszerben, ahol a háromból két proci DAC-jét használnám ki kimenetként (összehangolva).
(#) killbill válasza pajti2 hozzászólására (») Csü, 17:41 /
 
A telifold induktivitasa sokkal kisebb, mint egy sima vezeteke, ezert jobb. Hiaba teszel be egy induktivitasszegeny kondenzatort, ha sorba van vele kotve egy nH nagysagrendu induktivitas, ami a hosszu es vekony tapvezetek a panelon. Ha a tapokon meg is tudod szuntetni az impulzusszeru aramugrasokat a helyben elhelyezett kondenzatorokkal, a jelvezeteken folyo aram a foldon folyik vissza. Ha az ado es vevo oldal kozott a foldnek is van induktivitasa, akkor a ket alkatresz foldpontja kozott feszultsegugras lesz. A telifoldet nem en talaltam ki, es nem is a nyaklobbi...

Egyebkent meg egy szoval sem mondtam, hogy a telifold helyettesitene a hidegito kondenzatorokat.

Nem tudom, hogy mit ertesz bezaras alatt, de nem azert kell 4 vagy tobbretegu panel, hogy bezarj barmit is, hanem azert, mert ket reteg nem elegendo mindenre. Ezert a belso retegeken lehet teli rezzel tapot csinalni, ami induktivitasszegeny, es a leheto legkisebb ohmos ellenallasu is egyben.

Ezen felul szokas meg azt csinalni, hogy a kulso reteg a fold, es ezzel arnyekoljak a belso signal layer-t, de ez tenyleg nem a hobbi pic kategoria.
(#) Wezuv hozzászólása Csü, 19:31 /
 
Olvasom a hozzászólásokat, szerintem mindenkinek igaza van, össze lehet gyúrni a véleményeket és egyezni fognak, legfeljebb kommunikációs félreértések, vagy pontatlanságok miatt csúszik el a dolog. Egyértelmű, hogy az ideális egy 0 ellenállású és 0 impedanciájú áramvezeték lenne az táplábakig és ott kellően lekondizva. Ezt jobban közelíti egy telifólia. Ilyen lábszámnál ezt több réteg nélkül nagyon nehéz megoldani. A több réteget pedig házilag szintén elég matekos lenne, bár nem lehetetlen! Ezen a panelen minden működik (TFT, Web, USB, SD, SQI Flash, UART, minden, csak az ADC nem annyira. Más feladatra ez is elég lenne, de arra amire én akarom nem.
Egy külső ADC megoldás lenne, de egyelőre keresem a valós okot. Ha lesz időm meg is találom! Köszi mindenkinek!
(#) Kovidivi válasza freddyke hozzászólására (») Pé, 14:27 /
 
Lehet hogy tényleg túlbonyolítod.
Ha eredetileg egy poti adta a jelet, és ezt akarod uhelyettesíteni, akkor a PWM-ből készített DC-nek is megfelelőnek kell lennie. Ha hardverből készíted a PWM jeleket, bekapcsolod a watchdog-ot, akkor programfagyás esetén meg tudod állítani a PWM perifériát. Ha hibás az eredeti jel, akkor ahhoz nem kell kapcsoló, hogy továbbküldd, hanem elég csak leutánozni. Amire figyelni kell, az a uC tápja, ez legyen stabil, mert ettől függ a PWM jel aplitúdója is. Ezt a stabil tápot ne terhelje be semmi más. Az 5V-os maximális DC szinthez lehet 5.2V táp kell, ezt majd kikísérletezed, az AVR-ek adatlapjában szerepel, mekkora feszültséget viselnek el (5.5V még nem gond, ha jól emlékszem).
Vissza is mérheted a szűrt PWM jelet ADC-vel, 1MHz-cel tudod hajtani az ADC-t egy 16MHz-es Atmega328-con, meg lesz a 8bit pontosság tuti (járj utána mennyi kell, és mennyit kapsz), a kért mért érték közt idöben lesz egy ki különbség, de nem gyorsan változó jeleket kell mérni! Egy poti lassan tud csak fordulni (lehet erre is figyelned kell a programban?).
Legyen a végleges nyákod víz, por, rezgés és ütésálló!
(#) killbill válasza Kovidivi hozzászólására (») Pé, 15:47 /
 
Ez egy PIC topic...
(#) freddyke hozzászólása Pé, 18:45 /
 
Idézet:
„Ez egy PIC topic...”
Jogos, de egyelőre még platformtól független kérdéskör volt, amire nem igazán van alkalmas topic. 5V-on úgy tűnik csak a PIC24FV16KM202 lesz DIP tokozásban, két független 8 bit-es DAC-vel sok csatornás multiplexelt ADC mellett.

Idézet:
„Ha eredetileg egy poti adta a jelet, és ezt akarod uhelyettesíteni, akkor a PWM-ből készített DC-nek is megfelelőnek kell lennie.”
Talán igen. Az RC szűrő után is műveleti erősítőt kellene tenni, plusz egy külső alkatrész (háromszor, ha három proci van, ezért nem szeretnék külső DAC-t sem). PWM-nél mindenképpen zaj lesz. A motorvezérlő toleranciáját letesztelni sem tudom és kísérletezni sem szeretnék ilyesmivel. Főleg ezért nem szeretnék PWM-et.
Vagy egy DAC jelét műveleti erősítővel duplázom (a két együtt mozgó tartomány miatt), de ez is egy plusz külső alkatrész és a motorvezérlő átvágása (a dual potis rendszer arra lett tervezve, hogy felismerje a poti hibát).
Ha két DAC-t akarok, meg kell vennem a PICkit3-at.

Felvetődött mégegy probléma. Ha három proci van, mindegyiknek közvetlenül tudnia kell kommunikálnia mindegyikkel. Minden üzenetváltásnál mindegyik küld a másik kettőnek (több byte-nyi adatot). Ez 6 üzenet körönként. I2C vagy SPI erősen lassító tényező lehet. Alkalmasabb eszköz van erre a PIC-ben?
(#) freddyke hozzászólása Pé, 20:30 /
 
A legutóbbi felvetésemmel kapcsolatban a PIC24FV16KM204-ben két MSSP van. SPI-vel minden PIC-et össze tudnék kötni a másik kettővel, közvetlenül. Szerintem ez elegendő lenne.
(#) Kovidivi válasza freddyke hozzászólására (») Pé, 21:06 /
 
"Az RC szűrő után is műveleti erősítőt kellene tenni" - nem biztos. Ha a poti 10K nagyságrendben van, akkor ezt a terhelést elviseli a szűrt PWM kimenet is, maximum esik picit (saccra 1%) a feszültség, de ez lineáris hiba, korrigálható ha kell.
"PWM-nél mindenképpen zaj lesz." - A DAC is ugyanúgy PWM-et használ, csak mondjuk 1-2MHz-eset. A másik: a szűrt PWM-nek a zaját te határozod meg, mennyi lehet. Minél nagyobb a beállási idő, annál kisebb a zaj! Mivel poti volt eredetileg, ezért akár 10-100mS beállási idő is megengedhető, és mivel nincs kiválasztva uC, ezért kereshetsz olyat is, ami tud high speed timer-t használni. A probléma ott lesz, hogy a PWM magas szintje függ a uC tápjától.
Viszont ha két PWM jelet állítasz elő, az egyikre beállítasz mondjuk 5000-es értéket (ez az, amit a timer-be beírsz), a másikba 2500-at, akkor a két szűrt DC feszültség pontosan a fele lesz egymásnak, még ha a uC tápja nem is annyira stabil, akkor is, mivel a hiba duplán jelenik meg mindkét kimeneten.
Az viszont kérdéses, hogy lehet-e a két jel között időbeni csúszás? Tehát az egyikre beadsz egy értéket, a másikra x idő múlva (amilyen gyorsan csak lehet), a két kimenet között lesz egy pici differencia.
" A motorvezérlő toleranciáját letesztelni sem tudom és kísérletezni sem szeretnék ilyesmivel." - ezt megértem.
Azzal viszont nem értek egyet, hogy egy DAC kimenetet műveleti erősítővel duplázol. Akkor már inkább egy kétcsatornás DAC valami 8 lábú tokban, így nem kell a műveleti erősítővel szórakoznod, nem kell rail-to-rail kimenet, az offsetje, driftje sem számít, stb...
Esetleg a 0-5V-ot előállítani, majd ezt felezni két db. 1K-s ellenállással? Ne bonyolítsd, ha nem muszáj. Ha az eredetileg előállított mondjuk 5V a 2K terhelésre esik picit is, akkor is a 0-2.5V-os részen a felét fogod mérni, mint a 0-5V-oson. ADC-vel pedig vissza tudod mérni, ha kell, korrigálsz.
Viszont én úgy gondolom, csak le kellene tesztelned olyan dolgokat, mint hogy mekkora különbség lehet a két feszültség között, hogyan reagál az autó a jelváltozási sebességre (5V-ról hirtelen 3V-ra csökken a feszültség, esetleg azt hiszi, elszakadt a vezeték?), lehet-e a két feszültség között valamennyi időbeni elcsúszás, mit szól az autó, ha van a feszültségeken zaj, leköveti a zajt is, vagy pedig van még egy plusz szűrés? Ezeket csak felemelt autónál tudod tesztelni. Ha van kedved, valahol leírhatnád, hogy mit szeretnél módosítani a kocsin, hova tudsz "belenyúlni"? Ha másik topicban teszed, linkeld be ide. Köszi.
A hozzászólás módosítva: Pé, 21:14
(#) sdrlab válasza Kovidivi hozzászólására (») Szo, 16:05 /
 
Idézet:
„A DAC is ugyanúgy PWM-et használ, csak mondjuk 1-2MHz-eset.”


Ezt honnan veszed? A kisbites DAC-ok semmiféle PWM-el nem rendelkeznek, simán r2r létrával van előállítva a kimeneti jel. De, ez látszik a sebességből is, ha néhány usec alatt beáll, nem valószínű hogy másképp állítanák elő a jelet!
(#) Kovidivi válasza sdrlab hozzászólására (») Szo, 20:42 /
 
Több fajta van: Bővebben: Link A Types részben fel van sorolva több is. Ezek után az adatlapban kell megnézni, hogy hogyan állítja elő a DC feszültséget a DAC, de nagy felbontásnál már szerintem nem R2R létrát használnak.
Hogy hány bit kell a kérdezőnek, azt pedig nem tudom.
A hozzászólás módosítva: Szo, 20:43
(#) sdrlab válasza Kovidivi hozzászólására (») Vas, 14:08 / 1
 
Hát én még sigma delta, és r2r DAC-on kívül mást nem láttam eddig, ami persze nem jelenti azt, hogy nem létezhet más is, de a reális gyakorlatban inkább csak ez a kétfajta van, PWM-esről konkrétan nem is hallottam még! Szerintem olyan nincs, mert semmi értelme nincs a sigma delta mellett! Az, hogy azon az oldalon a teoretikusan megoldható verziók között az is szerepel, semmit sem jelent!
(#) bzumi hozzászólása Vas, 22:38 /
 
Sziasztok, Írtunk c nyelven egy pic által vezérelhető 1 gombos öntartó kapcsolás.
De valamiért nem akarja a mplab befordítani mert állítólag sok a hiba benne.
megmutatnám, és kérném a segítségeteket, vagy esetleg valaki segítene nekem ezt jobban megírni? előre is köszönöm
(#) freddyke válasza Kovidivi hozzászólására (») 1:00 /
 
Köszönöm a hosszú kifejtésed. Több okból sem szeretnék PWM-et. Nem lehet időbeni (szinkron) eltérés az analóg jelek között, a motorvezérlő direkt erre van kihegyezve. A zaj sem előnyös, mert teljesen analóg módon érzékeli a jelet, tehát ugrálásnak is veheti. (Még akkor sem szeretném egyiket sem, ha a motorvezérlő tolerál valamennyit.) Analóg referencia mindenképpen kell, nem lehet a tápfeszt felhasználni direktben (Buck konvertert szeretnék, analóg áramkörökhöz kevésbé alkalmas egyenfeszültség jön le róla). Ez egy gázpedál jeladó szimuláció lenne tempomathoz. A biztonsági kockázata a lehető legrosszabb esetben az, hogy folymatos gázt ad és nem lehet leállítani (nyilván gyújtsákapcsolóval vagy kuplung kinyomással igen). A dual potis jeladó éppen ennek a kivédésére hivatott, a motorvezérlő felismeri ha valamelyik poti eltérő jelet ad. Éppen ezért szóba sem jöhet egy kimenet (DAC, PWM, mindegy) bármilyen duplikálása, ami tökéletesen megkerülné a motorvezérlőbe épített védelmet. (Éppen ellenkezőleg, a motorvezérlő kapjon hibás jelet hiba esetén.) A hosszú kábel miatt a motorvezérlőig erősített jel kell, nem szeretnék ellenállást közbeiktatni. A poti ellenállása mindegy, mert a poti és a motorvezérlő között lenne megszakítva az eredeti rendszer. A poti kimenete az ADC-re megy, a DAC közvetlenül a motorvezérlőre.

Egy háromprocis rendszerre gondoltam, azzal az 5V-os PIC-el, amelyikben két DAC van. Minden proci mindegyikkel össze lenne kötve SPI-vel. A procik teljesen külön tápon lennének, amely szilárdtest relével (pontosabban két sorba kötöttel, redundancia miatt) kikapcsolható a többi proci által (és nem kapcsolható vissza, amíg van tápellátás). Azért, hogy ne legyen egyedi hibapont a procik után (analóg multiplexer, megosztott DAC, stb), a procik DAC kiemente össze lenne kötve (páronként, tehát 3-3), de csak egy procinál lenne kimenetre konfigurálva, a többinél bemenetre. Ha az éppen aktuális proci meghibásodik és a többi lekapcsolja a tápját, akkor elvileg a lekapcsolt proci DAC kimenetein (lekapcsolt proci mellett) a lábak impedancia megnő közel végtelenre. Tehát nyugodtan bekapcsolható egy másik procin a DAC. Kivéve, ha a lekapcsolt proci kimenetei zárlatosak lesznek a 0V felé (mert a pozitív ágon lesz megszakítva a táp). Erre kicsi az esély, de egyedi hibapontként megbéníthat mindent. Ha nem a tápot szakítom meg, hanem a procik DAC kimenetét (analóg kapcsolóval), ugyanúgy mint prociban levő DAC-vel, semmi garancia, hogy a megszakító áramkör nem zárlatosodik be a 0V felé (tehát ez nem segít, de cserébe az analóg kapcsoló még ronthat az analóg jel minőségén). Ha analóg multiplexer-t vagy közös DAC-t használok a három procihoz, szintén egyedi hibapont lesz. Ha ez hibásodik meg, utána a többi proci nem tud mit kezdeni az egésszel. Nem tudom elkerülni, hogy legyen benne egyedi hibapont, innentől lőttek az egész redundanciának.

Ahogy fent írtam, egyébként is szeretnék a motorvezérlő védelmére (is) támaszkodni áramkör vagy proci meghibásodás esetén. Ebből a szempontból egy kicsit jobbnak tartanék egy kétprocis rendszert, minden procinak csak egy DAC-je lenne és mindegyik csak az egyik tartományt generálná. Bármelyik proci "bolondul meg", a motorvezérlő nem szinkron analóg jeleket lát és gázpedál jeladó hibát érzékel.
A működési elve ennek röviden az lenne, hogy mindkét proci dolgozik a bemenő jelekből, ezeket szinkronra mintavételezik és megosztják. A két procinál mért adatok egyezése esetén, azonos értékből számolnak tovább, újra megosztják a kiszámolt értékeket. Ha itt is egyezés van, akkor szinkronban kiteszi az analóg jelet mindegyik a saját DAC-jére. Lenne még egy periodikus életjel figyelés. Két proci nem tudja eldönteni, hogy különböző bemeneti értékek esetén melyik szenzora hibásodott meg, különböző számolt értékek esetén melyik számolt rosszul. Minden ilyen esetben (és ha nem jött életjel a másiktól), feltétel nélkül átkapcsolnának egy relét (amely utána önmagát tartja átkapcsolva), ami visszakapcsolja az eredeti gázpedált a motorvezérlőre, kiiktatva az egész áramkört. Az átkapcsolásnál lehetnek zavarok, ezt mondjuk nem ártana kikerülni valahogy. Egyelőre ezt a kivitelezést látom reálisabbnak.
Következő: »»   1280 / 1280
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu