12f629 of 12f675 probleem met leds

Heb het eens geprobeerd en blijkbaar aanvaardt Proton beide schrijfwijzen.
e:/ je had het zelf al ontdekt..

[Bericht gewijzigd door MGP op maandag 16 december 2019 11:25:14 (19%)

LDmicro user.

oef het werkt
bedankt voor de tip arco

pulsin en pulsein doen in proton hetzelfde dus alweer verwarrend maar ik ga vanaf nu pulsein gebruiken dan is het een beetje begrijpelijker voor jullie en voor mij geen probleem om dit om te zetten
de ENDstaat er nu ook na de fail routine

ik kan nu gewoon duiken stijgen en de water detectie werkt ook
gr raf en bedankt voor het mee denken

pic basic code:


Device  12F629

Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON,  MCLRE_OFF 
                                            
Xtal 4
OPTION_REG.7 = 0
WPU.0 =0 
CMCON = 0x07  
        ;543210            ; Hulpregel poorten
  GPIO =%101011        ; Zet gpio 2 en 4 laag laag
TRISB = %001011      ; gpio 0,1,3 als ingang 


Symbol ledwit = GPIO.5     ;code led
Symbol Voeler = GPIO.0      ;watervoeler
Symbol relais1 = GPIO.2    ;duiken
Symbol inpur = GPIO.3    ;impuls in 
Symbol relais2 =GPIO.4     ;stijgen
Symbol setting = GPIO.1    ;nulpunt zetten

 relais1 =  0
 relais2 =  0
Dim b As Byte
Dim vol As Word
Dim leeg As Word
Dim midden As Word
Dim a As Byte
Dim w3 As Word
Dim w4 As Word
DelayMS 5000                   ;ontvanger stabilisering


   
  ;puls waarde die weg geschreven is terug inlezen
If setting = 0 Then GoSub  schrijven   ;b3 is ingang setten ewrite 
  midden =  ERead 0
    If ERead midden = 0 Then GoSub schrijven 
 For a = 1 To 5
    Toggle ledwit 
     DelayMS 800 
  Next
 ledwit = 0

 
leeg = midden - 10
vol = midden + 10
main:
   

  While 1=1
            PulseIn Voeler,1,w4
                If w4 > 40 Then GoSub fail 
         PulseIn inpur,1,w3       ;leeswaarde in variabele W3 
                   If Voeler = 0 Then GoSub tankvol                                                                                                                                                                                                                                                                                                                                         
                  If w3 < vol And w3 > leeg Then GoSub miden
                If  w3 < leeg And w3 > 10 Then GoSub legen
                If  w3 > vol Then GoSub vullen   ' w4 < 100 And
'                
 Wend
 fail:

  ledwit = 0
           relais1 = 0 
           relais2 = 0
    For a = 1 To 10
    relais2 = 1 
    DelayMS 1000
    relais2 = 0
    DelayMS 400
    Next
End          
          
 
 miden:          ;alles in rust relais niet bekrachtigd 
        
        relais1 = 0
        relais2 = 0
         ledwit = 0         
     Return
legen:        ;leeg pompen van de balast tank
      
      relais1 = 0
       ledwit = 1
       relais2 = 1 
       PulseIn inpur,1,w3
        If  w3 < leeg  Then GoTo legen
        b = 1
          
  Return
  
 vullen:        ;vol pompen van de balast tank 
  If b = 0 Then Return
            
            ledwit = 1
            relais2 = 0
           relais1 = 1
            PulseIn inpur,1,w3 
           If Voeler = 1 And w3 > vol Then GoTo vullen
           If Voeler = 0 Then b = 0
          If Voeler = 0 Then GoTo tankvol
         
  Return
  
tankvol:         ;tank vol detectie 
          ledwit = 0
           b = 0
           relais1 = 0 
           relais2 = 0
       
  Return
  
 
 schrijven:

        For a = 1 To 6 
        Toggle ledwit
         DelayMS 200
        Next
    PulseIn inpur,1,w3       ;leeswaarde in variabele W3     
        EWrite 0, [w3]  
       ledwit = 1
       DelayMS 100
       midden =  ERead 0     
      DelayMS 100    
        Return 
Gr Raf
Lambiek

Special Member

Op 16 december 2019 11:31:01 schreef raf janssens:
pulsin en pulsein doen in proton hetzelfde

Dat maakt inderdaad niet uit, het kan beide.

ik kan nu gewoon duiken stijgen en de water detectie werkt ook

Haal je nu het signaal binnen van de ontvanger, dus het 50Hz signaal of anders?

Als je haar maar goed zit, GROETEN LAMBIEK.

hoi Lambiek

ja ik gebruik het ontvanger signaal van 50Hz als tweede pen op de voeler
het is wel heeeeeel gevoelig moet ik zeggen en daar moet ik nog iets aan gaan doen
ik heb nu w4 > 40 staan maar ik kan dit nog verhogen en zo misschien de gevoeligheid bij sturen .maar dat moet ik nog proberen

ok ik ga corrosie krijgen op de voeler want die 50hz is niet hoog genoeg maar dat is geen probleem daar de voeler niet heel de tijd in het water zit
eigenlijk mag die nooit water voelen lol want als die wel water voelt is er een groter probleem dan die corrosie van die voeler

https://www.youtube.com/watch?v=ThcfyWP8iUE&feature=youtu.be
gr raf

Gr Raf
Lambiek

Special Member

Op 16 december 2019 11:49:15 schreef raf janssens:
ik heb nu w4 > 40 staan maar ik kan dit nog verhogen en zo misschien de gevoeligheid bij sturen .maar dat moet ik nog proberen

Dat moet helpen als het goed is, dan zou het later moeten reageren.

ok ik ga corrosie krijgen op de voeler want die 50hz is niet hoog genoeg maar dat is geen probleem daar de voeler niet heel de tijd in het water zit

Heb je ook gekeken of je geen gasbellen bij je elektroden krijgt?, dat is eigenlijk veel belangrijker.

Als je haar maar goed zit, GROETEN LAMBIEK.

hoi Lambiek
de elektroden zitten eigenlijk nooit in het water
dit is een fail safe procedure indien er water in de boot zou komen
dan schakelt ze dus de pomp op leeg pompen om zo de boot naar de oppervlakte te brengen
de boot hoeft zelfs niet helemaal boven te komen als de boot maar zichtbaar word voor die er mee vaart
en zo naar de kant kan komen
deze fail safe is reeds op andere forums een discutie probleem geweest dat wil je niet weten
want ik ben er geen voorstander van
eventjes uitleggen wat er gebeurt
je gaat duiken en dus pak je water binnen ;de lucht word samen geperst in je water dicht gedeelte en zorgt zo voor overdruk
heb je een lek dan zie je lucht bellen komen en is het aan geraden om niet te gaan duiken

ontstaat dat lek nu tijdens het waren dan zie je dat dus niet (O ring kapot of een as die begint te lekken)
de fail save pompt dan ja tank leeg maar creeert zo onderdruk in het water dichte gedeelte wat dan resulteert dat je door het lek meer water binnen zuigt en je boot dus terug onder gaat gaan
en daar zijn dus voor en tegen standers van
mijn idee daar over is detecteren en voor een klein beetje leeg pompen en dan NIET meer kunnen duiken
als je de boot ziet en hij duikt niet meer weet je dat je naar de kant moet komen

de andere strekking is volledig leeg pompen

gr raf

Gr Raf
Lambiek

Special Member

Op 16 december 2019 12:26:53 schreef raf janssens:
ontstaat dat lek nu tijdens het waren dan zie je dat dus niet (O ring kapot of een as die begint te lekken)
de fail save pompt dan ja tank leeg maar creeert zo onderdruk in het water dichte gedeelte wat dan resulteert dat je door het lek meer water binnen zuigt en je boot dus terug onder gaat gaan
en daar zijn dus voor en tegen standers van

Die gebruiken dus alleen het overdruk principe om te duiken, niet zo slim dus.

mijn idee daar over is detecteren en voor een klein beetje leeg pompen en dan NIET meer kunnen duiken

zou persoonlijk ook mijn keuze zijn. :)

Als je haar maar goed zit, GROETEN LAMBIEK.
Arco

Special Member

Corrosie kun je makkelijk voorkomen. Waterdetectie lukt ook prima (capacitief) met geisoleerde electrodes of draad.
Hier geldt: hoe dunner de isolatie hoe beter. Wikkeldraad werkt goed (in droge toestand ~10pF, ondergedompeld ~250pF)
Als je een metalen boot hebt nog makkelijker: heb je maar 1 draad nodig, andere pool is het casco...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

arco dat lukt niet omdat daar heel de print niet voor gemaakt is

dan zouden er meer componenten op de print moeten komen en ze staat reeds aardig vol
als je de ruimte hebt dan zou ik zeggen ok doen maar in een buis met 4 cm diameter heb je gewoonweg geen plaats om ook maar iets groter te maken
het zou zelfs nog kleiner moeten maar relais vinden die op 5 volt werken en meer dan 1 amp trekken die zijn dun gezaaid

@ lambiek
alle model duikboten duiken zo ;er zijn er die zelfs de wtc nog op pompen om meer druk te krijgen
het idee is hoe meer druk langs binnen hoe dieper je kan duiken omdat je buis sterker word

alleen rcabs werkt anders maar daar is het gevaar dat je boot afzuipt als de accu leeg is en dat is dus alleen doenbaar in een basin of zwemdok en niet in open water

gr raf

Gr Raf
Lambiek

Special Member

alle model duikboten duiken zo

Er gaat een duikwereld voor me open. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

lol

ja lambiek nooit te oud om te leren

ok volgend probleem

pic basic code:


Device = 10F200

Config IntRC_OSC, CP_OFF, MCLRE_OFF



GPIO = %1111
trisio =%0000

All_Digital TRUE                                            
Declare Xtal = 4


Dim a As Word 
Dim b As Word

While 1 = 1
 Toggle GPIO.2
   For a = 1 To 1000
      For b = 1 To 60
      Next
  Next

Wend 
End

trisio of trisgpio of elke afgeleide kent hij niet maar eigenlijk geen probleem want ik moet maar 1 uitgang hebben
en dat is GPio.2
deze stuurt een led over een potmeter zodat deze led niet te hard brand

nu dat ding laat zich alleen maar programmeren via icsp
en daar loopt het fout
ik heb dit nog gedaan met 16f628 en 12f6299 en dit allemaal zonder problemen
er is verbinding met de processor want ik kan hem lezen maar normaal als hij leeg is staan daar allemaal FF en nu OO
en als ik dan het programma van hier boven er wil in zetten dan ????loopt het fout
wat doe ik verkeerd of is dit zo een shit processor met meer heuvels dan dalen om hem te programmeren
de manual heb ik gedeeltelijk gelezen en daar staat wel iets in over tris maar volgens mij doe ik niets verkeerd

delayms 500 Bv pakt het programma ook niet aan daarom die stomme twee geneste loops in elkaar

iemand een idee

gr raf

Gr Raf

Ik vermoed dat je iets aan de programmeerpinnen hebt hangen zoals een led en dan werkt het niet.

LDmicro user.
Arco

Special Member

want ik kan hem lezen maar normaal als hij leeg is staan daar allemaal FF en nu OO

Heb je dan wel een ERASE gedaan?

OSCCAL kun je via Tools -> OSCCAL -> Auto regenerate doen.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Anoniem

Kijk eens naar je device in Pickit2 :(

Middag allemaal
nee de chip zit alleen op de print er zit nog geen andere hard ware op

buiten op gpio.2 de regelbare weerstand die voor de rest ook nergens is aan gesloten
zie hier een foto van beide printjes

ja weet ik dat die op 10f220 staat maar ik had ergens gelezen dat als de 10f200 niet lukt je kans had met 10F220

ik zal het opnieuw doen met de 10F200 instelling

Gr Raf

zo terug gedaan met 10f200 instelling en het resultaat blijft hetzelfde

gr raf

[Bericht gewijzigd door raf janssens op vrijdag 20 december 2019 11:52:24 (28%)

Gr Raf
Lambiek

Special Member

Waarom gebruik je niet gewoon een acht pins, hou het bij één type. Een waar bijv. analoog op zit en pwm, dan heb je altijd wel iets voorhanden op een kleine controller. Die twee pinnen meer maakt ook niet uit qua ruimte.

Als je bijv. een 12F683 neemt, daar zit alles op, dan kun je die 12F629, 12F675, enz. allemaal laten vervallen.

Als je haar maar goed zit, GROETEN LAMBIEK.

als ik nadien een blak doe en daarna kijk of hij leeg is dan geeft de pickit 2 aan dat het geheugen niet leeg is beginnende op adres 0x000000

Gr Raf
Arco

Special Member

Nogmaals, heb je een ERASE gedaan?

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Anoniem

Als je bijv. een 12F683 neemt, daar zit alles op, dan kun je die 12F629, 12F675, enz. allemaal laten vervallen.

Dat klopt helemaal. Maar eer je daar achter komt zijn er al wat types in je laadjes gesukkeld.
.

zo terug gedaan met 10f200 instelling en het resultaat blijft hetzelfde

Dat kan dan komen omdat in je tabblad tools "code protect" aangevinkt is.
Die overschrijft je cp_off uit je config.
.
Zoals hier iemand zei: Als je denkt dat de compiler het wel voor je oplost ...
Is het ook: Als je denkt dat Pickit ....

hoi lambiek

ok je hebt gelijk maar dat komt omdat ik nu iets bouw waar eigenlijk de ruimte zelfs voor dit ding niet is
en dan telt elke cm²wel .zelfs de print is te dik die ga ik nog moeten afschuren om ze der in te krijgen
en dat heeft verder niets te maken met het programmeren van dat ding of zie ik dat verkeerd

wat is het verschil tussen de 10f200 en die met 8 pootjes want de 10f200 bestaat ook met 8 pootjes
maar ik heb de icsp bedrading juist aan gesloten dus zie ik niet in waarom het niet zou moeten werken
het programma is juist en ok heb ook een ander geprobeerd maar ook helaas krijg ik het niet in de pic

pic basic code:

 Device = 10F200
Xtal = 4

OPTION_REG.5 = 0 
GPIO.2 = 1

main:

    Toggle GPIO.2
  DelayMS 500
GoTo main
End
Gr Raf

anoniem015
die heb ik nu afgezet maar helaas nog geen oplossing
osscal blijft ook maar steeds 0000 worden al heb ik ze manueel op 0cFF gezet

deze waarde was de oorspronkelijke waarde die in de pic zat

dit is verdomd een moeilijk beestje hoor daar moet ik lambiek gelijk in geven

gr raf

[Bericht gewijzigd door Jeroen op donderdag 23 juli 2020 21:33:58 (2%)

Gr Raf
Anoniem

De erase van Arco, blankcheck, read
Staat waarde voor osccal nog op laatste geheugenplaats

nee hij wist steeds dat laatste geheugen adress mee en daar staat de osccall

Gr Raf
Lambiek

Special Member

Op 20 december 2019 12:39:32 schreef raf janssens:
....en dat heeft verder niets te maken met het programmeren van dat ding of zie ik dat verkeerd

Nou wel degelijk, die 10F200 dingen is één grote ellende. Niet aan beginnen dus.

Als je haar maar goed zit, GROETEN LAMBIEK.