Matt McWilliams
|
db1f8c4100
|
Make some sacrifices in the DriveMotor class to make it non-generalizable. Working towards porting timing functions from encoder proof of concept sketch.
|
2024-02-21 16:47:53 +01:00 |
Matt McWilliams
|
1aca2dd5c0
|
Motor behavior is stable. Discarded one of the L298N boards: now we can run the drive motor off one channel and both takeup motors off another. DO NOT USE LESS THAN 2A. Using 1.3A the motor controller board draws too much and shuts it down. Removed the rerences to Picture/Stock and am just using takeup. All progress at Worm.
|
2024-02-20 22:11:13 +01:00 |
Matt McWilliams
|
a39ba5c94d
|
Test second set of pins
|
2024-02-20 12:17:39 +01:00 |
Matt McWilliams
|
0dc3269b31
|
Fixed the pinouts for the drive motor. Temporarily disabled takeup.
|
2024-02-19 13:35:27 +01:00 |
Matt McWilliams
|
6869b6f403
|
Add Serial output for debugging
|
2024-02-19 13:28:16 +01:00 |
Matt McWilliams
|
93a4418545
|
Re-arrange pins
|
2024-02-18 16:48:59 +01:00 |
Matt McWilliams
|
6ab151a664
|
Add placeholder jog_motor sketch in case motors need to be adjusted during use.
|
2024-02-18 10:34:19 -05:00 |
Matt McWilliams
|
2401fcf8e7
|
Create the Lamp class which will abstract to different lamp types before one is settled on.
|
2024-02-17 14:57:26 +00:00 |
Matt McWilliams
|
e1f6085b87
|
Add variables for setting the target fps and rpm
|
2024-02-17 14:18:06 +00:00 |
Matt McWilliams
|
6205cef7f1
|
Add version file and VERSION constant to project
|
2024-02-17 14:00:10 +00:00 |
Matt McWilliams
|
c036aad6cb
|
Rename classes and constructors from EncoderMotor to DriveMotor.
|
2024-02-17 13:09:20 +00:00 |
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 |