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

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.

Het merendeel zul je zelf moeten doen en aanpassen aan de situatie want ook dat zal een fijntuning van het programma vergen.

En met zo weining info kun je geen programma schrijven, een programmeur moet ALLES tot in de puntjes weten en moet ook een proefopstelling kunnen maken, anders werkt dat niet.

De kans is zowat nihil om een werkbaar geheel in handen te krijgen.

LDmicro user.

Een Triac lijkt me niet de juiste keuze om het toerental van een 230V AC motor te variëren.

mel

Golden Member

Een frequentieregelaar met een tacho lijkt me toch handiger...Wel dan de motor vervangen door eentje van 3 fasen.

Of een gelijkstroom motor gebruiken..
Of een oppikspoeltje dicht bij een bewegend deel zetten.

[Bericht gewijzigd door mel op 5 oktober 2019 10:19:05 (16%)]

u=ir betekent niet :U bent ingenieur..

Om misverstanden te voorkomen zie je hier zo'n vijzelmotor voor pelletkachels.
Vervangen door een 3f motor zal heel heel moeilijk zijn.
Beter te vervangen door een stappenmotor als dat tenminste een optie is, want dat zal ook een hele opgave zijn.
De ventilator zou wel met een dimmer binnen de perken kunnen geregeld worden en ik denk dat deze al standaard geregeld worden naargelang de warmte of toch tenminste in enkele standen.

LDmicro user.

Op 5 oktober 2019 09:12:39 schreef MGP:
En met zo weining info kun je geen programma schrijven.

wat wil je weten, wil je verder kunnen met antwoorden?

Gedachte is:
ingang1 ziet een gewenste waarde 1500 (handmatig ingegeven) kan ook 350 zijn of 1100.
uitgang1 stuurt zoveel % van de sinus door tot
ingang 2 ziet dat er 1500 pulsen binnenkomen van de tacho, zorgt voor afname van uitsturing uitgang1
komen er 1495 pulsen binnen door zware belasting, stuurt uitgang1 meer uit netzolang tot er weer 1500 binnenkomt.
komen er 1505 pulsen binnen door geen belasting, stuurt uitgang1 minder uit netzolang tot er weer 1500 binnenkomt

Uiteraard is de hoeveelheid van de volle sinus nader te bepalen.
Of dat nu 55% of60% is maakt in het begin niet uit.
Motor mag er 2700 maken.

uitgang1 wordt pas actief na een vertraging die gaat lopen zodra op ingang3 de nuldoorgangpuls binnenkomt.
Kleine vertraging geeft volle sinus, grote vertraging klein deel van de sinus.

Lijkt me voor iemand die dagelijks met PIC'jes werkt een fluitje van een cent.

Op 5 oktober 2019 09:46:34 schreef rbeckers:
Een Triac lijkt me niet de juiste keuze om het toerental van een 230V AC motor te variëren.

Ik hoor graag van je hoe het beter kan.

Op 5 oktober 2019 10:17:22 schreef mel:
Een frequentieregelaar met een tacho lijkt me toch handiger...Wel dan de motor vervangen door eentje van 3 fasen.

Of een gelijkstroom motor gebruiken..
Of een oppikspoeltje dicht bij een bewegend deel zetten.

Wat een opmerkelijk antwoord.
Als er iemand vraagt "ik rijd in een auto en moet nu van de 3de naar de 4de versnelling overschakelen, hoe moet dat?"
Geef je dan ook als antwoord dat hij dan maar beter een automaat moet kopen?

Ik begrijp dit niet, sorry hoor.
Ik heb een 230 motor AC met een tacho er op.
Hij is nu ook toerengeregeld.
Dan hoeft er toch geen andere motor in?
Ik weet ook hoe ik een motor DC moet aansturen met PWM.
Maar ook weer niet hoe dat met een toerentalterugkoppeling moet.
;)

Hij is nu ook toerengeregeld.

Het was makkelijk geweest dat in de startpost al te vermelden...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Op 5 oktober 2019 14:10:04 schreef Arco:
[...]
Het was makkelijk geweest dat in de startpost al te vermelden...

Sorry dat ik dat niet heb verteld.
Kan je nu wel antwoord geven, want het verandert weinig.

Behalve dat nu bekend is dat je 230V AC motoren wel toerengeregeld kan maken en dat je die niet door andere motoren hoeft te vervangen. ;)

Meer info over de motor kan helpen.

40W, toerengeregeld en met tacho geeft nog geen duidelijk plaatje.

Wat voor type motor is het?
Wat voor signaal komt er uit de tacho?
Heb je een foto van de motor?
Wat moeten we nog meer weten?

Zolang het probleem niet duidelijk is, is het zinloos om naar een oplossing te zoeken.

Op 5 oktober 2019 13:57:12 schreef stortbak:
[...]
wat wil je weten, wil je verder kunnen met antwoorden?

Kan je nu wel antwoord geven, want het verandert weinig.

Ja, we weten wel wat je wilt en ... ja het kan ...en nee ik ga geen schema maken en/of een programma schrijven.
En Google heeft dat ook niet, maar dat zul je waarschijnlijk al weten.

Een fluitje van een cent is heel relatief hoor ;)
Goed zo?

Tenzij iemand anders zich geroepen voelt, Hunter misschien?

LDmicro user.

Op 5 oktober 2019 14:52:10 schreef Hunter:
Meer info over de motor kan helpen.

40W, toerengeregeld en met tacho geeft nog geen duidelijk plaatje.

Wat voor type motor is het?
Wat voor signaal komt er uit de tacho?
Heb je een foto van de motor?
Wat moeten we nog meer weten?

https://lh3.googleusercontent.com/iT2lti4dSO4FMoJd4ngTsANMxkEU1wy2kGSvl3Asy69YYXCk9vQyhv26SmEANtFbfBQ7Wetx8i2d61lX7UsRTahzYNLadQcl7LGm3wsELBZ8cpqSOdkaKlpuBhSmMnYbFe96PODt23VH3Qt5UKQxSWyz1RpJbGxXArN9DggwUHeRVtagWeLQG7hx-ARqm38xuwmX1Brwx_mkudCnySQhf13pZjaR6Wo7QxD5YdiKhJurgTLShzeN3_iTsnyPBuvSNso3TrXAlYIniCuWhVxZILZoCu0DNvGbkXIs6trq1nukwybNYRA1A2PJfykjTr1R2djoXz2Kkw6kFeSxDBS4CTUr5fhVJya3Zdxm-nsAdTmoqc-Iy9jVLVYmeV3ZGScCzt9O4Vwbq27odPablv2qx2L3ZwjDun-EyaGiGY2fD2wb6jVVFL2ufwN-rvuH_X01CxfXBY4AG5i5dYR8UHPeKe9z-fH1LoxHbrMukLiUkAFqRC6YziRlzVxdLlXKyuBaxqxtj6sEoap0KG70qAxe5Lmw3rZLN4K9CUO_AOBaLkTGqvQbazzOscXRc_eK04kkSUrx1hz8XlMKZNRWCZ8oU2E-XNgH4jr5Wqwj-wGghkcHnhhP6JoMMeVPq9DLfPuMM3D6etVFBosQXtrFntCJEa7zs5AMh8MRFmEHe6o91C7IvmGHf_Gc62Ny=w560-h390-no

Signaal dat de hallsensor geeft heb ik niet bekeken.
Dat is toch gewoon een aan uit contact?
Ga maar uit van 1 puls per omwenteling.

Lambiek

Special Member

Hier heb je een artikel over het regelen van 230VAC motoren. Misschien kun je er iets mee.

https://www.circuitsonline.net/artikelen/view/53

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 5 oktober 2019 22:48:18 schreef Lambiek:
Misschien kun je er iets mee.
https://www.circuitsonline.net/artikelen/view/53

Bedankt Lambiek,
ik was er gisteren al op gewezen door een kennis buiten dit forum.

Ik hoopte stilletjes nog op een beetje hulp voor het vergelijken van de sollwert met de istwert van de tacho.
Het lijkt er op dat "de deskundigen" hier alleen maar graag praten en het ook niet weten.
Erg frustrerend dat, zodra ze echt een antwoord moeten gaan geven omdat er niet meer uitvluchten beantwoord kunnen worden door de vraagsteller, ze afhaken.

Mooi hoofdstuk dat "artikelen", ik had het nog niet eerder gezien. _/-\o_
Bedankt voor het samenstellen.

Op 6 oktober 2019 08:27:27 schreef stortbak:
Het lijkt er op dat "de deskundigen" hier alleen maar graag praten en het ook niet weten.

Dat is een flauwe! er zitten hier veel deskundigen die veel meer kunnen dan zo'n relatief simpel programma te schrijven maar zo'n dingen vragen ook tijd.
Moesten we telkens, hier en elders, ingaan op de vraag om een programma te schrijven dan zouden we niks anders meer moeten doen.
Waarom leer je het zelf niet?

Als je iemand nodig hebt om voor u te werken is er altijd nog de rubriek Vraag&Aanbod in het navigatiemenu.

LDmicro user.

Het is frustrerend dat essentiële informatie ontbreekt. Het toerental van de motor en het signaal van de tacho bijvoorbeeld.

Normaal gesproken is een spleetpoolmotor, zoals op foto, te regelen met een triacdimmer. Deze dimmer moet dan wel geschikt zijn voor inductieve belastingen. Misschien is het handig om eerst eens te testen welk regelbereik dan haalbaar is.

Zolang het probleem niet duidelijk is, is het zinloos om naar een oplossing te zoeken.

Op 6 oktober 2019 08:56:24 schreef MGP:
[...]
Dat is een flauwe! er zitten hier veel deskundigen die veel meer kunnen dan zo'n relatief simpel programma te schrijven maar zo'n dingen vragen ook tijd.
Moesten we telkens, hier en elders, ingaan op de vraag om een programma te schrijven dan zouden we niks anders meer moeten doen.
Waarom leer je het zelf niet?

sorry maar ik heb de topic starter nergens ook maar zien posten dat hij vraagt om een programma te schrijven
jij hebt dit wel reeds een keer of 3 vermeld
en ik denk dat stortbak zelf wel instaat is van dit te doen hij vraagt eigenlijk alleen info over hoe hij met die detectie sensor moet werken kan ik uit de postings op maken .
en of er ergens een bestaand schema is dat hij voor zijn toepassing kan gebruiken of aanpassen aan zijn noden

gr raf

Gr Raf

Op 6 oktober 2019 09:36:16 schreef Hunter:
Het is frustrerend dat essentiële informatie ontbreekt. Het toerental van de motor en het signaal van de tacho bijvoorbeeld.

Normaal gesproken is een spleetpoolmotor, zoals op foto, te regelen met een triacdimmer. Deze dimmer moet dan wel geschikt zijn voor inductieve belastingen. Misschien is het handig om eerst eens te testen welk regelbereik dan haalbaar is.

steeds weer dezelfde vragen zonder antwoorden

de snelheid van de motor is onbelangrijk want deze staat mee in verhouding met de spindel die er op zit
het gaat om de tacho sturing en zoals ik ook vermoed 1 puls per omwikkeling of er moest een schijf in zitten die meer pulsen geeft per omwenteling maar aan de prijs van dat ding te zien vermoed ik gewoon één puls per omwenteling

Gr Raf

Je kunt het oplossen als 2 afzonderlijke problemen; fase afsnijding voor de motor, en een regellus voor de snelheid.

Wat betreft de fase afsnijding kan het inderdaad zo simpel zijn als "wacht op nuldoorgang, wacht even, stuur triac". Je moet daarbij wel opletten dat je in beide helften van de sinus nauwkeurig op hetzelfde moment de triac stuurt, anders krijg je een DC offset, en daarmee een DC stroom door je motor, en als die te groot wordt kan hij gemakkelijk verbranden. Het is dus belangrijk dat je nuldoorgangsdetector dus symmetrisch is, met bijvoorbeeld een simpele optocoupler krijg je een signaal dat niet precies 50% hoog is, en dus niet dezelfde vertraging geeft in beide richtingen (opgaand en neergaand).

Vervolgens is het andere probleem hoe lang je moet wachten na de nuldoorgang, dat kun je oplossen met een PID regelaar. Ik denk dat een PI of zelfs alleen een P regelaar hier goed genoeg is. Er zijn talloze artikelen te vinden over zulke regelaars, en zware wiskunde is echt niet nodig. Het begint met het uitrekenen van de fout, dus het verschil tussen de gewenste en werkelijke snelheid. Met een experimenteel bepaalde versterkingsfactor heb je een P-regelaar, als je die fout gaat integreren om rustig naar de ingestelde waarde te lopen, is het een I-regelaar. Meestal worden deze twee gecombineerd tot een PI-regelaar.

Pas op dat je functies als "PulsIn" niet kunt gebruiken omdat die meestal gaan staan wachten op de volgende puls, waardoor de aansturing van de triac stopt, tenzij die in een timer interrupt loopt.

Als de puls lang genoeg duurt, zou je elke 10ms, na het aansturen van de triac, naar die ingang kunnen kijken. Echter, 2700rpm is 45 omwentelingen per seconde, en dan is 100x per seconde naar de ingang kijken wel erg krap, ook als de puls een halve omwenteling hoog blijft.

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

@Raf, volgens lezen kan de TS best wel voor zichzelf opkomen maar in principe heb je gelijk maar hou ook in gedachte dat je op een forum zit( is een online discussieruimte tussen verschillende gebruikers) ;)

Edit:

Op 6 oktober 2019 10:38:25 schreef SparkyGSX:
Echter, 2700rpm is 45 omwentelingen per seconde, en dan is 100x per seconde naar de ingang kijken wel erg krap, ook als de puls een halve omwenteling hoog blijft.

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.

LDmicro user.

kijk dit is hetgeen wat je op alle forums tegen komt

de TS krijgt geen of bijna geen antwoord op zijn vraag

het enige wat ik van u heb gezien is eigenlijk topic vervuiling terwijl mensen zoals sparky wel mee aan de oplossing aan het denken zijn

en of ik nu op een forum zit of vlak voor je sta dat veranderd geen zier aan mijn mening of uitspraken

of je weet voor geen meter waar het over gaat en hoe het op te lossen
of je weet het wel maar wil het niet zeggen en dus lul je maar wat in het wilde weg

wat maakt dat dan u voor iemand als persoon

gr raf en nog een prettige zondag
ik ga verder nog wat aan de hobby doen want ik heb weer een printje klaar

Gr Raf

Je heb je in dit topic alleen maar boos gemaakt om niets, dat het op alle forums zo is kan ik niks aan doen, daar moet je mee leren leven.
Zolang er geen verwijten vallen is dat geen probleem toch...?

Maar ook ik ga mij verder bezig houden met een proefopstelling te maken voor die DS3231 in het ander topic O-)

LDmicro user.
Lambiek

Special Member

Op 6 oktober 2019 11:13:43 schreef raf janssens:
kijk dit is hetgeen wat je op alle forums tegen komt
de TS krijgt geen of bijna geen antwoord op zijn vraag

Ohw. ??? Nee jij trekt volle zalen met je voorbeelden.

Moest ik even kwijt MGP. :)

Op 5 oktober 2019 09:46:34 schreef rbeckers:
Een Triac lijkt me niet de juiste keuze om het toerental van een 230V AC motor te variëren.

En wat zou dan wel een goede keuze zijn volgens jou? Het is de bedoeling dat je in de positieve en negatieve sinus kan regelen, dus heb je een voorbeeld?

Op 6 oktober 2019 10:38:25 schreef SparkyGSX:
Het is dus belangrijk dat je nuldoorgangsdetector dus symmetrisch is, met bijvoorbeeld een simpele optocoupler krijg je een signaal dat niet precies 50% hoog is, en dus niet dezelfde vertraging geeft in beide richtingen (opgaand en neergaand).

Ben je het weer eens niet eens? :) Heb je het al eens geprobeerd?

Pas op dat je functies als "PulsIn" niet kunt gebruiken omdat die meestal gaan staan wachten op de volgende puls, waardoor de aansturing van de triac stopt, tenzij die in een timer interrupt loopt.

Het commando "PULSIN" bij proton moet je hier inderdaad niet gebruiken, daar zit te veel vertraging op. "kost veel instructie tijd".

@TS,
Je zou ook de stroom kunnen meten en daar op regelen voor een constant toerental.

Als je haar maar goed zit, GROETEN LAMBIEK.

Jammer dat het hier weer gaat zoals gewoonlijk.

Op 6 oktober 2019 08:56:24 schreef MGP:
[...]
Waarom leer je het zelf niet?

Gemakzucht wellicht?
Voor personen die hier doen alsof ze alles weten, is het een koud kunstje om een paar regels copy en paste te doen.
En als je echt een deskundige bent zijn de 4 of 6 benodigde regels ook zo uit je mouw geschud.
Kijk naar dat program van Lambiek.

Ik heb hier zelf een pic16f887 met alle pinnen belegd en nog maar 20 program words vrij, want er zijn 1000 regels in proton gezet.
Dat is wat anders dan een kant en klaar dingetje van €0,79 cent aanzetten.
Ik ben niet helemaal een nitwit.

Verwijzen naar een werksite "vraag en aanbod" slaat natuurlijk helemaal nergens op, evenals dat voorstel om freq/volt te gaan gebruiken, wat in mijn ogen (en in die van anderen, oa Raf) gewoon weer een stapje dwarsuit is om maar weer geen oplossing te hoeven geven.

Op 6 oktober 2019 09:36:16 schreef Hunter:
Het is frustrerend dat essentiële informatie ontbreekt. Het toerental van de motor en het signaal van de tacho bijvoorbeeld.

Die info is reeds geplaatst in bericht 6 en 12 (zaterdag)

Op 6 oktober 2019 09:36:16 schreef Hunter:
te regelen met een triacdimmer. Deze dimmer moet dan wel geschikt zijn voor inductieve belastingen. .

Wat voor triac past er bij 230 V en 40Watt voor die motor?
Of wat moet er speciaal bijstaan in de specs, dan kan ik daar zelf op letten bij het uitzoeken?

Op 6 oktober 2019 10:38:25 schreef SparkyGSX:
Het is dus belangrijk dat je nuldoorgangsdetector dus symmetrisch is, met bijvoorbeeld een simpele optocoupler krijg je een signaal dat niet precies 50% hoog is, en dus niet dezelfde vertraging geeft in beide richtingen (opgaand en neergaand).

Allereerst bedankt voor het geven van een inhoudelijke reactie ipv een ontwijkende.
De opto in het schema van Lambiek zal het ongetwijfeld doen, anders was daar vast al wat over gezegd.
Kan het ook met een AC opto direct (dus zonder brugcel) aangesloten op de AC?
Diodes in de opto of in brugcellen lijken me toch binnen zeer scherpe tolerantiegrenzen te moeten liggen waardoor je geen verschillen krijgt in detectie? Waarom raad je een "simpele opto" dan af?

Ik heb al eerder gezocht naar toepassingen in de pic met pid, dat leverde voor mij niets op. Heb je een voorbeeld ergens staan?

De functie pulsin wordt in het schema van Lambiek gebruikt om de stand van de instelpotmeter te lezen.
In mijn idee heb ik daar een handmatig ingestelde variabele voor in gedachten en dus geen pulsin nodig.

De sturing moet wel elke sinus aansturen , maar mag best pas na 2 seconden de aansturing wat veranderen, anders heb je toch dat alles mogelijk overgecompensserd gaat doorschieten.
Testen zal uitwijzen of de regeling snel genoeg is.
Scheelt dat in de beren die je op dit pad ziet?

De motor wordt nu ook op de 1 of andere manier geregeld, alleen die print is niet toegankelijk om te kunnen afkijken.
De waardes op het display veranderen elke seconde zo lijkt het en dan de ene keer met 10 tegelijk, de andere keer met 100 tegelijk.

edit:

Op 6 oktober 2019 12:21:32 schreef Lambiek:

@TS,
Je zou ook de stroom kunnen meten en daar op regelen voor een constant toerental.

Die optie heb ik ook gezien, maar leek me niet helemaal geschikt, het voelde niet meteen ok.
Kan best zijn dat het wel werkt.
Heb je bij wisselende netspanningen alleen weer andere toerentallen.
En het net hier is vreselijk onstabiel.
Wellicht dat ik dat meteen al "voelde" om dit systeem "af te keuren".

Op 6 oktober 2019 12:21:32 schreef Lambiek:
Ben je het weer eens niet eens? :) Heb je het al eens geprobeerd?

Ik refereerde niet naar een specifiek schema, dat had ik ook niet gezien in het topic, maar jij dacht waarschijnlijk dat ik doelde op jouw schema uit het artikel over het regelen van AC motoren.

Je hebt niet veel afwijking nodig om er een paar procent naast te zitten, en op 230V geeft dat al gauw een DC offset van een paar volt, en afhankelijk van de weerstand van de motor geeft dat dan weer een problematische DC stroom.

Wat je daar hebt gedaan met de optocoupler achter een gelijkrichter is in ieder geval wel symmetrisch, vanwege die gelijkrichter. Je vind online talloze schema's waar de gelijkrichter er niet is, waardoor de optocoupler het grootste deel van de positieve periode aan is, maar vanwege de spanningsval over de LED zijn die flanken dus niet symmetrisch.

Bij jouw schema geeft de spanningsval over de LED in combinatie met een lage spanning van 9V wel een faseverschuiving, maar die is niet zo heel groot, en betrekkelijk constant, dus ook eenvoudig te compenseren in de software, als dat nodig is. Ergo: prima oplossing, bruikbaar voor de TS.

@TS: ik heb geen voorbeelden voor PICs, want ik gebruik geen PICs, maar voornamelijk moderne 32-bitters. De code voor de PID regelaar hoeft niet specifiek te zijn voor een PIC, dat is vrij algemeen.

Simpel is het ongeveer dit:

Error = ProcessValue - Setpoint;
P = Error * Kp;
Integral = Integral + Error;
I = Intergral * Ki;
D = ( ProcessValue - PreviousProcessValue ) * Kd;
PreviousProcessValue = ProcessValue;
Output = P + I + D;

Nu is het gebruikelijk om de gemeten waarde een beetje te filteren voordat je de D (differentiele) actie uitrekent, maar in dit geval zou ik die hele D-term gewoon weglaten.

Eigenlijk vond ik de suggestie van MGP om de tacho middels eens frequentie-naar-spanning omzetter in te lezen nog niet eens zo'n slechte, een ADC inlezen is simpel, en dan hoef je niet te wachten op het volgende pulsje, terwijl je in de tussentijd ook de TRIAC moet blijven aansturen en geen nuldoorgangen mag missen.

Aangezien al zoveel programmeerervaring hebt, kun je dat dus prima oplossen met een input capture interrupt op een hardware timer, dan is het hele probleem er niet. Je kunt de nuldoorgangsdetectie ook op een input capture doen, en de aansturing van de TRIAC op een timer output die gesynchroniseerd is met die input capture timer, dan is de timer echt superstrak, en heb je een boel processortijd over om een schermpje of zo aan te sturen.

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