Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1203 / 1319
(#) Beles válasza Beles hozzászólására (») Nov 24, 2015 /
 
Közben már sikerült felismertetni az USB billentyűzetet. Azonban napok óta ujjabb problémával küzdök. Ha úgy indul el a PIC, hogy rajta van a bill. akkor felismeri szépen, és működnek a gombok is. Azonban ha lehúzom, és újra rádugom akkor nem ismeri fel újra. A PIC át áll host módból device módba, és úgy is marad. A dolog érdekessége, hogy ha a D- D+ lábakat szakítom csak meg, akkor utána újra felismeri. Pedig a tápnak elvileg semmi köze, mert a VBUS pin-re párhuzamosan van az USB 5V-ja kötve a billentyűzettel. Már odáig vissza követtem a program működését, hogy amikor az USBOTG registerben a SESSION bitet 1-be állítja, ott dől el, hogy HOST-ként vagy Device-ként fut-e a PIC program. De ide csak a program indulásakor megy a program. Ötlet?
(#) Attila86 válasza Hp41C hozzászólására (») Nov 24, 2015 /
 
Sajnos nem fér a panelra IC. Most egy FET-tel van csak hajtva simán a földhöz képest és a kis SOT23 tokos FET illetve a piezon a visszirányú SOD80 tokos dióda is éppen hogy csak odafér.
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 24, 2015 /
 
dsPIC33FJ128GP804-ről van szó, nem találtam az adatlapjában ilyesmiről szóló információt.
(#) Hp41C válasza Attila86 hozzászólására (») Nov 24, 2015 /
 
Méghogy nem fér el... A SOT23 FET ugyan akkora, mint a 74HCT1G86.
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 24, 2015 /
 
Ebben tényleg nincs. Szerintem a legegyszerűbb a toggle mód két modulra beállítva, ugyan azzal a timerrel és OCxR-rel, ellentétes kezdőállapottal. Gondolom úgyis csak a frekvenciát akarod változtatni, így a kitöltés mindig 50% lehet.
(#) Droot válasza ktamas66 hozzászólására (») Nov 24, 2015 /
 
Nem tudom miért van ez így túlbonyolítva. Akor egy nagyobb feladat megoldása pl egy LCD vezérlese mennyi energiát és időt vesz fel ha már egy ilyen apró feladat is túl van bonyolítva.
Mint írtam simán rá kell engedni egy FET-en keresztül a tápot. Nézzétek meg gyári panelokon is így lesz.
(#) ktamas66 válasza Droot hozzászólására (») Nov 24, 2015 /
 
Nagy jó példát hoztál . Speciel az LCD is kapacitív és az sem szereti a egyen komponenst, ezért gyakorlatilag ugyan így kell vezérelni. Persze multiplex módban ott már bonyolódnak a jelalakok. Gondolom nem LCD modulra gondolsz, ahol csak a biteket kell billegtetni.
(#) Hp41C válasza Droot hozzászólására (») Nov 24, 2015 /
 
Ráadásul tökéletesen megoldható a feladat egy SOT23 FET helyén.
A hozzászólás módosítva: Nov 24, 2015
(#) Droot válasza ktamas66 hozzászólására (») Nov 24, 2015 /
 
LCD modul komplett vezérlésének leprogramozására gondoltam, a hw tervezéssel együtt. Arra gondoltam ha egy piezo buzzer bekötésének ekkora feneket kerítünk akkor egy LCD modullal mi lenne?
(#) Attila86 válasza Hp41C hozzászólására (») Nov 24, 2015 /
 
Hopsz... valóban, ne haragudj! Ahogy olvastam hogy "kapu" meg hogy "74HC..." reflexből egy legalább 14 lábú tokra asszociáltam.
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 24, 2015 /
 
Nem a frekvenciát változtatnám és a kitöltés maradna állandó, hanem a frekvencia lenne fix és pont a kitöltést változtatom. Hangot (hangfájlokat a PIC memóriájából) játszok le a piezón.
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 24, 2015 /
 
Akkor lehet már belekavarodtam, de rajzoltam egy móricka ábrát. Akkor lesz az egyen komponens 0, ha a két impulzus szélessége egyforma. Innen már jól látszik, hogy a Continuous Pulse módban hogyan kell állítgatni a regisztereket. (Hogy egy ilyen jelnek milyen hatása van a hangra, azt nem tudom )

Piezo.JPG
    
(#) helektro válasza Attila86 hozzászólására (») Nov 24, 2015 /
 
És próbáltál már lejátszani piezzón ilyet?
A piezzónak tök mindegy lesz a kitöltési tényező, kb. ugyanúgy fog szólni (max. a hangereje lesz kissebb nagyon kis <8-10% kitöltési tényező esetén).
(#) usane válasza kissi hozzászólására (») Nov 25, 2015 /
 
Félreértettem. Ktamas ábrájából már értem mit akar, de a lényeg nem változott. Nem atombomba vezérlésről van szó, kapacitív vagy sem. Frekivel váltja a magasságot kitöltéssel meg a hangerőt."Minek atomreaktor ahol egy gombelem is megteszi?"
(#) Attila86 válasza usane hozzászólására (») Nov 25, 2015 /
 
Idézet:
„Frekivel váltja a magasságot kitöltéssel meg a hangerőt.”

Akkor még mindig félreérted, pedig az előbb is írtam:
Idézet:
„a frekvencia lenne fix és pont a kitöltést változtatom”


Atomreaktor? Jelen állás szerint kell egy fet és egy dióda a piezo vezérléséhez, továbbá a PIC-en belül egy OC modul és a PIC 1db lába. Ezt nem tekintitek bonyolultnak, ez idáig teljesen rendben van. (Amúgy szerintem is.) Viszont hogyha nem egy hanem két lábát használnám a PIC-nek az már rögtön atomreaktor lesz?! Csak úgy, minden átmenet nélkül?
Hogyha egy egyszerű mezei csippanáshoz egy precíziós 24 bites high-end audio DAC-ot és egy elektroncsöves erősítőt használnék akkor azt én is egy picit talán erősnek érezném...
Na de egy láb helyett kettő, és egy OC modul helyett kettő (sőt, ha lenne komplementer kimenetes PWM akkor ugyan úgy csak egy kellene) azért nem egy égbekiáltóan bonyolult dolog szerintem. Főleg, hogy ha az ember ez után az áramkörre ránéz, akkor nem hogy bonyolultabbnak, pont hogy egyszerűbbnek fogja látni! Hiszen eddig volt a piezo alatt egy fet és egy dióda, most meg a piezo csak szimplán közvetlen rá van kötve a PIC két lábára. Hát nem egyszerűbb?!

A piezo egy kapacitív alkatrész. Ha egy fet-tel kapcsolgatom akkor a feszültség rajta nagyon gyorsan megjelenik. Viszont amikor kikapcsolom a fetet, akkor a kapacitív piezónk ott marad a levegőben! Persze, ki fog sülni meg hangja is lesz, de én bátorkodtam azt gondolni hogy korrektebb, hogyha a piezó ugyan olyan paraméterekkel van rugdosva az egyik irányba mint a másikba.
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 25, 2015 /
 
Szerintem akkor ugyan arra gondolunk.
Bővebben: Link
(#) killbill válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Idézet:
„A piezo egy kapacitív alkatrész. Ha egy fet-tel kapcsolgatom akkor a feszültség rajta nagyon gyorsan megjelenik. Viszont amikor kikapcsolom a fetet, akkor a kapacitív piezónk ott marad a levegőben! Persze, ki fog sülni meg hangja is lesz, de én bátorkodtam azt gondolni hogy korrektebb, hogyha a piezó ugyan olyan paraméterekkel van rugdosva az egyik irányba mint a másikba.”
Ezért van az, hogy pl. a kvarcórákban, csak egy alsó tranzisztor kapcsolgat, viszont a piezóval van egy tekercs párhuzamosan. Egy szép rezgőkört alkot a piezóval együtt. De az ellenütemű meghajtás is jó, szerintem.
A hozzászólás módosítva: Nov 25, 2015
(#) usane válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Rendben meghajlok akaratod előtt. Legyen 2 láb.
Az viszont ziher, hogy ha csak kitöltéssel variálsz nem sok dallam fog kijönni belőle. Miért is jönne, ha egyszer ugyanazon a frekvencián rezeg?!
(#) ktamas66 válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Szerintem nem. A Te megoldásod (meg az én első javaslatom és Hp41C-é is ) egy ellen fázisú jel, tehát ott mindig van feszültségkülönbség a két jel között, csak a polaritás változik. Ilyenkor viszont, ha nem 50%-os a kitöltés, lesz egyen komponens (hiszen valamelyikből több lesz). A megoldásod akkor működhetne, ha 50% a kitöltés. Van vele még egy probléma, az adatlap szerint :
Idézet:
„For proper operation in Delayed One-Shot and Continuous Pulse modes, the OCxR, OCxRS and
PRy values must have the following relationships:
• OCxRS ≥ OCxR
• PRy >=OCxRS”

A Te esetedben ez nem teljesül, ezért hogy ekkor mi történik azt tesztelni kellene.

Hogy a PWM változásból hogyan lesz hangmagasság változás, azt én sem tudom, de majd kiderül.
(#) Attila86 válasza usane hozzászólására (») Nov 25, 2015 /
 
Akkor most már biztos vagyok benne hogy félreértjük egymást a mikrovezérlővel való hangkeltést illetően.

Én eddig úgy hoztam létre hangot PIC-kel, hogy az egyik OC modulját beállítottam ha jól emlékszem 200kHz körüli frekvenciára. A PIC programmemóriájába letároltam egy hangfájlt (const char tömbbe) melyet előtte számítógépen 8 bites mono, 16kHz mintavételezésűre konvertáltam. A PIC-ben beállítottam az egyik timert hogy pontosan 62,5us-onként okozzon megszakítást (a 62,5us a 16kHz periódusideje). A megszakításban pedig megfogom a tömb következő értékét és bedobom az OCxR regiszterbe, ezzel átállítva a kitöltési tényezőt. Ha a hangban épp "csend van" akkor 128 a kitöltési tényező, a hanghullám szerint pedig ez 0-ig és 255-ig tud változni.
Az egész végeredménye tulajdonképpen egy 200kHz-es négyszögjel melynek a kitöltési tényezője a hang amplitúdója szerint van modulálva. Mivel a választott vivőfrekvencia (200kHz) bőven a hangfrekvenciás tartomány felett van, így nem hallatszik. (Az egyik áramkörömben volt még a PIC után egy 20W-os kis végerősítő is, és hogy ez ne izzadjon a 200kHz-el véletlen se, ezért betettem a PIC kimenetére még egy kis R-C tagot is. Így megszűnik a PWM és tulajdonképpen magát a hanghullámot kapod vissza.)
Ez a valóságban szuperül működött sőt, meglepően szépen szólt! Egy 20 másodperces zeneszámot játszottam le vele próbaképp és kimondottan jó hangja volt.

Ha valaki nem hiszi hogy így elő lehet állítani hangot, kérem jelezze és készítek róla neki egy szkópábrát meg egy videót. +

Lehet hogy más a frekvenciát változtatja? Azt kicsit furcsának találom. És mi van ha egyszerre több frekvenciát akarsz kiadni? Mert egy zene, beszédhang vagy bármi ami nem szinusz az több frekvencia egyidejű jelenlétéből adódik. Ráadásul úgy hogyan állítasz hangerőt?
(#) Bakman válasza ktamas66 hozzászólására (») Nov 25, 2015 /
 
Idézet:
„Hogy a PWM változásból hogyan lesz hangmagasság változás, azt én sem tudom, de majd kiderül.”
Hasonló módon, mint a frekvenciaváltó kimenetén megjelenő szinusz. Szinusz jellel modulált PWM, vagy a kapcsolóüzemű végfok. Persze ehhez az kell, hogy vivőfrekvencia és moduláló frekvencia is legyen, ne csak a hallható tartományon belüli PWM.
A hozzászólás módosítva: Nov 25, 2015
(#) ktamas66 válasza Bakman hozzászólására (») Nov 25, 2015 /
 
Értem . És a piezo kapacitása és mechanikai tehetetlensége "szűri" ki a vivőfrekvenciát?
(#) Attila86 válasza ktamas66 hozzászólására (») Nov 25, 2015 /
 
Pontosan.
(#) Attila86 válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Így néz ki a program:
  1. typedef struct
  2. {
  3.     u8  *most;         //Megmutatja hogy hangfájlban épp hol tartunk
  4.     u8  *vege;         //Az utolsó minta utáni cím
  5.     u8  lejatszas :1;  //Ha folyamatban van lejátszás akkor 1, ha nincs akkor 0
  6.     u8  reserved :7;
  7. }HangLejatszas_type;
  8.  
  9. void HangLejatszasFolyamat(void)
  10. {
  11.     if(Hang.lejatszas)
  12.     {
  13.         if(Hang.most == Hang.vege) HangLejatszasStop();
  14.         else OC1R = *Hang.most++;
  15.     }
  16. }
  17.  
  18. void HangLejatszasStop(void)
  19. {
  20.     Hang.lejatszas=0;
  21.     Hang.most=0;
  22.     OC1CON1bits.OCM=0b000;  //PWM kikapcsolása
  23. }
  24.  
  25. void HangLejatszasStart(u8 *fajl, u16 meret)
  26. {
  27.     Hang.lejatszas = 0;  // biztosan ne dolgozzon a megszakitas rossz adattal
  28.     Hang.most = fajl;
  29.     Hang.vege = fajl + meret;
  30.     OC1CON1bits.OCM=0b110;  //PWM bekapcsolása
  31.     Hang.lejatszas = 1;
  32. }

Így pedig a megszakítás:
  1. void __attribute__ ((interrupt, no_auto_psv)) _T5Interrupt(void)      //TMR5 megszakítás (62,5us-onként)
  2. {
  3.     IFS1bits.T5IF=0;
  4.     HangLejatszasFolyamat();
  5. }

Így lehet egy hangfájl lejátszását elindítani:
  1. HangLejatszasStart(hangfile_egypitty,hangmeret_egypitty);

És így néz ki egy hang a programmemóriában:
  1. static const unsigned char egypitty[] =
  2. {
  3. 127,128,128,129,128,128,128,128,128,129,128,128,128,128,128,128,127,127,128,129,129,128,127,127,128,128,129,129,128,128,127,128,128,128,128,128,127,127,127,129,129,129,128,127,127,128,128,129,128,128,128,
  4.         128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,129,129,129,128,128,127,127,128,128,128,128,127,128,129,129,129,128,127,127,127,128,129,129,129,127,126,126,128,131,132,129,124,122,124,129,133,
  5.         133,129,125,125,128,131,130,128,126,126,125,126,129,133,135,131,125,120,120,126,133,136,133,129,126,126,126,125,125,127,131,132,130,127,125,127,130,130,127,123,123,128,133,134,130,125,123,125,129,131,129,
  6.         127,126,128,130,130,127,125,126,128,130,130,127,126,127,130,132,132,128,124,121,123,128,133,135,132,127,123,123,127,130,129,126,126,130,135,136,129,121,117,122,132,139,136,126,117,119,129,139,141,131,118,
  7.         113,122,136,144,138,122,111,117,133,147,143,123,105,105,127,153,161,139,106,89,106,146,173,161,119,83,86,126,168,174,137,90,76,110,162,186,162,107,69,80,131,180,186,145,90,66,90,143,183,181,140,90,69,92,
  8.         144,184,183,140,87,62,86,144,193,193,143,78,50,81,151,205,202,142,70,40,74,149,210,211,151,74,34,63,140,210,220,163,80,31,53,130,205,223,173,93,40,50,113,183,211,181,118,66,60,100,156,189,178,134,89,73,
  9.         94,137,172,174,146,107,85,93,125,158,169,152,118,91,92,119,150,165,153,125,99,93,111,140,161,162,141,110,88,91,118,153,176,170,137,96,72,82,121,166,187,173,134,92,71,84,122,162,179,163,131,104,96,105,121,
  10.         135,140,138,134,135,138,135,123,109,107,121,137,139,128,118,119,133,150,157,150,131,107,90,91,107,129,149,162,163,149,127,108,95,89,95,121,163,200,206,171,112,56,26,37,85,153,210,230,206,150,92,58,64,100,
  11.         146,176,178,155,118,84,68,78,105,140,170,185,179,154,125,107,108,120,131,130,117,98,83,84,108,150,188,201,181,137,96,80,96,129,157,162,143,112,83,67,72,99,142,186,210,203,171,132,100,79,73,86,113,141,152,
  12.         139,115,99,103,129,163,183,178,154,127,109,101,104,112,116,112,103,101,111,132,154,168,170,162,151,142,134,118,96,78,79,98,122,138,144,143,141,138,138,143,155,165,160,133,95,66,63,85,121,153,166,158,140,
  13.         123,115,119,138,163,178,164,125,84,63,67,89,120,152,172,171,154,132,117,117,132,150,156,142,115,89,76,79,97,129,163,182,175,147,117,107,119,140,151,145,127,104,85,76,86,116,154,180,182,162,132,110,108,
  14.         123,140,144,137,122,102,83,75,91,127,166,189,187,164,134,112,105,107,112,118,125,127,120,109,107,118,137,153,159,156,149,142,133,119,103,96,102,116,126,126,125,130,136,138,138,139,146,154,153,136,110,90,
  15.         89,102,117,128,137,144,145,139,130,128,136,150,156,145,120,98,90,98,110,120,131,141,147,145,137,130,133,143,150,145,128,109,99,99,103,109,119,134,149,155,148,137,132,136,143,140,125,111,104,106,109,112,
  16.         119,132,145,150,144,134,128,132,142,145,136,120,110,107,107,108,112,124,140,149,147,137,131,137,147,149,137,118,104,98,99,105,116,132,149,157,151,134,121,122,133,142,141,133,124,116,109,102,101,111,129,
  17.         144,150,147,140,139,141,141,133,122,113,110,111,112,113,117,126,137,142,140,137,139,146,148,139,123,109,106,110,115,117,120,127,135,138,134,132,138,149,153,142,122,107,105,111,118,120,124,130,135,134,128,
  18.         126,135,149,153,143,126,114,111,113,113,112,118,130,142,143,134,127,129,139,143,137,126,121,119,117,112,110,119,134,146,144,134,126,129,135,136,128,121,120,123,122,118,119,128,140,144,136,124,122,129,136,
  19.         134,127,121,120,118,115,117,129,144,152,146,132,121,120,123,124,122,121,121,122,121,123,133,145,151,146,134,125,123,122,120,117,117,118,117,116,120,134,151,159,154,140,130,124,120,114,110,111,115,115,113,
  20.         117,132,154,165,160,145,132,126,122,116,108,106,108,110,110,116,132,153,166,162,148,135,130,129,124,114,104,98,98,103,113,132,152,165,163,152,139,133,132,129,120,106,95,91,96,111,131,150,160,158,150,144,
  21.         142,141,135,121,105,92,87,95,113,134,150,153,146,141,142,149,152,142,123,105,93,91,100,116,132,142,142,137,136,144,155,156,143,121,103,97,102,112,123,129,130,128,129,136,148,158,155,139,118,104,104,113,
  22.         124,129,127,121,118,124,137,150,153,145,131,118,115,119,126,129,125,117,112,118,131,144,147,140,128,120,122,129,137,137,128,115,108,113,128,142,145,136,124,117,120,129,139,141,134,121,114,118,130,139,139,
  23.         129,117,112,118,131,142,145,136,122,114,119,132,141,138,128,117,113,118,128,138,141,134,124,120,127,137,139,132,121,115,117,123,132,137,136,128,121,122,132,140,139,127,116,113,120,129,137,138,133,125,120,
  24.         124,134,139,134,123,115,115,123,132,138,137,131,127,127,132,135,132,122,113,112,119,130,139,139,133,127,127,134,140,138,128,116,109,110,118,128,136,138,137,137,140,143,138,125,108,97,99,114,133,147,151,
  25.         147,142,138,133,126,116,107,104,111,125,140,149,149,140,128,119,116,120,125,127,127,129,134,141,141,131,117,108,108,119,134,146,150,145,132,117,109,111,118,128,136,142,144,141,134,124,114,107,106,114,129,
  26.         143,150,149,140,129,121,117,118,121,122,122,123,128,135,139,139,135,128,124,124,127,128,126,123,119,119,123,129,135,137,136,136,136,137,133,124,112,104,104,112,128,145,157,158,150,136,122,111,105,103,106,
  27.         114,126,138,148,154,153,144,132,122,117,114,111,110,111,116,125,136,148,154,151,141,130,122,118,116,115,115,116,118,124,132,140,145,145,142,137,130,123,117,114,113,115,119,126,134,139,140,138,136,134,132,
  28.         128,123,118,115,114,117,124,133,140,143,143,139,133,126,120,117,116,118,121,126,131,135,137,137,136,134,131,128,123,119,116,116,120,127,134,140,142,140,134,127,123,120,120,120,122,124,128,132,135,136,136,
  29.         134,130,126,122,119,119,121,125,130,135,137,136,132,127,123,124,126,128,129,129,128,125,124,126,129,132,133,133,131,128,124,122,122,124,127,130,132,133,132,130,128,126,126,127,128,127,126,124,124,126,129,
  30.         132,134,134,132,129,126,124,123,124,126,128,130,130,130,129,128,128,129,130,130,129,127,125,124,125,127,129,131,130,129,128,127,127,128,129,130,130,129,128,126,125,124,125,126,129,131,133,133,132,130,128,
  31.         126,125,125,124,124,125,127,129,131,133,133,133,131,128,125,123,123,125,127,130,131,131,130,129,128,127,127,127,127,127,128,130,130,130,129,128,126,125,125,126,127,128,130,131,131,130,128,127,126,126,127,
  32.         128,129,129,129,128,127,127,128,129,130,129,129,128,127,127,127,127,128,128,128,128,128,128,128,128,128,129,129,129,129,129,128,127,127,127,127,127,127,128,128,128,128,129,129,130,129,128,127,126,126,127,
  33.         128,129,129,129,128,128,128,128,128,129,129,128,128,127,127,127,127,127,128,129,130,130,130,129,128,128,127,127,127,127,127,127,127,128,128,129,129,128,128,128,128,128,128,128,128,128,128,128,128,127,126,
  34.         126,126,128,129,130,131,130,130,129,128,127,126,125,125,126,127,128,129,130,130,130,129,128,128,127,127,127,127,127,128,128,128,128,128,129,129,129,129,129,128,128,128,127,127,126,126,127,128,128,129,129,
  35.         129,129,129,129,128,128,127,127,126,126,127,128,129,129,129,129,129,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,127,127,127,128,128,129,
  36.         129,129,128,128,128,128,128,128,127,127,127,127,128,129,129,129,129,129,129,128,128,127,127,127,127,127,128,128,129,129,129,129,129,128,128,128,127,127,127,127,128,128,129,129,129,128,128,128,128,128,128,
  37. };


Az áramkör rajza a mellékelt képen látható. Az autóriasztómban van egy kis végerősítő de simán piezóval is ezt használom, ez látható a második rajzon.

És ebből így ez lesz:
Bővebben: Youtube
(#) Attila86 válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Ja és tessék, itt látható az "egypitty" hang. Miért lenne ennek egyen komponense?
Az "egyen" és a "hang" szerintem kizárják egymást, mert az egyen nem lehet hang. A hang az hullám, az egyen az meg pont hogy nem hullám. Hanem egyen.
A hozzászólás módosítva: Nov 25, 2015

PWM hang3.png
    
(#) killbill válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Igy mar teljesen vilagos, hogy te mit csinalsz. A keveredes ott lehet, hogy altalaban a piezora az ember egy 1..2 kHz negyszoget kuld ra, es ez szol (sipol, csipog), nem pedig egy hangfrekivel PWM-ben modulalt 200kHz-es negyszoget. A te modszered eroforras igenyesebb, viszont sokkal tobbet ki lehet belole hozni "hangilag", mint egy sima hangfrekis negyszog meghajtassal.

Na, es akkor az egyenkomponensrol. Ha valamire ravezetsz egy 50% kitoltesu, 0-5V kozotti jelet, akkor annak bizony 2.5V lesz az egyenkomponense. Ha ket kimkenetrol, ellenutemben hajtod meg a piezot, akkor mar 0 lesz a DC, hiszen +5V es -5V kozott fog valtozni az amplitudo a piezon.
A hozzászólás módosítva: Nov 25, 2015
(#) AZoli válasza Attila86 hozzászólására (») Nov 25, 2015 /
 
Bocs hogy beleugatok, de az hogy PWM -el csinálnád, egy elég fontos info volt. Persze nem arra gondolok hogy PWM modul használatával (mert azt tudtuk), hanem hogy a hang előállítása történne így.
Viszont akkor nem értem, hogy jön a képbe az ellenfázisú vezérlés, mert PWM esetén pont a DC komponens hordozza az infót.
(#) AZoli válasza killbill hozzászólására (») Nov 25, 2015 /
 
Idézet:
„Ha ket kimkenetrol, ellenutemben hajtod meg a piezot, akkor mar 0 lesz a DC, hiszen +5V es -5V kozott fog valtozni az amplitudo a piezon.”

Igen, és ha ezt a 200kHz-et a piezo kiszűri, pont nem fogunk "hallani" semmit, nem?
(#) Bakman válasza killbill hozzászólására (») Nov 25, 2015 /
 
Amire te gondolsz, az az effektív érték, egyenkomponens helyett az offszetet használjuk jelalakok esetén.
(#) Attila86 válasza AZoli hozzászólására (») Nov 25, 2015 /
 
Normál, fetes kapcsolgatásnál ha a hangban épp csend van, akkor a piezón 2,5V van. (Most tekintsünk el a PWM-től vegyük úgy hogy ki van átlagolva.) A hang amplitúdójának változása hatására a 2,5V-os alaphelyzetből elmegy 0V-ig és 5V-ig a piezón a feszültség.
Ha azonban ellenütemben vezérlem a piezót, akkor alaphelyzetben 0V van a piezón, ami a hanghullám szerint 5V-ig és -5V-ig tud elmenni. Emiatt gondolom úgy, hogy ezáltal a hangerő is nagyobb lesz.
Továbbá a néhány hozzászólással fentebb leírt dolog miatt is szerintem jobb a piezót ilyen módon meghajtani. (A piezo nem csak töltve hanem kisütve is van.)
Következő: »»   1203 / 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