2022-11-18 (F) Weekly Summary

I wanted to measure a dedicated servo signal, so I attached a PCA9685 board and tweaked Adafruit's code to command a servo to move to its lowest position. The waveform was extremely clean compared to the one I generated. I also noticed discrepancies between my measurement techniques and interrupts give a more accurate reading.
PWM generator measurements

I did the same thing with an RC remote and receiver, and the signal was even cleaner, especially when I moved the joystick. I am convinced the problem is mismatched skate speed and motor speed, so I wrote some pseudo-code that would integrate a rotation sensor to synchronize the command speed with the moving speed.
Pseudo-code to enhance motor control

I began converting my pseudo-code into the Arduino sketch. I used single-letter recognition since I didn't have to do anything fancy like recognizing a word plus newline character. A rudimentary Help menu describes the options, and I've begun the calibration code with motor sensing and recording.
Simulated cycle pulses

I paused coding work to test some magnet sensors. I had a hall effect module and a reed switch module. The units were great for testing because they both had onboard LEDs so that I could align them with the motor's internal magnets. When I applied power to the motor, the feedback on my incomplete calibration routine lit up and was probably limited by the baud rate.
Too many real cycles

I converted my serial output to comma-delimited formatting and put it into a spreadsheet. The graph shows almost 1,000 samples, representing 10 magnet pulses each. I was surprised to see approximately 20% between a set's high and low values. Still, it was frighteningly consistent, so I assume this setup will confer reliable results so long as the min and max are within 20% of each other.
946 Samples from 9,460 rotational readings

I found that a reed switch needed to be faster to track the motor's magnets at low speed and settled on the hall effect module. I drilled and tapped the motor pulley, so I will only sense one magnet pulse per rotation. I mounted and wired the module to the Arduino to begin testing with the actual hardware.
Motor pulley with magnet

The rest of the summary posts have been arranged by date.
First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7
Completed projects from year 8

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.

Comments