PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در راه اندازی سروو موتور



Bio-Engineer
15-02-2010, 16:11
سلام-من یک مشکل توی کار با سروو موتور دارم.من با pic کار میکنم
هر کاری میکنم نمیتونم فرمان مورد نظرم و با سروو اجرا کنم.
مگه اینجور نیست که اگه یه پالس 150 میلی به پایه پالس سروو بدیم شفت موتور باید وسط قرار بگیره؟----------> ولی برای من اینکارو نمیکنه ویه مقدار کوچیک میچرخه ولی وسط نمیاد.
کسی هست که بتونه منو راهنمایی کنه؟

REZA_KLNTR
15-02-2010, 17:42
سلام-من یک مشکل توی کار با سروو موتور دارم.من با pic کار میکنم
هر کاری میکنم نمیتونم فرمان مورد نظرم و با سروو اجرا کنم.
مگه اینجور نیست که اگه یه پالس 150 میلی به پایه پالس سروو بدیم شفت موتور باید وسط قرار بگیره؟----------> ولی برای من اینکارو نمیکنه ویه مقدار کوچیک میچرخه ولی وسط نمیاد.
کسی هست که بتونه منو راهنمایی کنه؟

نه!

شما برای کنترل سروو به یک فرکانس 50 هرتز نیاز دارید که دامنه پالس مثبت رو از 1 تا 2 میلی ثانیه تغییر بده و در 1.5 میلی ثانیه سروو وسط وا میسته درست مثل شکل رو به رو:

در قسمت راه اندازی سروو چندین مدار قرار داده ایم!

Bio-Engineer
16-02-2010, 00:03
یعنی در اصل من باید قطاری از پالس های بین 1 تا 2 میلی ثانی به سروو بدم.درسته؟

REZA_KLNTR
16-02-2010, 10:24
یعنی در اصل من باید قطاری از پالس های بین 1 تا 2 میلی ثانی به سروو بدم.درسته؟

کاملا همینطوره ! یک قطار سیگنال 20 میلی ثانیه ای که میشه فرکانس 50 هرتز و قسمت پالس مثبتش از 1 تا 2 میلی ثانیه تغییر کنه و روی 1.5 میلی ثانیه شما وسط سروو هستید این حالت برای تقریبا همه سرووهای رباتیک هستش!

ehsanware
14-01-2013, 15:30
سلام
آقا من یه پروژه دارم حدودا کاراش رو انجام دادم ولی سر این سروو موتور که آخرشه گیر افتادم نمیدونم چرا کار نمیده هر کاری میکنم.
GWS Mini STD یه برنامه ساده هم که میریزم تو میکرو کنترلر درست کار نمیکنه میچرخه تا آخر و دیگه هیچ کاری نمیکنه همین این پایین هم یه کد ساده میزارم که براش نوشتم ولی کار نمیده: baad:

#include <mega8.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x02;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x80;
TCCR1B=0x12;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1=2500;
OCR1A=2500/10;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
UCSRB=0x00;
ACSR=0x80;
SFIOR=0x00;
ADCSRA=0x00;
SPCR=0x00;
TWCR=0x00;

while (1)
{
// Place your code here
delay_ms(1000) ;
OCR1A=2500/10;
delay_ms(200);
OCR1A=2500/20;
delay_ms(200);
}
}
هر چی هم با عددای OCR1A بازی میکنم بازم جواب نمیده.تو پروتئوس هم امتحان میکنم بعضی موقع ها جواب میده ولی تو عمل جواب نمیده :(
من تو پروژم کلا عدد از کامپیوتر میفرستم به میکرو طبق اون عدد باید با سرغتای مختلف سرو بچرخه یا اینکه اصلا آزاد باشه و هیچ سیگنالی به اون نره. ممنون میشم اگه جوابم رو بدین خیلی نیازه:(