תזמון והספק
הקושחה קובעת setMaxSpeed(500) ו־setAcceleration(200),
ודגימת חיישנים כל 2000 ms. מהלך 20° הוא משולש קצר שלא מגיע ל־500 צעד/שנייה —
הדגימה, לא המנוע, היא השהיית המפעל. באותו זמן handleClient() יכול להרעיב פולסים.
למטה: למה סלילי NEMA17 הם המוצר, וה־ESP32 הוא עיגול.
פרופיל תנועה
מעטפת מהירות
—
זווית ומספרים מהקושחה
תקציב לולאה שיתופית
loop() קורא handleClient() ואז stepper.run().
AccelStepper חייב לרוץ לפני מועד הצעד הבא. אין esp_task_wdt בקושחה.
תקיעת I²C יכולה להרעיב גם פולסים וגם את ה־WDT של הליבה.
חסימת WiFi ב-setup
עד 10 שניות של delay(200) לפני loop().
המנוע לא רץ. אחרי timeout האוטו המקומי ממשיך — זה בקושחה, ונבדק.
—
לולאת בקרה
גנט של loop() אחד
handleClient כל איטרציה. I²C + החוק רק כל 2 שניות.
calcOptimalAngle הוא עשרות µs — העיגול ליד HTTP.
שרשרת השהיה + הבזק שמתפספס
תקציב הספק
סלילים מול לוגיקה — לא מדידה
החזקת מנוע: 2 × I²R ל־1.5 A ו־1.5 Ω — רצפה מדף-נתונים, בלי הפסדי מנהל.
ESP32 + WiFi ≈ 180 mA @ 3.3 V. USB 5 V / 500 mA = 2.5 W — מתחת להחזקה.
יום עבודה
כיבוי סלילים בלי תולעת חוסך ואטים ומשחרר את המסך — ראו מחשבון המומנט. פירוט זרם וסוללה: תקציב הספק. אנרגיה זולה ≠ בטיחות.