Archive for the ‘Fysik’ Category

Reparation av ett elpiano

19/09/2021

Jag råkade av en slump se att ett elpiano av typen Behringer Eurogrand EG2180 fanns till salu. Annonsen konstaterade att ett par tangenter inte riktigt gick tillbaka efter nedslag. Det begärda priset var 55 Euro d.v.s. ca. 500 SEK. Jag träffade säljaren som visade sig vara en trevlig utländsk studerande som studerar teknik på den avdelning på Aalto universitetet där jag själv i tiderna har undervisat. Säljaren var tydligen rätt förvånad över att jag var ganska ointresserad av att provspela instrumentet efter att jag såg att elektroniken tydligen fungerade. Jag var ju medveten om att jag sannolikt skulle vara tvungen att plocka isär instrumentet helt. Jag visste mycket väl att det fanns många fel.

Det blev affär och jag prutade upp priset till 60 Euro för att en student nog behöver pengarna…

Fig. 1 Utgångmgsläget då instrumentet var inburet men stativet kvar på kärran. De blå tejpbitarna visar tangenter som inte går tillbaka efter nedslag eller tangenter där känslan tydligt var fel men där tangenter trots viss tvekan själv gick tillbaka.

Det första skedet var att kartlägga så många fel som möjligt. Kartläggningen gick ut på att trycka på en knapp i taget och observera hur tangenten uppför sig. Det visade sig naturligtvis att det fanns betydligt fler tvivelaktiga tangenter än vad som angivits i annonsen … inget problem och egentligen helt väntat. Fig. 1 visar den första kartläggningen av fel. Notera att ett par tangenter som inte går tillbaka blev femton i detta skede. I ett senare skede kom det till ett antal fel då inte alla tangentsensorer fungerade korrekt.

Fig. 2 Skyddslocket över tangenterna, samt övre delen av instrumentet är demonterade. Kontrollpanelen som normalt ligger vid bakändan av tangenterna ligger upp och ned över högtalarna (det långa blå kretskortet). Ungefär på mitten, strax nedanför flatkablarna ser man ett litet nästan kvadratiskt elektronikkort som utgör instrumentets hjärna. Jag gissar att kortet i stort sett i fråga om datorkraft motsvarar en Raspeberry Pi dator som kostar 30-40 Euro. Ovanför flatkablarna ser man nätaggregatet.

För att kunna fixa tangentbordet måste det tas loss. Under framkanten av tangentbordet ungefär där limlapparna sitter finns en rad kanske 50 mm långa maskinskruvar skruvade underifrån in i tangentbordet. Genom att ställa instrumentet att stå på bakkanten var det inga problem att lossa skruvarna.

Längs den inre kanten av tangentbordet finns en rad skruvar som håller fast tangenbordet från insidan. En del av dessa skruvar saknades eftersom någon eller flera tidigare ägare har varit inne i instrumentet. Innan man lyfter ut tangentbordet är det skäl att lossa de två smala flatkablarna till processorkortet. Jag märkte kablarna V och H för att veta i vilken ordning kablarna skall moteras. Om man byter plats på kablarna så får man ett intressant instrument där diskanten klingar till vänster för att mitt på instrumentet byta till bas … ingenting går dock sönder om man kopplar fel. Av detta kan man naturligtvis dra slutsatsen att jag åtminstone en gång kopplade fel trots att kablarna var märkta, ”errare humanum est” d.v.s. det är mänskligt att fela. Uttrycket fortsätter ”perseverare autem diabolicum” som man antagligen kan översätta med att om man fortsätter att fela så hör det fan till …

Fig. 3 Det tunga(!) tangentbordet kan då skruvarna har lossats försiktigt lyftas ur och ligger nu på bordet. På undersidan av tangentbordet finns falska klubbor vars uppgift är att ge rätt känsla vid anslag som också slår mot tangentens hastighetssensor. Klubborna är monterade i modulen som i bilden ligger ovanpå tangentbordet. Tangenterna kan enkelt demonteras genom att lossa ett metallstöd och en svart ”kilribba” som fixerar tangenternas bakändor. I bilden har alla tangenter i den losstagna oktavmodulen demonterats. Tangenterna sjuts försiktigt bakåt varefter de kan lyftas bort.
Fig. 4 Tangenterna är fixerade på plats med en metallprofil samt en kilribba i plast. Då kilribban tas loss kan en tangent skjutas bakåt och sedan lyftas bort. Det visade sig att det speciellt vid återmonteringen ofta var lättare att montera vissa svarta tangenter före vita tangenter eftersom de vita tangenterna annars låg i vägen vid montering.

För att klubborna skall kunna demonteras måste de två långa gula kretskorten med tangentsensorer tas bort. Totalt blir det då att lossa 66 skruvar …

Fig. 5 Klubbornas moduler (en oktav) är skruvade till de två kretskorten. Det är inte möjligt att lossa en modul utan att lossa kretskorten. I bilden har det ena kretskortet redan demonterats. Längden på ett kretskort är halva längden av tangentbordet, det är alltså skäl att hantera kretskorten med försiktighet så att de inte skadas.

De två kretskorten utgör två enkla scannade brytarmatriser. Antalet kontakter är dubbla antalet mot antalet tangenter eftersom en tangenttryckning alltid aktiverar två kontakter. Kontakterna är monterade på olika avstånd från kretskortet och processorn uppskattar nedslagets hastighet genom att mäta tiden mellan de två kontaktaktiveringarna. I fig. 5 ser man uppstickande gummiben (grå samt genomskinlig) från kontakterna som utgörs av kontaktytor av grafit i gummibubblor som trycks mot spår i kretskortet. Mer om sensorerna senare i texten.

Fig. 6 Klubborna löper mycket dåligt. Notera hur fyra klubbor inte faller tillbaka av egen vikt. Det är också självklart att det inte hjälper att smörja in tangenterna eftersom friktionen finns i klubborna inte i tangenterna. Jag tror inte att det fanns en enda oktavmodul som inte hade kärvande klubbor. Resultatet var att jag servade alla klubbor.

Det är rätt enkelt astt fixa de kärvande klubborna. Man tar en lämplig metalldorn med diametern mindre än 8 mm och slår försiktigt ut axeln som går genom alla hamrarna. Det lönar sig att knacka loss axeln med modulen liggande på ett bord så att man inte blir med en grupp hamrar i famnen. Den urknackade axeln används nu som testverktyg då man med fil, borr eller brotch försiktigt vidgar axelhålet i de olika hamrarna. Jag ökade försiktigt på håldiametern tills klubban löpte lätt utan att kärva men fortfarande utan glapp. Det kan också vara skäl att försiktigt fila klubbans plastdel från sidorna eftersom problemet tydligen är att den gjutna plastdelen sväller med tiden då spänningar från tillverkningen släpper.

Fig. 7 En demonterad klubba. Problemet med kärvande klubba verkar vara att plasten med tiden sväller som en jäsande deg vilket ökar friktionen i hålet i den vita plastdelen överst. Då man jobbar med klubban kan det vara skäl att demontera den lilla triangelformade svarta plastdelen i närheten av axeln. Man kan mycket lätt tappa denna del och jag vet inte var man skulle hitta reservdelar. Lägg den åt sidan då du jobbar med tangenten. Jag tappade en av dessa svarta delar på golvet i den inte välstädade snickarboan men jag hittade den!

Jag behövde ungefär en och en halv timme för att fixa den första oktaven. De följande oktaverna krävde sedan ca. 20 minuter per oktavmodul. Övning ger färdighet.

Efter att de kärvande klubborna var fixade … jag kontrollera alla klubbor inte endast de som ursprungligen märkts med tejp, plockade jag ihop tangentbordet och kopplade det temporärt till instrumentet. Tangenterna fungerade nu perfekt. Det fanns inga kärvande tangenter och touchen var bra. Jag hittade dock ett antal tangenter som uppförde sig konstigt vid en tangenttryckning.Det fanns tre kategorier av fel:

  • Tangenten gav ett mycket kraftigt ljud helt oberoende av hur kraftigt jag tryckte på tangenten.
  • Tangenten gav ett svagt ljud då man tryckte på den och ett kraftigt ljud då man släppte upp den.
  • Tangenten gav ett svagt ljud oberoende av anslagets styrka.

Orsaken till ovanstående fel är följande:

Då tangenten ger ett kraftigt ljud oberoende av hur svagt man trycker på tangenten så betyder detta att den kontakt som ligger längre ifrån kretskortet gör kontakt medan den närliggande kontakten inte gör det. Processorn tolkar då anslagshastigheten som mycket hög med hög ljudvolym som resultat. Lösningen är att kontrollera att det inte finns fett, olja eller damm på kontaktytorna.

Då tangenten endast ger ett svagt ljud oberoende av anslagets styrka så betyder detta att kontakten närmare kretskortet ger kontakt korrekt men den andra kontakten längre ifrån kretskortet sluter inte vilket processorn tolkar som ett extremt långsamt anslag och resultatet blir en mycket svag ton.

Dubbeltonen svag/stark beror sannolikt på kontaminering med t.ex. olja som någon tidigare reparatör hade använt rikligt av. Då tangenten trycks ner så sluter endast den närliggande kontakten till kretskortet med resultatet att vi får en svag första ton. Då jag släpper upp tangenten så har oljan hunnit pressas undan och kontakten längre ifrån kretskortet sluter vilket tolkas som en separat kraftig knapptryckning.

Fig. 8 En tidigare reparatör hade tydligen inte förstått hur avkänningen av knapptryckningar fungerar utan man hade försökt korrigera något fel genom att lägga till ”dämpning?) i form av skumplastbitar. Sensormodulen till vänster är korrekt medan den gula skumplasten till höger inte hör dit.

I fig. 7 har sensorkretskorten monterats loss och vi kan se undersidan och de runda kontakttornen som klubban slår mot. Varje runt torn består av två kontakter. Mitt i ett torn finns en liten rund kontakt kanske en mm från kretskortet. Runt basen på ett torn finns en kontakt som går runt tornet och som ligger mycket nära kretskortet. Då man trycker på sensorn så kommer tydligen ringelektroden först att göra kontakt och sedan centralelektroden. Som jag nämnde ovan så verkar standardkonstruktionen i andra elpianon vara en dubbelrad sensorer med en kontakt per torn.

Man kan utan problem dra loss sensormodulerna för putsning men det blir en del pillrande för att få dem tillbaka på plats. Det är igen skäl att notera att jag inte vill skada någon gummimodul eftersom det kan vara extremt svårt att hitta reservdelar.

Fig. 9 En del av de bortplockade skumplastbitarna som inte skall finnas i sensorerna. Det fanns betydligt mer …

Den jobbigaste delen av reparationen var att hitta problemtangenter. Tangentbordet måste vara hopbyggt för att man skall kunna testa det. För att putsa en kontakt måste jag skruva loss det gula kretskortet i tangentbordet d.v.s. 33 skruvar. Det är skäl att alltid provspela hela tangentbordet och märka konstiga tangenter med tejp och en beskrivning av symptomen. Jag gissar att jag blev tvungen att öppna tangentbordet för justering fyra gånger innan jag fick alla fel fixade.

Fig. 10 Det hade använts rikligt med tunnflytande olja vid tidigare reparationsförsök tydligen för att fixa de kärvande klubborna. Resultatet var att det under en del av sensorerna fanns olja. Notera hur kretskortets svarta kontaktytor är våta av olja och olja finns naturligtvis också på gummidelens grafitytor.

Jag tog loss sensordelen av gummi på två ställen för att fixa kontaktproblem (se beskrivning av symptomen ovan). I fig. 10 ser man hur mittkontakten ser torr ut medan ringkontakten är nerkladdad av olja. Resultatet torde ha varit att ifrågavarande tangenter endast gav ett mycket kraftigt ljud eftersom processorn tror att anslaget sker med nästan oändlig hastighet.

Det visade sig att Biltemas elektronikrengöring på sprayburk fungerade bra. Jag använde vaddstickor fuktade med rengöringsmedel för att putsa kretskortet. Jag tog helt loss sensordelen av gummi och sprutade rikligt av rengöringsämne vid kontaktytorna. I ett skede såg det lite skrämmande ut då rengöringsmedlet tydligen reagerade med gummit vilket fick som resultat att gummidelen rullade ihop sig som en mask. Då jag monterade tillbaka sensordelarna och satte ihop tangentbordet så visade det sig ingen tangent i den genomskinliga sensormodulen i bilden ovan fungerade … uups! Då jag provspelade några timmar senare så hade tvättmedlet avdunstat helt och tangenterna fungerade korrekt.

Fig. 11 Sensormodulen från insidan. Vi ser ringelektroden som i viloläget är väldigt nära kretskortet och tydligen sluter kontakt genast vid en knapptryckning och således sätter igång en hastighetsmätning. I centrum finns en annan elektrod som är moterad kanske en mm högre och som ger inform om när hastighetsmätningen är slut. Notera hur den tvättade sensormodulen försöker rulla ihop sig. Spänningar i gummiblandningen gör ringelektroden elliptisk i stället för cirkelrund. Lyckligtvis så återfick sensorn sin ursprungliga form då allt lösningsmedel hade avdunstat.
Fig. 12 En annan sensor som har tagit stryk av olja. Notera hur tre av fyra ringelektroder helt eller delvis är oljiga.
Fig. 13 Motsvarande sensormodul innan tvättning. Vi ser att tre av fyra sensorer är nedsölade av olja.

Vad blev resultatet

Efter två dagars arbete är instrumentet hopmonterat och allt fungerar perfekt såvitt jag vet. Resultatet blev ett mycket trevligt elektriskt piano med, som jag uppfattar det, ett härligt ljud och mycket realistisk touch i tangenterna till ett pris på ca. 70 Euro då jag blev tvungen att satsa en tia på elektronikrengöringsmedel.

Projektet var väldigt lärorikt. Jag hade ingen aning om att ett elektriskt piano har hammare i likhet med ett riktigt piano. Felsökningen av starka/svaga och dubbla toner gjorde att jag nu förstår hur instrumentet känner av anslagshastigheten och jag kan genom att lyssna på en spelad ton höra om allt är ok eller om det finns ett sensorfel. Jag uppfattar att användningen av två kontakter för varje tangent är genialisk genom sin enkelhet. Ett sensorfel går att känna igen direkt på ljudet d.v.s. jag vet på förhand vilken typ av fel jag kan förvänta mig d.v.s. jag vet vilkendera sensorn som är orsak till problemet.

Notera att de flesta elektriska pianon har sensorerna placerare som två separata mittelektroder ovanför varandra inte som i Behringerinstrumentet kombinerade. Fördelen med den vanligare konstruktionen är att det är möjligt att hitta reservdelar till andra instrument medan det tydligen inte finns mycket reservdelar tillgängliga för Behringer.

Ett jättetrevligt projekt som inte blev sämre av att jag på slutändan fick ett fullt fungerande instrument som jag annars sannolikt hade varit tvungen att betala 500-700 Euro för. Projektet visar också väldigt konkret att en fullständig genomgång av ett modernt elpiano inte är billigt. Då jag Googlade så hittade jag en prisuppskattning gällande service som gick på $500 vilket nog inte är något rövarpris för ett jobb som jag uppskattar att jag, om jag skulle göra om det, skulle kunna göra på en dag. Det stora jobbet var de kärvande tangenterna/hamrarna. Putsning av sensorerna krävde på slutet ungefär en halv timme mellan varven men innan allt fungerade så blev det några varv.

Gott nytt år du sköna nya värld

01/01/2021

Intressant lågmäld diskussion kring censureringen av SWEBBTV. En intressant detalj är kommentaren att samtidigt som SWERBBTV stängdes ner så försvann dokument relaterade till SWEBBTV från molntjänsten. Betyder detta att det har varit människor involverade som har valt ut de dokument som leverantören ansett att borde försvinna.

Min personliga uppfattning är att inget företag och ingen organisation borde basera sin IT på molntjänster levererade av Google. Det verkar självklart att Google har fri tillgång till allt material d.v.s. alla dokument som lagras i molnet, tillgång till all e-post och sannolikt så att detta gäller också e-post som användaren raderar.

Länknamnet används i framtiden

Den allt hårdare censuren (Google (=Youtube) och facebook) där icke önskvärt material plötsligt försvinner kräver idag att länkat material är tillräckligt beskrivet i textform så att användaren senare kan använda alternativa sökmotorer för att hitta borttaget material. Notera att material ofta publiceras också på alternativa mediaplattformar d.v.s. materialet kan fortfarande hittas även om Youtube raderar det.

Nedanstående länk kan sökas med hjälp av alternativa sökmotorer:

”Censuren av SWEBBTV | Mikael Willgert gästar Jonas …”.

Jag uppfattar Mikael Willgert som en lågmält fysiker som tänker igenom det han säger minst två gånger innan orden kommer över hans läppar. Argumentet Youtube använder för att blockera SWEBBTV är att det skulle förekomma ”hatretorik” något jag har mycket svårt att se i något av SWEBBTV:s program. Däremot är det självklart att att det säkert svider många gånger i skinnet på makteliten (med socialdemokraterna i centrum) som som största sannolikhet är beställaren som ligger bakom censuren av alternativmedia i Sverige. Ingen tror väl att en rabatt på elskatten, som sjunker från 29 öre/kWh till 0,5 öre/kWh (kan variera något mellan de stora spelarna Google, Facebook och Amazon), kommer utan krav på motprestationer?

Miniprojekt: Metronom i klockan

02/09/2020

Jag har köpt en del småsaker, främst elektronik, från Banggood som är ett kinesiskt företag. Hittills har beställningarna kommit ungefär enligt beräknad tid men COVID-19 ställer till med problem. Tidigare beställningar

 
  • Visningar
  • Besökare

leder till att Banggood via facebook synbarligen aktiverar reklam aktuell för mig.

Jag råkade stöta på reklam för en ny aktivitetsklocka Lilygo T-Watch-2020. Klockan är baserad på en ESP32 mikroprocessor med två kärnor. Klockan innehåller WiFi funktionalitet med bl.a. en webbserver och också Bluetooth funktionalitet. Det speciella med den här klockan är att den från början är avsedd att hackas d.v.s. källkoden finns på github och den programmeras direkt över USB-anslutningen.

Då man får en ny programmeringsleksak så uppstår naturligtvis genast problemet med vad man skall göra med apparaten.  Färdiga funktioner är bl. a.

  • Väderapp
  • Stoppklocka
  • Kryptovaluta
  • Navigering via kart-API

Då jag sysslar med folkmusik som hobby så slog det mig att det kunde vara praktiskt att ha en enkel metronom i klockan som innan jag börjar spela ett stycke slår t.ex. tio slag med hjälp av klockans vibrationsmotor. Tanken är alltså inte att jag skulle spela hela stycken med klockan som metronom utan klockan skulle endast upplysa mig om ungefär vilket tempot är, att mentalt tänka sig ett tempo kan ibland leda fel rejält eftersom hjärnan inte i alla sammanhang går i realtid …

Operativsystem

Klockan kör ett kompakt realtidsoperativsystem FreeRTOS som stöder multitasking d.v.s. jag kan köra flera applikationer parallellt. Det är också i princip möjligt att ladda in nya program medan klockan är i gång eller stänga av obehövliga program. Den senare funktionaliteten används inte utan gör jag förändringar så kompilerar jag om rubbet och laddar upp allt som ett paket till klockan.

Man hittar FreeRTOS dokumentation på nätet.

Metronom

Jag plockade hem en klockversion från Github. Då jag ögnade igenom applikationerna som fanns färdigt så såg jag att det fanns en exempel app som inte gjorde någonting men som visade vilken struktur en app har.

Jag beslöt att försöka göra en extremt enkel applikation där användaren använder sig av en slider d.v.s. en funktion där man drar en indikator i sidled för att ställa in tempot. Jag tänkte mig att tempot kan ställas mellan 50 och 200 slag per minut. Det finns inga tekniska problem med att använda lägre tempon men jag uppfattar 50 slg/minut som väldigt långsamt. Då klockan startar är det förinställda värdet 100 slag/minut och klockan kommer ihåg det senast valda värdet mellan olika körningar av appen.

I princip borde applikationen ha varit väldigt enkel att realisera men det visade sig att indikatorhuvudet som samtidigt användes för att visa valt tempo var alltför litet d.v.s. det var svårt att se det valda tempot. Jag försökte kringgå problemet genom att lägga till ett separat textfält som skulle innehålla det valda värdet. Det nya textfältet förorsakade en omedelbar crasch.

Efter att jag två dagar hade slagit huvudet i väggen beslöt jag att byta ut slidern mot en spinbox där man i mitten har ett textfält och på vardera sidan tryckknappar som sänker/höjer det valda värdet. Det var tydligen något problem med slidern för nu fungerade val av tempo som det skulle.

Jag modifierade setupdelen i exempelapplikationen så att man väljer tempot med spinboxen och då man går ur tempofunktionen så gör klockan tio slag i det valda tempot varefter det sker retur till appens huvudnivå.

Call back funktioner

static void exit_example_app_setup_event_cb( lv_obj_t * obj, lv_event_t event );
static void example_app_metr_spinbox_event_cb(lv_obj_t * obj, lv_event_t event );
static void lv_spinbox_increment_event_cb(lv_obj_t * obj, lv_event_t event );
static void lv_spinbox_decrement_event_cb(lv_obj_t * obj, lv_event_t event );

Då användaren trycker på olika funktioner måste användargränssnittet kunna ”skicka signaler” till användarens kod så att den kan köras. För detta ändamål behöver vi såkallade callback funktioner. Om jag t.ex. trycker på knappen ”-” så stegas det valda tempot ner med ett steg (systemet anropar lv_spinbox_decrement_event_cb). Trycker jag på ”+” så stegas värdet upp med ett steg( lv_spinbox_increment_event_cb anropas).

Då jag trycker på återgång till appens huvudnivå så anropas exit_example_app_setup_event_cb. Denna funktion anropar funktionen execute_taps() som vibrerar telefonen tio gånger i önskat tempo.

// Let the metronome do ten taps
static void execute_taps(int taps, int tempo){
  int i;
  int taplen=0;
  int fixed = 100;
  float ms=60000;
  taplen = ms/tempo; 
  // Buzzer pin output BUZZER=4
  for(i=0; i< taps; i++){ 
    pinMode(BUZZER,OUTPUT);
    digitalWrite(BUZZER,ON);
    delay(fixed);
    digitalWrite(BUZZER,OFF);
    delay(taplen-fixed);
  }
}

Spinnboxen

Då klockan programmeras så har man tillgång till ett enkelt grafiskt användargränssnitt lvgl vilket i ytterst hög grad förenklar programmeringen. Problemet är dock att det finns rätt många olika grafiska gränssnitt och det kräver alltid en del läsande att börja använda ett nytt gränssnitt … så även denna gång.

Koden för att sätta upp en spinbox är:

// Create a spinbox center box with value
lv_obj_t *example_app_metr_spinbox_cont = lv_obj_create(example_app_setup_tile,NULL);
lv_obj_set_pos(example_app_metr_spinbox_cont,90,100);
example_app_metr_spinbox = lv_spinbox_create(example_app_metr_spinbox_cont, NULL ); 
lv_spinbox_set_range(example_app_metr_spinbox,50,200);
lv_spinbox_set_digit_format(example_app_metr_spinbox,3,0);
lv_spinbox_set_value(example_app_metr_spinbox,100);
lv_obj_set_event_cb(example_app_metr_spinbox,example_app_metr_spinbox_event_cb);
// Create increment button
lv_coord_t h = lv_obj_get_height(example_app_metr_spinbox);
lv_obj_t * btn = lv_btn_create(example_app_setup_tile, NULL);
lv_obj_set_size(btn, h, h);
lv_theme_apply(btn, LV_THEME_SPINBOX_BTN);
lv_obj_set_style_local_value_str(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_PLUS);
lv_obj_align(btn, example_app_metr_spinbox, LV_ALIGN_OUT_RIGHT_MID, -20, 0);
lv_theme_apply(btn, LV_THEME_SPINBOX_BTN);
lv_obj_set_style_local_value_str(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_PLUS);
lv_obj_set_event_cb(btn, lv_spinbox_increment_event_cb);
// Create decrement button
btn = lv_btn_create(example_app_setup_tile, btn);
lv_obj_align(btn, example_app_metr_spinbox, LV_ALIGN_OUT_LEFT_MID, -30, 0);
lv_obj_set_event_cb(btn, lv_spinbox_decrement_event_cb);
lv_obj_set_style_local_value_str(btn, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_SYMBOL_MINUS);

Klockans skärm har upplösningen 240×240 pixlar. Först skapas ett kontext för spinboxen i filen example_app_setup.cpp utgående från specifikationer i appens huvudfönster. Därefter placeras spinnboxen på önskat ställe och programmet ställer in hurudant värdeområde (50-200 slag/minut) som är tillåtna. Programmet ställer också in vilket standardvärde (100 slag/minut) jag vill ha. Därefter skapar jag två tangenter/knappar som stegar spinboxens varde uppåt respektive nedåt.

Grafiska änvändargränssnitt fungerar så att skapade vidgetar själv detekterar om det händer något. I ovanstående fall så kommer tangenterna upp/ner att skicka en ”signal” som säger att en knapptryckning har detekterats. För att programmet skall kunna reagera på knapptryckningen så måste vi definiera såkallade callback funktioner d.v.s. funktioner som användargränssnittet anropar då aktivitet detekteras. I vårt fall är funktionen enkel:

static void lv_spinbox_increment_event_cb(lv_obj_t * obj, lv_event_t event ){
  if(event == LV_EVENT_SHORT_CLICKED || event == LV_EVENT_LONG_PRESSED_REPEAT) {
    lv_spinbox_increment(example_app_metr_spinbox);
  }
}

static void lv_spinbox_decrement_event_cb(lv_obj_t * obj, lv_event_t event ){
  if(event == LV_EVENT_SHORT_CLICKED || event == LV_EVENT_LONG_PRESSED_REPEAT) {
    lv_spinbox_decrement(example_app_metr_spinbox);
  }
}

När spinnboxens kontrollknappar detekterar aktivitet så anropas ifrågavarande funktioner ovan som i sin tur stegar upp spinboxens värde eller stegar ner det.

Aktivera metronomen

Jag valde att aktivera metronomen då man går ut ur inställningen av tempo tillbaka till appens huvudsida. Alternativet skulle ha varit att definiera en separat knapp för att aktivera metronomen. Jag har valt att begränsa antalet slag till tio helt enkelt för att jag uppfattar att jag då har hunnit uppfatta tempot tillräckligt bra.

static void exit_example_app_setup_event_cb( lv_obj_t * obj, lv_event_t event ) {
  switch( event ) {
    case( LV_EVENT_CLICKED ): 
      delay(2000);
      execute_taps(10,lv_spinbox_get_value(example_app_metr_spinbox));
      mainbar_jump_to_tilenumber( example_app_get_app_main_tile_num(), LV_ANIM_ON );
      break;
  }
}

Koden för execute_taps() finns litad tidigare i texten.

Att använda appen

IMGP7532

Fig. 1  Metronomappen syns till höger om väderappen nedanför tiden 20:57.

IMGP7533

Fig. 2  Applikationen metronom (Metr) huvudsida efter att man har valt applikationen genom att trycka på Metr i föregående bild. Kugghjulet leder till val av tempo. I framtiden lägger jag antagligen till t.ex. fyra knappar med fördefinierade tempon på denna sida.

IMGP7534

Fig. 3  Inställning av tempot med en spinbox. Det valda tempot stannar i minnet. Då man väljer retur (trycker på symbolen överst till vänster) så vibrerar telefonen tio gånger i det angivna tempot.

 

Vattentorn kan flyga!

05/08/2020

Gratulationer till SpaceX! Det är imponerande att se hur bra programvara man tydligen har för styrning av en raket. Det är klart att den första 150-metersflygningen är extremt förenklad jämfört med en riktig flygning till omloppsbana men det här är ett steg som måste tas. Testkörningarna av SpaceX nya Raptor raketmotor tyder på att den är väl testad och att förväntningarna på att den skall kunna köras många gånger på samma sätt som den betydligt mindre motorn i Falcon 9 antagligen uppfylls.

Rubrikens ”Vattentorn kan flyga” är vald eftersom många av de experter som bygger SpaceX Starship har en bakgrund som vattentornsbyggare.

Vid den första flygningen har man testat åtminstone:

  • Bränsletanken och motorfästet
  • Bränsletillförseln till motorn under realistiska förhållanden dock utan kraftig acceleration
  • Styrning av motorn (vinkling) i sidled i olika riktningar. Endast en motor användes eftersom motorns dragkraft är mycket stor.
  • Verifiering av styrprogramvara som antagligen helt är baserad på motsvarande program för styrning av Falcon 9.
  • Verifiering av tankningsprocessen
  • Verifiering av sensorer etc. för landningen
  • Verifiering av landningsbenen som bör kunna kompensera i viss mån för ojämnheter i marken.

Den riktiga Starship som skjuts upp i omloppsbana kommer att få en noskon och två par fenor. För det första hoppet behövdes fenorna inte men nästa hopp som kommer att gå till 20 km höjd kommer att testa hur väl fenorna fungerar i praktiken. Paketet överst på raketen i dagens flygning är massa som simulerar de saknade komponenterna på den slutliga raketen men som är mycket billigare om något skulle ha gått fel. Den riktiga Starship kommer att ha tre stycken Raptor motorer optimerade för användning i atmosfären och tre stycken såkallade vacuummotorer som har ett mycket större raketmunstycke även om motorerna i övrigt i princip torde vara identiska. För att man skall få bästa möjliga verkningsgrad hos en raketmotor så bör motorn konstrueras så att det dynamiska trycket i de utrusande gaserna vid den yttre ändan av av raketmunstycket skall vara lika med det yttre atmosfärtrycket. Om trycket i de heta gaserna är större än atmosfärtrycket så kommer gasplymen att breda ut sig i sidled vilket ger sämre verkningsgrad.

En mycket kort video av det första hoppet visas nedan. Än en gång gratulationer till SpaceX!

SWEBBTV:s bästa program någonsin?

26/04/2020

SWEBBTV:s grundare Mikael Wilgert blir intervjuad av Erik Berglund. Vi har under hela den tid som SWEBBTV har existerat kunnat se Mikael Wilgert som den lågmälda analytiska programledaren som lockar fram intressanta sidor och kommentare från personer som inbjudits till intervju.

Mikael Wilgert brukar inleda sina program ungefär med ”Innan vi börjar tänkte jag be dig att ge en kort presentation av dig själv”. I det här programmet får han samma fråga själv och hans svar är som alltid lågmälda men mycket väl genomtänkta och analytiska.

Har vi idag nått en vägs ände i den politik som förts i Sverige och, även mindre extremt, i övriga nordiska länderna av vilka jag bäst känner Finland eftersom det är där jag själv bor. Coronaepidemin har kraftigt rört om i den politiska gröten och de gamla ämnen som tidigare fyllde de statliga propagandakanalerna har nästan helt försvunnit.

Det är väldigt spännande att se den kappvändning Socialdemokraterna plötsligt har genomfört. Plötsligt finns Sveriges flagga så synlig att man nästan tror att konceptet har lånats av Sverige demokraterna. EU-flaggan har plötsligt förpassats till någon dammig garderob.

Intervjun med Mikael Wilgert berör alla samhällets områden men ett mycket viktigt område är media som helt tydligt i många år har gått i maktens ärenden och ljugit fullständigt hämningslöst eftersom det inte har funnits någon risk att bli ställd till svars. Betyder den plötsliga politiska omställningen och det faktum att SWEBBTV har en stor mängd tittare att media måste börja se om sina egna hus och åtminstone ibland tala sanning eller är dagens situation, för att citera Star Wars endast ”en fluktuation i kraften”.

 

Vägen är intressant … inte nödvändigtvis målet

16/01/2020

Jag älskar att fixa olika saker. I början av hösten köpte jag (billigt) en högklassig drönare alltså en radiostyrd helikopter med fyra rotorer. Drönaren är utrustad med GPS så att den flyger tillbaka till startpunkten om kontakten till den bryts. Den är också försedd med högupplösande kamera (4k HD) som är stabiliserad i tre riktningar och kan styras från marken. Det fanns dock ett litet men …

P1010280

Fig.  Drönaren Dji Phantom 3 Pro har en högupplösande kamera stabiliserad i tre axlar. Storleken framgår ur ”tändsticksasken” d.v.s. Samsung S6 mobiltelefonen av normalstorlek som är kopplad till styrenheten.

Drönaren hade kraschat vilket i sig inte är så ovanligt. Vid kraschen hade kamerans 3d upphängda kamera gått sönder så att en av de rörliga upphängningsarmarna hade gått av och de tunna kablar som styrde kameran och genom vilka kamerasignalen överfördes till drönaren för behandling hade slitits av.

P1010246.JPG

Fig.  Problembarnet kameran vridbar i tre riktningar och automatiskt stabiliserad så att drönarens rörelser t.ex. till följd av vindpustar kompenseras. Armen strax under kamerahuset i riktning NO på bilden hade brutits. Kameran motsvarar kvalitetsmässigt en riktig Go-Pro (mycket bättre än en kinesisk kopia).

Jag träffade försäljaren och kunde verifiera att drönaren flög utan problem men att kameran var helt död. En komplett begagnad kamera kostar $300 – $500 (utan verklig garanti att den fungerar) eller en ny från tillverkaren som är dyrare om en sådan finns att köpa men jag hoppades naturligtvis undvika det utlägget med teknisk analys/funderande och vid behov mikroreparation av elektroniken.

Den tidigare ägaren hade fixat kameraupphängningen och beställt flatkabelknippet men tydligen hade reparatören misslyckats med kopplingen till kamerans styrenhet. Då jag plockade isär kameran kunde man se att flatkabelkopplingarna på kamerans moderkort hade tagit stryk tydligen till följd av att reparatören hade missat att kablarna är låsta med ett snäpp … våld hade använts vilket i sådana här sammanhang alltid brukar vara mindre bra … för mig betydde det att jag kom över en mycket bättre drönare än jag hade kunnat drömma om. Nu gällde det att hitta en reservdel.

P1010279.JPG

Fig.   Kamerans moderkort. De två konnektorerna för (film) flatkablar ses uppe i NO. Ett begagnat moderkort som försäljaren påstår vara testat (tro det den som vill) kostar strax under $100.

P1010279_part.png

Fig.   Man ser tydligt hur någon med skruvmejsel eller liknande har försökt peta loss den fastlåsta restbiten av flatkabeln, egentligen en flatkabel kopplad till två olika konnektorer. De svarta plastdelarna överst på konnektorerna är låsmekanismer. På bilden är låsen öppna. Avståndet mellan kontakterna i konnektorerna är endast 0,3 mm och kontaktstiften böjs mycket lätt varför petande med skruvmejsel inte är att rekommendera.

Det finns två sätt att försöka fixa problemet det överlägset billigaste skulle vara att byta flatkabelkonnektorerna på moderkortet. Att byta en ytmonterad komponent av denna typ skulle ha varit intressant och utmanande. Problemet är att jag inte trots rätt omfattande sökande hittade korrekt ytmonterad konnektor, dubbelsidig med 35 kontakter … tydligen rätt ovanlig. Avskriver reparation av moderkortet för tillfället och börjar söka alternativ på nätet. Hittar jag en lämplig konnektor så fixar jag kortet som en övning i att löda ytmonterade komponenter.

Det visade sig att det finns ett antal säljare både i Kina och i USA som säljer begagnade delar till den här drönarmodellen.  Jag beställde ett billigt kort från Kina samt ett lite dyrare i princip identiskt kort från USA. Kortet från USA kom inklusive skal och motor varför det var ok att betala lite mera … nu har jag en motor i reserv. Det kan vara skäl att notera att drönaren Dji Phantom 3 finns i flera modeller. De enklare modellerna har en mindre avancerad kamera och ett enklare moderkort. Skillnaden rent utseendemässigt är att Pro-versionens kort har två flatkabelkonnektorer medan de billigare varianterna har endast en. Det är alltså skäl att kontrollera att den del man beställer är kompatibel med den drönare den skall användas till.

Jag fick det kinesiska kortet först. Lite lödande/petande med förstoringsglas krävdes för att hitta kontakterna till den lilla fläkt som kyl kortet. Kontakterna är mycket små och gömda under en limklick … inget större problem. Efter bytet av kort så kände systemet tydligt igen kameran som kalibrerade sig själv då man slog på strömmen men jag fick ingen bild och drönaren meddelade att kamerans programvara måste uppdateras. Slutsatsen är att någon signal mellan kortet och kameran hade saknats till följd av de skadade kontakterna. Systemet angav att kamerans programvara var version 1.03.0020+ där ”+” tydligen anger att någon programmodul inte är kompatibel och sannolikt från någon nyare varsion.

Det verkade alltså klart att systemet i något skede hade nedgraderats d.v.s. man hade backat mjukvaran till en tidigare version men att detta hade misslyckats. Jag såg kommentarer på nätet att någon av de nyaste versionerna av programvaran bl.a. införde flygförbud över t.ex. idrottsplatser något som slog hårt mot vissa professionella användare vilka av denna orsak försökte nedgradera mjukvaran med dåligt resultat. Notera alltså att drönaren själv med hjälp av GPS i princip håller koll på var det är tillåtet att flyga. Det verkar sannolikt att vissa moduler inte kan backas vilket gör kameran oanvändbar så länge programvaran innehåller konflikter. Min uppfattning är att många av de moderkort som cirkulerar på nätet sannolikt är helt i skick men de är resultat av misslyckade uppgraderingar som har lett till att användaren har gett upp och köpt kortet som reservdel från tillverkaren, mera om detta senare.

Jag försökte först uppgradera kameran till den nyaste versionen av programvaran men stötte ideligen på problem d.v.s. systemet meddelade att uppgraderingen misslyckades. Orsaken var eventuellt att kamerasystemet överhettades då det var igång en längre stund (en uppgradering går på ca. 30 min) , vid flygning kommer kamerapaketet att kylas av luftdraget från propellrarna. Jag hittade av en slump en kommentar på nätet som konstaterade att det lönar sig att kyla elektroniken under uppgraderingen. Jag tog en liten datorfläkt som jag kopplade till en justerbar strömkälla så att jag kontinuerligt kylde kamerapaketet med fläkten … nu började uppgraderingarna fungera bättre men jag fick fortfarande ”+” varianter och uppgraderingarna krävde mycket lång tid … mycket längre än den angivna 25-30 min.

I det här skedet anlände kortet från USA och jag satte in det kortet i stället eftersom jag inte helt litade på den kinesiska säljaren. Problemet kunde ju vara att det kort jag fick från Kina var defekt. Sannolikt fungerar det kinesiska kortet korrekt. Det nya kortet fungerade igen genast så att kameran kalibrerade sig själv … men ingen bild överfördes till kontrollenhetens display och … programvarans version var 1.03.0020+ (smile, oh shit)!

Efter en hel del experimenterande med olika programversioner, det gick åt mycket tid, beslöt jag att försöka starta uppgradering från den äldsta version jag hade tillgänglig och inte bry mig om att en uppgradering misslyckades utan helt enkelt stegvis gå vidare från version till version.

Det kan vara skäl att notera att det finns odokumenterade hjälpmedel för uppgraderingen. Det går att få mer detaljerade felmeddelanden gällande uppgraderingen genom att kopiera en tom  fil med namnet P3X_FW_DEBUG till roten på SD-kortet med den nya mjukvaran. Jag kan också försöka tvinga systemet att göra uppgradering trots konflikter genom att medan jag slår på strömmen till drönaren håller reset intryckt (litet hål i sidan av stommen). På SD kortet finns den nya mjukvarufilen samt eventuellt P3X_FW_DEBUG inga andra filer får finnas. Det kan vara skäl att formatera SD-kortet mellan olika försök så att det inte blir kvar skrot från tidigare försök formatet skall vara FAT32 (inte NTFS för windows).

Jag fick många ”+” varianter på vägen men jag gissade att pluset skulle försvinna då jag kom upp till den version från vilken den alltför nya ”+” versionen hörde hemma. Mot slutet av en serie uppgraderingar så började plötsligt kameramodulen ge alarm beep-beep-… något den inte hade gjort tidigare men som den enligt instruktionerna borde ge vid misslyckad uppgradering. Jag upprepade då uppgraderingen för den version som gav felmeddelande och fortsatte sedan uppgraderingarna och plötsligt meddelade systemet att uppgraderingen var OK. Om jag minns rätt så var det den nästsista versionen som meddelade att uppgraderingen hade lyckats.

Jag provade versionen tillsammans med fjärrkontrollen och nu fick jag bild till mobiltelefonen som var kopplad till fjärrkontrollen. Fjärrkontrollen meddelade nu att kamerans programvara måste uppgraderas ytterligare varefter jag laddade in den sista versionen … nu fungerade länken till fjärrkontrollen men de bilder jag tog med drönarens kamera var strimmiga, förvridna och oanvändbara.

Videolänken fungerar men bilder på SD-kortet förvrängs

Jag misstänkte nu, delvis efter andra användares diskussioner på nätet, att problemet var SD-minneskortet. En 4k HD kamera (högupplösande TV kvalitet) skickar ofantliga datamängder till SD-kortet. Eftersom systemet omformar videoströmmen till lågupplösande video som skickas över radio till fjärrkontrollen (720p) och dessutom lagrar en annan videoström till SD-kortet så kan man gissa att allting måste tajma perfekt. Det finns inga resurser till onödiga felkontroller.

Jag hade först testat standard SD-kort av klass 10 d.v.s. samma typ av kort som jag har använt i min systemkamera (Pentax K3 och K5) utan problem. Resultat: Endast störningar, video helt svart och stänger av sig efter någon sekund.

Följande försök var SanDisk Ultra 16GB från två olika försäljare (det finns alltid risk för förfalskningar). Resultatet var marginellt bättre men fortfarande helt oanvändbart.

SD_too_slow.png

Fig.  Användning av ett SunDisk Ultra 16GB gav det här resultatet. Man kan se hur några linjer verkar lagras någorlunda korrekt överst i bilden därefter blir det problem … gissningsvis flödar kameraenhetens buffert över då systemet inte hinner dumpa data till SD-kortet. Situationen blir antagligen ännu mycket värre vid video då dataströmmarna är mycket större.

Nästa kort var ett SanDisk Extreme Pro 64GB. Stillbilder gick nu bra att känna igen men det fanns kraftiga horisontella linjer. Mätning av detta korts snabbhet visade att det borde ha fungerat … marginellt.

störningar_DJI_0215.png

Fig.  Störningar då ett marginellt långsamt SD-kort används. Långsammare kort visar endast en smal rand av bilden överst.

Följande kort var ett 64GB SanDisk Extrem från en kamerabutik specialiserad på kameror och drönare. Plötsligt fungerar systemet! Jag kan fortfarande se slumpmässiga störningar ibland men systemet kör och kan kan både ta stillbilder och videofilma. Det blir antagligen skäl att ytterligare experimentera med olika snabba SD-kort men jag kan leva med systemet som det ser ut nu!

Minneskortens begränsningar

Observera!

Mätningarna har uppdaterats eftersom minneskortsläsaren var undermålig. Mätningarna visade läsarens begränsningar för de snabba korten. Jag bytte till en Kingston MobileLite G4 för USB3. Resultatet förändrades rätt mycket.

Rött-svart  SanDisk Extreme PRO 64 GB verkar (ibland) gå att filma upp till 2700K. Fungerar allmänt taget sämre än nedanstående Extreme kort.

Rött-guld  SanDisk Extreme 64GB verkar gå att filma upp till 2700P dock så att slumpmässiga störningar kan ses.

Rött-grått SanDisk Ultra 16GB verkar gå att filma på 720P samma kommentar som föregående kort.

Mätningar:

SanDiskRedBlk

Fig.  Röd-Svart SanDisk SD minne mätt med hjälp av Linux Mint ”Disk” verktyg. Notera hur skriv och läshastigheten är bra medan åtkomsttiden varierar inom relativt vida gränser. Är den opålitliga åtkomsttiden problemet då kortet används på en DJI Phantom 3 Professional?

SanDiskRedGold

Fig.  Röd-guld SanDisk Extreme. Skriv- och läshastigheten är i princip densamma som hos PRO versionen ovan medan åtkomsttiden är mycket bättre. Skrivhastigheten är något lägre än föregående kort men kortet fungerar bättre i drönaren. Är orsaken att åtkomsttiden är bättre på detta kort medan skrivhastigheten fortfarande är adekvat?  Detta kort fungerar någorlunda.

SanDisk16GBRedGray

Fig. Röd-grått SanDisk Ultra 16GB. Notera att skrivhastigheten är betydligt lägre än de stora SanDisk minnena. Detta kort verkar kunna spela in på 720P vilket tyder på att åtkomsttiden är tillräckligt bra medan överföringshastigheten inte räcker till för högupplösande video. Notera dock de stora kasten i åtkomsttid.

Kinesisk8GBC10

Fig.  Billigt namnlöst kort 8 GB från kina. Skrivhastigheten är bättre än för SanDisk 16GB medan åtkomsttiden är betydligt sämre. Jag har inte testat kortet i drönaren eftersom jag utgår från att det inte fungerar. Notera de intressanta variationerna i skrivhastighet mot slutet av testet.

Kingston16GBC10U1

Fig.  Kingston 16GB minneskort. Läshastigheten är OK men skrivhastigheten och åtkomsttiden är erbarmlig. Notera att det förekommer mycket förfalskningar av SD-kort vilket betyder att detta kan vara en förfalskning. Kortet är inte testat i drönaren.

Biltema8GBC10U1

Fig.  Biltema 8GB är inte alls speciellt dåligt. Åtmomsttiden är dock inte speciellt bra och det finns enstaka mycket långa åtkomsttider. Kortet är inte testat i drönaren.

Jag kommer inom den närmaste framtiden att uppdatera ovanstående mätningar med något Lexar-kort (som bör vara snabbt).

Video. Man kan se att det ännu finns vissa problem som jag antar beror på SD-kortet. Det blir aktuellt att fortsätta att söka efter ett snabbt SD-kort både vad gäller skrivhastighet och åtkomsttid.

Ryckigheten i vid panorering är en följd av att jag har för lite erfarenhet av att flyga drönaren. Störningarna gissar jag är en följd av enstaka störningar med lång åtkomsttid till SD-kortet… se fig för Rött-Guld SD-kort.

Rätt komponent och fel komponent!

23/10/2019

Jag har fått lasern för min vibrationsmätare för fiol. Efter att ha experimenterat med lasern bl.a. byggt en strömkälla med konstant ström (ca. 20 mA) så har det visat sig att lasern speciellt vad gäller den inbyggda ljusdetektorn inte uppförde sig som väntat. För att komma vidare med felsökningen beslöt jag att öppna en sensor, jag har fem stycken, för att kontrollera att ljusdetektorn faktiskt existerar. Det finns många exempel på att ljusdetektorn lämnats bort av kostnadsskäl medan anslutningsbenet finns kvar.

Jag slipade försiktigt bort toppen av laserkomponenten med hjälp av en diamantfil och tittade på innanmätet i mikroskop.

P1000885.JPG

Laserchipen i halvledarlasern är lödd till ett vertikalt ”torn” i metall.  Tornet är den positiva polen. Den andra polen är lödd med guldtråd till ett av benen på komponenten, benet syns till vänster i bilden.

Ljusdetektorn vars ursprungliga uppgift har varit att mäta laserns intensitet kan ses i följande bild då vi fokuserar om mikroskopet.

P1000886.JPG

Ljusdetektorn finns i botten av komponenten. Den ena polen är igen lödd direkt till den positiva stommen och den andra polen är lödd med guldtråd till  ett eget ben.

ADL-65052TL_laser.png

Laserns datablad visar hur helheten fungerar. Halvledarlasern är dioden LD som matas från ben nummer två i framriktning. För att inte bränna lasern måste den drivas med konstant ström ca. 20 mA.

Den andra dioden PD är backad och den används som fotodetektor. Strömläckaget genom den backade detektordioden är proportionell mot ljusintensiteten.

Man får en bild av dimensionerna då man noterar att diametern på den fönsterförsedda delen är 3,55 mm. Man ser de aktiva komponenterna med en bra lupp men mikroskop är att föredra.

Slutkommentar

Det ser ut som om den laserkomponent jag beställde är äkta vilket betyder att jag måste fundera vidare på varför jag inte får det resultat jag förväntar mig.

Orsaken till att jag skar upp lasern var att jag i något skede beställde ett antal TIP120 effekt darlingtontransistorer. Transistorerna har legat en tid i miljonlådan och jag tänkte använda en TIP120 eftersom den, det är en darlingtontransistor, har hög strömförstärkning på över 1000. Konstruktionen fungerade inte riktigt som väntat varför jag mätte den och fick strömförstärkningen hfe=100. Då jag tittade närmare på transistorn märkte jag att förpackningen också var fel d.v.s. de kära kineserna hade antagligen köpt en sats konventionella NPN effekttransistorer billigt och därefter ändrat typangivelsen till TIP120 som är något dyrare. I detta fall blev jag alltså blåst … smile!

Att mäta plattors rörelser på fiol

17/09/2019

Det här är en inledning till något som torde bli en serie artiklar.

Jag har i olika sammanhang funderat över hur man enkelt kunde mäta amplituden hos vibrationer i plattorna på en fiol så att fiolen hela tiden är spelbar. Jag är alltså inte i första hand intresserad av att mäta vibrationerna i ett fritt svängande lock eller bottenplatta som inte har limmats till sargerna. Naturligtvis kan samma mätteknik användas också för detta men jag är mera intresserad av ett spelbart instrument.

Jag har tidigare tittat på möjligheterna att använda en lysdiod och en ljusdetektor (en ljuskänslig diod i revers bias). Tanken var att mäta variationerna i ljusstyrka då plattan till följd av vibrationerna rör sig i förhållande till detektorn. Jag fick aldrig mätaren att fungera pålitligt varför jag gick vidare till andra problem …

För en tid sedan råkade jag hitta en intressant video på youtube som behandlar precis mitt problem och där mätningen sker på nästan identiskt sätt jämfört med mitt tänkta system ovan. Skillnaden är att man i stället för en LED (lysdiod) använder en kombinerad laserdiod och ljusdetektor i samma förpackning. En laser producerar koherent ljus d.v.s. alla ljusvågor från lasern är i fas vilket gör att ljuset som reflekteras från ytan också kommer att vara (ungefär) i fas. Ungefär i fas eftersom ytan vi belyser är ojämn i mikrometerskala. Eftersom det reflekterade ljuset är någorlunda fasrelaterat till laserljuset så kommer vi att se interferens mellan laserljuset och det reflekterade ljuset. Då laserljuset ligger i samma fas som det reflekterade ljuset får vi ett signalmaximum. Då laserljuset ligger i motfas får vi ett minimum där ljuset delvis släcks ut.

Titta på videon så att du förstår vad som händer … det är fråga om en relativt enkel process.

Vilka delkomponenter behöver jag för en mätare av plattors rörelser

Jag behöver:

  • En laserdetektor i stort sett byggd som på videon. I praktiken använder jag 3-d skrivare till att bygga en hållare för lasern och hjälpelektroniken. Eventuellt använder jag någon tunn tejp som laserreflektor. En liten tunn tejpbit bör inte ändra svängningsförhållandena märkbart.
  • En separat mikrofon för att mäta ljudnivån så att olika instrument kan jämföras. Eventuellt kan lasersignalens lågfrekventa signal användas också som mikrofon men experiment får utvisa om detta fungerar.
  • En apparat för att generera en specifik ton i instrumentet. Jag har som första approximation tänk mig en enkel apparat för att knäppa på strängen med reproducerbar amplitud. Jag tänker mig ett mekaniskt finger som är fjäderbelastat  så att strängen släpps att vibrera vid en känd kraft (Usom bestäms av fjäderns töjning). Ögonblicket då fingret släpper från strängen detekteras med en mikrobrytare som då startar datainsamlingen.

Hur görs mätningen

Då plattan svänger ger laserns ljusdetektor ut en växelspänning där antalet toppar mellan svängningspunkterna ger antalet våglängder som plattan rör sig. Eftersom jag knäpper på strängen så kommer amplituden att först vara stor d.v.s. vi får ett stort antal våglängdstoppar/dalar under plattans rörelse. Rätt snabbt kommer svängningsamplituden att avklinga mot noll.

Om vi vet, mätt med mikrofon, vilken strängens grundfrekvens d.v.s. tiden för en svängningsperiod på strängen är så kan vi beräkna plattans svängningsamplitud på följande sätt.

Antag att plattans svängningsamplitud är 0,1 mm d.v.s. rörelsen 0,2 mm (200 um) och svängningsfrekvensen är 200 Hz (lös G-sträng på en fiol). En svängningsperiod är då 5 ms. Laserns våglängd är 0,65 um  (mikrometer, rött ljus) vilket betyder att vi bör få 200/0,65 = 307 signaltoppar/dalar från lasern. Då svängningen i plattan klingar av minskar amplituden och antalet toppar/dalar från lasern minskar successivt mot noll. Om vi lyssnar på lasersignalen så kommer vi att höra ett frekvenssvep från maximifrekvensen

fmax = 307/0.005 = 61,5 kHz

Om vi tar den mätta lasersignalen och beräknar Fourier-spektret på signalen så bör vi utan problem kunna se vilken maximifrekvensen är. Maximifrekvensen ger ett direkt mått på svängningsamplituden om vi känner grundtonen:

s = f_max*lamda*T

där

f_max = maximifrekvensen i lasersignalens fourier spektrum.

lamda = laserns våglängd 0,65 um

T = 1/f_grundton

Exempel (numeriska värden tagna ovan):

s = 61500 Hz * 0,65 um * 0,005 s = 200 um

Svängningsrörelsen är 200 um från minimum till maximum.

Jag väntar på laserdioder av typen ADL65052TL. Det enda kriteriet jag hade gällande val av laserdiod var att det skall finnas en ljusdiod i samma kapsel. Notera att många laserdioder som säljs nuförtiden saknar ljusdetektorn och således inte lämpar sig för ovanstående applikation.

Mätsystemet

Ovanstående övningsexempel ger data för hur mätsystemet måste konstrueras. Om vi vill täcka hela instrumentet från låga G upp till A på E-strängen så kommer den svängande strängens grundfrekvens att ligga mellan 200 Hz och ca. 1000 Hz.

Exemplet ovan visade att vi om vi tänker oss en amplitud på +/- 0,1 mm får ut en signal på 61,5 kHz från den lösa G-strängen. Om vi vill mäta G på E-strängen så ligger strängens frekvens på 800 Hz vilket med samma amplitudantagande ger en lasersensorfrekvens på 4*61,5 kHz = 246 kHz och ur samplingskriteriet ser vi att lasersignalen bör mätas minst med frekvensen 2*246 kHz = 492 kHz. För att vara på den säkra sidan bör vi sampla signalen i kanske 800 kHz under den tid då vi ligger nära maximal svängningsamplitud. Om vi antar att vi mäter 1/50 sekund så kommer vi att lagra 16000 mätvärden a’ 2 bytes d.v.s. vi behöver lagringsutrymme för 32000 mätvärden.

Ovanstående betyder att vi kan göra ett grovt val av hårdvara för vår mätare. Jag gissar att en Arduino Due som använder en ARM processor och kör på 84 MHz bör vara kapabel att sampla tillräckligt snabbt. Enligt specifikationerna bör processorn vara kapabel att sampla upp till 1 MHz. Processorn har 96 kbyte snabbt RAM minne vilket bör räcka till för buffert och analys. En Arduino Due kostar mellan 10 och 50 Euro beroende på varifrån man köper den … och om det är fråga om en orginal Due eller en kinesisk kopia. Mätsignalen måste förstärkas så att vi ligger vettigt i förhållande till AD-konverterns arbetsområde och upplösning 10 eller 12 bitar beroende av hur processorn konfigureras.

Kommande artiklar:

  • Laserdetektorns konstruktion och eventuella problem i samband med bygge.
  • Detektorns elektronik och datainsamling.
  • Knäppmekaniken
  • mätresultat.

 

 

Klimat- och energipolitik

29/06/2019

Intressant diskussion i SWEBBTV med energiexperten Elsa Widding.

Det är intressant att notera hur Sverige som har en stor andel vattenkraft så småningom kommer i en situation där energi måste börja ransoneras. En politik som slår sönder samhällets energisystem är samhällsförstörelse!

Den medeltida värmeperioden

06/03/2019

Hur man försökte eliminera den medeltida värmeperiodsen

Det har bland geologer och historiker funnits någon typ av koncensus att det kring vår tideräknings början var varmt. Man levde i en högkultur eftersom jordbruket producerade väl och det fanns resurser till att göra annat än att överleva.

På 200-talet eKr sjönk temperaturen kraftigt vilket ledde till folkvandringar som kom att kraftigt skada Romarriket.

På 800-talet blev det varmare och vi hade i Europa en ny värmeperiod som sträckte sig fram till 1300-talet men den bästa värmeperioden tog slut vid början av 1100-talet. Medeltidens värmeperiod utmärktes av byggandet av ståtliga katedraler … sannolikt igen för att det fanns ett överskott av människor som inte behövdes för produktion av livets nödtorft.

Medeltida_värmeperioden.png

Bild 1. Den medeltida värmeperioden och det Romerska klimatoptimet. Bilden är tagen ur Ljungqvist (2010): A NEW RECONSTRUCTION OF TEMPERATURE VARIABILITY IN THE EXTRA-TROPICAL NORTHERN HEMISPHERE DURING THE LAST TWO MILLENNIA

Bilden stämmer överens med uppfattningen från några årtionden sedan men den har ett stort problem. Bilden visar hur temperaturen under romartiden och under medeltiden sannolikt var lika hög som idag för att efter år 1300 kraftigt börja sjunka mot den lilla istiden under 1600-talet och början av 1700-talet. Problemet är helt enkelt att man har svårt att använda dagens temperatur för att skrämma människor av politiska orsaker om man kan visa att det har varit lika varmt tidigare … utan att jorden gick under.  Åtminstone kan man väl anta att någon undergång aldrig kom eftersom vi finns här idag (/sark).

År 1990 gav Romklubben, de västerländska oligarkernas sammanslutning ut rapporten:

Den första Globala Revolutionen: ”Då vi sökte efter en gemensam fiende mot vilken vi kunde enas kom vi fram till att nedsmutsning, hotet om global uppvärmning, vattenbrist, farsoter och liknande kunde passa in på detta. I sin helhet och i växelverkan mellan dessa fenomen utgör de ett gemensamt hot som alla tillsammans måste konfronteras med. Om vi pekar ut dessa faror som en fiende, faller vi i fällan, som vi redan har varnat våra läsare för nämligen att se på symptomen som orsaker. Alla dessa faror är en följd av mänsklig inverkan på naturliga processer och det är endast genom förändrade attityder och beteende som de kan övervinnas. Den verkliga fienden är mänskligheten själv.”

Samma frågor hade långt tidigare diskuterats inom Romklubben (gör en Google sökning).

Om vi vill skrämma människor till att ge ifrån sig sin lokala makt att ta egna beslut så måste man kunna visa på att vår tid är extrem och att om utvecklingen fortsätter så kommer vi att uppleva en katastrof. Vi har många gånger sedan 1990 fått höra hur vi har endast 10, 12, 15 år på oss att reagera innan mänskligheten riskerar att utrotas. Profetiorna om domedagen har kommit och gått utan synliga katastrofer men detta korrigeras genom att man kommer fram med en ännu värre profetia …

Ett sätt att fixa beställningsarbetet med att eliminera den medeltida värmeperioden som var ackepterad och välkänd, d.v.s. tiden då vikingarna koloniserade grönland, föll på klimatforskaren Michael Mann. Mann använde s.k. proxyn d.v.s. han uppskattade bl.a. via årsringar från träd vilken temperaturen var det år då årsringen bildades. Tanken är att om man väljer träd som växer nära trädgränsen så kommer trädets växthastighet främst att begränsas av temperaturen. Under varma år växer trädet bättre och årsringen blir bredare och under dåliga år blir årsringen smalare.

Hockey_stick_IPCC.png

Michael Manns hockeyklubba eliminerade hela den medeltida värmeperioden (jämför med Ljungqvists kurva) och visade på en extrem uppvärmning från början av 1900-talet. Det stora problemet med kurvan är att den lyftes fram som en ikon för en katastrofal uppvärmning samtidigt som den stod i fullständig konflikt med många ärtionden av historisk och geologisk forskning.

Det visade sig emellertid att det också fanns andra problem. Manns rekonstruktion använde sig av en då relativt ny statistisk metod PCA som inte tillämpades helt korrekt. Resultatet var att metoden visade sig kunna plocka ut hockeyklubbor ur brus d.v.s. om man matade algoritmen med brus så skapade den en hockeyklubba.

Ett annat problem som bl.a. statistikerna McIntyre och McKitrick påvisade var att Manns hockeyklubba var beroende av ett enda träd för att man skulle få fram klubban. Detta förnekades naturligtvis på det kraftigaste av Mann och gruppen runt honom.  Historien har dock nu hunnit ifatt Mann efter att gruppens epostmeddelanden nu har gjorts offentliga efter ca. 8 års förhalanden. I ett epostmeddelande från Malcolm Huges (en i gruppen) till Mann kan vi läsa:

From: Malcolm Hughes
To: Michael E. Mann
Cc: rbradley@geo.umass.edu
Subject: Re: close call
Date: Monday, July 31, 2000 3:00:26 PM
Dear Mike – I have read and re-read the draft, and have come to the
conclusion that it would be a mistake to publish it. I would also urge
you not to publish it. I think my enthusiasm aroused by the first
version of the figure allowed me to ignore the most important
problem. In the 1999 GRL paper the dangers of using too few
proxies for a hemispheric reconstruction were rehearsed – that was
our intention. That this new version of your post-1980 calculations
should be so sensitive to the omission of a single record is very
worrying indeed.

Den sista meningen ovan: ”Att denna nya version av dina beräkningar efter 1980 är så känsliga för bortlämnandet av en mätning (ett träd – min kommentar) är mycket oroande.”

Vi ser alltså att gruppen trots förnekanden var mycket väl medvetna om att hela rekonstruktionen byggde på ett enda träd som råkade ge korrekt resultat.

… epostmeddelandet avslutas med:

Då jag tänker närmare på saken skulle det vara klokare att hålla vårt krut torrt och om någon ifrågasätter detta i ett trovärdigt forum poängtera att vi jobbar med att sätta ihop ett tätt högkvalitativt datasett som ligger närmare dagens situation.

Jag läser detta som ett direkt bevis på att man körsbärsplockar data så att de skall ge det resultat man vill ha. Detta påstående om körsbärsplockning går också att direkt veriefiera genom de nyligen frisläppta epostmeddelandena:

Michael Mann:

Well, one thing that is different here is that we are  actually screening all proxies to see if they have a verifiable signal (temperature or precip) against the instrumental record. So we are using an objective measure, rather than just deciding what we think is good or not.

Alltså, en sak som skiljer här är att vi väljer bland alla proxys för att se om det finns en verifierbar signal (temperatur eller nederbörd) jämfört med mätningar. Vi använder alltså en objektiv metod i stället för att helt enkelt välja vad som är bra eller inte.

Det här är hårresande! Man säger alltså att man går igenom årsringsserier och väljer ut de serier som stämmer överens med mätningar som kriterium för att använda serierna.  Det är självklart att det hela datasettet efter denna filtrering kommer att visa precis det urvalsfiltret valde ut. Josh har illustrerat saken på kornet nedan …

Nedan ser vi vetenskaplig heder (/sark) i arbete. Vid arbetet på IPCC:s rapporter fanns det klara direktiv på hur publikationer kunde tas med. Publikationen skall ha genomgått peer review etc.  före ett givet deadline för att kunna användas i IPCC:s rapport. Saken gäller naturligtvis inte den inre kretsen/teamet. Den egna artikeln, som försökte försvara hockeyklubban mot McIntyres och McKitricks kritik, var försenad. Vad borde man då göra?

From: Phil Jones [mailto:p.jones@uea.ac.uk]
Sent: Wednesday, September 12, 2007 11:30 AM
To: Wahl, Eugene R; Caspar Ammann
Subject: Wahl/Ammann

Gene/Caspar,
Good to see these two out. Wahl/Ammann doesn’t appear to be in CC’s online first, but comes up if you search.
You likely know that McIntyre will check this one to make sure it hasn’t changed since the IPCC close-off date July 2006!
Hard copies of the WG1 report from CUP have arrived here today.

Ammann/Wahl – try and change the Received date! Don’t give those skeptics something
to amuse themselves with.

Cheers<
Phil

Phil Jones en av teamets huvudfigurer föreslår:

Amman/Wahl – försök att ändra ankomstdatumet! Ge inte de där skeptikerna någon orsak att ha roligt.

Kanske nog för denna gång!


Pointman's

A lagrange point in life

THE HOCKEY SCHTICK

Lars Silén: Reflex och Spegling

NoTricksZone

Lars Silén: Reflex och Spegling

Big Picture News, Informed Analysis

Canadian journalist Donna Laframboise. Former National Post & Toronto Star columnist, past vice president of the Canadian Civil Liberties Association.

JoNova

Lars Silén: Reflex och Spegling

Climate Audit

by Steve McIntyre

Musings from the Chiefio

Techno bits and mind pleasers

Bishop Hill

Lars Silén: Reflex och Spegling

Watts Up With That?

The world's most viewed site on global warming and climate change

TED Blog

The TED Blog shares news about TED Talks and TED Conferences.

Larsil2009's Blog

Lars Silén: Reflex och Spegling

%d bloggare gillar detta: