--- type: article-hidden identifier: rc-snow-plow title: Engineering a Remote-Controlled Snow Plow description: Designing, building, and programming a remote-controlled snow plow to push snow and salt pavement. Long-overdue writeup on a project that's been in the works since late 2018. datestring: 2024-09-15 banner_image: /static/images/rc-plow.jpg links: Source Code: https://github.com/JoshuaS3/auto-plow --- During my freshman year of high school (January 2019), I had to undergo surgery to correct [severe scoliosis](/static/images/scoliosis.png). I like to joke that, according to my parents, the absolute *worst* thing about that was that it put me out of commission for snow-shoveling for the season. Inspired by a [YouTube video](https://www.youtube.com/watch?v=tPg1ZMiC9pA) my dad had shown me, and wanting to learn more about robotics and microcontroller programming, I asked my dad for help building our own remote-controlled (RC) snow plow to do the work for us. Here's what it looks like now: Over the past several years, this project has occupied a significant portion of my focus. Working on this has been invaluable to my self-education in mechanical, computer/firmware, electrical, and power engineering. Here I break down the design iterations the project has undergone, as well as plans for the future. # VERSION WANTS: MECHANICAL DESIGN (COMPONENTS, CONSIDERATIONS): ELECTRICAL DESIGN (COMPONENTS, CONSIDERATIONS): FIRMWARE DESIGN: # Plow Mk1 (Winter 2018-2019) The snow plow shown in the video actually isn't the first revision of the snow plow. The first snow plow served more as a proof of concept, or prototype. We just wanted something that would solve the problem statement of "I want a robot that pushes snow for me" as cheaply and quickly as possible, just to prove we could do it. Over the course of a couple of months, we gathered spare materials and built something comprising: * a wooden frame and aluminum plow blade * two 12V car batteries * two 300W @ 24V electric wheelchair motors * all-wheel chain drive * two linear plow blade actuators (one pitch, one yaw) * an Arduino Uno * a dual-channel RoboClaw motor controller and a bit more infrastructure tying everything together. ## Mechanical Subsystem I'm not a very mechanically-inclined person so this was largely my dad's responsibility. - asdf ## Electrical Subsystem - Solid state relay for motor brakes - Relay board for actuators, H-bridge, controlled by Arduino logic-level - 12V inverter provides 5V output for USB to power Arduino (efficiency?)
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
Snow plow parked outside. Lorem ipsum dolor sit amet.
# Plow Mk2 (Winter 2019-2020 and beyond) Wants: - Steel frame - Steel plow blade - Better wheels/tires, simpler chain drive - Headlights - Rear-mounted salt spreader - Variable-speed plow actuation ## Mechanical Subsystem ## Electrical Subsystem ## Plow Mk2.5 (Scrapped) Wants: - On-board battery charging - Properly enclosed electrical system to prevent moisture ingress (water damage, corrosion) - Infrastructure for firmware flashing, so physical access to microcontroller not needed - Framework for upgrading to 48V BDC motors in the future - Modularity - Plow attachment (swap blade out for blower or something else) - Future-proofing, connections for multiple firmware-controlled relays for other future stuff 48V capable, enclosed electric box, onboard battery charging # Plow Mk3 (WIP) Completely overhauled design. Still in the works. Efforts to push the entire electrical design into a single PCBA.