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%)
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%)
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
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?
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
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.
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
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.
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 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
Special Member
alle model duikboten duiken zo
Er gaat een duikwereld voor me open.
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
Ik vermoed dat je iets aan de programmeerpinnen hebt hangen zoals een led en dan werkt het niet.
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.
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
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%)
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 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
Special Member
Nogmaals, heb je een ERASE gedaan?
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
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%)
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
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.