Noob vraagje. Ik heb uit China twee lineaire actuators laten komen
, en aangezien eentje wat trager is heb ik die open gemaakt. Nu wil ik ook weten/uitlezen met een ESP als een van beide limit switches geraakt wordt, maar vraag mij af hoe dit te doen.
Langs de schroefdraad zit een stuk plastic met helemaal onderaan de schroefdraad en bovenin een microswitch die ingedrukt wordt. Vanuit de "base" loopt er een rode draad naar boven en die zit voor zover ik kan zien zowel op een pootje van de microswitch gesoldeerd als op "een zwarte cilinder". De andere kant van de microswitch zit vervolgens ook weer aan "dat ding" gesoldeerd en aan een zwarte draad die naar de onderste microswitch gaat waar hetzelfde nog eens herhaald wordt. Dus gesoldeerd aan de microswitch + die zwarte cilinder en de andere kant ook weer een draad op de microswitch + die cilinder. Deze draad wordt vervolgens weer als "rood" opgepakt in de behuizing en loopt van daaruit door naar de motor.
Effectief dus vcc uit voeding => bovenste microswitch + die cilinder => andere kant microswitch + die cilinder => onderste microswitch + die cilinder => andere kant microswitch + die cilinder => motor => grnd van voeding.
Bij de microswitch ziet het er als volgt uit:
Met een multimeter heb ik gemeten en de weerstand tussen beide soldeerpunten is standaard 0 en oneindig op het moment dat ik het contact indruk. Daarnaast heb ik de stroom gemeten tussen de 0 van de voeding en de soldeerpunten. Hier meet ik standaard 12V (wat ook bij de motor hoort) en bij het indrukken van de switch of 0V of 11,xxV. Dit afhankelijk van de draairichting en bij welke switch ik meet.
Mijn vermoeden is als volgt: de switch is aangesloten als NC wat betekent dat er in normale toestand een gesloten circuit is en de motor dus zal draaien. Op het moment dat de switch ingedrukt is is het contact geopend en loopt er dus geen stroom. Echter zal er wel stroom moeten lopen op het moment dat je "de juiste kant" op wilt (als die boven is moet die wel naar beneden kunnen en als die beneden is moet die wel naar boven kunnen).
Mijn vermoeden is daarom dat die zwarte cilinder een diode is? Deze zal de stroom in één richting doorlaten. En omdat de motor een richting op draait op basis van de richting van de stroom (stroom op vcc aansluiting is linksom, stroom op grnd is rechtsom) zal de diode ervoor zorgen dat de omgekeerde richting wel mag? Dus onder normale toestand, waarbij de actuator geen switch raakt, zal de stroom sowieso altijd over de microswitches heen gaan (gezien deze NC zijn). Daarnaast zal een van beide diodes (één van beide dus, niet beide tegelijkertijd) de stroom ook doorlaten (draait die omhoog zal de onderste diode gesloten zijn, draait die omlaag de bovenste).
Op het moment dat die omhoog draait zal de bovenste microswitch uiteindelijk geraakt worden en zal het circuit daar geopend worden. En de diode zal in dat geval geen stroom door laten. Wordt de richting van de stroom omgedraaid dan is de microswitch nog steeds open, echter loopt de stroom dan wel door de diode en zal de motor dus draaien. Correct?
En dan terug naar mijn originele vraag: hoe kan ik detecteren of er beweging is / stroom loopt? Dus zeg maar: hoe kan ik deze 12V of de microswitch op een ESP aansluiten. Ooit heb ik hier een antwoord ontvangen om van 5V naar 3,3V te gaan (om als aan/uit input te gebruiken) middels een voltage divider. Ik vermoed dat hetzelfde idee hier ook zou kunnen werken? Echter zit ik dan ook nog met de richting van de stroom? 12V terug naar 3.3V zal werken, maar als de stroom andersom loopt (en motor de andere kant op draait) zal het -12V en dus -3.3V zijn? En dat zal denk ik niet werken (als GPIO input).
Wie zou mij dus een zetje in de juiste richting kunnen geven? Het gaat mij in dit geval ook niet perse om te weten welke richting de motor uit draait (dat weet ik al omdat ik vanuit de ESP via een L298N de motor aanstuur) maar dus specifiek om of die nog draait zodat ik in software weet of die gestopt is of wel nog de gewenste richting uit draait.