Sida 1 av 2

Hjälp med servostyrning med timer

Postat: 14 november 2022, 00:30:44
av Robotix
Hej!

Är det någon som kan hjälpa en glad amatör att lägga pusselbitarna på plats.
Jag har experimenterat med 555 kretsar för att styra en servo att gå från 0 grader till 90. Så långt är det inte så konstigt.
Men mitt slutmål är att köra en servo långsamt från 0 grader till 90 grader (ca. 1-2 sekunder), vänta cirka 5 sekunder (gärna ställbart) och sen gå tillbaka till 0 grader.
Jag är ganska säker på att detta kan lösas med en 555 krets också tillsammans med en väl vald kombination av resistor + kondensator (+ eventuellt en potentiometer).

Detta skall köras vid sensor / input och sen vara vilande tills sensorn (ex. en knapp) aktiveras igen.

Mitt mål är att hela lösningen skall dra så lite ström som möjligt då kretsen skall drivas av batterier (ej litiumjon) och i princip vara "död" mellan aktiveringarna.
315520175_1528981544236285_6276581661663940599_n.jpg
Mvh Richard

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 06:35:51
av Icecap
Ska det vara batterisnålt ska du använda en ICM7555 först o främst.

Sedan din önskade funktion:
En 555 är en timer och vad du önsker kräver 2 st timers, en för tiderna till servopulserna o en för cyklusen.

EDIT: Funktionen kan enkelt uppnås medelst en mikroprocessor (µC) - men den kräver att man skapar ett program och bränner in det i µC'n.

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 09:25:12
av svanted
funktionen kan man få på flera sätt.
är användadet av en 555 huvudmålet?

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 12:08:08
av Robotix
Hej alla!

Att det är just 555 spelar nog inte så stor roll mer än att jag började leka med servos och då passade 555 bra.
Jag kikade på ICM7555 datasheet:et nu och det kan nog stämma att det är en bättre kandidat.

Jag har en Arduino och Raspberry PI här framför mig, men jag vill inte blanda in sådana lösningar.
En mindre mikrokontroller kanske hade varit enklare men då krävs det ju andra saker till det som en brännare, etc.
Men jag är väl egentligen öppen för alla lösningar som leder till mål =O)

Hur jag föreställer mig att "flödet" går:
Kretsen är i princip helt död och servon står på 0 grader.
En sensor aktiveras (ex en knapp men helst en touch-less).
En timer körs igång genom att en kondensator laddas upp och denna ligger i serie med ett motstånd.
En 555 krets drar servon till 90 grader.
Vi väntar på att "timern" skall bli klar.
En annan 555 krets drar servon till 0 grader.
Kretsen "dör".

Men som du säger @Icecap, så kanske ytterligare en 555 kan agera timer istället?

Jag är för dålig på att veta vilka kretsar jag skall använda tyvärr. Men är jag ute på rätt väg?
Om ja, så får ni gärna hjälpa mig lite till =O)

Supertacksam!

Mvh Richard

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 12:21:57
av rvl
556 var det visst två 555or i samma kapsel hette, men jag skulle nog också luta mer mot nån liten uC.
"Brännare" har du ju redan: Arduino (eller Rasp).
Robotix skrev: 14 november 2022, 12:08:08 En sensor aktiveras (ex en knapp men helst en touch-less).
Med knapp blir enklare att göra superströmsnålt.

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 12:35:01
av Robotix
Hej rvl!

Tack för tipset kring 556. Skall kolla på den.

Jo, jag inser ju att en knapp skulle kunna göra kretsen "helt död" då man kan bryta strömförsörjningen helt.
Men jag lutar mest åt touch-less, ex. samma funktion som en tvåldispenser att man sveper handen förbi eller endast en kapacitiv touch.

Förlåt min dumhet men hur menar du att jag kan använda en Raspberry PI som brännare för en uC?
I min krets vill jag inte använda ex. Raspberry PI så att säga.

Mvh Richard

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 12:55:49
av rvl

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 13:03:41
av Robotix
Hej rvl!

Tack, skall kika på detta!

Mvh Richard

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 17:38:44
av GeekJoan
Arduino och Raspberry PI kräver inga brännare. Bara koppla in till datorn via USB.

Re: Hjälp med ta detta vidare

Postat: 14 november 2022, 17:41:38
av rvl
Nu gällde det att använda Arduino eller RPi som brännare för annan uC.

Har själv inte använt rPi för att progammera uC, men för BIOS-flashkretsar har jag använt en paj.
(För AVR-kretsar har jag programmerare.)

Re: Hjälp med ta detta vidare

Postat: 15 november 2022, 05:18:44
av persika
Problemet skulle kunna lösas med tre stycken komparatorer ( eller operationsförstärkare).
En skapar en triangelvåg med frekvens motsvarade pwm som servot vill ha. En annan skapar en triangevåg motsvarande rörelsen 0-90 grader. Sen en komparator mellan de två, så får man en pwm som varierar i pulskvot att mata till servot.

Man skulle kunna använda en krets med fyra i, till exempel TL084.

Re: Hjälp med ta detta vidare

Postat: 15 november 2022, 10:16:53
av Robotix
Hej persika!

Oj, oj...tror jag får hålla mig till 555 eller motsvarande. Känns enklare - men jag har kanske fel!?
Även om man löser PWM med komparatorer så återstår fortfarande delay / timer problemet antar jag?

Mvh Richard

Re: Hjälp med ta detta vidare

Postat: 15 november 2022, 10:23:59
av persika
" vänta cirka 5 sekunder (gärna ställbart) och sen gå tillbaka till 0 grader"
Hade jag missat att läsa, så mitt förslag uppfyller inte riktigt önskemålen.

Det går att lösa med analog krets eller med mikrokontroller, båda kräver en del jobb, så det är vilket som ligger närmst kunskapsmässigt, eller vad som är roligast.

Re: Hjälp med servostyrning med timer

Postat: 15 november 2022, 15:58:39
av 4kTRB
Finns ju en modulationspinne att kontrollera pulsvidden hos en monostabil vippa men
om det räcker för 90 grader låter jag vara osagt, moduleringen är inte linjär rakt av tror jag,

Såg den här varianten att få olika sveptider för en vindrutetorkare...
http://www.next.gr/circuits/Wiper-Speed ... 37465.html

Re: Hjälp med servostyrning med timer

Postat: 15 november 2022, 16:20:11
av HUGGBÄVERN
@Robotix - :tumupp:


Jag ska definitivt spana lite på tråden då jag köpte ett par servon och har aldrig jobbat med sådana förut.