Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Mitt bidrag till Swech utlysta tävling.

Förra sommaren började jag bygga ett växthus på landet. Avsaknaden av en nivelleringslaser som var användbar dagtid var stor. Det jag gjorde var att passa på kväll-/nattetid att köra min laser PLL360 och ta ut mätpunkter.
Under dagen nyttjade jag mätpunkterna och som jag senare verifierade nästkommande kväll.

Jag började fundera på hur jag kunde göra en enkel laserdetektor för att kunna detektera den svaga klass 2-lasern mitt på en solig sommardag. Jag kom så långt att jag förstod att endast en konstant lysande laser inte skulle vara så lätt att detektera. Det man gör på dyrare laserdetektorer är att man har en roterande laserstråle. Detektorn kan då göras så att en ljusdetektor först kopplas till ett högpassfilter, så att allt statiskt brus kan tas bort, och endast det pulserande ljuset från en roterande laser detekteras.

När jag insett det så började jag fundera på vilken typ av sensor jag skulle ha. Jag köpte vanliga röda lysidoder, som även fungerar som fotodioder inom ett väldigt snävt intervall. Toppen! En test visade att lasern gick att detektera alldeles utmärkt med de högintensiva röda LED:ar jag köpt. Dessa tillsammans med lite opampar för filter och förstärkning av signalen, så skulle jag vara hemma med laserdetektorn.

Projektet avstannade och innan jag hann ta upp det igen, dök det upp en billig (499:-) laserdetektor på Clas Ohlson, http://www.clasohlson.com/se/Laserdetek ... r409978000.
Jag insåg att det är svårt att bygga en egen detektor som slår den m.a.p. användbarhet.

OK. Detta fick då bli min nya utgångspunkt. Jag köper alltså en laserdektor. Problemet löst? Nix. Problemet är att detektorn bara detekterar dyrare nivelleringslasrar som har roterande eller på något sätt pulserande laser.

Mitt nya projekt är alltså väldigt enkelt. Att göra om min billiga nivelleringslaser med konstant laserstråle, och få den att bete sig som en dyrare med roterande laserstråle.


Realisering
De allra flesta nivelleringslasrar är självnivellerande. I den funktionen verkar det ofta ingå att om man lutar man laserhuset för mycket, så kopplas lasern bort. Den funktionen ska jag använda.

Att spåra upp kabeln som ger signalen att stänga av lasern var plätt lätt att hitta. Väl hittad behövde jag bara kolla vilken signal den bär. Det visade sig inte helt oväntat vara DC 0V eller 3V. Alltså matningsspänningen på lasermodulen eftersom den drivs av 2 AAA-batterier.

En snabb uppkoppling av en astabil multivibrator baserad på en TCL555 med valda komponenter som ger ca 10Hz fyrkantvåg, 50% duty, 0-3V p-p där utsignalen kopplades till laserns avstängningsmekanism, visade att lasern så klart började blinka med 10Hz. Tjohoo!

Nästa steg
1. Flytta den astabila mulitivibratorn från kopplingsdecket, och göra kopplingen permanent, dead-bug-style på TCL555, och montera den i den billiga nivelleringslasern.
2. Köpa laserdetektorn ovan.
3. Justera duty cycle och frekvens på den astabila multivibratorn för att maximera räckvidden på laserdetektorn.


Fortsättning följer...
Den_Store_Bob
Inlägg: 2
Blev medlem: 9 augusti 2017, 20:06:59

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av Den_Store_Bob »

Coolt projekt !!
:bravo:
Hoppas på forsättning snart ...
En liten fråga bara:
Hur kom du in i pll360'n ?
Bort med de 4 skruvarna och sen bara bända isär ???
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

En liten kort uppdatering.

Det fungerar alldeles utmärkt :D :tumupp:

Resultat än så länge:

Hårdvara:
*Krysslaser *Laserdetektor *Astabil multivibrator
  • IC = TLC555
    R1, R2 = 4,7kOhm
    C = 100nF
    C(avkoppling) = 100nF

Krysslasern modifierades mycket enkelt. På kretskortet hittade jag GND, Vcc på ON/OFF-knapp, laseravstängnings-padd som går hög (Vcc) om passet lutar för mycket.

GND och Vcc från ON/OFF-knappen kopplades till en TLC555 astabil multivibratorkrets som genererar en 1kHz fyrkantvåg (ca 67% duty).
http://www.ohmslawcalculator.com/555-astable-calculator
R1, R2 = 4,7kOhm
C = 100nF


Resultat:
Ett snabbt första test visade att frekvensen behöver vara högre än ca 340Hz. Jag valde 1kHz som var lätt med de komponenter jag hade framför näsan.
Jag hittade ett ställe i lägenheten där jag kunde få hyfsat långt avstånd mellan krysslaser och detektor. Tested gjordes nyss. Alltså mitt på dagen i slutet av Augusti. 12,5 meter fungerar utan problem! Den verkar mycket noggrann. Uppskattningsvis bara någon del av en millimeters avvikelse från lasern ger avvikelselarm på laserdetektorn.


Det som återstår:
*Att löda ihop den astabila multivibratorn permanent samt montera den inne i krysslasern
*Testa att det fungerar utomhus i direkt solsken
*Dokutmentera med bilder
*Bonus: Montera den astabila multivibratorn i min PLL360-laser som har en rundstrålande laser. Vi får se om det blir en utmaning att komma in i den som @Den_Store_Bob antyder :shock:


Note: Det är en låg teknisk höjd på det här projektet, men användbarheten och mängden pengar man kan spara på en så liten modifiering gör att jag ändå är mycket nöjd med det här resultatet.
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Ytterligare en uppdatering

Det som återstår:
*Att löda ihop den astabila multivibratorn permanent samt montera den inne i krysslasern
*Testa att det fungerar utomhus i direkt solsken
*Dokutmentera med bilder

Nu har jag lött ihop den astabila multivibratorn á la dead bug.
IMG_3042.JPG
Schematic-of-IC-555-as-Astable-Multivibrator.jpg
Den astabila multivibratorn kopplades in på lämpliga lödpunkter.
IMG_3045.JPG
Allt kapslades in i lite krympslang och pillades in i en kavitet i höljet.
IMG_3046.JPG

Nu återstår att testa den utomhus i dagsljus.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av ecenier 25 augusti 2017, 23:37:21, redigerad totalt 1 gång.
Användarvisningsbild
rvl
Inlägg: 5720
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av rvl »

Följer denna tråd... Lasern är självnivelerande, men kommer man åt kalibrera den och kan hoppas på bättre resultat än speccade +-0,5mm/m. En kommentar på Clas finska sida sa 13 mm på 20 m och de blir redan litet ytterom spec.
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Bra fråga, och jag har inget svar. Jag vet inte riktigt hur jag ska kunna testa noggrannheten på den.

Är ett vattenpass av typen två vattenfyllda rör ihopkopplade med trädgårdsslang mer noggrann än +-0,5mm/m? Jag är tveksam, men kan ha fel.

Finns det något annat bra sätt att mäta?
För visst pratar vi noggrannheten mellan ena sidans lasernivå i förhållande till andra sidans lasernivå om man tänker sig laserstrålen som en sektor?
Användarvisningsbild
rvl
Inlägg: 5720
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av rvl »

På en lång sträcka tänker jag mig att slangmodellen borde vara mer noggran än de tidigare nämnda värdena, om man nu inte råkar ha *väldigt* lokala hög- eller lågtryck. Min fråga var mer ute efter om nån av skruvarna i lasern kunde tänkas vara för intrimmning, utan att (tillsvidare) bry mig om hur man skapar nåt pålitligt att kallibrera mot. Men t.ex. att först skjuta från A till B och sen från B till A borde bli en bra början.
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Just det, A till B och sedan B till A borde ju vara ett bra test.

Tyvärr kunde jag inte se någon justerskruv. Den borde ju i så fall sitta i botten eftersom upphängningen är som en kardanknut med en tyngd som dras lodrätt nedåt av gravitationen.

Jag tänkte även försöka göra en modifiering av en Bosch PLL360 också, men det är inte högsta prio.
Den_Store_Bob
Inlägg: 2
Blev medlem: 9 augusti 2017, 20:06:59

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av Den_Store_Bob »

Mycket rolig projekt !
Ser verkligen fram emot om 360'n blir moddad också.
Ska sanningen fram provade jag inte så länge att ta mej in i PLL'n så det kanske inte är så svårt i alla fall.


Är pcb't som man ser på bilden det enda som finns i clabbe burken ?
Nästan att det skulle vara värt att ta fram ett custom.

Såg inte ut att vara mycket prylar på det....?
Och så börjar man kränga kort och blir rik ......
Nåja kanske svävade jag i väg lite.... :vissla:
Som sagt ...roligt och användbart projekt ....
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Nu tycker jag mig vara färdig med projektet, och här kommer en stor uppdatering.

Mitt slutgiltiga mål var att modifiera min Bosch PLL360, eftersom den ändå får anses vara lite bättre än Cocraft HL10 som jag började med.

HL10 var väldigt lätt att modifiera och det var ganska straight on att applicera den astabila multivibratorn för att få det att fungera.

Jag började med att öppna PLL360. Det finns 4 synliga skruvar, samt en dold skruv.
01.jpg
Öppnad ser den ut så här,
02.jpg
Notera att det finns möjligheter att finjustera noggrannheten med de kopparfärgade skruvarna.

På toppen kan man se lutningsbrytaren i form av en spiralfjäder omsluten av mönsterkort. Notera de infernaliskt tunna koppartrådarna som kopplar det fasta kortet till det rörliga. Jag lyckades glömma att dessa trådar fanns, och klämde dom, men med pincett kunde jag snygga till dom igen hjälpligt. Bilden visar hur det såg ut innan jag klämde dom. Dessa trådar är inget man löder i med min lödstation så jag är glad att det inte blev avbrott på någon av dom :)
03.jpg
Efter lite mätningar så gick det lätt att hitta brytfunktionen på lödpaddarna på ett av PCB:erna.
05.jpg
Gick ju lätt och bra det här. Men tji fick jag. Efter att ha kopplat in den astabila mulitivibratorn med en svängningsfrekvens på 1kHz, så visst blinkar lasern. Men den blinkar väldigt konstigt, och laserdetektorn vill inte gärna detektera laserstrålen. Stor besvikelse.
Nu behöver jag hitta en annan väg fram. Jag fortsätter att ta loss knappsatsen och styrkortet under den.
06.jpg
Ganska litet kort. Jag undersöker komponenterna och kan identifiera en step down till 3,3V. Ett par mosfet n-channel för drivning av vertikal respektive horisontell laser. Lite diverse avkopplingskondensatorer samt några begränsningsresistorer för LED:ar mm.
07.png
Tittar man närmre ser man att på styrkortet sitter en PIC16F676. YES! PIC gillar jag. Detta förklarar varför det inte fungerade med min multivibrator. Det är troligen ett microprogram som pollar olika portar efter händelser. Pollningen interfererar med min astabila multivibrator och man får totalt en helt oförutsägbar frekvensvandring.
08.png
Efter ytterligare lite mappning av pinnar till diverse funktioner så mappade jag även ut ICSP pinnarna så att jag kunde titta närmare på PIC:en.
09.jpg
När båda knapparna, indikator-LED:ar samt laser-kontrollpinnarna var mappade till microprocessorns portar, så var det bara att öppna upp en editor och börja koda. Jag har skrev koden i C och kompilerade med xc8. Jag använde en Pickit2-klon från eBay för att flasha ny kod till PIC:en.
10.jpg
När jag var nöjd med programmet, så kunde jag stoppa undan programmeringskabeln längs ena kanten av PLL360-boxen.
11.jpg
Tyvärr så gick det inte så bra att stänga apparatlådan med kablarna lödda på det sättet jag lött dom.
Ett tips för den som vill replikera det här projektet är att löda kablarna från undersidan av PCB:t. På så sätt så behöver man inte dra kablarna runt PCB:t och det behöver heller inte klämmas av lådan. Det slutade med att jag klippte bort kablarna när jag var nöjd med koden.

En bonus var att originalkoden som ligger på PIC:en inte var lässkyddad. Jag kunde dumpa koden till en hex-fil. Den kan jag när som helst använda för att "ångra" min uppgradering, och återgå till originalfunktionen.

Programmet jag skrivit fungerar på följande sätt.
Det finns i huvudsak två lägen.
1. Inomhusläge där lasrarna när dom är på, lyser konstant.
2. Utomhusläge där lasrarna när dom är på, pulseras med ca 2,6kHz frekvens.

Pulserandet sköts av Timer0 som vid overflow ger ett interrupt där jag togglar lasrarna av och på. Dock beroende på om man är i läge 1 eller 2.

Lutar passet för mycket (+-4 grader) stängs lasrarna av. Har man tryckt på låsknappen så ignoreras dock lutningsavstängningen.

Inomhusläget är det som är på som förval direkt efter man uppgraderat sin PLL360 med min uppgradering. Det enda som skiljer det här läget mot original, är att jag sparar senaste använda läget. Har man t.ex. vertikal laser på samt inklinationslåset på när man stänger av passet, så är det samma läge när man slår på passet igen.

För att komma till utomhusläget med pulserande lasrar, så håller man in Mode-knappen under tiden man slår på passet. Då får man samma funktioner som i inomhusläget, men med skillnaden att lasrarna om de är på, pulserar med 2,6kHz.

Anledningen till att jag valt att ha två lägen är att när lasrarna pulserar så syns de också mycket sämre.


OK. Talk is cheap. Show me the code. tänker ni.
Här finns källkoden, https://bitbucket.org/foogadgets/pll360 ... e/overview
Och här kan man ladda ner en färdigkompilerad hex-fil som man direkt kan flasha till styrkortet med en pickit2.
https://bitbucket.org/foogadgets/foogad ... pgrade.hex

I slutänden blev detta mer ett mjukvaruprojekt snarare än ett elektronikprojekt :o .
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Mätte upp räckvidden till minst 55 meter. Innergården räckte inte till att mäta längre bort.
Vid 55 meter så är sweetspot:en inom +-3mm.
Borre
Inlägg: 4564
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av Borre »

Bra jobbat!
Det är nog något man får ta efter nån gång. :)
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av Magnus_K »

Lite kul att originalkoden inte var skrivskyddad. Kanske värt att även klistra med den i tråden? Om någon skulle behöva?

Läste igenom tråden igen och känner ha-begäret växa något enormt. :wink:
Snyggt dokumenterat och bra jobbat!
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av ecenier »

Tack Magnus!

Jag tänkte först lägga upp den hex-filen på bitbucket med resten av koden, men så tänkte jag en gång till.

Om man har prylarna för att flasha, så kan man också dumpa innehållet från sin egen PLL 360 själv. Då riskerar inte jag att någon från Bosch tittar snett på mig för att jag distribuerar deras binärer.
De bryr sig troligen inte, men jag riskerar i alla fall inget genom att undvika att distribuera den.

Skulle någon fråga mig om hex-filen, så delar jag med mig så klart :)
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Tävling: EF-projekt: Fiktivt roterande nivelleringslaser

Inlägg av Magnus_K »

Ja det har du nog rätt i. Inte värt att riskerna något för en sån sak.
Klokt :)
Skriv svar