Laserwaterpas ontvanger

Op 1 september 2020 10:59:53 schreef BartL:
[...]
dat de uitgang niet knippert maar HOOG blijft?

[...]
Dit kan eigenlijk niet. Er branden altijd lampjes als de stroom ingeschakeld is. Het enige wat voor kan komen is dat de bovenste en de onderste tegelijk knipperen als hij geen signaal ontvangt, bijvoorbeeld als de laser uitstaat of iets het signaal blokkeerd.

knippert het nou wel of niet?!?

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

@TS,
Als je de ventielen met de hand bediend "aan de hand van wat de ontvanger aangeeft" bedien je het ventiel dan net zolang totdat het ledje van de nullijn gaat branden op de ontvanger?

Als je haar maar goed zit, GROETEN LAMBIEK.

@Hennep,
Zeer veel dank, ik ga eens kijken of ik de code zelf kan begrijpen en of ik hem werkend kan krijgen zodra ik de componentjes binnen heb.

Op 1 september 2020 15:15:23 schreef SparkyGSX:
[...]knippert het nou wel of niet?!?

Excuus voor de onduidelijkheid. De laserontvanger (waarvan ik de LEDjes dus als INPUT ga gebruiken) knippert altijd. En is dus geen situatie waarbij de lampjes continue branden.

Op 1 september 2020 15:34:09 schreef Lambiek:
@TS,
Als je de ventielen met de hand bediend "aan de hand van wat de ontvanger aangeeft" bedien je het ventiel dan net zolang totdat het ledje van de nullijn gaat branden op de ontvanger?

Nee op de handbediening werken werk je meer pulserend, dus even bedienen en dan kijken of je hem in de juiste stand krijgt. Dit heeft oa te maken met de grotere oliestroom die in die stand gebruikt wordt. Om die reden wil ik de olietoevoer in de "automatische" stand ook veel meer reduceren zodat de machine rustiger reageert. Deze stand kunnen we dan gebruiken voor het grove werk, de laatste afwerking zal vermoedelijk altijd handwerk blijven.

Lambiek

Special Member

Op 1 september 2020 15:55:38 schreef BartL:
Nee op de handbediening werken werk je meer pulserend, dus even bedienen en dan kijken of je hem in de juiste stand krijgt.

En dat kon niet toen ik dat idee opperde? Dat was slecht voor het ventiel.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 1 september 2020 16:37:59 schreef Lambiek:
[...]
En dat kon niet toen ik dat idee opperde? Dat was slecht voor het ventiel.

Haha, inderdaad maar dan hebben we het over een iets andere frequentie. Mijn duim is niet in staat de hele dag 4x per seconde op een knopje te drukken. ;)

hennep

Golden Member

Op 1 september 2020 16:46:17 schreef BartL:
Mijn duim is niet in staat de hele dag 4x per seconde op een knopje te drukken.

Watje! >:)

Lambiek

Special Member

Op 1 september 2020 16:46:17 schreef BartL:
Haha, inderdaad maar dan hebben we het over een iets andere frequentie. Mijn duim is niet in staat de hele dag 4x per seconde op een knopje te drukken. ;)

Het moet ook niet 4 X per seconde, dat kun je in de software prima regelen. Dat het bijv. 1 X per seconde is of 1 X per 2 seconde of 3 seconde is. Of wat nodig is om het goed te laten werken.

EDIT:
Ik heb vanmiddag trouwens een testje gedaan met een CNY70 en een standaard led en dat werkt goed. Wel heb ik het signaal over een TLV271 laten lopen voor extra versterking, ik kreeg een keurig sterk signaal op de ingang van de controller.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 1 september 2020 17:31:34 schreef Lambiek:
Ik heb vanmiddag trouwens een testje gedaan met een CNY70 en een standaard led en dat werkt goed.

Dat is goed om te weten, mochten de fototransistors die ik besteld heb om eoa reden niet werken kan ik altijd overstappen naar de CNY70.

Lambiek

Special Member

In hoeverre is de ontvanger gevoelig, is dat alleen onder een bepaalde hoek naar voren of is de ontvanger rondom gevoelig voor de zender?

Ik vraag dit omdat de opbouw die je op de leds gaat maken misschien in de weg gaat zitten voor het ontvang gedeelte. Of is daar geen sprake van?

Als je haar maar goed zit, GROETEN LAMBIEK.
fatbeard

Honourable Member

Op 1 september 2020 16:51:12 schreef hennep:
[...]
Watje! >:)

Nou, George Jetson had daar als beroepsmatig knoppendrukker ook last van... :+ :+

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Op 2 september 2020 09:13:02 schreef Lambiek:
In hoeverre is de ontvanger gevoelig, is dat alleen onder een bepaalde hoek naar voren of is de ontvanger rondom gevoelig voor de zender?

Ik vraag dit omdat de opbouw die je op de leds gaat maken misschien in de weg gaat zitten voor het ontvang gedeelte. Of is daar geen sprake van?

De ontvanger is rondom gevoelig d.m.v. 4 stroken, (dus 1 strook pakt 90 graden) zie foto op eerste pagina. De uitleesLED's zitten daar tussen, ik kan er dus inderdaad niet iets helemaal omheen bouwen maar ik maak gewoon een smalle bracket over de uitleesLED's die ik boven en onder vast zet.

dat moet idd wel lukken.
smalle strook over plakken met 3 sensors, en dan kabel naar u arduino voor de regeling.

ik hou van werken ..., ik kan er uren naar kijken
Lambiek

Special Member

Op 2 september 2020 07:42:51 schreef BartL:
Dat is goed om te weten, mochten de fototransistors die ik besteld heb om eoa reden niet werken kan ik altijd overstappen naar de CNY70.

Je zal hoe dan ook het signaal moeten versterken, welke foto transistor je ook gaat gebruiken.

Hier heb je een paar voorbeelden.

En het beste is om de versterking direct bij de foto transistoren te zetten, als het even kan in de behuizing bij de foto transistoren. Dat wordt nog even een dingetje denk. :)

De versterking met de opamp is het grootste in dit geval, is +/- 100 X. Maar dat neemt wel de meeste ruimte in beslag, je moet dit vijf maal maken.

EDIT:

Hier heb je een stukje voorbeeld programma, het is wel in basic maar dat moet je maar even omzetten. :)

Heb het hier getest en het werkt naar behoren. Ik heb verschillende knipper frequenties geprobeerd, van 1Hz tot 10Hz. Ik heb wel de schakeling met de opamp gebruikt voor de grootste versterking van de foto transistor.

Als NIVEAU_NUL knippert gebeurt er niets, als dan bijv. NIVEAU_BOVEN_1 gaat knipperen wordt UIT_1 hoog en blíjft net zo lang hoog totdat NIVEAU_NUL weer gaat knipperen. Dit geld voor alle niveaus.

Je zal toch ook iets met de hydrauliek moeten doen, je zal iets van een drossel moeten plaatsen of misschien een proportioneel ventiel, zodat je de snelheid kunt regelen van je cilinders. Maar dat zal je al wel weten denk.

pic basic code:


Device 16F887                               ; Processor type

Xtal 10                                     ; Cristal 10Mhz

Asm                  v.h.                       ; Config settings
CONFIG_REQ            
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & LVP_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON 
__CONFIG _CONFIG2, WRT_OFF & BOR40V 
EndAsm
   
All_Digital true                            

Symbol NIVEAU_BOVEN_2 = PORTA.0             ; Ingang
Symbol NIVEAU_BOVEN_1 = PORTA.1             ; Ingang
Symbol NIVEAU_NUL     = PORTA.2             ; Ingang
Symbol NIVEAU_ONDER_1 = PORTA.3             ; Ingang
Symbol NIVEAU_ONDER_2 = PORTA.4             ; Ingang

Symbol UIT_1 = PORTC.0                      ; Uitgang
Symbol UIT_2 = PORTC.1                      ; Uitgang

DelayMS 500                                 ; Pauze 0.5 sec 

Clear                                       ; Wis geheugen

         ;543210                            ; Hulpregel poort A
PORTA  = %000000                            ; Maak poort A laag
TRISA  = %111111                            ; Poort_A I/O

         ;543210                            ; Hulpregel poort B
PORTB  = %000000                            ; Maak poort B laag
TRISB  = %000000                            ; Poort_B I/O

         ;76543210                          ; Hulpregel poort C
PORTC  = %00000000                          ; Maak poort C laag
TRISC  = %00000000                          ; Poort_C I/O

         ;76543210                          ; Hulpregel poort D
PORTD  = %00000000                          ; Maak poort D laag
TRISD  = %00000000                          ; Poort_D I/O

         ;210                               ; Hulpregel poort E 
PORTE  = %000                               ; Maak poort E laag
TRISE  = %000                               ; Poort_E I/O

         ;76543210                          ; Hulpregel analoog
ADCON0 = %00000001                          ; ADCON0 register analoog 8 bit

         ;76543210                          ; Hupregel analoog
;ADCON1 = %10000000                          ; ADCON1 register analoog 10 bit

         ;76543210                          ; Hulpregel analoog poort_B
;ANSELH = %00000000                          ; ANSEL register analoog poort_B

;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------

UIT_1 = 0
UIT_2 = 0

RUN:


    UIT_1 = 0
    UIT_2 = 0
    
    If NIVEAU_NUL = 1 Then
       GoTo RUN
    EndIf
    
    If NIVEAU_BOVEN_1 = 1 Then
       GoSub SCHUIF_OMHOOG
    EndIf
    
    If NIVEAU_BOVEN_2 = 1 Then
       GoSub SCHUIF_OMHOOG
    EndIf
    
    If NIVEAU_ONDER_1 = 1 Then
       GoSub SCHUIF_OMLAAG
    EndIf
    
    If NIVEAU_ONDER_2 = 1 Then
       GoSub SCHUIF_OMLAAG
    EndIf

    If NIVEAU_BOVEN_2 = 1  And NIVEAU_ONDER_2 = 1 Then
       GoTo GEEN_DETECTIE
    EndIf
       
GoTo RUN
    
    
SCHUIF_OMHOOG:


    UIT_1 = 1
    UIT_2 = 0
    
    If NIVEAU_NUL = 1 Then
       UIT_1 = 0
        DelayMS 100
       Return
    EndIf
    
GoTo SCHUIF_OMHOOG

SCHUIF_OMLAAG:


    UIT_1 = 0
    UIT_2 = 1
    
    If NIVEAU_NUL = 1 Then
       UIT_2 = 0
        DelayMS 100
       Return
    EndIf
    
GoTo SCHUIF_OMLAAG

GEEN_DETECTIE:


    UIT_1 = 0
    UIT_2 = 0
       
    If NIVEAU_NUL = 1 Then
       GoTo RUN
    EndIf
    
    If NIVEAU_BOVEN_1 = 1 Then
       GoTo RUN
    EndIf
    
    If NIVEAU_BOVEN_2 = 1 Then
       GoTo RUN
    EndIf
    
    If NIVEAU_ONDER_1 = 1 Then
       GoTo RUN
    EndIf
    
    If NIVEAU_ONDER_2 = 1 Then
       GoTo RUN
    EndIf
         
GoTo GEEN_DETECTIE
    

End

EDIT:

Heb dit even aangepast.

pic basic code:


    If NIVEAU_BOVEN_2 = 1 Then
       If NIVEAU_ONDER_2 = 1 Then
          GoTo GEEN_DETECTIE
       EndIf
    EndIf

Naar dit.

pic basic code:


    If NIVEAU_BOVEN_2 = 1  And NIVEAU_ONDER_2 = 1 Then
       GoTo GEEN_DETECTIE
    EndIf
Als je haar maar goed zit, GROETEN LAMBIEK.

Je zal toch ook iets met de hydrauliek moeten doen, je zal iets van een drossel moeten plaatsen of misschien een proportioneel ventiel, zodat je de snelheid kunt regelen van je cilinders. Maar dat zal je al wel weten denk.

Had ik ook al gezegd, snel en traag. Liefst beiden wat instelbaar maar met 1 instelbare kom je al een heel eind.

2/3 ventiel met daarachter 1 of (liefst) 2 debietregelaars. Bij niveau 2 kan je dan met dat ventiel kiezen voor een hogere snelheid van de machine. Scheelt ook in code, gewoon effe boven en onder bekijken en dan 1 of 2 bekijken. Dan schakelt 1 3/4 ventiel de richting (open in rust) en 1 2/3 ventiel de snelheid. Het 2/3 ventiel en de bijhorende debietregelaar(s) staan dan tussen trekker en 3/4 ventiel. Dit omdat je ook niet steeds met hetzelfde toerental staat te kilveren, zeker als er voorop nog een grondbreker zit ofzo om de grond los te woelen.

Op 2 september 2020 15:42:28 schreef Lambiek:
[...]
En het beste is om de versterking direct bij de foto transistoren te zetten, als het even kan in de behuizing bij de foto transistoren. Dat wordt nog even een dingetje denk. :)

Dat wordt zeker een dingetje, misschien een printje laten maken waar alles netjes op zit? dat zou zeker moeten lukken qua formaat denk ik.

Even een (wellicht hele domme) vraag over jouw schema maar wat houd het omcirkelde tekentje in?

Op 2 september 2020 15:42:28 schreef Lambiek:
[...]
Je zal toch ook iets met de hydrauliek moeten doen, je zal iets van een drossel moeten plaatsen of misschien een proportioneel ventiel, zodat je de snelheid kunt regelen van je cilinders. Maar dat zal je al wel weten denk.

Ik zit al ca. 13 jaar in de hydrauliek, daar zit hem dus de uitdaging niet. ;)

Bedankt voor de Code die je stuurde, even ombouwen naar een juiste code voor de arduino zal voor mij een hele uitdaging worden maar aldoende leert men!

Lambiek

Special Member

Op 4 september 2020 19:51:01 schreef BartL:
Dat wordt zeker een dingetje, misschien een printje laten maken waar alles netjes op zit?

Ja, dat moet je zelf weten of je dat laat maken, maar het zou wel mooi zijn.

Maar zet het eerst op een bread board voordat je een print laat maken of zelf maakt. Eerst goed uit testen alles, ook de software.

Even een (wellicht hele domme) vraag over jouw schema maar wat houd het omcirkelde tekentje in?

Dat is een ontkoppel condensator, die staat tussen de plus en de min van de voeding. Die moet zo dicht mogelijk bij het IC staan.

Bedankt voor de Code die je stuurde, even ombouwen naar een juiste code voor de arduino zal voor mij een hele uitdaging worden maar aldoende leert men!

Anders even hier vragen of iemand je wil helpen, er is vast wel iemand die dat even omzet als je er niet uitkomt.

Als je haar maar goed zit, GROETEN LAMBIEK.

In dat programma dat m.i. veel te groot is voor wat het moet doen, zitten tenminste twee bugs die groot genoeg zijn om een voedzame avondmaaltijd van te maken.

Ten eerste ga je er hier

code:

If NIVEAU_BOVEN_2 = 1 Then
   If NIVEAU_ONDER_2 = 1 Then
      GoTo GEEN_DETECTIE
   EndIf
EndIf

vanuit dat de beide LEDs EXACT tegelijk knipperen, en tegelijk gedetecteerd worden; dat is zeer onwaarschijnlijk, en aangezien je keihard rondjes loopt in die main loop, zul je het grootste deel van de tijd onterecht één van de twee als eerste meten, en dan blijf je omhoog of omlaag lopen tot er iets stuk is, want niveau nul komt nooit.

Vervolgens gaat het mis als de sensor van " te hoog" naar "te laag" gaat zonder tussendoor een signaal nul te geven (dat kan gemakkelijk vanwege het knipperen), want ook dan blijf je eindeloos dezelfde kant op lopen.

Tot slot gebruik je maar 3 van de 5 sensors, dat is niet perse een bug maar wel onhandig.

Een goede programmeur had nog een one-hot detectie toegevoegd, om raar gedag te voorkomen als er onverhoopt meer dan één sensor actief wordt; dat heet defensief programmeren.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

Op 4 september 2020 20:52:08 schreef SparkyGSX:
Ten eerste ga je er hier

code:

If NIVEAU_BOVEN_2 = 1 Then
   If NIVEAU_ONDER_2 = 1 Then
      GoTo GEEN_DETECTIE
   EndIf
EndIf

vanuit dat de beide LEDs EXACT tegelijk knipperen, en tegelijk gedetecteerd worden; dat is zeer onwaarschijnlijk

Als de ontvanger geen laser ziet knipperen ze beide. Dat is dat ik eruit begrepen heb.

Vervolgens gaat het mis als de sensor van " te hoog" naar "te laag" gaat zonder tussendoor een signaal nul te geven (dat kan gemakkelijk vanwege het knipperen), want ook dan blijf je eindeloos dezelfde kant op lopen.

Jet is getest, niets van gemerkt.

Tot slot gebruik je maar 3 van de 5 sensors, dat is niet perse een bug maar wel onhandig.

Ik gebruik ze alle vijf.

Een goede programmeur had nog een one-hot detectie toegevoegd, om raar gedag te voorkomen als er onverhoopt meer dan één sensor actief wordt; dat heet defensief programmeren.

O, iets met de beste stuurlui....... Ik zou zeggen wat let je.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 4 september 2020 21:27:01 schreef Lambiek:
[...]
Als de ontvanger geen laser ziet knipperen ze beide. Dat is dat ik eruit begrepen heb.

Er bestaat niet zoals als "precies tegelijk", en de ingangen worden niet eens tegelijk gesampled; je leest eerst de bovenste, en een paar CPU cycles later pas de onderste. De tijdconstante van de beide versterkers zal nooit exact gelijk zijn, het lijkt me onwaarschijnlijk dat ze hetzelfde zijn binnen een paar honderd nanoseconden.

[...]
Jet is getest, niets van gemerkt.

Als je in SCHUIF_OMHOOG zit, blijf je daar tot NIVEAU_NUL actief wordt, waar of niet? Leg even uit hoe je daar ooit uit komt als je die net even mis (doordat je door een kuil rijdt of zo), en je permanent aan de verkeerde kant van de neutrale positie staat.

[...]
Ik gebruik ze alle vijf.

Waarbij de bovenste 2 sensoren exact hetzelfde doen, en de onderste 2 ook. Weinig nuttig dus.

[...]
O, iets met de beste stuurlui....... Ik zou zeggen wat let je.

De beste stuurlui zijn bezig met betaalde opdrachten voor serieuze elektronica, nu even geen tijd om iets uit te werken.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Lambiek

Special Member

Op 4 september 2020 21:34:36 schreef SparkyGSX:
Er bestaat niet zoals als "precies tegelijk",

Dan wordt het een and functie.

De beste stuurlui zijn bezig met betaalde opdrachten voor serieuze elektronica,....

Vooral doorgaan.

Het valt ook niet mee hé als je niets hebt om te testen. Maar bij jou gaat het altijd in één keer goed begrijp ik. Nou toppie.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 4 september 2020 21:56:23 schreef Lambiek:
Het valt ook niet mee hé als je niets hebt om te testen. Maar bij jou gaat het altijd in één keer goed begrijp ik. Nou toppie.

Dat heb ik nooit beweerd, ook ik maak ook (domme en minder domme) fouten hoor, daar heb ik echt geen illusies over.

Ik vind wel dat je wel erg grote steken laat vallen. In plaats van te bekijken of ik misschien gelijk heb, en er iets van te leren, steek je je kop in het zand. Dan niet.

Mijn mening is wel dat je code van dusdanig slechte kwaliteit is dat je de TS er echt niet mee helpt.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 4 september 2020 21:34:36 schreef SparkyGSX:
[...]Waarbij de bovenste 2 sensoren exact hetzelfde doen, en de onderste 2 ook. Weinig nuttig dus.
[...]

Een pijltje is voor nabij niveau het tweede als het veraf is ( en dan brander er twee pijltjes ).
Als de ontvanger buiten bereik is blijven deze twee continu branden .

@Lead Acid: ik neem aan dat jij deze specifieke ontvanger ook kent? Als de ontvanger buiten bereik is gaan de bovenste en onderste samen knipperen, als ik de TS goed begrepen heb; zeg jij nu dat de twee pijltjes van de richting die als laatste gemeten (te hoog of te laag) continue blijven branden? Wat als het laatste niveau neutraal was?

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Volgens de TS knipperen ze dan, dus ze branden niet continue.

Het lijkt me nuttig, en triviaal, om onderscheid te maken tussen de "net te hoog/laag" en "veel te hoog/laag" lampjes door de snelheid van de correctie te veranderen, bijvoorbeeld met een smoorventiel dat overbrugt kan worden met een extra ventiel of zo.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken