Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Circuit ontwerp voor automatisch raam

Pagina: 1
Acties:

  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
Hallo mede-tweakers!

Ik ben bezig met een automatische aansturing voor mijn klapraam.
Aan mijn raam zit nu een lineaire actuator met 12v DC motor.
Deze stuur ik aan via een 2A dual motor controller.
Voordat ik het raam autonoom wil maken wil ik de handmatige bediening op orde hebben.
Om te voorkomen dat ik door een code fout of een hangende Arduino of RPi mijn raam uit zijn scharnieren druk wil ik de eindstandmelders en inputs koppelen aan standalone componenten.

Als ik op knop 1 druk moet het raam volledig open, druk ik op knop 2 dan moet het raam volledig sluiten.
E1 detecteert of het raam open is, E2 detecteert of het raam gesloten is.

Als ik halverwege het openen of sluiten op de andere knop druk moet de richting veranderen.
Als de eindstand melders ingedrukt worden mag het raam niet meer in de richting bewegen, uiteraard wel de andere kant op.
Niet beide richtingen mogen tegelijk aangeroepen worden.

Dit is mijn circuit:
Circuit ontwerp
2 latches, 2mosfets, 2diodes en een aantal weerstanden.

Breadboard

Ik zou op basis van het circuit denken dat dit precies moet doen wat ik wil maar het werkt nog niet altijd perfect.
Soms reageert het circuit zoals je verwacht en soms branden 2 leds (simuleren de motor richtingen) tegelijk en soms gaat er helemaal niets aan.

Wie ziet, en kan mij vertellen, waar dit fout gaat?

Alvast bedankt!

(mocht je de component keuzes raar vinden,.. dit had ik liggen :+ )

  • raze88
  • Registratie: september 2009
  • Laatst online: 14:19
Iets dat ik niet terug zie in je ontwerp maar om wel aan te denken is een pauze tijd tussen het omkeren van de draairichting van de motor. Dit om je motor heel te houden en een enorme stroompiek te voorkomen. Verwacht dat een 500ms genoeg moet zijn.
Dit zou je ook mooi met bv een arduino oid kunnen doen en is simpel te programmeren. Hierin kun je dan ook voorkomen dat de motor beide richtingen opdraait bij indrukken van beide knoppen tegelijkertijd. Als eindstoppen kun je bv een verbreekcontact nemen waarmee je bijv. de motor voeding afschakeld in geval van nood totdat alles stabiel draait. De eindschakelaars kun je volgens mij ook als interrupt binnen laten komen op een arduino om deze prioriteit te geven.

Nog mooier is een begin schakelaar en een stappenmotor of servo. Hiermee heb je dan geen eindschakelaar nodig maar kun je stappen tellen.

Mischien niet helemaal antwoordt op je vraag maar denk dat je er wel wat mee kunt.

PS een hangende RPi kun je voorkomen door de watchdog te gebruiken. Wanneer deze een x tijd geen update heeft gehad herstart de RPi

Antwoordt op je vraag waarom het circuit de ene keer wel werkt en de andere keer niet kan ik je niet geven. (MAken alle contacten goed contact? Ook je weerstanden op de ingangen naar de ground?) Wel kun je Q1 aan r2 hangen en q2 aan r1 hangen waardoor je voorkomt dat beide uitgangen actief zijn.

[Voor 52% gewijzigd door raze88 op 29-10-2018 16:23]


  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
raze88 schreef op maandag 29 oktober 2018 @ 16:13:
Iets dat ik niet terug zie in je ontwerp maar om wel aan te denken is een pauze tijd tussen het omkeren van de draairichting van de motor. Dit om je motor heel te houden en een enorme stroompiek te voorkomen. Verwacht dat een 500ms genoeg moet zijn.
Toevallig ook een suggestie hoe dit kan zonder Arduino?
raze88 schreef op maandag 29 oktober 2018 @ 16:13:
Nog mooier is een begin schakelaar en een stappenmotor of servo. Hiermee heb je dan geen eindschakelaar nodig maar kun je stappen tellen.
Het is 1 module met motor ingebouwd. Dus (zonder veel geld uit te geven) is dit helaas geen optie.
raze88 schreef op maandag 29 oktober 2018 @ 16:13:
Wel kun je Q1 aan r2 hangen en q2 aan r1 hangen waardoor je voorkomt dat beide uitgangen actief zijn.
Het probleem is dat als de Set en Reset simultaan hoog zijn de uitgang (meestal) hoog is, dit probeer ik op te vangen met de mosfet. Als R hoog is, is de uitgang van de mosfet richting de motor laag.

  • memphis
  • Registratie: oktober 2000
  • Laatst online: 14:19

memphis

48k was toen meer dan genoeg.

De eindstops bij dit soort dingen is vaak op basis van een stroommeeting. Timers gaat niet werken en schakelaars moet je precies uilijnen (zeker op de dicht stand)

Er zijn mensen die mij een GOD vinden


  • raze88
  • Registratie: september 2009
  • Laatst online: 14:19
spork schreef op maandag 29 oktober 2018 @ 16:29:
[...]


Toevallig ook een suggestie hoe dit kan zonder Arduino?
Niet op een simpele manier waarbij je bij de eerste druk op de knop geen vertraging hebt. Anders is er denk ik met een elco die zich op moet laden wel wat te verzinnen? Dit is voor mij al heel wat jaren gelden dat ik hiermee bezig geweest ben. Of mischien iets met een 555 timer of een inschakelvertraging?
memphis schreef op maandag 29 oktober 2018 @ 16:48:
De eindstops bij dit soort dingen is vaak op basis van een stroommeeting. Timers gaat niet werken en schakelaars moet je precies uilijnen (zeker op de dicht stand)
Als je hiermee op timen van het openen en sluiten doelt dan ben ik het met je eens. Dit moet je niet op tijd willen doen. Stroom meeting is inderdaad een optie om eindpunten te bepalen.


Mijn voorkeur zou gewoon uitgaan naar een development bordje met wat software en hiermee wat maken. Is een stuk simpeler en sneller om aanpassingen te maken.

[Voor 3% gewijzigd door raze88 op 29-10-2018 17:01]


  • dragonhaertt
  • Registratie: februari 2011
  • Nu online
spork schreef op maandag 29 oktober 2018 @ 16:29:

Het probleem is dat als de Set en Reset simultaan hoog zijn de uitgang (meestal) hoog is, dit probeer ik op te vangen met de mosfet. Als R hoog is, is de uitgang van de mosfet richting de motor laag.
Kan je dan niet veel beter de Set omlaag trekken met de FET? In plaats van de power dissiperen in die weerstand en FET een logisch signaal omlaag trekken lijkt mij veel logischer.

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
dragonhaertt schreef op dinsdag 30 oktober 2018 @ 08:42:
[...]


Kan je dan niet veel beter de Set omlaag trekken met de FET? In plaats van de power dissiperen in die weerstand en FET een logisch signaal omlaag trekken lijkt mij veel logischer.
_/-\o_
Heb het circuit omgebouwd en zit nu al 10 minuten random op alle knoppen te drukken en heb nog niks raars gezien!


Heb nu alleen nog problemen bij het inschakelen van het circuit.
Een random(?) output wordt high of zelfs allebei. Hoe kan ik dit tackelen?
Zodra er een knop wordt ingedrukt is alles 'hersteld' maar tot die tijd kan er van alles gebeuren :S

[Voor 22% gewijzigd door spork op 30-10-2018 11:56]


  • memphis
  • Registratie: oktober 2000
  • Laatst online: 14:19

memphis

48k was toen meer dan genoeg.

Door over de schakelaar die het liest bediend wil zien bij het inschakelen van het circuit een condensator te zetten die een puls op die schakelaar simuleert bij het inschakelen.

Er zijn mensen die mij een GOD vinden


  • dragonhaertt
  • Registratie: februari 2011
  • Nu online
spork schreef op dinsdag 30 oktober 2018 @ 11:51:

Heb nu alleen nog problemen bij het inschakelen van het circuit.
Een random(?) output wordt high of zelfs allebei. Hoe kan ik dit tackelen?
Zodra er een knop wordt ingedrukt is alles 'hersteld' maar tot die tijd kan er van alles gebeuren :S
Het makkelijkste is waarschijnlijk een (kleine)condensator naar aarde toevoegen bij de Set ingangen. Dit zal fungeren als laagdoorlaat-filter/stabilisatie.
Desnoods in combinatie met een serie-weerstand om een werkelijk low-pass-filter te maken.

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
memphis schreef op dinsdag 30 oktober 2018 @ 12:38:
Door over de schakelaar die het liest bediend wil zien bij het inschakelen van het circuit een condensator te zetten die een puls op die schakelaar simuleert bij het inschakelen.
dragonhaertt schreef op dinsdag 30 oktober 2018 @ 13:25:
[...]

Het makkelijkste is waarschijnlijk een (kleine)condensator naar aarde toevoegen bij de Set ingangen. Dit zal fungeren als laagdoorlaat-filter/stabilisatie.
Desnoods in combinatie met een serie-weerstand om een werkelijk low-pass-filter te maken.
Ik heb zowel bij de twee set poorten als bij de twee reset poorten een condensator toe te te voegen maar er lijkt niet te veranderen..
Waar ik wel achter ben:
De opstart stand is gelijk aan de uitzet stand.

Dus ik heb een reset puls nodig bij het opstarten, maar dat lijkt vooralsnog niet te lukken.

In ieder geval alvast erg bedankt voor het meedenken!

  • BernardV
  • Registratie: december 2003
  • Laatst online: 13-06 10:11
Mocht je toch schakelaars gaan gebruiken om de eindstanden te meten, ga dan wel voor NC schakelaars. Bij een eventuele draadbreuk of wat dan ook zal het systeem een eindstand detecteren ipv denken dat het er nog niet is.

  • dragonhaertt
  • Registratie: februari 2011
  • Nu online
spork schreef op dinsdag 30 oktober 2018 @ 13:37:

Ik heb zowel bij de twee set poorten als bij de twee reset poorten een condensator toe te te voegen maar er lijkt niet te veranderen..
Waar ik wel achter ben:
De opstart stand is gelijk aan de uitzet stand.

Dus ik heb een reset puls nodig bij het opstarten, maar dat lijkt vooralsnog niet te lukken.

In ieder geval alvast erg bedankt voor het meedenken!
Klinkt alsof die driver latchende ingangen heeft, heb je een typenummer voor me? Dan kan ik even in de datasheet kijken.

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
dragonhaertt schreef op dinsdag 30 oktober 2018 @ 13:45:
[...]


Klinkt alsof die driver latchende ingangen heeft, heb je een typenummer voor me? Dan kan ik even in de datasheet kijken.
De motor driver is (nog) geen onderdeel van alle problemen. Ik simuleer de motor uitgangen momenteel met 2 LEDs.
Ik gebruik een CD4013B Dual D type Flip-Flop als latches in mijn schema.
bernardV schreef op dinsdag 30 oktober 2018 @ 13:42:
Mocht je toch schakelaars gaan gebruiken om de eindstanden te meten, ga dan wel voor NC schakelaars. Bij een eventuele draadbreuk of wat dan ook zal het systeem een eindstand detecteren ipv denken dat het er nog niet is.
Zodra ik onderdelen ga bestellen ga ik absoluut voor NC schakelaars! maar vooralsnog doe ik het met alles wat ik in laatjes kan vinden ;)

[Voor 35% gewijzigd door spork op 30-10-2018 15:03]


  • dragonhaertt
  • Registratie: februari 2011
  • Nu online
spork schreef op dinsdag 30 oktober 2018 @ 15:02:
[...]


De motor driver is (nog) geen onderdeel van alle problemen. Ik simuleer de motor uitgangen momenteel met 2 LEDs.
Ik gebruik een CD4013B Dual D type Flip-Flop als latches in mijn schema.
Wat doe je met de D ingang? Lijkt me sterk dat deze flipflops data-retaining zijn bij power cycle (al moet ik ff goed lezen om zeker te weten).

Als je de data floating laat lijkt het me logisch dat de flipflop een undefined startup heeft.

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
dragonhaertt schreef op dinsdag 30 oktober 2018 @ 15:14:
[...]


Wat doe je met de D ingang? Lijkt me sterk dat deze flipflops data-retaining zijn bij power cycle (al moet ik ff goed lezen om zeker te weten).

Als je de data floating laat lijkt het me logisch dat de flipflop een undefined startup heeft.
De D en clock zijn floating. Ik begrijp dat het naar ground trekken van de D mogelijk mijn problemen oplost?

Hoewel ik het dan toch raar vind dat de startup toestand (meestal?) gelijk is aan de laatste toestand.


________________

Inmiddels even geprobeerd alles naar ground te trekken, dit lijkt geen effect te hebben.
Waar ik wel achter denk te zijn: De vorige state blijft alleen behouden bij een snelle power cycle.
mijn power led die ná de voeding zit gaat uit en ik heb verder geen condensatoren in mijn circuit. Dus ik blijf het bijzonder vinden..

[Voor 23% gewijzigd door spork op 30-10-2018 17:17]


  • BernardV
  • Registratie: december 2003
  • Laatst online: 13-06 10:11
Zet eens een 100nF condensator over de voedingslijnen, liefst zo dicht mogelijk bij het IC.

Dit zou je ook kunnen doen met ongeveer 1uF over de schakelaars, om het "denderen" tegen te gaan.

Het is al lang geleden dat ik hiermee "gespeeld" heb, maar uit de PIC tijd en die dingen programmeren hielp dit vaak :D

//EDIT: Even opgezocht, ik vond deze voor de schakelaars: http://www.all-electric.com/schematic/debounce.htm

[Voor 15% gewijzigd door BernardV op 30-10-2018 23:20]


  • memphis
  • Registratie: oktober 2000
  • Laatst online: 14:19

memphis

48k was toen meer dan genoeg.

Op de D kan je een 1 of 0 zetten welke je met een stijgende flank op de clock in de flipflop kunt programmeren wat de uitgang als default moet aannemen. Met een R/C netwerkje op de clock kan je die flank bij het inschakelen creëren.

Er zijn mensen die mij een GOD vinden


  • Illusion
  • Registratie: november 2000
  • Laatst online: 12:50

Illusion

(the art of)

Je wilt dit later automatiseren neem ik aan? Laat dan die latch-functie er lekker uit. Heeft meerdere voordelen:
-scheelt nu gedoe
-kan je later obv tijd ook nog een keer een raam half openzetten
-kan je later mbv software een time-out geven voor het geval een raam geblokkeerd is en nooit zijn sensor haalt.

Soms ben ik er wel, en soms ook weer niet.


  • BernardV
  • Registratie: december 2003
  • Laatst online: 13-06 10:11
memphis schreef op dinsdag 30 oktober 2018 @ 23:19:
Op de D kan je een 1 of 0 zetten welke je met een stijgende flank op de clock in de flipflop kunt programmeren wat de uitgang als default moet aannemen. Met een R/C netwerkje op de clock kan je die flank bij het inschakelen creëren.
Klopt als je de clock gebruikt, maar dan zou je volgens de datasheet de set er reset naar ground moeten trekken en dat kun je met de clock de (D) data zetten. Als je clock en data niet gebruikt werken de Set en Reset ook zoals TS heeft.

  • memphis
  • Registratie: oktober 2000
  • Laatst online: 14:19

memphis

48k was toen meer dan genoeg.

Je zou met een AND poort een inschakelvertraging op de SET en RESET kunnen zetten zodat die een paar tellen op 0 blijft, dan heb je alle tijd on de D in te voeren en daarna de bediening op de SET/RESET vrij te geven.

Er zijn mensen die mij een GOD vinden


  • spork
  • Registratie: maart 2009
  • Laatst online: 13-06 17:54
Ik heb met (nog) 2 mosfets een schakeling gemaakt om te voorkomen dat bij het opstarten beide motor outputs HIGH zijn. En aan het eind een OpAmp (niet inverterende versterker (2x)) geplaatst omdat de uitgangsspanning gedeeld werd met een weerstand in de mosfet schakeling.

Door beide ingangen tegelijk hoog te maken komt alles stil te liggen.

Nu alleen de reset bij de start nog.

Ik ga uiteindelijk een arduino parallel aan de knoppen plaatsen zodat ik alles ook vanuit de arduino kan aansturen. Op die kan ik aan de arduino toevoegen wat ik wil wanneer ik wil maar de basic functies (waaronder het stoppen) blijven werken.
Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True