Jump to content

Najbolji članovi

Popularan sadržaj

Showing content with the highest reputation on 02/25/18 in Postovi

  1. Увод Никад ми није било јасно како скоро сви произвођачи грамофона тврде да је константна брзина окретања грамофона кључна за контролу pitch-а, а веома мали број њих развија и/или имплементира склопове за тековно мерење исте. Уместо тога, користе се технике контроле обртаја код мотора и мерење истих, прерачун ротација преко мерење повратних струја итд. Шта ли се онда дешава на самом тањиру? Такође је било прича да грамофонска игла при контакту са плочама има утицај на константну брзину, а да не помињем растезање каиша и промене у температури. Како сам решио да развијам свој грамофон (*), морам сам да проверим ове хипотезе, да се не би базирао на приче које нису поткрепљене јасним доказима. (*) Рецимо да је стабилна просечна брзина ротација један (поред доста других) од кључних услова при развоју грамофона. Услови Поставио сам следеће услове: Безконтактни сензор (hall effect, IR, laser); Висока прецизност (рецимо микросекунде); Вањски дисплеј (OLED, LCD, ePaper); Логирање мерења за debugging и даљи развој погона за грамофон; Израда од релативно доступних компоненти; Могућност имплементација на било којем грамофону (**). (**) Локација монтирања сензора и окидача зависи од зазора између доње стране тањира и базе. Компоненте Скоро све компоненте се могу локално наручити, осим дисплеја. Било која комбинација од оних које сам навео врши посао. На крају, избор је пао на следеће: Arduino Nano (овде); Keyes KY-003 Hall Effect Sensor Breakout (овде); 0.91" OLED екран са I2C протоколом (рецимо овде); Неколико магнета (6mm x 3mm је добра величина); (***) CD4066B прекидач; (***) Стандардни тастери. (***) Нису потребни за тахометар, већ за други део пројекта, а то је PI/PID контрола вањског контролера за погон грамофона. TBD. Принцип Свако окидање сензора снима број микросекунди прошле од иницијализације микроконтролера. И онда: Брзина ротације је разлика између нове и старе вредности, изразене у ротацијама у минути; Сензор је један, и је фиксне локације; Окидач(и) сензора могу да буду од један до онолико колико их физички стане на тањиру; Када је више од једног окидача по ротацији, брзина ротације се рачуна за сваки окидач понаособ, а не као разлику између окидача. (****) (****) Сваки сензор има време окидања. У случају hall effect сензора, време окидања зависи од снаге магнетног поља које презентују магнети који раде као окидачи. Чак и да имам услове да поставим магнете са апсолутном прецизношћу, не могу да гарантујем да сви магнети имају магнетно поље исте јачине. Због тога, код који сам развио рачуна сваки магнет као да је једини окидач у систему, и упоређује га са самим себе. Овај приступ гарантује виш ступањ прецизности, и умањује утицај прецизности постављања окидача - све док се окидачи поставе на исто растојање од центра како би окинули сензор. Повезивање (*****) За тахометар, без вањске контроле погона, све што је лево од Ардуина се може уклонити. Окидачи Окидачи се могу поставити на доњу страну тањира, или на сам обод тањира ако нема места за испод. Код мене, то сам овако урадио: Програмирање Сав код (као и идуће промене) је доступан овде: https://github.com/stojnev/dwr-controller Код је релативно једноставан, а сви оперативни параметри се могу штимати преко вредности променљива: int countMessageDisplaySpins = 1; int waitingCycle = 0; long stoppingTime = 2500000; // Indicates (1) the number of rotations a display message is active before being replaced with RPM, (2) represents intermediary counter and (3) determines the amount of microseconds elapsed after which the platter is considered stopped. int triggerNumber = 4; // Indicates the number of sensor triggers per rotation. int correctionSpin = 4; int correctionSpinShort = 2; long correctionSpinCount = 0; int correctionMovement = 5; // Indicates (1) number of rotations to wait for applying correction with small corrections, (2) number of rotations to wait for applying correction with large corrections, (3) temporary spin count and (4) maximum amount of steps to correct per cycle. float correctionQ = 0.01; // Indicates the difference quotient from standard speed to activate automatic correction. float derivedQ = 0.01; // Indicates the correction in RPM derived from a single 0.01Hz step (single "click"). Код је дизајниран да очекује промене у систему, па тако "препознаје" стање система. То је важно за имплементацију у постојеће системе, где тахометар није контролер брзине и/или стања. Радња И на крају, како то ради: Будућност Тек смо почели. У плану је бар следеће: Имплементација Timer2_Counter библиотеке за повећање прецизности система; Рутине за приказ разних просека; Аутоматскo штимање PI/PID параметара; Рутине за чување укупног времена свирања (не само ротација).
    5 poena
  2. Doktor

    Šta trenutno slušam . . .

    Da, da, . . . . sabrana dela. Sjajno. I ovde, samo na drugoj mediji.
    4 poena
  3. vbraca

    Dzez kaleidoskop

    Na Radio Novom Sadu, postoji emisija "Dzez kaleidoskop", a ovde mozete preslusati emisije. Urednik i voditelj je Vlada Samardzic, jedan od najboljih sviraca, kompozitora i poznavalaca dzeza. Uzivajte! http://media.rtv.rs/sr_lat/dzez-kaleidoskop/32183
    4 poena
  4. Impuls

    ZM

    ove nedelje uhvatio telefonom
    3 poena
  5. Kad je poceo, gledam kog djavola ovaj soli PCB?!
    3 poena
  6. Zen Mod

    ZM

    got a gift
    2 poena
  7. evo sve jučer na poslu spremio za napraviti box za visokotonac,ali zaboravio malu sitnicu,svrdlo 2mm ništa,ima i sutra dana,danas slušamo glazbu Poslano sa mog S60 koristeći Tapatalk
    1 poen
  8. Evo, da izvestim : receno - ucinjeno! Sve kupljeno i zamenjeno. Postojao je otpornik koji nije bio na postovanoj semi, kao na Zenovom crtezu, ali nije bio ucrtan. Bojao sam se da promene ne ubiju zvuk, tj "ono nesto" u zvuku. Srecom, sve je dobro ispalo; novi potovi nisu neki (valjda radioohm, ali nisam nasao bolje), i nisu 25 kohma, nego 22. Sve u svemu, sad radi besprekorno. Brzinski sam izmenjao desetak cd-a koje inace koristim za brzinski test, i sve je ok. Zvucna slika jeste nesto promenjena, bas je nesto povuceniji, minimalno, sto opet moze da bude samo moja uobrazilja. Zen, hvala za vreme i znanje. Ostaje mi jos da u narednom vremenu sredim, odnosno napravim nove kutije za stare Scanspeak alniko zvucnike, ali to u drugom topiku. Hvala svima koji su savetima pomogli. roger & over
    1 poen
  9. 1 poen
  10. oglasavam da sam uspeo da skinem sa net-a muzicke fajlove u svim oblicim i ekstenzijama,flac,ape,pretvorio u wav i narezao preko winplayera u win7 op.sistemu.skinuo sam 6-7 test cd diskova sto mi je dosta.puno hvala svima koji su se ponudili da mi pomognu.za osobu mojih godina to je zametan posao,ali sam izdrzao.
    1 poen
  11. Sta da kazem nego sjajno! Umesto da uvedes nove greske, postojecu si smanjio...
    1 poen
  12. Što god mislili o Bregi
    1 poen
  13. Ево како ради: Сав код (и сваки идући update) се налази овде: https://github.com/stojnev/dwr-controller Имам доста идеја за побољшања, али ово ради и морам да негде пресечем да мало слушам музику, а не бројим ротације.
    1 poen
  14. https://img-9gag-fun.9cache.com/photo/adK7R92_460sv.mp4 Interesantne mogućnosti primene. Da ne govorimo o tehnološkoj naprednosti. Mini radar
    1 poen
  15. Zen Mod

    ZM

    1 poen
×
×
  • Kreiraj novo...