-
FarmBot Arduino Software Update – July 16, 2015
07/18/2015 at 17:15 • 0 commentsWe just released a new version of FarmBot’s Arduino software that makes acceleration and deceleration smoother and increases the maximum speed of the device. This improvement comes from using an interrupt based architecture rather than a delay based one. Watch the video below to see the performance increase!
-
New Synchronization Architecture
07/18/2015 at 17:15 • 0 commentsSince we started building the FarmBot web application, our method to synchronize data with the device has been as follows:
- The user opens up the web application in the web browser. When they do this, all of their scheduled sequences are loaded from the web application’s server into the browser.
- The user makes some changes to the scheduled sequences, which are saved in the web browser and also uploaded to the web application’s server.
- When the user pressed the sync button, the browser would upload all data directly to the FarmBot device.
This worked great for manual synchronization whenever the user was actively using the web application. However, this method did not support the FarmBot device synchronizing with the web application automatically without a browser session and the user.
Today we’re happy to announce that we’ve rolled out a new architecture for synchronizing data across the web application, the FarmBot device, and the user’s web browser. FarmBot now has the ability to synchronize schedules while the user is away from the browser. This is significant for upcoming features, such as the ability to adapt schedules to the weather conditions automatically. For manual synchronization it works as follows:
- The user opens up the web application in the web browser. When they do this, all of their scheduled sequences are loaded from the web application’s server into the browser.
- The user makes some changes to the scheduled sequences, which are saved in the web browser and also uploaded to the web application’s server.
- When the user presses the sync button, the browser tells the FarmBot device “Hey, you have a new package, go pick it up”. The FarmBot device then downloads the new schedule from the web application’s server.
Meanwhile, automatic synchronization works as follows:
- The FarmBot device is set to go check for new packages at the web application’s server at a certain time interval such as every hour.
This new architecture sets us up for a more automated and dynamic future of FarmBot control. Want to help us build the future of food production? Check out our web application repository on GitHub and stay tuned as we roll out more new features in the weeks to come.
-
Genesis V0.6 Documentation
07/18/2015 at 17:14 • 0 commentsWe’ve been a little behind on the documentation train and are trying hard to catch up. We just finished up the docs for FarmBot Genesis V0.6, check em out! Notice that these docs are now hosted on this website rather than the community wiki. Don’t worry, we’ll copy them over there soon enough, though we do want to make clear the separation between the community owned and edited wiki content and FarmBot Inc’s ‘pro’ documentation that will be here on this website. Basically, we can’t guarantee any of the information on the wiki because anyone can write and edit it, but we can guarantee that what we write here is accurate. And if its not, we’ll make it right!
Genesis V0.6 was a very minor update to Genesis V0.5, in fact, the only changes are with the Universal Tool Mounting System. For this reason, you may find that this documentation page looks nearly identical to that of Genesis V0.5 and you may just want to skip down to the Universal Tool Mount Section to see what is new. Here is a summary:
- Gluing in the magnets on the V0.5 Universal Tool Mount and Tools was problematic, the V0.6 design uses screws to hold the magnets in place
- Gluing on rubber gaskets to the V0.5 tool mount proved to be unreliable. The V6 liquid lines now use o-rings held in place by a small channel in order to make a seal with the tool.
- Experimented with screw-in stainless steel barbs for the Universal Tool Mount’s liquid lines
- Experimented with a miniature Universal Tool Mount and seed injector
Note: The prototypes produced and seen in some of these photos used acrylic for the plates and was of a very small scale. This worked great for a prototype but should not be used for a real FarmBot because the acrylic is very flimsy. Also, the size is good for testing the hardware, but not useful for growing a significant amount of food.
Page Contents
Tracks
Change Log- No changes were made
Tracks Assembly Instructions
- Setup the Posts
- Depending on where you are installing your FarmBot will change what material and how you might setup your Track Posts. You might use 2x4s of wood, or aluminum extrusions, or existing infrastructure. The posts might attach to a wooden raised bed, or be set in the ground or in small foundations. The choice is up to you how you set this up.
- Install short (100-500mm) vertical posts for one of the tracks. Attach or secure the posts however you like, though it is critical to ensure that the posts will not significantly move once installed. Space the posts 1500mm apart, center to center unless you are using shorter track lengths, in which case space the posts that far apart. Ensure the posts are aligned properly and the same height. You may want to use a level to ensure this.
- If you are setting up multiple track sections (more than 1500mm in total length), it is best to install the end posts first and tie a guide string in between these two posts to ensure your tracks are installed in a straight line.
- Depending on the width of your FarmBot, space the second Track’s posts the appropriate distance away from the first Track’s. It is critical that the distance between the two sets is consistent, if it is not, there will be unnecessary forces placed on the Gantry and Tracks.
- Attach the Track Plates
- The track plates should be screwed onto the inside of the posts using the appropriate fasteners: 8mm M5 screws and tee nuts if the posts are aluminum extrusions, standard wood screws if attaching onto wood posts. The top of the posts should NOT be flush with the top of the plates. Rather, the top of the posts should come up to cover only half of the plates.
Gantry
Gantry Change Log- No changes were made
- Gather and lay out all of the parts. You will need: 2 Gantry Plates, 8 solid V-wheel kits, and 2 eccentric spacers. It is best to lay out the gantry plates as a mirror image of each other and attach all of the wheel kits facing towards you to ensure you end up with both a left facing and a right facing assembly!
- Attach the three solid V-wheel assemblies with normal spacers onto each plate. The order of parts is: Screw head, Plate, Spacer, Wheel Assembly, Lock-nut. Use a 3mm allen wrench and a 8mm crescent wrench to tighten the assemblies. Use a moderate amount of torque.
- Attach the single solid V-wheel assembly with the eccentric spacer onto each plate. The eccentric spacer fits into the largest hole on the plate. You should now have two Gantry plates with 4 V-wheel assemblies on each.
- Attach the Gantry Plate Assemblies to the Gantry Columns using 4 8mm M5 screws and tee nuts for each assembly. Make sure that the column is attached to the same side of the Gantry Plate as the V-wheel assemblies. It is easiest to partially screw together all of the screws and tee nuts, slide in the extrusion, and then tighten all of the screws at once.
Attach the two corner brackets at either end using 2 8mm M5 screws and tee nuts for each bracket. Make sure both of the brackets are in the same orientation and on the same side of the extrusion.
Lightly screw together 5 sets of 25mm M5 screws and tee nuts and slide them onto the Gantry Main Beam. Evenly distribute them across the beam and then tighten them into place.
Attach the Column Assemblies to the Main Beam AssemblyUsing two 8mm M5 screws on each side. Make sure that the V-wheels are facing outward and both of the plates are attached to same side of the Main Beam, and facing in the same direction.
Attach Gantry to TracksFeed and Secure BeltsCross-Slide
Change Log- No changes were made
Z-Axis
Z-Axis Change Log- No changes were made
Partially screw 2 8mm M5 screws and tee nuts into the motor mounting bracket. Route the Stepper Motor’s cable through the bracket and attach the motor to the bracket with 4 8mm M3 screws.
Universal Tool Mount
The Universal Tool Mount (UTM) allows FarmBot Genesis to automatically switch tool is on the z-axis depending on the operation needing to be completed. The UTM is ncessary because it is not feasible to have all tools mounted on the z-axis at one time for several reasons:
- This would be very heavy and create more stresses on all components, as well as necessitate a larger z-axis motor.
- Most tools need to be the “lowest” thing on the z-axis in order to work. Having multiple tools competing for the lowest position (ex: a temperature probe and a seed injector) would not be ideal and may not work at all. The use of individual tool raising and lowering mechanisms, or a turret style mechanism would be complex, heavy, bulky, and limited in the number of tools it could support.
- The Z-Axis’s size must be kept to a minimum in order for it to have minimal impact on the plants, especially when there is not very much space between them.
The UTM is a single 3D printed component that mounts to the Z-Axis aluminum extrusion using two M5 screws and tee nuts. It features 3 strong neodymium ring magnets to magnetically hold tools in place via washers or other magnets placed in the same configuration on the Tool. The magnets double as the keying system to ensure that tools are properly oriented in the UTM. The magnets also function as the passage ways for water, liquid amendments (eg: fertilizer), and vacuum or compressed air to pass through from the UTM (and the rest of FarmBot) to the Tool. In addition, the UTM has 4 spring loaded screws that make electrical connections with Tools. Two are for power (GND and +5V), and two are for data (0 to +5V).
Universal Tool Mount Change LogThere are many changes from the V0.5 UTM design including the following. For a video overview of the design, click here.
- Instead of using glue to hold in the magnets, the magnets are now secured on both the tools and the tool mount with M5 screws. This also allows them to be reversed in case one puts them in incorrectly.
- 3D printed barbs and a place for o-rings is now integrated into the UTM. In V0.4, the holes of the ring magnets were used to pass liquids, and there were gaskets glued onto the surface of the magnets. This proved to be unreliable and difficult to manufacture.
Only one version of the UTM was designed and produced this time in order to reduce complexity of options. The cost savings of a specialized UTM for another printing process is marginal, and the added complexity of having different sized screws and other hardware makes it less appealing to support multiple versions.
A note about Tools, Power, and DataTim Evers and Rory Aronson had a lengthy discussion in email regarding how to handle communication between the tools and the Arduino/RAMPS board. This discussion can be seen on the Universal Tool Mount page. The summary:
- Plug the vacuum pump for the seed injector into one of the heating element pin pairs on RAMPS
- Plug the water pump/valve into the the other heating element pin pairs on RAMPS
- Plug the Universal Tool Mount’s 2 power wires into the fan pins on RAMPS
- Plug the Universal Tool Mount’s 2 data pins directly into the Arduino
- Tools will at first have a single function so communication will be general I/O and not require extra electronics
- Eventually tools may have more functions and require an I2C connection and additional electronics in the tool to support this communication
- The main issue with the V0.6 UTM is that there are too many components fighting to be ‘closest’ to each other. There are the three O-rings on the liquid lines that need to be sufficiently compressed in order to get a good seal. This is conflicting with the fact that the four screws (three of which are not spring loaded) also are trying to make contact with the tool, and those are not compressible at all.
- In V0.7, the remedy will be that the O-rings will be the primary mate with the tool, while all electrical connections will need to be spring loaded. This means that the electrical connections will need to be separate from the screws holding in the magnets.
Electronics
V0.6 hardware integrates Rotary Encoders onto the back of each of the stepper motors. This is important to ensure that FarmBot always knows where it is in the circumstances when it has been inadvertently moved (by kids or pets) or it tries to move but is prevented from doing so due to some obstruction (rocks, branches, kids, pets). Unfortunately, there are no readily accessible add-on rotary encoders from popular sites like Adafruit or Sparkfun (as of September 2014), however, there are a handful of companies who do produce small, add-on encoders that mount nicely to the back panel of the stepper motor and hook onto a second shaft coming from the motor. The encoders modeled in the renderings below are based on those offered by Schneider Electric.
As of prototpying V0.6 hardware, low-cost rotary encoders have not yet been found or tested. Furthermore, the Arduino firmware does not yet support closed-loop feedback control.
Tools
CAD Files
All of the plates can be CNC routed, laser cut, or waterjet cut. The motor housings, Universal Tool Mount, and Tools can be 3D printed. .STL and .DXF files for manufacturing can be downloaded here.
FarmBot Genesis V0.6 was designed natively in SolidWorks 2014. Using SolidWorks 2014 or a newer version will provide the most seamless experience if you are interested in viewing or modifying the 3D part files. For those without access to SolidWorks, we have converted the files to other commonly used file formats.
All file formats can be downloaded here.
Bill of Materials
-
FarmBot Software Update, June 2015
07/18/2015 at 17:12 • 0 commentsWe’ve been hard at work adding features to the FarmBot web application (currently available at my.farmbot.cc) as well as the Raspberry Pi software that it communicates with. In this video overview you’ll see our web application working live with our latest hardware prototype: FarmBot Genesis V0.7. We demo manual relative and absolute movements, sequence building, sequence scheduling, and syncing with the device.
Interested in helping us develop these codebases? Drop in on GitHub, we’d love your help!
-
Announcing the “farmbot-serial” Ruby Gem
07/18/2015 at 17:11 • 0 commentsThe FarmBot core team is happy to announce the launch of farmbot-serial, a Ruby library that helps developers interface with FarmBot hardware while abstracting away low level hardware details.
It features an event based architecture via EventMachine and will allow developers to create third party FarmBot applications for a variety of use cases.
The gem is in an public alpha state and we plan for a stable release within the next two months. Check us out on Github and RubyGems for more information.
-
FarmBot V0.7 sneak preview
07/18/2015 at 17:11 • 0 comments -
Our Launch Strategy
07/18/2015 at 17:10 • 0 commentsCrowdfunding is our strategy of choice to launch the first ever widely available FarmBot hardware. This has actually been the strategy since I wrote the FarmBot whitepaper about 1.5 years ago and these are the reasons why:
- Being the first to market by launching a completely new type of product is a huge reason to crowdfund something. People are looking for the new, the cutting edge, the exciting when they back a project, and a crowdfunding platform such as Kickstarter sets the stage for making a big splash.
- By creating a campaign that has a goal and finite amount of time to achieve it, you create a sense of urgency with your project that compels people to get involved now rather than later.
- Having a campaign is a big draw for the press to cover the project, ultimately driving many more people to see the project than possible with individual outreach efforts. Your message will be amplified and your project spread far and wide – much more so than quietly launching an online store and sending out some press releases.
- Crowdfunding essentially allows you to take pre-sales without having to have the final product ready to ship at the time of collecting money. This will be very important for setting up manufacturing lines, ordering parts in bulk at discount, and building the team’s capacity to execute and deliver the product.
- You will be sure to get great feedback and validation on the product from hundreds or thousands of people, as well as new ideas to incorporate.
- Crowdfunding can help build a massive community that is excited to use, hack, and contribute to the technology in a matter of only 30 days.
- If the campaign is successful, you will make your business a whole lot more valuable to potential investors and also make a lot of progress without taking on any investment in exchange for equity.
In short, a crowdfunding campaign does so much more than just raise money. It is also a fantastic marketing engine, press magnet, and community builder that will bring a lot more value to your project than you may expect.
-
Welcome to the Open-Source Future
07/18/2015 at 17:09 • 0 commentsThis blog post was originally published on the FarmBot Blog.
A common misconception I have heard when I tell people about the FarmBot Project is that being open-source rules out the possibility of making money. Plain and simple, that is absolutely not true. In my opinion, being open-source is the unique facet that is even allowing me to start a company and movement around FarmBot. There is no way I would have been able to attract a team or get the financial backing I needed by working in a proprietary manner – the barrier to entry would have been too high.
Longer term than the startup phase, there are plenty of ways to monetize an open-source project. I believe that there is always value that can be added (and sold) on top of a free and open-source project. I’ll give just a two examples that pertain to this company:
- Software as a service – Not very many people want (or have the technical ability) to setup and maintain their own instance of the FarmBot web app. Instead, they will opt to pay a small monthly fee for hosted service for the value of convenience, saved time, the latest features, and support.
- Hardware kits – Sure, anyone can look at a FarmBot’s bill of materials and buy all of the parts themselves from 50 different places on the Internet. But most people just want to buy one thing from one place with the assurance that everything needed will be in the box with a nice instruction manual and the backing of a company’s support. Again, they will be paying for the value of convenience, saved time, and support. Additionally, economies of scale may allow the company to produce the final product at a lower cost and higher quality than possible for an individual to do so. So add in the value of saving money and getting something of higher quality.
It’s clear to me that open-source can be very profitable, even lucrative, if there is a viable business plan of providing value added service or product on top of the open-source base.
In fact, current trends are showing that open-source is becoming a necessary component to the business model; that in order to compete in the marketplace, a company must make at least some of their product or service open-source. Otherwise, consumers will want nothing to do with it because some value will be missing (such as data freedom, hackability, or a price of $0) that an open-source alternative may offer.
Open-source is quickly becoming the gold standard that consumers demand.
As open-source ideals become more prominent in mainstream society, they will infiltrate all disciplines and cause radical disruption of all industries – there is no going back and no stopping it from happening. Once there is open-source softwarethat fulfills the same function as the proprietary version, what developer would want to go back? Once there is a governmentthat prioritizes transparency, what else would citizens accept? When there is a currency that allows us to use our money in the way we want to, or a social network that gives us true ownership of our data, or a transportation system that can connect the world, or an encyclopedia that anyone can edit, or a cell phone open to customization, or a freeresource that let’s us know exactly how to grow our food, or a company that empowers us to repair their products, orframeworks for taking care of our planet’s natural resources, or a school that adopts open educational resources, or a technology that let’s us make anything we can dream of, who would ever want anything else? Out with the old and in with the new! Proprietary is so last century, welcome to the open-source future!
-
Shoutout at the Open Hardware Summit
07/18/2015 at 17:08 • 0 comments -
Genesis V0.5 Documentation
07/18/2015 at 17:07 • 0 commentsGenesis V0.5 exhibits the following changes from Genesis V4
- The Tracks cable carrier is repositioned and now supported with teenuts and long M5 screws, just like on the Gantry
- The Z-axis motor mounting bracket has been made thicker and the holes for the M5 screws enlarged to 6mm to prevent cracking
- The magnetic Universal Tool Mount (UTM) system integrates connections for water, air, and liquid amendments. This allows the syringe pump for liquid amendments, the water valve, and the vacuum pump for the seed injector all to be placed on the gantry column near the electronics. This keeps the z-axis light weight and smaller in size
- A 3D printed Seed Injector Tool was introduced, incorporating a debris catching chamber
- The syringe pump Liquid Amendment Tool was built for the first time
- The water valve and Watering Tool were built for the first time
- Rotary encoders were 3D modeled into the system
Contents
- 1 Tracks
- 2 Gantry
- 3 Cross-Slide
- 4 Z-Axis
- 5 Universal Tool Mount
- 6 Electronics
- 7 Seed Injector
- 8 Nutrient Dispenser
- 9 Manufacturing Files
- 10 3D CAD Files
Tracks
Tracks Change Log- Repositioned the cable carrier alongside the track extrusion rather than below it. This eliminates the custom bent brackets in V4 with long screws and tee nuts
- The track joining plates had to be modified to have a lower profile so that they only cover half of the track extrusions. This allows the cable carrier to rest flush against the extrusions and prevent snagging on top of the plates.
Tracks Assembly InstructionsPart Name Description Quantity Source Cost/Unit Total Cost Vertical Posts Can be aluminum extrusions, wood posts, or other supporting infrastructure 6 - - - Track Joining Plates 3mm thick aluminum plates to join Track Extrusions to Vertical Posts 6 Self Manufactured ~$1 ~$6 Fasteners For attaching the Track Joining Plates to the Vertical Posts. Could be wood screws, machine screws with tee nuts, etc. 12 Various Sources ~$0.10 ~$1.20 M5x8mm Screws M5 machine screws, 8mm length, 0.8 thread pitch, low-profile 3mm hex heads 8 OpenBuilds $4.50/25 pieces $4.50 Tee Nuts For attaching M5 screws to OpenBuilds aluminum extrusions 8 OpenBuilds $4.95/25 pieces $4.95 Track Extrusions 20x40mm, 1.5m length V-Slot Aluminum Extrusions 4 OpenBuilds $19.50 $78.00 - Setup the Posts
- Depending on where you are installing your FarmBot will change what material and how you might setup your Track Posts. You might use 2x4s of wood, or aluminum extrusions, or existing infrastructure. The posts might attach to a wooden raised bed, or be set in the ground or in small foundations. The choice is up to you how you set this up.
- Install short (100-500mm) vertical posts for one of the tracks. Attach or secure the posts however you like, though it is critical to ensure that the posts will not significantly move once installed. Space the posts 1500mm apart, center to center unless you are using shorter track lengths, in which case space the posts that far apart. Ensure the posts are aligned properly and the same height. You may want to use a level to ensure this.
- If you are setting up multiple track sections (more than 1500mm in total length), it is best to install the end posts first and tie a guide string in between these two posts to ensure your tracks are installed in a straight line.
- Depending on the width of your FarmBot, space the second Track's posts the appropriate distance away from the first Track's. It is critical that the distance between the two sets is consistent, if it is not, there will be unnecessary forces placed on the Gantry and Tracks.
- Attach the Track Plates
- The track plates should be screwed onto the inside of the posts using the appropriate fasteners: 8mm M5 screws and tee nuts if the posts are aluminum extrusions, standard wood screws if attaching onto wood posts. The top of the posts should NOT be flush with the top of the plates. Rather, the top of the posts should come up to cover only half of the plates.
- None
Gantry
Gantry Change Log- A syringe pump and leadscrew-stepper motor have been added to the Gantry column as part of the Liquid Amendment Tool
- A servo valve has been added to the Gantry column to control the Watering Nozzle Tool
- The corner brackets are now smaller to save on material and to keep the spacing of all bracket M5 holes to 20mm
Gantry Assembly InstructionsAssemble the Gantry PlatesPart Name Description Quantity Source Cost/Unit Total Cost Vertical Columns 500mm long 20x40mm V-Slot aluminum extrusions 2 OpenBuilds $6.50 $13.00 Gantry Plates 3mm thick aluminum or acrylic plates to attach the Track wheels to the Vertical Columns 2 Self Manufactured with a Laser Cutter, CNC Router, or WaterJet Cutter ~$5.00 ~$10.00 Solid V Wheel Kits Each assembly includes one 25mm M5 screw, one locknut, two bearings, one precision shim, and one solid delrin v-wheel. 8 OpenBuids $3.95 $31.60 1/4 inch Eccentric Spacers For adjusting the distance between the V-wheels 2 OpenBuilds $2.00 $4.00 Main Beam 1.5m long 20x40mm V-Slot aluminum extrusion for spanning the width between the tracks 1 OpenBuilds $19.50 $19.50 Gantry Corner Brackets 3mm thick aluminum plates to attach the vertical columns to the main beam 2 Self Manufactured with a Laser Cutter, CNC Router, or WaterJet Cutter ~$5.00 ~$10.00 Gantry Motor Mount 3mm thick aluminum plate to attach the gantry motor to the vertical column 1 Self Manufactured with a Laser Cutter, CNC Router, or WaterJet Cutter ~$5.00 ~$5.00 NEMA 17 Stepper Motor Dual, 5mm shafts with integrated rotary encoder on back side. Used for moving the gantry along the tracks 1 Unknown ~$30.00 ~$30.00 8mm M3 Screws For attaching the stepper motor to the mounting plate 4 Pack of 25 from OpenBuilds $2.00 $2.00 5mm to 5mm Flex Coupling For attaching the stepper motor to the drive shaft 1 Adafruit $4.95 $4.95 5mm staineless steel rod 1.5m in length 1 unknown ~$20 ~$20 Drive Shaft Bearing Plate 3mm thick aluminum plate to hold the drive shaft's bearing 1 Self Manufactured with a Laser Cutter, CNC Router, or WaterJet Cutter ~$5.00 ~$5.00 Drive Shaft Bearing 16mm OD, 5mm ID, 5mm thickness 1 OpenBuilds $1.00 $1.00 Drive Shaft Lock Collars 5mm ID, they capture the drive shaft bearing in place 2 OpenBuilds $0.90 $1.80 Motor Housing 3D printed 1 Self manufactured or ordered from Shapeways ~15.00 $15.00 Total Cost All components of the Gantry - Various - ~$172.85 Gather and lay out all of the parts. You will need: 2 Gantry Plates, 8 solid V-wheel kits, and 2 eccentric spacers. It is best to lay out the gantry plates as a mirror image of each other and attach all of the wheel kits facing towards you to ensure you end up with both a left facing and a right facing assembly!
Attach the three solid V-wheel assemblies with normal spacers onto each plate. The order of parts is: Screw head, Plate, Spacer, Wheel Assembly, Lock-nut. Use a 3mm allen wrench and a 8mm crescent wrench to tighten the assemblies. Use a moderate amount of torque.
Attach the single solid V-wheel assembly with the eccentric spacer onto each plate. The eccentric spacer fits into the largest hole on the plate. You should now have two Gantry plates with 4 V-wheel assemblies on each.
Attach the Gantry Plate Assemblies to the Gantry Columns using 4 8mm M5 screws and tee nuts for each assembly. Make sure that the column is attached to the same side of the Gantry Plate as the V-wheel assemblies. It is easiest to partially screw together all of the screws and tee nuts, slide in the extrusion, and then tighten all of the screws at once.
Assemble the Gantry Main BeamAttach the two corner brackets at either end using 2 8mm M5 screws and tee nuts for each bracket. Make sure both of the brackets are in the same orientation and on the same side of the extrusion.
Lightly screw together 5 sets of 25mm M5 screws and tee nuts and slide them onto the Gantry Main Beam. Evenly distribute them across the beam and then tighten them into place.
Attach the Column Assemblies to the Main Beam AssemblyUsing two 8mm M5 screws on each side. Make sure that the V-wheels are facing outward and both of the plates are attached to same side of the Main Beam, and facing in the same direction.
Attach Gantry to TracksFeed and Secure BeltsGantry Issues and Proposed Solutions- None
Cross-Slide
Cross-Slide Change Log- None
Z-Axis
Z-Axis Change Log- The Z-axis motor mounting bracket has been made thicker and the holes for the M5 screws enlarged to 6mm to prevent cracking
- All ideas for mounting tools to the z-axis extrusion have been nixed in order to keep weight down and the bulkiness of the z-axis to a minimum. Tools are now being consolidated to work with the Universal Tool Mount in combination with component mounted on the Gantry column.
Partially screw 2 8mm M5 screws and tee nuts into the motor mounting bracket. Route the Stepper Motor's cable through the bracket and attach the motor to the bracket with 4 8mm M3 screws.
Z-Axis Issues and Proposed Solutions- None
Universal Tool Mount
The Universal Tool Mount (UTM) allows FarmBot Genesis to automatically switch tool is on the z-axis depending on the operation needing to be completed. The UTM is ncessary because it is not feasible to have all tools mounted on the z-axis at one time for several reasons:
- This would be very heavy and create more stresses on all components, as well as necessitate a larger z-axis motor.
- Most tools need to be the "lowest" thing on the z-axis in order to work. Having multiple tools competing for the lowest position (ex: a temperature probe and a seed injector) would not be ideal and may not work at all. The use of individual tool raising and lowering mechanisms, or a turret style mechanism would be complex, heavy, bulky, and limited in the number of tools it could support.
- The Z-Axis's size must be kept to a minimum in order for it to have minimal impact on the plants, especially when there is not very much space between them.
The UTM is a single 3D printed component that mounts to the Z-Axis aluminum extrusion using two M5 screws and tee nuts. It features 3 strong neodymium ring magnets to magnetically hold tools in place via washers or other magnets placed in the same configuration on the Tool. The magnets double as the keying system to ensure that tools are properly oriented in the UTM. The magnets also function as the passage ways for water, liquid amendments (eg: fertilizer), and vacuum or compressed air to pass through from the UTM (and the rest of FarmBot) to the Tool. In addition, the UTM has 4 spring loaded screws that make electrical connections with Tools. Two are for power (GND and +5V), and two are for data (0 to +5V).
Universal Tool Mount Change LogThere are many changes from the V4 UTM design including the following. For a video overview of the design, click here.
- Switched from the single central magnet design from V4 to a three magnet design in order to keep the tools from easily being torqued out from the mount, and to increase the holding power.
- The ring magnets are now glued in place instead of held in with screws in order to keep the hole free.
- The ring magnets are now the passageways for air, water, and liquid amendments (eg: fertilizer) to pass through from the UTM to the Tool.
- The outer diameter of the UTM has increased slightly to accommodate the increased number of pass-through components.
- Center screw is now spring loaded too.
- Mounting flange is now 8mm thick instead of 5 for extra strength.
There are two versions of the Universal Tool Mount this time around. Both are functionally the same, one is simply optimized for the Fused Deposition Modeling (FDM) 3D printing process while the other is optimized for Stereolithography or Selective Laser Sintering (SLS). The major change is that the FDM version is much bulkier so that no support material is needed. This means that the part takes a long time to print, but it requires very little to no manual cleanup once done printing.
The SLS version is significantly smaller in volume, allowing to be printed with less material, thereby saving on time and cost. However, these printers are generally more expensive and not as widely available to the public as FDM printers are such as RepRaps.
Therefore both versions have great merit and will are made available for download. Make sure to select the correct model before printing depending on the process you choose or have access to!
A note about Tools, Power, and DataTim Evers and Rory Aronson had a lengthy discussion in email regarding how to handle communication between the tools and the Arduino/RAMPS board. This discussion can be seen on the Universal Tool Mount page. The summary:
- Plug the vacuum pump for the seed injector into one of the heating element pin pairs on RAMPS
- Plug the water pump/valve into the the other heating element pin pairs on RAMPS
- Plug the Universal Tool Mount's 2 power wires into the fan pins on RAMPS
- Plug the Universal Tool Mount's 2 data pins directly into the Arduino
- Tools will at first have a single function so communication will be general I/O and not require extra electronics
- Eventually tools may have more functions and require an I2C connection and additional electronics in the tool to support this communication
Note: In these photos, there are M3 screws in the mount. I did not have the M5 screws on hand at the time of taking the photo, thought he mount is designed for M5 screws.
SLS VersionThe SLS version should NOT be printed using an FDM printer as seen in this photo because it requires the use of support material which can be difficult and time consuming to remove, ultimately leaving you with an inferior part. If you are going to use an FDM printer, do not print the SLS version!
Note the excessive support material. Again, do NOT print the SLS version with an FDM printer as seen in these photos, it will not come out well.
- The main issue with the V5 Universal Tool Mount is that the three pairs of magnets directly mating with each other is too much force for the z-axis to be able to separate them. In fact, it is difficult to remove the tool from the mount even by hand! We tried making a tool without magnets, instead using washers in hope that the attraction would be weaker. That worked but posed a new problem: the attraction to the tool's washers was not strong enough in comparison to the attraction to the tool's screws for the electrical connections. This resulted in the mount and tool aligning improperly about 50% of the time.
- Only having metal where the magnets are (no screws enticing a misalignment) will help prevent misalignment. And not allowing the magnets to touch each other directly will reduce the holding force.
- Another issue with the magnets is the difficulty of seating them all in the tool mount to the same z-level in order to get good seals between the the tool and the mount. A remedy we tried was supergluing gaskets onto the magnet surfaces of the tool and the tool mount, but that was finicky as a corrective measure, and changed the distances between the tool and mount so the electrical connections no longer worked. That could have been solved with different sized screws or counter bores, but the glued on gaskets we're still not a great solution.
- Not having the magnets ever touch might be a better solution.
- Gluing the magnets into the mount and tool is also problematic. It means that the magnets cannot be easily removed - a major problem if one glues in a magnet with the wrong orientation such that it repels the tool instead of attracts it. In this case, one must take damaging measures to remove the magnet and flip its orientation.
- Screwing in the magnets to the tool and the mount is a much better solution as was done with the V4 design. This will be brought back in V6.
- Last, depending on the quality of the 3D printed parts, the barbs can be easily broken.
- This could be solved by replacing the printed barbs with screw-in metal barbs or with higher quality 3D printed parts.
Electronics
V5 hardware integrates Rotary Encoders onto the back of each of the stepper motors. This is important to ensure that FarmBot always knows where it is in the circumstances when it has been inadvertently moved (by kids or pets) or it tries to move but is prevented from doing so due to some obstruction (rocks, branches, kids, pets). Unfortunately, there are no readily accessible add-on rotary encoders from popular sites like Adafruit or Sparkfun (as of September 2014), however, there are a handful of companies who do produce small, add-on encoders that mount nicely to the back panel of the stepper motor and hook onto a second shaft coming from the motor. The encoders modeled in the renderings below are based on those offered by Schneider Electric.
Electronics RenderingsElectronics PhotosElectronics Issues and Proposed SolutionsSeed Injector
Seed Injector RenderingsNutrient Dispenser
Nutrient Dispenser PhotosManufacturing Files
All of the plates can be CNC routed, laser cut, or waterjet cut. The motor housings, Universal Tool Mount, and Tools can be 3D printed. .STL and .DXF files for manufacturing can be downloaded here.
3D CAD Files
FarmBot Genesis V5 was designed natively in SolidWorks 2014. Using SolidWorks 2014 or a newer version will provide the most seamless experience if you are interested in viewing or modifying the 3D part files. For those without access to SolidWorks, we have converted the files to other commonly used file formats.
All file formats can be downloaded here.