Maxbegränsare tilltid
Maxbegränsare tilltid
Hej,
jag undrar om någon har en ritning på en enkel "till-tids-begränsare" (eller vad man ska kalla det).
Jag har en arduino som styr en liten pump som ska dosera en liten mängd vätska varje dygn. Jag vill försäkra mig om att ifall arduinon hänger sig under dosering så ska pumpen max kunna gå i 30s.
Pumpen styrs via en transistor.
jag undrar om någon har en ritning på en enkel "till-tids-begränsare" (eller vad man ska kalla det).
Jag har en arduino som styr en liten pump som ska dosera en liten mängd vätska varje dygn. Jag vill försäkra mig om att ifall arduinon hänger sig under dosering så ska pumpen max kunna gå i 30s.
Pumpen styrs via en transistor.
Re: Maxbegränsare tilltid
Har ingen ritning jag kan ge dig på rak arm men det låter som ett job för en klassisk 555 eller ett RC-nät och SR-latch (företrädesvis med schmitt-trigger på ingången).
Utgången på endera driver ett relä/halvledarrelä/transistor.
Utgången på endera driver ett relä/halvledarrelä/transistor.
Re: Maxbegränsare tilltid
I grunden bör man i det läge använda watchdog och interruptstyrning.
I main-loop ställer man en variabel till ett känd mönster och i en timer-interrupt med lagom hastighet.
Om variabeln är "rätt" ställer man den till ett annat värde och nollställer watchdog'en.
Om main-loop hänger sig kommer watchdog'en att nollställa µC'n vilket såklart nollställer utgången.
Men om det ska säkra mot kortsluten transistor blir det strax svårare.
I main-loop ställer man en variabel till ett känd mönster och i en timer-interrupt med lagom hastighet.
Om variabeln är "rätt" ställer man den till ett annat värde och nollställer watchdog'en.
Om main-loop hänger sig kommer watchdog'en att nollställa µC'n vilket såklart nollställer utgången.
Men om det ska säkra mot kortsluten transistor blir det strax svårare.
Re: Maxbegränsare tilltid
Jag håller med H.O här, RC-länk, komparator, relä är den lösning som har högst integritet.
RC-länken sätts då parallellt med pumpen, d.v.s. så länge pumpen har spänning laddas kondensatorn upp. När kondensatorn når en viss spänning så triggar komparatorn och bryter relät.
Jag skulle sätta relät med självhållande koppling på matningen till hela kretsen, har pumpen spänning i mer än 30 sekunder så bryts alltså spänningen till hela systemet och kräver manuell återställning.
RC-länken sätts då parallellt med pumpen, d.v.s. så länge pumpen har spänning laddas kondensatorn upp. När kondensatorn når en viss spänning så triggar komparatorn och bryter relät.
Jag skulle sätta relät med självhållande koppling på matningen till hela kretsen, har pumpen spänning i mer än 30 sekunder så bryts alltså spänningen till hela systemet och kräver manuell återställning.
- Jan Almqvist
- Inlägg: 1581
- Blev medlem: 1 oktober 2013, 20:48:26
- Ort: Orust
Re: Maxbegränsare tilltid
Eller en kapacitanspump som ger en negativ spänning till pumpen och som drivs med pulser från Arduinon. Om Arduinon stoppar eller om det blir kortis i någon transistor stannar motorn nästan direkt. Med några få billiga komponenter får man en väldigt säker funktion.
Re: Maxbegränsare tilltid
Enklaste borde väl i alla fall vara en 555 kopplad som One-Shot, med den valda pulstiden (30s) eller vad det nu var.
Up'n triggar 555an vid behov.
555an driver sedan trissan och pumpen.
Up'n triggar 555an vid behov.
555an driver sedan trissan och pumpen.
Re: Maxbegränsare tilltid
Om pumpen normalt ska gå mindre än 30 sekunder funkar ju inte en oneshot på 30 sekunder.
En lösning som kräver pulser för att driva är ganska bra också, men den är inte immun mot att mjukvaran buggar och hamnar i en loop där den fortsätter skicka pulser hela tiden.
En lösning som kräver pulser för att driva är ganska bra också, men den är inte immun mot att mjukvaran buggar och hamnar i en loop där den fortsätter skicka pulser hela tiden.
Re: Maxbegränsare tilltid
Jodå, man kan koppla resetpinnen 555an med en pullup till ytterligare en IO-pinne, så kan man släcka 555an när man vill
Re: Maxbegränsare tilltid
Men vad gör man om 555:an pajar och hela tiden är "på"?
Det där är egentligen ett grundläggande problem med de flesta lösningarna: Hur vet man att skyddsfunktionen är hel när den ordinarie funktionen lägger av? Skyddsfunktionen kanske går sönder först, men det märker man kanske inte så länge den ordinarie funktionen funkar som den ska.
Även lösningen med RC-länk har samma brist: Vad händer om kondingen pajar så dess läckström blir så hög att den aldrig blir fulladdad? Eller om motståndet brinner till avbrott?
Regelbunden självtest eller föreskriven regelbunden manuell test brukar man behöva i såna lägen.
Det där är egentligen ett grundläggande problem med de flesta lösningarna: Hur vet man att skyddsfunktionen är hel när den ordinarie funktionen lägger av? Skyddsfunktionen kanske går sönder först, men det märker man kanske inte så länge den ordinarie funktionen funkar som den ska.
Även lösningen med RC-länk har samma brist: Vad händer om kondingen pajar så dess läckström blir så hög att den aldrig blir fulladdad? Eller om motståndet brinner till avbrott?
Regelbunden självtest eller föreskriven regelbunden manuell test brukar man behöva i såna lägen.
Re: Maxbegränsare tilltid
Jo det är alltid så med redundans.
Någonstans är det tillräckligt, och det får riskanalysen tala om.
Någonstans är det tillräckligt, och det får riskanalysen tala om.
-
- Inlägg: 7812
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Maxbegränsare tilltid
Ska pumpen aldrig gå mer än max 30 sekunder kan man väl bara låta Arduinon dra ett tidrelä som är inställt på 30 sek. med en pinne och köra pumpen genom reläet via den pinne som styr hur länge pumpen skall gå.
När pumpen gått så länge den skall så bryter Arduinon som den skall och tidreläet går sina 30 sekunder utan att pumpen går. Om inte Arduinon bryter så bryter tidreläet allt efter 30 sekunder, eller har jag fattat problemet fel?
När pumpen gått så länge den skall så bryter Arduinon som den skall och tidreläet går sina 30 sekunder utan att pumpen går. Om inte Arduinon bryter så bryter tidreläet allt efter 30 sekunder, eller har jag fattat problemet fel?
Re: Maxbegränsare tilltid
Det var i princip det jag föreslog med en 555a.
Tidreläer brukar inte finnas för så låga matningsspänningar, utan de ligger normalt på från 24V.
Tidreläer brukar inte finnas för så låga matningsspänningar, utan de ligger normalt på från 24V.
-
- Inlägg: 7812
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Maxbegränsare tilltid
555 visst. Med tidtrelä menar jag ett färdigt tidrelä. inte en 555 som man måste bygga ihop till ett tidrelä. t.ex Delay Switch Timer
Men det är klart att har man ett 24 volts tidrelä så kostar en Step Up Regulator 8 spänn på ebay så det är heller inga problem.
Men det är klart att har man ett 24 volts tidrelä så kostar en Step Up Regulator 8 spänn på ebay så det är heller inga problem.
Re: Maxbegränsare tilltid
Men man kan ju köpa en 555a för typ noll och ingenting hos Swech eller någon annan här, ett eller två motstånd, en eller två kondingar så är man i hamn, total kostnad blir runt en tia eller två, plus eventuell frakt.
Re: Maxbegränsare tilltid
Kör två arduinos och två reläer, låt de kommunicera mellan med ex i2c. Här kan du även isolera i2c och köra separat matning.
Nu är det två olika kretsar som ska fallera...
Reläerna kör du serie så du har två som måste dra för att pumpen ska fungera...
Uart kan du även köra...
Edit: Gör du hårdvaran rätt så kan den ena checka funktionen på reläet på den andra utan att aktivera pumpen...
Nu är det två olika kretsar som ska fallera...
Reläerna kör du serie så du har två som måste dra för att pumpen ska fungera...
Uart kan du även köra...
Edit: Gör du hårdvaran rätt så kan den ena checka funktionen på reläet på den andra utan att aktivera pumpen...