I wanted to dive right into writing my speed measurement and calibration code, but the Arduino acted squirrelly. I revised my motor pulse generation, but that didn't solve the problem. It seemed like the Bluetooth module was outputting bogus data.
I conducted more tests to discover why my data line was streaming garbage. The biggest clue was when I disconnected the Arduino, and the problem persisted. If my problem acted like a disconnected pin, I should check for broken connections, and I found one in the serial line. I repaired it, and the data problems vanished.
I tried to get usable readings off the hall effect module. I tightened up the sloppy readings with an adjustment to the module's potentiometer, but the noise was ridiculous until I ran the motor faster. At 5% speed, the sensor jitter was so bad it interfered with the regular operation, but it looked usable once I tried 20%.
One problem with my setup is that the sensor reads the magnet twice each rotation, but I averaged the values and divided by two. Once I saw consistent results, I converted the output to RPMs and confirmed with a handheld tachometer.
I tightened up the calibrating code to run smoother and more reliably. The motor would accelerate, rest at a given speed, and spin up faster, all the way to full strength. Nothing over 90% was a usable reading, but I probably won't be applying power if I'm already going close to the motor's top speed.
I started writing a function for flying-starts and ramping, and the code worked well at the bench without a load. Whenever I accelerated, no matter how fast the wheel was currently spinning, it would smoothly apply power.
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.
I conducted more tests to discover why my data line was streaming garbage. The biggest clue was when I disconnected the Arduino, and the problem persisted. If my problem acted like a disconnected pin, I should check for broken connections, and I found one in the serial line. I repaired it, and the data problems vanished.
I tried to get usable readings off the hall effect module. I tightened up the sloppy readings with an adjustment to the module's potentiometer, but the noise was ridiculous until I ran the motor faster. At 5% speed, the sensor jitter was so bad it interfered with the regular operation, but it looked usable once I tried 20%.
One problem with my setup is that the sensor reads the magnet twice each rotation, but I averaged the values and divided by two. Once I saw consistent results, I converted the output to RPMs and confirmed with a handheld tachometer.
I tightened up the calibrating code to run smoother and more reliably. The motor would accelerate, rest at a given speed, and spin up faster, all the way to full strength. Nothing over 90% was a usable reading, but I probably won't be applying power if I'm already going close to the motor's top speed.
I started writing a function for flying-starts and ramping, and the code worked well at the bench without a load. Whenever I accelerated, no matter how fast the wheel was currently spinning, it would smoothly apply power.
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
Post a Comment