Index

joshstock.in / f79ce9a

Source for serving and static templating/compiling of https://joshstock.in.

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
21315 Oct 2024 20:078b95967images moveJosh Stockin1204G

Blob @ joshstock.in / site / content / blog / rc-snow-plow.md

text/plain5717 bytesdownload raw
1---
2type: article-hidden
3identifier: rc-snow-plow
4title: Engineering a Remote-Controlled Snow Plow
5description: 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.
6datestring: 2024-09-15
7banner_image: /static/images/rc-plow.jpg
8links:
9 Source Code: https://github.com/JoshuaS3/auto-plow
10---
11
12During my freshman year of high school (January 2019), I had to undergo
13surgery to correct [severe scoliosis](/static/images/scoliosis.png). I like to
14joke that, according to
15my parents, the absolute *worst* thing about that was that it put me out of
16commission for snow-shoveling for the season. Inspired by a
17[YouTube video](https://www.youtube.com/watch?v=tPg1ZMiC9pA) my dad had
18shown me, and wanting to learn more about robotics and microcontroller
19programming, I asked my dad for help building our own remote-controlled (RC)
20snow 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
24Over the past several years, this project has occupied a significant portion
25of my focus. Working on this has been invaluable to my self-education in
26mechanical, computer/firmware, electrical, and power engineering. Here I break
27down the design iterations the project has undergone, as well as plans for the
28future.
29
30# VERSION
31
32WANTS:
33
34MECHANICAL DESIGN (COMPONENTS, CONSIDERATIONS):
35
36ELECTRICAL DESIGN (COMPONENTS, CONSIDERATIONS):
37
38FIRMWARE DESIGN:
39
40# Plow Mk1 (Winter 2018-2019)
41
42The snow plow shown in the video actually isn't the first revision of the
43snow plow. The first snow plow served more as a proof of concept, or prototype.
44We just wanted something that would solve the problem statement of "I want a
45robot that pushes snow for me" as cheaply and quickly as possible, just to prove
46we could do it. Over the course of a couple of months, we gathered spare
47materials 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
57and a bit more infrastructure tying everything together.
58
59## Mechanical Subsystem
60
61I'm not a very mechanically-inclined person so this was largely my dad's
62responsibility.
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
125Wants:
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
140Wants:
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
15048V capable, enclosed electric box, onboard battery charging
151
152# Plow Mk3 (WIP)
153
154Completely overhauled design. Still in the works. Efforts to push the entire
155electrical design into a single PCBA.
156