Commit Graph

25 Commits

Author SHA1 Message Date
Matt McWilliams 937cb85141 Rename encoder motor files drive motor (still broken). 2024-02-17 13:06:51 +00:00
Matt McWilliams 1056e81b82 Fill out EncoderMotor methods and add variables to be used to calculate position + speed and used for PID. TODO: rename class because it is not a generic EncoderMotor class, should instead be DriveMotor. 2024-02-17 13:05:43 +00:00
Matt McWilliams 1c1978107d Move all ramp variables to class members. To move the ramp behavior to the Loop() method there will need to be a global timer. 2024-02-17 12:17:26 +00:00
Matt McWilliams 344e1e8d1d Implement pwm ramp up with ledcWrite(), not analogWrite(). Use directional pins to start in particular direction and stop in both. Ramp behavior should move to loop so that it is not blocking loop behavior. 2024-02-16 18:57:57 -05:00
Matt McWilliams 899b52777a Assign pins to the correct pins for motor control 2024-02-14 22:24:18 -05:00
Matt McWilliams fe532a1f65 Start claiming pins 2024-02-11 11:49:46 -05:00
Matt McWilliams bf48f52333 Pass all Setup() and Loop() methods into Arduino setup() and loop() functions. 2024-02-03 16:35:29 -05:00
Matt McWilliams eb3c920d2d Project compiles now with scripts/compile.sh and in the IDE 2024-02-01 11:40:38 -05:00
Matt McWilliams 6321367c97 Create EncoderMotor.cpp. Compiler error on analogWrite using ESP32 build target. Without it the ledc* functions are unavailable. Will pull ESP32 build process over from meterlite. 2024-01-31 23:08:10 -05:00
Matt McWilliams 20d37eb1e6 Add header file for a motor encoder class. 2024-01-30 22:37:02 -05:00
Matt McWilliams a9944f5a47 Caught the error that was making me think I broke my ESP32 dev boards. The ledcWrite() duty cycle was not being set on the pwmChannel. This is intended for LEDS but I don't know if it matters that it's being used for a variable speed DC motor. 2024-01-30 00:12:36 -05:00
Matt McWilliams 11026922ad Bevel the sprockets and add reinforcement to let a bearing fit without issue. 2024-01-25 19:47:32 -05:00
Matt McWilliams de1ef1492b Fix calculate fps, find PWM value that (under no load) is roughly 24fps, calculate rolling fps (very inacurate) ready for analysis in notes and PID implementation. 2024-01-22 21:31:08 -05:00
Matt McWilliams d96e0d30b3 Check against rotations. 2024-01-22 11:42:21 -05:00
Matt McWilliams 78fb25b5a1 Calculate all frames 2024-01-22 11:40:10 -05:00
Matt McWilliams b32f6ad476 Fix the calculateFPS function 2024-01-22 11:39:27 -05:00
Matt McWilliams ec5915a6f9 Start calculating based on pulses, not on incrementing outside the interrupt 2024-01-21 22:32:28 -05:00
Matt McWilliams 5282fbec1c Update the esp32 poc to reflect what it is. 2024-01-21 22:27:40 -05:00
Matt McWilliams d1302e79fd Sketch has been updated to do monitoring of multiple rotations, active monitoring of number of estimated frames. Currently not registering the first ~910 pulses (why??) 2024-01-13 23:29:25 -05:00
Matt McWilliams 86b41954a5 Found ratio, seemingly 11PRR x 62:1 motor gearbox. 2024-01-13 01:33:07 -05:00
Matt McWilliams 6eb06ca724 Proof of concept encoder analysis. Still to not have a solid gear ratio but it's clear the encoder is very likely 11 PPR. Rotations take ~650 pulses, maybe 660 but it's hard to tell because the gearing makes stopping inconsistent. 2024-01-12 23:33:04 -05:00
Matt McWilliams d512a56b03 Arduino sketches, proofs of concept for different features 2024-01-11 23:14:02 -05:00
Matt McWilliams abc2054600 Define IO behavior 2023-05-25 10:40:02 -04:00
Matt McWilliams 7dc33b5dc1 Rough draft of new contact printer library and class layout. 2023-05-25 08:32:42 -04:00
mmcw-dev 41facffab0 All contact printer work to date. 2018-07-14 10:29:43 -04:00