CRINSA-team2025 V1
Documentation du Club Robot INSA Rennes 2025
Chargement...
Recherche...
Aucune correspondance
StepByStepMotor.h
1#ifndef __STEPBYSTEPMOTOR_H__
2#define __STEPBYSTEPMOTOR_H__
3
4#define STEP_BY_REV (200*16)
5
6#define P_MM 80L
7
8#define ACC 150000L /* 1500 p/s² */
9#define PLAT 9000L /* 1500 p/s */
10#define DECC 150000L /* 1700 p/s² */
11
12class StepByStepMotor
13{
14 public:
15 StepByStepMotor();
16
17 void attach(int step, int dir, int enable, int rst, int sleep);
18
19 void begin();
20
21 void step();
22
23 void update();
24
25 void set_position(double position){m_pos = position; update();}
26
27 void set_speed(unsigned long speed){m_speed = speed;}
28
29 float get_position(){return m_pos;}
30
31 float get_speed(){return m_speed;}
32
33 void enable();
34 void disable();
35
36 private:
37
38 int m_step;
39 int m_sleep;
40 int m_dir;
41 int m_rst;
42 int m_enable;
43
44 float m_current_pos;
45 float m_last_pos;
46
47 float m_pos;
48 unsigned long m_speed;
49 int m_direction;
50 bool m_en;
51};
52
53
54#endif // __STEPBYSTEPMOTOR_H__