1 | --- |
2 | type: article-hidden |
3 | identifier: rc-snow-plow |
4 | title: Engineering a Remote-Controlled Snow Plow |
5 | 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. |
6 | datestring: 2024-09-15 |
7 | banner_image: /static/images/rc-plow.jpg |
8 | links: |
9 | Source Code: https://github.com/JoshuaS3/auto-plow |
10 | --- |
11 |
|
12 | During my freshman year of high school (January 2019), I had to undergo |
13 | surgery to correct [severe scoliosis](/static/images/scoliosis.png). I like to |
14 | joke that, according to |
15 | my parents, the absolute *worst* thing about that was that it put me out of |
16 | commission for snow-shoveling for the season. Inspired by a |
17 | [YouTube video](https://www.youtube.com/watch?v=tPg1ZMiC9pA) my dad had |
18 | shown me, and wanting to learn more about robotics and microcontroller |
19 | programming, I asked my dad for help building our own remote-controlled (RC) |
20 | snow plow to do the work for us. Here's what it looks like now: |
21 |
|
22 | <iframe style="max-width:720px;max-height:405px;display:block;margin:0 auto 1em auto" src="https://www.youtube-nocookie.com/embed/NOkGwRdGm9s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> |
23 |
|
24 | Over the past several years, this project has occupied a significant portion |
25 | of my focus. Working on this has been invaluable to my self-education in |
26 | mechanical, computer/firmware, electrical, and power engineering. Here I break |
27 | down the design iterations the project has undergone, as well as plans for the |
28 | future. |
29 |
|
30 | # VERSION |
31 |
|
32 | WANTS: |
33 |
|
34 | MECHANICAL DESIGN (COMPONENTS, CONSIDERATIONS): |
35 |
|
36 | ELECTRICAL DESIGN (COMPONENTS, CONSIDERATIONS): |
37 |
|
38 | FIRMWARE DESIGN: |
39 |
|
40 | # Plow Mk1 (Winter 2018-2019) |
41 |
|
42 | The snow plow shown in the video actually isn't the first revision of the |
43 | snow plow. The first snow plow served more as a proof of concept, or prototype. |
44 | We just wanted something that would solve the problem statement of "I want a |
45 | robot that pushes snow for me" as cheaply and quickly as possible, just to prove |
46 | we could do it. Over the course of a couple of months, we gathered spare |
47 | materials and built something comprising: |
48 |
|
49 | * a wooden frame and aluminum plow blade |
50 | * two 12V car batteries |
51 | * two 300W @ 24V electric wheelchair motors |
52 | * all-wheel chain drive |
53 | * two linear plow blade actuators (one pitch, one yaw) |
54 | * an Arduino Uno |
55 | * a dual-channel RoboClaw motor controller |
56 |
|
57 | and a bit more infrastructure tying everything together. |
58 |
|
59 | ## Mechanical Subsystem |
60 |
|
61 | I'm not a very mechanically-inclined person so this was largely my dad's |
62 | responsibility. |
63 |
|
64 | - asdf |
65 |
|
66 | ## Electrical Subsystem |
67 |
|
68 | - Solid state relay for motor brakes |
69 | - Relay board for actuators, H-bridge, controlled by Arduino logic-level |
70 | - 12V inverter provides 5V output for USB to power Arduino (efficiency?) |
71 |
|
72 | <div class="gallery"> |
73 | <figure> |
74 | <img src="/static/images/rc-plow.jpg"> |
75 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
76 | </figure> |
77 | <figure> |
78 | <img src="/static/images/plow-chain.jpg"> |
79 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
80 | </figure> |
81 | <figure> |
82 | <img src="/static/images/esp32.jpg"> |
83 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
84 | </figure> |
85 | <figure> |
86 | <img src="/static/images/devilslake_josh.png"> |
87 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
88 | </figure> |
89 | <figure> |
90 | <img src="/static/images/kakabika.jpg"> |
91 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
92 | </figure> |
93 | <figure> |
94 | <img src="/static/images/fractal/mandelbrot.png"> |
95 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
96 | </figure> |
97 | <figure> |
98 | <img src="/static/images/sylvania.jpg"> |
99 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
100 | </figure> |
101 | <figure> |
102 | <img src="/static/images/fractal/tricorn.png"> |
103 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
104 | </figure> |
105 | <figure> |
106 | <img src="/static/images/fractal/burning_ship1.png"> |
107 | <figcaption>Snow plow parked outside. Lorem ipsum dolor sit amet.</figcaption> |
108 | </figure> |
109 | <figure> |
110 | <img src="/static/images/river.jpg"> |
111 | <figcaption>Kankakee River.</figcaption> |
112 | </figure> |
113 | <figure> |
114 | <img src="/static/videos/igw-1.gif"> |
115 | <figcaption>Kankakee River.</figcaption> |
116 | </figure> |
117 | <figure> |
118 | <video src="/static/videos/rc_plow.mp4" controls></video> |
119 | <figcaption>Kankakee River.</figcaption> |
120 | </figure> |
121 | </div> |
122 |
|
123 | # Plow Mk2 (Winter 2019-2020 and beyond) |
124 |
|
125 | Wants: |
126 |
|
127 | - Steel frame |
128 | - Steel plow blade |
129 | - Better wheels/tires, simpler chain drive |
130 | - Headlights |
131 | - Rear-mounted salt spreader |
132 | - Variable-speed plow actuation |
133 |
|
134 | ## Mechanical Subsystem |
135 |
|
136 | ## Electrical Subsystem |
137 |
|
138 | ## Plow Mk2.5 (Scrapped) |
139 |
|
140 | Wants: |
141 |
|
142 | - On-board battery charging |
143 | - Properly enclosed electrical system to prevent moisture ingress (water damage, corrosion) |
144 | - Infrastructure for firmware flashing, so physical access to microcontroller not needed |
145 | - Framework for upgrading to 48V BDC motors in the future |
146 | - Modularity |
147 | - Plow attachment (swap blade out for blower or something else) |
148 | - Future-proofing, connections for multiple firmware-controlled relays for other future stuff |
149 |
|
150 | 48V capable, enclosed electric box, onboard battery charging |
151 |
|
152 | # Plow Mk3 (WIP) |
153 |
|
154 | Completely overhauled design. Still in the works. Efforts to push the entire |
155 | electrical design into a single PCBA. |
156 |
|