Jump to content
InSides

Turntable Tachometer / Controller

Recommended Posts

10 hours ago, InSides said:

Рецимо да је стабилна просечна брзина ротација један (поред доста других) од кључних услова при развоју грамофона.

Ja sam vec pohvalio genijalnu ideju, ali je vredna pohvale svaki put. Dobiti merenje punog kruga na svakoj cetvrtini kruga..sto resava probleme preciznosti pozicioniranja i rada senzora.

Proizvojacima brzina jeste vazna ali u proglasenoj meri, realno se ofrlje i pausalno odnose prema njoj, posto drugi problemi daleko prebacuju problem brzine. I to se nadoknadjuje marketingom :) .

PA su onda daske sa malim motorcetom, najbolji gramofoni na svetu :) 

Elem, veci problem je promasena osa busenja rupe na ploci, koju je NAK1000 prividno (ne)resio pomeranjem diska, ali neresiva je promena distance rupe u odnosu na brazde  na ploci. Pa je brzina rotacije izgubila na vaznosti.

 

I naravno da je srednja brzina vazna, ali su vazne i amplitude variranja, sto se ozbiljno predupredilo ovakvim dizajnom.

Jos jednom pohvala, za genijalan pristup problemu.:thumbup:

Share this post


Link to post
Share on other sites

Хвала на поддршци свима. :)

Конструкција је ужасно једноставна. Хтео сам да цртам плочицу, али стварно нема потребе када је довољан само мини протоборд за ућвршчивање Ардуина. Библиотека за дисплеј је универзална, тако да се може лако променити дисплеј. Ако неко жели да склопи овакво нешто, а није вичан програмирању, цимајте ме за промене кода.

И кад смо код тога, већ имамо неколико промена у коду:

https://github.com/stojnev/dwr-controller

  1. Додао flag који се зове tachometerOnly. Када се овај flag означи као "true" код прескаче све рутине у вези екстерне контроле погона. Значи, када је идеја да систем ради само као тахометар, све што треба да се уради је следеће:
    boolean tachometerOnly = true;
  2. Проширио лиценцу. Код је лиценциран под условима MIT лиценце, па додао назив лиценци под чијих услова су лиценциране библиотеке које код користи.

Следећи корак - унапређивање прецизности мерења. Али пре имплементације, мало времена се да посветити рачуници шта се добија а шта се губи тим кораком. Stay tuned.

Share this post


Link to post
Share on other sites

Na “komsijskom” forumu je otvorena tema o novodizajniranoj ručici gramofona koju je neko (autor, njegov marketing ....ko zna već) odmah proglasio jednom od najboljih na svetu.
Kao neko sa visedecenijskim iskustvom u R&D rekao bih da je sve u vezi sa tim primer kako ne treba da funkcioniše R&D.
Ovo sam rekao samo zbog toga da još jednom pohvalim ne samo ovo Vaše tehničko rešenje o kome pišete već ceo pristup R&D koji se izuzetno dobro već naslućuje (u Vašem slučaju radi se o Vašem viđenju gramofona sa svim kompromisima u koje ste Vašom voljom ili zbog eksternih faktora već ušli ili ćete ući); a koga se ne bi postideli ni oni iz najbogatijih država i njihovih najboljih kompanija.
Impresioniran sam.
Želim Vam svu sreću (trebaće Vam) da projekat dovedete do kraja na najbolji mogući način i da ga materijalizujete i “naplatite”.



Srećko

Share this post


Link to post
Share on other sites
2 minutes ago, Srecko said:

Želim Vam svu sreću (trebaće Vam) da projekat dovedete do kraja na najbolji mogući način i da ga materijalizujete i “naplatite”.

Хвала. :)

Идеја је да свака од компоненти грамофонског "система" се претстави у посебној теми, када је готово (или бар приближно готова).

Ово укључује, у најмању руку:

  1. Тахометар / контролер;
  2. База;
  3. Погон;
  4. Ручица;
  5. Сталак.

Можда ће потрајати док се све не заврши како би ја хтео, али до тада објављујем оно што мислим да је зрело за екстерну употребу.

Интересантна та прича око наплате - у теми коју отворим око грамофонске базе причао би мало о опклади која је индиректно почела цео овај пројекат.

Без разлике на то, чврсто сам убеђен да нико од произвођача / конструктора не губи ништа своје својине када је дели са светом.

1 minute ago, Woland said:

@Srecko poznajući @InSides "naplata" ovog i ostalih njegovih projekata, je uveliko započela zadovoljstvom tokom izrade gramofona :)

Ето видиш. :)

Share this post


Link to post
Share on other sites

@Srecko

Ono, ima tema i na ovom forumu, doduše sa 2-3 posta. :)

Da se ne ponavljam, ali je veoma enigmatično/tragično sve to što se desilo sa transportom ove ručice ( DHL krivac ) za Meryland i HIFi sajam gde je trebalo da bude svetska premijera.

E sada, zašto US, zašto Merilend, zašto samo par ovih video klipova na YT, a nigde čestite prezentacije u Srb, zašto toliika exluziva&mistifikacija su pitanja za konstruktora/autora ručice.

Share this post


Link to post
Share on other sites

[mention=47]InSides[/mention],

Duboko sam ubeđen da se Vaš projekat gramofona ne može završiti na drugi način osim uspešno.

Drugi deo-finansijska materijalizacija projekta, prema njoj već imam rezerve.

Ovo Vam govorim kao autor i vlasnik nekoliko patenata.

Mislim da ste Vi potpuno sigurni u realizaciju ovog Vašeg R&D (prosto izvire iz svega i verujem da Vam je ovo ko zna koji projekat po redu) ali takođe mislim da o finansijskoj materijalizaciji razmišljate bar za rang veličine manje vremena.

Prvi novac sam zaradio “na pamet” onda kad sam sebi rekao na početku jednog projekta “Jeste, ovo je R&D i to može uvek biti neuspešno ali je verovatnoća da ćeš to znati da realizuješ ogromna; a da li znaš i da li si sposoban da ga naplatis?”.

Ovo govorim iz razloga sto sa godinama “zadovoljstvo izbledi” a ostaju materijalni reprezenti.

Tačno je da objavljivanje R&D rezultata donosi puno (npr. besplatan debug) no nažalost samo velikima, nor. poput Nelson Passa. Jasno Vam je da ni on ništa nije objavio pre nego sto je konsultovao svoje pravno odeljenje i u eventualnim sporovima jedna strana je kompanija Pass sa stotinama miliona spram druge strane-pojedinci iza kojih ne stoji nikakav resurs.

Rezultat takvih sporova bi bio jednoznacan.

U vašoj situaciji Vi biste bili taj ko bi bio u problemu jer bi ovo moglo bas biti interesantno mnogo vrednim kompanijama.

Ne govorim da treba da budete fobični već samo da povedete možda malo više računa da taj ogroman napor neko ipak ne zloupotrebi.[mention=665]

Woland[/mention] , kao i uvek pogodi pravo u metu.

Verujte jako mi je poznat taj osecaj zadovoljstva kada uradite nešto dobro i to stvarno jeste izuzetna satisfakcija i svi Vam samo možemo zavideti u ovom momentu.

 

 

Srećko

 

 

 

Share this post


Link to post
Share on other sites
29 minutes ago, Srecko said:

ali takođe mislim da o finansijskoj materijalizaciji razmišljate bar za rang veličine manje vremena.

То је сасвим тачно.

Назовимо објаве ових пројеката мој (дапаче, веома скроман) начин да вратим назад друштву које ме подигло у ово што јесам. Научио сам пуно на овоме форуму, мени логично да вратим када могу.

29 minutes ago, Srecko said:

Ne govorim da treba da budete fobični već samo da povedete možda malo više računa da taj ogroman napor neko ipak ne zloupotrebi.

Хвала на поддршци - то ми веома значи.

Али, ако икада и решим да радим нешто комерцијално, лепо би било имати историју прошлог релевантног рада - а не само ознаку формалног образовања које је можда и ирелевантно (једна од струка ми је и општа медицина - за чудо).

Ако се опет навратим на тему о оној ручици на другоме форуму, хтео бих да избегнем баш ситуацију о које сам постављао питања - да имам одговоре, у најмањој руци:

  1. Зашто сам донео одлуке о конструкцији које јесам (теорија, пракса, испитивања);
  2. Како сам донео исте те одлуке (рачунице, експерименти, докази);
  3. Зашто су #1 и #2 релевантни за конструкцију.

Не замерите за оваква писања - можда сам понекад и превише формалан и пратим строгу (за мене) писану структуру, али и то је последица болних академских истраживања. :)

Share this post


Link to post
Share on other sites

Stav koji sam izneo naravno ne dovodi u pitanje komunikaciju sa članovima foruma. Odgovorno tvrdim da niko iz Srbije Vam ne može “ugroziti” rad koji ste uložili, jer to bi značilo da to isto može uraditi i sam.
Opasnost su kao i uvek “VELIKI”.
Upoznao sam 1976. (kada smo stvarno svi mi bili veoma respektibilna država) Japanca, čiji je posao u BG bio da samo “pregleda” zahteve za patentne prijave u Zavodu za patente, možete misliti.
Red bi bio da i na ovim našim prostorima (u svetu to ipak funkcioniše) ljudi koji vrede, osim “tapsanja” dobiju i pravicnu materijalnu satisfakciju za: trud, pregnuce, sposobnost, obrazovanje, pamet, širinu, ljudskost .....
Naravno niste vi gospodine @InSides . jedini.
Možda najbolji primer za ovo o čemu govorim je upravo gospodin A. Prodanovic, alfa i omega svega u našem diy (neka mi oni koji smatraju da sam “pristrasan”, verujem da ih je jako malo ili da ih i nema, ne zamere na ovoj oceni).


Srećko

Share this post


Link to post
Share on other sites

nemojmo preterivati ...... bar glede tog Prodanovica ...... :rofl:

Insidesu svakadalapostoputa

 

ene sam jednom citao neciju izjavu ,da parafraziram - da su konstruktori iz vremena pocetaka gramofona kakvog danas poznajemo , shvatali koliko je fizicki zapis na ploci bedna aproksimacija polazne akusticke pojave - u zivotu im ne bi palo na pamet ni da pocinju .......... srecom pa je rezultat ocitavanja fizicke velicine i pretvaranje u elektricnu isto toliko bedna aproximacija - ali suprotnog predznaka ....... pa nesto i ispadne od tog zvuka na kraju

 

:smesna:

 

zato nema vece moje ljubavi od ljubavi ka gramofonima i zvucnjacima ........ sve ti je to random , moj Ajnstajne :)

Insert other media

Share this post


Link to post
Share on other sites

Interesantan je osvrt, i mislim da je za posebnu temu.

U toj zoni, patenata, inovacija i slicnih autorizacija, je veliko siledzijstvo na sceni, dok je bavljenje gramofonima jedno veliko zadovoljstvo i zabava, pride za uzvrat, nagrada je fina muzika, i zadovoljstvo uradcima.

 

 

P.S.

Sada nase buduce projekte kontrolisu "jos bolji"...Kinezi...na sta smo, na drzavnom nivou dobrovoljno pristali, jer je sir za pare... :) 

Share this post


Link to post
Share on other sites

Унапређење #1

Имплементација Timer2_Counter библиотеке за повећање прецизности система.

Позадина

Код који сам објавио се базира на коришћењу micros() функције (референца овде), која враћа укупни број микросекунда протеклих након иницијализације Ардуина. Код 16MHz Ардуина (као Нано које сам користио за развој) ова функција има резолуцију од 4 микросекунди.

То је ограничење стандардних Ардуино поставки. Постоји начин да се та резолуција повећа, али то изискује реиницијализацију интерних Atmega тајмера, које повлачи губитак других функција.

Један приступ је имплементација екстерне библиотеке Timer2_Counter која повећава резолуцију на 0.5 микросекудни. Губитак функционалности је, рецимо, занемарљив, али је библиотека лиценцирана под услове GPL-а, што повлачи нову шему лиценцирања целог пројекта.

Рачунице

Креирао сам малу debug рутину која на свако окидање, штампа следеће:

  1. Број протеклих микросекунди при задњем окидању тог окидача, по стандардној функцији;
  2. Број протеклих микросекунду при претпосљедњем окидању тог окидача, по стандардној функцији;
  3. Прерачунати RPM, по стандардној фукцији;
  4. RPM након израмњивања, по стандардној фукцији;
  5. Број протеклих микросекунди при задњем окидању тог окидача, по функцији више резолуције;
  6. Број протеклих микросекунду при претпосљедњем окидању тог окидача, по функцији више резолуције;
  7. Прерачунати RPM, по функцији више резолуције;
  8. RPM након израмњивања, по функцији више резолуције; и,
  9. Процентуална разлика између вредности функција.

Након стотинак циклуса, резултат изгледа овако (поставио сам само пет линија да не би порука била предугачка):

Ticks N1	Ticks O1	Calculated1	RPM1	Ticks N2	Ticks O2	Calculated2	RPM2	Difference

3675316		1875240		33.33192599	33.33	3675318		1875238		33.33185192	33.33	0.000222%
4126036		2325948		33.33170378	33.33	4126038		2325946		33.33162972	33.33	0.000222%
4576116		2776136		33.33370371	33.33	4576118		2776134		33.33362963	33.33	0.000222%
5024092		3223924		33.33022251	33.33	5024094		3223922		33.33014845	33.33	0.000222%
5475392		3675316		33.33192599	33.33	5475394		3675314		33.33185192	33.33	0.000222%

Разлика је 0.000222%, константно. Ово, по мени, показује:

  1. Да је drift минималан, или малтене непостојећи (разлика је константно иста); и,
  2. Да је разлика у прецизности тако мала да се манифестује тек у четвртој децимали, и то за вредност 1 (0.0001).

Закључак

Не вреди имплементирати, за овај склоп, библиотеку која повећава резолуцију micros() функције.

Бонус

Када сам референцирао micros() функцију на почетку поруке, потсетио сам се да се излазна вредност ресетира на 0 након ~71 минута (функција враћа unsigned long вредност).

Преглед раније верзије кода је показао да се овај overflow у коду не третира нарочито добро и може да узрокује прекид фунционалности тахометра.

Корегирано у задњој верзији (1640d1f), свакако:

https://github.com/stojnev/dwr-controller

Share this post


Link to post
Share on other sites

Унапређење #2

Рутине за приказ разних просека.

Позадина

Раније сам писао око прецизности мерења, тачније како сам имплементирао покушај за увећавање те прецизности уз помоћ више од једног окидача. Такође, утврдио сам да лимит прецизности није у интерним функцијама Ардуина, већ око процеса на превод аналогног сигнала у дигитални (тачније брзина окидања сензора која може да зависи и од сензора, и од окидача).

Комбинација ових узрока скоро увек даје резултате кои флуктуирају, чак и са веома (*) стабилним погоном.

(*) Не бих рекао најстабилнији погон, зато што нисам имао могућности тестирати са погоном који је стабилнији од мог, а сигуран сам да постоји.

Како изгледа примерак од, рецимо, 8 окидања сензора:

RPM (true)

33.3339
33.3325
33.3291
33.3313
33.3316
33.3336
33.3344
33.3341

Флуктуација почиње у трећој децимали, у 7 од 8 приказаних случаја. То би требало да буде довољно, али да видимо дали може боље за приказ.

Код

Сва логика око калкулација просека се налази у процедури:

showRPM();

А регулира се уз помоћ пар променљива:

boolean averageCalc = true;
const int averageTotal = 16;

Прва променљива утврђује да ли се калкулација просека уопште врши. Друга променљива утврђује колико од задњих вредности улази у просек.

Процедура је релативно једноставна:

  1. При сваком окидању, тренутна вредност се додаје пољу averageValues;
  2. Показивач averageCount се повећа за вредност 1;
  3. Након првих averageTotal циклуса, averageCount се ресетује, а просек се почиње калкулирати - увек од задњих averageTotal вредности;
  4. У случају промене брзине (33.3 према 45 и обратно) све просечне вредности се ресетирају, и почињу се калкулирати тек након 2 * averageTotal циклуса. (**)

(**) Разлог иза овог приступа је намера да се избегне приказ "застарелих" вредности просека и тиме добити утисак погрешне брзине. Свакако, просеци се изједначују након пар циклуса, али овако је приказ линеарнији.

Резултати

Кад се ова функција примени на вредности које сам раније поставио, добија се ово:

PRM (true)	RPM (average)

33.3339		33.3346
33.3325		33.3348
33.3291		33.3346
33.3313		33.3346
33.3316		33.3346
33.3336		33.3347
33.3344		33.3347
33.3341		33.3346

Наизглед није пуно, али је излаз пуно линеарнији, и чини ми се, пријатнији за око и умањење аудиофилске нервозе.

Закључак

За моје потребе, веома корисно. Чини ми се да би било користи од више штимања, али основна функционалност је ту.

Код је, као и увек (c2efaba4), овде:

https://github.com/stojnev/dwr-controller

Share this post


Link to post
Share on other sites

Probaj da na senzor stavis magnetni sild sa procepom, za pocetak moze i parce bakra, ako se nema mu metal, bar 1mm, da jos vise suzis efekat polja. Trebalo bi da se pomeri na cetvrtu decimalu.

Dalje povecanje preciznosti meraca brzine prelazi u problematiku impulsa momenta motora, koliko on pravi gresku pri cimanju.  

Share this post


Link to post
Share on other sites
5 minutes ago, vladd said:

Probaj da na senzor stavis magnetni sild sa procepom, za pocetak moze i parce bakra, ako se nema mu metal, bar 1mm, da jos vise suzis efekat polja. Trebalo bi da se pomeri na cetvrtu decimalu.

Dalje povecanje preciznosti meraca brzine prelazi u problematiku impulsa momenta motora, koliko on pravi gresku pri cimanju.  

Хоћу, хвала. Му Метал можда је мало проблем, бар за одмах, али бакар је лакше наћи локално.

Хтео бих да догурам код до највеће могуће (али ипак практичне) границе, зато што бих га онда користио за унапређивање свог погона. Али проблем је ипак калибрација - чак и скупљи без контактни тахометри имају резолуцију од тек 0.01 у распону 1-100 ротација у минути.

Размишљао сам о корићењу комплета ласер/сензор од оптичких (ласерских) компјутерских мишева, као овај овде:

ADNS-9800 Laser Motion Sensor

Ово би требало дати већу прецизност, али компликује код и искључује друге важније функције, тако да за сада остајем на комбинацији hall effect / магнет.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×