Koppla ihop PIC mikrokontroller med servodriver?
Koppla ihop PIC mikrokontroller med servodriver?
Har ett problem som jag skulle behöva hjälp med. Har en AC servomotor med tillhörande driver. Drivern har ett antal ingångar bla riktning fram/back samt pulsingång för att rotera. 1 varv = 2500 pulser.
Har byggt en konstruktion (fixtur) där motorn skall rotera 1250 pulser i ena riktningen och sedan 1250 pulser tillbaka.
Någon med erfarenhet av PIC projekt som kan föreslå en konstruktion med PIC
Tack på förhand
Göran G
Har byggt en konstruktion (fixtur) där motorn skall rotera 1250 pulser i ena riktningen och sedan 1250 pulser tillbaka.
Någon med erfarenhet av PIC projekt som kan föreslå en konstruktion med PIC
Tack på förhand
Göran G
Senast redigerad av blueint 19 augusti 2010, 13:05:35, redigerad totalt 1 gång.
Anledning: Rubrik var "PIC"
Anledning: Rubrik var "PIC"
- Klas-Kenny
- Inlägg: 11843
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: Koppla ihop PIC mikrokontroller med servodriver?
Om det enda den ska göra är 1250 pulser framåt och 1250 pulser bakåt så räcker det (och blir över) med en väldigt "enkel" PIC, t.ex en 12F629 eller liknande. Att dömma av schemat så är ju puls och riktningsingågnarna avsedda för 5V signaler så rent hårdvarumässigt ska det bara vara att ansluta dom direkt till PIC'en. Sen behöver du matningspänning till PIC'en, vanligen 5V och en avkopplingskonding.
Men behöver du inte mer grejer, kanske en start- och en stop-knapp för att styra sekvensen? Vilken frekvens behöver du ha ut (dvs hur fort måste motorn snurra) och ska den vara ställbar eller hårdkodad. Behöver PIC'en hantera acceleration/retardation av pulståget eller kan du bara "dunka in" 1250 pulser i drivern och så fixar den acceleration/retardation utan att lösa ut?
Men behöver du inte mer grejer, kanske en start- och en stop-knapp för att styra sekvensen? Vilken frekvens behöver du ha ut (dvs hur fort måste motorn snurra) och ska den vara ställbar eller hårdkodad. Behöver PIC'en hantera acceleration/retardation av pulståget eller kan du bara "dunka in" 1250 pulser i drivern och så fixar den acceleration/retardation utan att lösa ut?
Re: Koppla ihop PIC mikrokontroller med servodriver?
Hej
Går det att göra så att ingång 1 skickar 1250 pulser
ingång 2 skickar 625 ?
Som du skriver så är ska det finnas en start knapp. Servodrivern har även en utgång för "servo ready" som talar om när motorn hittat rätt läge.
Har inte så stor erfarenhet som du nog förstår
Mvh
GG
Går det att göra så att ingång 1 skickar 1250 pulser
ingång 2 skickar 625 ?
Som du skriver så är ska det finnas en start knapp. Servodrivern har även en utgång för "servo ready" som talar om när motorn hittat rätt läge.
Har inte så stor erfarenhet som du nog förstår

Mvh
GG
Re: Koppla ihop PIC mikrokontroller med servodriver?
> Går det att göra så att ingång 1 skickar 1250 pulser ingång 2 skickar 625 ?
I en PIC12F629 som H.O. föreslog är det inga problem (förutom att ingångar inte kan skicka några pulser, då).
I en PIC12F629 som H.O. föreslog är det inga problem (förutom att ingångar inte kan skicka några pulser, då).
Re: Koppla ihop PIC mikrokontroller med servodriver?
Hej,
Allting går - utom små barn och tennsoldater, har jag fått lära mig
Går det att göra så att ingång 1 skickar 1250 pulser ingång 2 skickar 625 ?
Ja.
Som du skriver så är ska det finnas en start knapp.
OK, en start knapp och hur ska den fungera? Ska motorn gå fram och tillbaka EN gång per tryck eller ska den repetera cyklen tills du stänger av strömmen?
Servodrivern har även en utgång för "servo ready" som talar om när motorn hittat rätt läge.
Jaha, och nu ska den också in "i mixen", eller? Det som började väldigt simpelt växer....
Har inte så stor erfarenhet som du nog förstår
Det listade jag ut och det är inga problem. Däremot är det inte så lätt att ge konkreta tips när du inte riktigt vet (eller i alla fall specificerar) vad det är du vill göra.
Det du specificerat hittills är fullt möjligt med även den minsta av PIC'ar men om du ska göra detta så måste du börja i rätt ände så att säga, med den klassiska blink-a-LED t.ex, vilket är i princip det du ska göra, fast lite snabbare kanske. Och det för oss åter till frågan om hur fort motorn ska röra sig och hurvida PIC'en måste hantera acceleration och retardation - det är enklare att om det inte behöver hanteras av PIC'en.
/Henrik.
Allting går - utom små barn och tennsoldater, har jag fått lära mig

Går det att göra så att ingång 1 skickar 1250 pulser ingång 2 skickar 625 ?
Ja.
Som du skriver så är ska det finnas en start knapp.
OK, en start knapp och hur ska den fungera? Ska motorn gå fram och tillbaka EN gång per tryck eller ska den repetera cyklen tills du stänger av strömmen?
Servodrivern har även en utgång för "servo ready" som talar om när motorn hittat rätt läge.
Jaha, och nu ska den också in "i mixen", eller? Det som började väldigt simpelt växer....

Har inte så stor erfarenhet som du nog förstår
Det listade jag ut och det är inga problem. Däremot är det inte så lätt att ge konkreta tips när du inte riktigt vet (eller i alla fall specificerar) vad det är du vill göra.
Det du specificerat hittills är fullt möjligt med även den minsta av PIC'ar men om du ska göra detta så måste du börja i rätt ände så att säga, med den klassiska blink-a-LED t.ex, vilket är i princip det du ska göra, fast lite snabbare kanske. Och det för oss åter till frågan om hur fort motorn ska röra sig och hurvida PIC'en måste hantera acceleration och retardation - det är enklare att om det inte behöver hanteras av PIC'en.
/Henrik.
Re: Koppla ihop PIC mikrokontroller med servodriver?
Hej
Kan ta det från början.
Har en robot som skall utföra ett arbete på en detalj.
Vi kan ta det från början.
Har en fixtur som är i horrisontalläge (drivs av servomotor). Där lägger jag i detaljen. Trycker sedan på start fixturen skall då vrida sig 90 grader. Roboten utför sedan sitt arbete. När den sedan är klar så skall fixturen vridas 180 grader. Roboten utför sitt arbete och när den är klar så ska den återgå till horrisontalläge.
Roboten har ett antal utgångar och ingångar. Skulle vara bra om man kan få en utsignal när fixturen är fixerad i rätt läge.
Mvh
Göran G
Skulle vara oerhört tacksam om någon kan hjälpa mig med detta. (Ersättning utgår)
Kan ta det från början.
Har en robot som skall utföra ett arbete på en detalj.
Vi kan ta det från början.
Har en fixtur som är i horrisontalläge (drivs av servomotor). Där lägger jag i detaljen. Trycker sedan på start fixturen skall då vrida sig 90 grader. Roboten utför sedan sitt arbete. När den sedan är klar så skall fixturen vridas 180 grader. Roboten utför sitt arbete och när den är klar så ska den återgå till horrisontalläge.
Roboten har ett antal utgångar och ingångar. Skulle vara bra om man kan få en utsignal när fixturen är fixerad i rätt läge.
Mvh
Göran G
Skulle vara oerhört tacksam om någon kan hjälpa mig med detta. (Ersättning utgår)
Re: Koppla ihop PIC mikrokontroller med servodriver?
OK, lite bakgrund skadar aldrig! Som sagt allting går.
Du kan ha två knappar, en för +90° och en för -90° som du använder för att "stega" fixturen fram eller tillbaka. Eller så har du tre knappar, en för varje position (0, 90, 180)men då måste man ju utgå från samma läge varje gång annars blir det galet. ELLER har du EN knapp som "stegar" 0, 90, 180, 0, 90, 180 osv men samma sak där, man måste börja i rätt läge om man inte har givare på fixturen som talar om i vilen position den står.
Eller så kan du integrera det hela med roboten, i stil med:
** Två signaler FRÅN robot TILL PIC. Med dessa två signaler "begär" roboten positioner genom att sätta utgångarna till 00 (ogiltig eller ledig), 01 (0°), 10 (90°) ,11 (180°)
** Två signaler FRÅN PIC till servo, dessa är steg och riktning.
** En signal från servo till robot (servo ready). Du säger att denna signal indikerar "servo i position". Om inte det duger eller fungerar måste du ju ha någon form av givare på fixturen.
1) Du trycker Start på roboten.
2) Robotprogrammet sätter utgångarna till 10 (begär position 90°)
3) Robot väntar på att klarsignal från servo faller (eller fast tid) så att motorn hinner börja röra sig.
4) Robot väntar sedan på klarsignal från servo.
5) Robotsekevens körs.
6) Robotprogram sätter utgångarna till 11 (180°)
7) Robot väntar på att klarsignal från servo faller (eller fast tid) så att motorn hinner börja röra sig.
Robot väntar sedan på klarsignal från servo.
9) Robotsekvens körs.
10) Robotprogrammet sätter utgångar till 01 (0°)
11) Allt stannar.
MEN är det "allt", inga referensbrytare för fixturens "hemmaläge", inga gränslägen, inga förreglingar, inga elektromekaniska "låsningar" av fixturen osv osv?
Jag vill inte vara "svår", bara förstå vad du vill....
Du kan ha två knappar, en för +90° och en för -90° som du använder för att "stega" fixturen fram eller tillbaka. Eller så har du tre knappar, en för varje position (0, 90, 180)men då måste man ju utgå från samma läge varje gång annars blir det galet. ELLER har du EN knapp som "stegar" 0, 90, 180, 0, 90, 180 osv men samma sak där, man måste börja i rätt läge om man inte har givare på fixturen som talar om i vilen position den står.
Eller så kan du integrera det hela med roboten, i stil med:
** Två signaler FRÅN robot TILL PIC. Med dessa två signaler "begär" roboten positioner genom att sätta utgångarna till 00 (ogiltig eller ledig), 01 (0°), 10 (90°) ,11 (180°)
** Två signaler FRÅN PIC till servo, dessa är steg och riktning.
** En signal från servo till robot (servo ready). Du säger att denna signal indikerar "servo i position". Om inte det duger eller fungerar måste du ju ha någon form av givare på fixturen.
1) Du trycker Start på roboten.
2) Robotprogrammet sätter utgångarna till 10 (begär position 90°)
3) Robot väntar på att klarsignal från servo faller (eller fast tid) så att motorn hinner börja röra sig.
4) Robot väntar sedan på klarsignal från servo.
5) Robotsekevens körs.
6) Robotprogram sätter utgångarna till 11 (180°)
7) Robot väntar på att klarsignal från servo faller (eller fast tid) så att motorn hinner börja röra sig.

9) Robotsekvens körs.
10) Robotprogrammet sätter utgångar till 01 (0°)
11) Allt stannar.
MEN är det "allt", inga referensbrytare för fixturens "hemmaläge", inga gränslägen, inga förreglingar, inga elektromekaniska "låsningar" av fixturen osv osv?
Jag vill inte vara "svår", bara förstå vad du vill....

Re: Koppla ihop PIC mikrokontroller med servodriver?
Hej
Visst kan man sätta givare på fixturen som talar om i vilket läge den står i.
Start knapp sedan körs sekvensen igenom. Tror att varje del Fixtur(servomotor) och robot ger en signal när den är klar.
Jag är flexibel.
Du ser inga svårigheter i detta ?
Mvh
Göran G
Visst kan man sätta givare på fixturen som talar om i vilket läge den står i.
Start knapp sedan körs sekvensen igenom. Tror att varje del Fixtur(servomotor) och robot ger en signal när den är klar.
Jag är flexibel.
Du ser inga svårigheter i detta ?
Mvh
Göran G
Re: Koppla ihop PIC mikrokontroller med servodriver?
Jag ser inga svårigheter i att programmera en PIC att mata ut 625 eller 1250 pulser frammåt eller bakåt baserat på tillståndet hos två ingångar om det är det du menar.
Sen om det fungerar för dig rent praktiskt vet inte jag. Den största nackdelen jag ser är som sagt att om fixturen inte står i "noll-läge" från början så blir det fel okm man inte utökar systemet med givare etc - och då blir det mer komplicerat.
Sen om det fungerar för dig rent praktiskt vet inte jag. Den största nackdelen jag ser är som sagt att om fixturen inte står i "noll-läge" från början så blir det fel okm man inte utökar systemet med givare etc - och då blir det mer komplicerat.
Re: Koppla ihop PIC mikrokontroller med servodriver?
> Jag är flexibel.
Det fungerar inte. Du bör nog veta vad du vill ha.
Du är ju den ända som vet det (om någon).
Det fungerar inte. Du bör nog veta vad du vill ha.
Du är ju den ända som vet det (om någon).
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Koppla ihop PIC mikrokontroller med servodriver?
En Arduino kan förenkla lite om du inte är van vid att programmera Pic:ar.