ايران ويج

نسخه‌ی کامل: استپ موتور
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
یک سوال داشتم:
اگر دو موتور را بخوایم همزمان بچرخد، که هیج ثانیه ای با هم تفاوت نداشته باشند، باید چه کنم؟
برای مثال اگر دستور زیر را بنویسم:
set potrD.0 'motor1
set potrD.1 'motor2

دستورفوق که برای موتور 2 است، پس از روشن شدن موتور 1 اجرا می شود، یا همزمان هست؟
یا در یک لیبل، موتور 1 و در لیبل دیگری، موتور2 باشد، آیا راهی وجود داره که همزمان لیبل ها اجرا شوند؟
برای من همزمانی خیلی اهمیت دارم
اگر نکته ی دیگری می دانید لطفاً راهنماییم کنید
سپاس
دستورات یکی پس از دیگری انجام می شن. میزان تاخیر در حد میکرو ثانیه هست. این تاخیر رو موتور نمی فهمه!
البته ممکنه خود کامپایلر این 2 خط رو یکی در نظر گیرهه و کامپایل کنه که همزمان set بشن.

به هر حال روش برای همزمانی این هست که هر چند تا بیت از یک پورت رو که مد نظر هست با هم مقدار دهی کنید ، یعنی:

کد php:
portd |=0x03

در بسکام شاید این جواب بده!
کد php:
portd portd or 0x03 

موفق باشید.
چطور 2 تا چرخ را با هم گردش بدیم که یکی سرعتش پایین تر باشه یکی بالا تر ؟؟
(۱۵-مرداد-۱۳۹۲, ۱۰:۴۰:۱۶)saeedshams نوشته است: [ -> ]چطور 2 تا چرخ را با هم گردش بدیم که یکی سرعتش پایین تر باشه یکی بالا تر ؟؟

با استفاده از 2 خط PWM مستقل از هم.
حالا اگه این چرخ ها استپ باشن چی اون وقت چیکار باید کرد ؟؟
نقل قول: حالا اگه این چرخ ها استپ باشن چی اون وقت چیکار باید کرد ؟؟
جدا جدا شیفت میکنید تاخیرای یکی رو بیشتر میزارید
خودتون تا حالا تست کردین من یک پورت را کاملا به موتورام وصل کردم 4 بیت کم ارزش یک موتور 4 بیت پر ارزش یک موتور دیگه بعد اول 4 بیت کم ارزش را یک بار شیفت میدم بعد 2 دو بار 4 بیت پر ارزش را اما موتور ها اصلا حرکت نمی کنن این روش اشتباس ؟؟
صفحه‌ها: 1 2