I’ve added a new page, Microstepping a stepper motor, which describes how I will be controlling a 200-step stepper motor as if it has 1600 steps per rotation. This will be a very useful technique in my turntable project, as described on my Turntable Calculations page.
Train Speedometer YouTube posted
Just updated the Train Speedometer – Basics page with a link to the YouTube of the NRail September 2023 ZoomTRAK online meetup. The video playback starts at the beginning of my Train Speedometer presentation.
Train Speedometer pages added
Following a presentation I made on the September 2023 NRail.org ZoomTRAK meeting, I’ve written up a pair of new pages for this blog about my example design of an Arduino-based train speedometer, which is designed to measure and display the scale speed of a passing model train, with configurable scale (1:87, 1:160, …) and measured units (km/hr, mph, …). The pages can be found at these links.
Updates to Turntable pages
I am updating my Railroad Turntable page to reflect my change in the design of the motor drive. The changes include:
- 5 volt NEMA 8 miniature stepper motor instead of much larger 12 volt NEMA 17 motor
- 18-tooth pulley gear for 4 mm motor shaft instead of 20-tooth gear for 5 mm shaft
- Recalculation of size of large 3D-printed turntable-side pulley gear
The Turntable Calculations page is also being updated to reflect these changes.
UDP-with-echo updated
My page on my proposed UDP-E (UDP-with-echo) protocol has been updated with a description of the improvements I’ve made and have been testing. This protocol will be used in sending reliable high-performance communications between host computers such as Raspberry Pi’s and microcontroller devices like Arduinos. Please take a look!
Update coming on UDP-with-echo protocol
I’ve been working on improving the UDP-E or UDP-with-echo protocol I describe here to make it more flexible and to improve reliability. I’m currently testing it with a Raspberry Pi as the controller, and an Arduino UNO plus Ethernet shield as the peripheral. The goal is to create a protocol which will allow the controller to send messages to the peripheral, and the peripheral will echo messages back to the controller if the received messages are verified as valid. The controller will retry sending each message if (a) the echoed message is not received by the controller before a timeout occurs, or (b) the echoed message is received but fails validation tests. This protocol should make communications with the UDP protocol more reliable than one would get with data only with UDP. At the same time, this protocol will accomplish this with much less overhead than using TCP, and with performance much closer to real time. Hopefully I’ll have more to report within the next few weeks.
Turntable Calculations page updated
As promised, I’ve updated my Turntable Calculations page to reflect my need to change what type of stepper motor I am designing around. The Python code on that page has also been updated to reflect this change.
Revisions coming on “Turntable Calculations”
Looks like I will be making extensive edits to my Turntable Calculations page very soon. I learned this week that the stepper motor I had chosen for my turntable project is not guaranteed to meet the specifications listed on the web page from which I had ordered it. Specifically, the quoted number of steps per revolution can vary wildly from motor to motor from what the web site had originally stated as 513 steps/revolution. They now put it at 516, but comments on their user forum say users have received those motors with a variety of gear ratios. So I can’t rely on the motor I originally chose. More details coming soon.
Switch Machine Controllers page updated
I’ve updated my page on my Switch Machine Controller design, adding more information on how the controller and driver modules are designed to connect together. This includes a design for an Arduino UNO based test setup to verify that multiple Switch Machine Controllers sharing an I2C bus work as expected.
Update to Switch Machine Controllers
I’ve added a new block diagram to the Switch Machine Controllers page to better showing how the controller and driver modules for controlling switch machines are meant to be connected.