met PIC via triac en met Hall sensor AC motortoeren regelen.

Op 20 november 2019 19:36:09 schreef Lambiek:

Die heb ik ook al geplaatst "ergens hier in het topic" maar als daar niets mee gedaan wordt....

ik meen dat in jouw prog staat
LIMITE_TIMER = 38
daar kreeg ik in 50 seconden 100 tellen.
Ik heb nu LIMITE_TIMER = 80
dan heb ik wel dat 100 secondes 100 tellen geeft.
DUS is er wel wat mee gedaan.

Ik heb toen ook ontdekt dat een afteltimer die door die commentaargever zo de hemel in geprezen wordt (boven de opteltimer), na nul gewoon doortelt en dus weer groter wordt dan 0.
Zeg je dus <0 then..........komt hij daar nooit. Lekker dom advies dus.
Maar dat is ook opgelost, ik heb nu een TMR0 die 2 optel en 2 afteltimers laat "meelopen" op zijn pulsen.

Maar ja, nog steeds zonder interrupts.

Op 20 november 2019 19:22:11 schreef MGP:
1,Maar omdat je aandringt hieronder de LD code.

2,Dan had ik het toch bij het rechte eind, niet uw programma maar Lambieks programma werkt.

1. Ik kijk er niet eens naar. Zonde van je werk, waarom post je het dan, je wist al van te voren dat ik er niets aan heb.
2. Toch krijg je mijn code niet als bewijs.
Na eerdere vragen naar code en schema werd na plaatsen ook niets gedaan.

Heren fijne avond.

Arco

Special Member

@MGP: Waarom besteedt je nog tijd en moeite aan die trol?... ;)

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

Sorry maar ik hoef uw code niet, de mijne is veel beter ..geef mij 3 dagen en uw pelletkachel zal beter werken dan de originele versie :p

Btw: dat is geen zonde van mijn werk, integendeel en ben zelfs niet verrast, want ik weet heel goed hoe een forum werkt en kan mij ook heel goed voorstellen wie er aan de overkant zit.
Dat laatste was trouwens ook een onderdeel van mijn job vroeger.

edit: @Arco ben in een goede bui ;) maar dat was het laatste technisch antwoord.

LDmicro user.

Ik geef stortbak hierin gelijk. Zijn code werkt. Jouw code implementeren is voor hem riskant en moeilijk met daarbij het risico dat hij eindigt met een nietwerkend systeem. Zijn code werkt zonder interrupts en het spul kan ook zonder interrupts (op applicatieniveau) gebouwd worden. Er is ook niks mis met het gebruik van drie pic-jes. Ze kosten niks en het bespaart stortbak een hoop werk. Ik geef toe, het systeem van stortbak kan (hoogst waarschijnlijk) efficiënter gebouwd worden.

Weer een volslagen zinloos bericht, maar:

Op 20 november 2019 20:46:18 schreef Arco:
Aantal geposte berichten 35044

Knap hoor.

.
.
.

Op 20 november 2019 21:20:45 schreef ohm pi:
Ik geef stortbak hierin gelijk. Zijn code werkt zonder interrupts en het spul kan ook zonder interrupts (op applicatieniveau) gebouwd worden. Er is ook niks mis met het gebruik van drie pic-jes.

Dank voor dit waardevolle bericht. _/-\o_

@ohm pi, ik geef hem ook gelijk, het is zijn project, maar gaat dit ellenlange topic daarover?

EDIT Startpost:

Op 5 oktober 2019 08:50:51 schreef stortbak:
Geachte forummers,
is er al iemand die met een pic een 230 AC motor heeft aangestuurd en dan ook nog het gekozen toerental laat vasthouden door gebruik te maken van een hall sensor op de motoras?

Zijn daar al schema's en programmaregels van bekend, die je zou willen delen?

Motoren zijn 40W en minder.
Triac zal iets zijn als de 2N6073
de koppeling gaat via een optocoupler MOC3011
een zero crossing detector zal ook gebruikt moeten worden.
En ik las iets over een snubber (rimpelbluskring schat ik zo in)

Toepassing wordt voor een pelletkachel waarbij de ene motor de vijzel en de andere motor de rookgasventilator gaat aandrijven.

Ben voorlopig de enige die daar een bruikbaar antwoord op gegeven heeft. :p
....en mijn buikgevoel zegt dat hij daar toch gebruik van zal maken :)

LDmicro user.
Lambiek

Special Member

Op 20 november 2019 20:40:06 schreef stortbak:
ik meen dat in jouw prog staat
LIMITE_TIMER = 38
daar kreeg ik in 50 seconden 100 tellen.
Ik heb nu LIMITE_TIMER = 80
dan heb ik wel dat 100 secondes 100 tellen geeft.

Het ligt er helemaal aan wat je nodig hebt en welk kristal je gebruikt. Maar dat kun je inderdaad aanpassen met, "LIMITE_TIMER" dus gewoon een waarde ingeven die voor jou van toepassing is.

DUS is er wel wat mee gedaan.

Als je dat niet meld dat je daar mee aan de gang geweest bent, dat kunnen wij niet ruiken natuurlijk. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 6 oktober 2019 10:41:00 schreef MGP:
Je kunt ook eerst een Freq/Volt (LM331, LM2904 ..) maken en dit inlezen in een pic en vanaf daar verder doen, waarschijnlijk de eenvoudigste oplossing.

Opmerkelijk dat je dat niet in je eigen schema hebt gebruikt.

Dat was voor u de eenvoudigste oplossing, niet voor mij :p

Edit:

Op 20 november 2019 21:23:35 schreef stortbak:
Knap hoor...

Idd heel knap wat die hier doet, ook iemand met heel veel kennis en die het nog wil delen ook en zo kan ik er nog een enkele opnoemen.
Mag ook eens gezegd worden.

LDmicro user.

Op 6 oktober 2019 14:26:30 schreef Lambiek:

Je zou naar een ander pic kunnen kijken, bijv een 18F4520. Heeft de zelfde pinning, maar heeft meer geheugen en andere voordelen.

Bedankt dat je dit toen schreef.
Gisteren de stoute schoenen aangehad en met zonder hulp, de pic werkend gekregen, op de plaats waar de 16f887 zat.
En inderdaad het RTFM was echt nodig.
Het hele programma draaide helaas 2.5 maal trager op hetzelfde 20MHz kristal.
Gek genoeg op een 10MHz kristal dezelfde tijd, maar zonder kristal geen werking.
De pic voelde dus dat er op een kristal moest worden geklokt, maar gebruikte zijn inwendige 8MHz snelheid.
1 bitje extra op 0 en het werkte wel.
Nu is er slechts 35% gebruikt, tegen de 96 die in gebruik was bij de 887.
Ik kan dus nog even vooruit.
Naar de andere voordelen ga ik niet opzoek.

enkele quotes:

Op 22 oktober 2019 15:02:17 :
In het voorbeeld gebruik ik delayms, in plaats daarvan kun je ook met interrupt werken.

Op 29 oktober 2019 10:12:35 :
Zoals Lambiek ook al opmerkte zie ik niet in hoe je zo'n tijdsgebonden programma zonder interrupts kunt maken.

Je zult toch eens wat tijd moeten maken om u eens te verdiepen hoe interrupts werken, daar is veel over te vinden, eerst de handleiding van Protonbasic eens nalezen, algemene artikels over interrupts zijn ook goed en moeten niet noodzakelijk in een bepaalde taal geschreven zijn.

Verspil uw tijd niet aan problemen enkel om wat tijd uit te sparen, een controller is razendsnel maar je moet hem onder controle kunnen houden ;)

Op 30 oktober 2019 11:45:29 :
In de handleiding .....

Maar eerst moet je begrijpen wat interrupts eigenlijk zijn, los van het soort programmeertaal.

Op 30 oktober 2019 13:11:28 :
Zal ik u eens iets vertellen, de dag dat je uw topic geplaatst hebt, heb ik zo'n programma gemaakt in LDmicro en dan nog met PI(d) control.
Het werkte toen al in de simulator

Allemaal geweldige hulp. 8)7

Tussen de bedrijven door heel veel gekloot en gelukkig heel veel meer geleerd.
10 stappen vooruit en 9 terug. |:(
Ook ontdekt dat hoe meer de pic kan hoe minder er werkt als je hem niet juist instelt.

Ik raak aardig thuis in de RTFM en begrijp echt niet dat er zo geheimzinnig gedaan wordt over interrupts en timers.
ALS je eenmaal hebt ontdekt hoe iets KAN werken, is het erg simpel.
Maar blijkbaar is dat "erg simpel" te moeilijk om op een forum uit te leggen voor de "haantjes" hier. :?

De laatste pic die ik heb aangeschaft heeft nog ruimte genoeg.
Echter is het aantal nog vrije poorten beperkt.
Van de 7 beschikbare timers zij er nog 2 8-bits over.
Voor deze pic was wel de nieuwste versie van proton nodig en een pickit3 ipv de pickit2.
Het werkt geweldig. :)

De twee hall sensors die het tacho signaal geven van de motoren, worden gekoppeld aan twee ccp modules en dus twee timers.
.. ..
(getracht is om de frequentie om te zetten in voltage en dat via de analoge ingang van de pic en een berekening tot een toerental te vermaken. De pic vertraagt echter veel te veel)
Twee thermokoppels inlezen op deze manier werkt wel naar behoren.

.. ..
Twee triacs dus twee timers.
(De eerdere wachttijd met een delay gaf een dusdanige vertraging in de pic dat daar niets zinnigs meer uitkwam, wanneer die nog meer moest dan alleen die triac openen en sluiten.)

Getallen oversturen van een rekenpic naar een uitstuurpic ging op den duur ook te traag.
Bovendien kwam door het te beperkte aantal over te sturen waardes de PID regeling niet tot zijn recht.
Alles zit nu in 1 pic en het is nu tijd om daarvoor een print te gaan maken.

Arco

Special Member

Alles zit nu in 1 pic

Toch nog goed gekomen... (dat werd je een half jaar geleden in het begin van het topic al geadviseerd... ;) )

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

Op 28 mei 2020 17:38:44 schreef Arco:
dat werd je een half jaar geleden in het begin van het topic al geadviseerd

Dat heb ik dan vast over het hoofd gezien.