The wordpress theme of this blog is now on github: github.com/mmone/mmone-theme
The odrive is a open source high performance brushless servo platform based on RC BLDC motors. Great Stuff!
- Two motor channels.
- 24V, designed for more than 100A peak current.
- 48V version just released.
- DC-DC converter, for brake resistor or energy storage.
- Encoder feedback for arbitrarily precise movements.
- Supports power regeneration.
- Optional use of a high power density battery means you can achieve >1kW peak power output with only a modest power supply.
- Open source: Hardware, Software
- USB Serial port — PC, BeagleBone, RaspberryPi, etc.
- CAN — CANOpen and CiA 402 is a possibility.
- UART — Arduino, mBed, etc.
- PWM — RC Recievers, Arduino, etc.
- Step/direction — Existing motion controllers
- Some general purpose digital and analogue pins
- Many types of command modes
- Goto (position control with trajectory planning)
- Position commands
- Velocity command
- Torque command
First, if you haven’t already, activate the camera in raspi-config. Login via SSH type “sudo raspi-config” select “Interfacing Options” and enable the camera.
Configuring the camera
Now edit “sudo nano /boot/octopi.txt” uncomment the camera=”auto” line and change it to camera=”raspi”. Uncomment camera_raspi_options=”-fps 10″. These settings configure the camera to provide and image in the format 640×480@10fps. If you would like to change that check the available options in the official forum: discourse.octoprint.org/t/available-mjpg-streamer-configuration-options
Enabling the camera in the octoprint browser interface
In the browser click on the little wrench in the top bar to open the settings dialog. Select “Webcam & Timelapse”. Set the “Stream URL” parameter to “http://octopi.local:8080/?action=stream”. Obviously change the hostname if you have configured it to something different.
Finally restart octoprint for the changes to take effect.
If you are already running the excellent octoprint as a printserver on a Raspberry Pi it is very convenient to also build Marlin on it. The new Raspberry Pi Zero W with onboard wifi is at only 10$ just perfect for both tasks. If you want to use the camera streaming of octoprint I would recommend a Pi3 though.
I made a script that sets up the necessary build environment and provides commands for building and uploading. It uses the official Arduino toolchain. Everything is standalone, nothing is installed outside the marlintool directory.
here on github: https://github.com/mmone/marlintool
or download directly as a zip: https://github.com/mmone/marlintool/archive/master.zip
Before first use: Rename the marlintool.params.example file to “marlintool.params”
In its default configuration the script is setup to build the official “Marlin” firmware but can be easily reconfigured to build any Marlin variant.
Several additional parameters in the “marlintool.params” file allow to adapt the script to your needs.
|marlinRepositoryUrl||The marlin git repository.|
|marlinRepositoryBranch||The branch of the configured repo to use.|
|marlinDependencies||A list of dependencies to download in the format:
[name],[repo url],[library directory](optional).
A library directory should only be specified if the library is not in the root of the repository.
|hardwareDefinitionRepo||If you build for the Anet board this downloads the necessary hardware definition for the Arduino build environment. If you dont need this set it to an empty string.|
|boardString||The Anet board identifier.|
|arduinoToolchainVersion||The Arduino toolchain version to use. The build platform and architecture are auto detected. At the moment Linux 32 Bit, 64 Bit, ARM and OS X are supported.|
|port||The serialport to use for uploading.|
|arduinoDir||Where to put the Arduino toolchain.|
|marlinDir||Where to checkout Marlin sources.|
|buildDir||The build directory.|
Reminder: If you are running octopi on you Raspberry you need to disconnect it from your printer before uploading, otherwise the serial port is blocked.
Note: On OS X due to how the Arduino toolchain is packaged the Arduino splash screen will be displayed even when the toolchain is used from the commandline. This will cause the terminal window you launch marlintool from to lose focus. It also means that a build cannot be launched from a remote ssh session.
Building for Anet Hardware
If you are building the firmware for the Anet A6/A8 you can find suitable example configurations in the Marlin sources at: github.com/MarlinFirmware/Marlin/tree/1.1.x/Marlin/example_configurations/Anet. Just replace the “Configuration.h” and “Configuration_adv.h” in the marlin directory with the files your find there for a good starting point of your configuration.
-s — setup
Download and configure the toolchain and the necessary libraries for building Marlin. Also fetches the Anet board hardware definition from github if specified.
-m — marlin
Download Marlin sources.
Update an existing Marlin clone.
-v — verify
Build without uploading.
-u — upload
Build and upload Marlin. If you are running octopi on you Raspberry you need to disconnect it before uploading otherwise the serial port is blocked.
-b –backupConfig [name]
Backup the Marlin configuration to the named backup.
-r –restoreConfig [name]
Restore the given configuration into the Marlin directory.
-c — clean
Cleanup everything. Remove Marlin sources and Arduino toolchain.
-p — port [port]
Set the serialport for uploading the firmware. Overrides the default set in the script.
-h — help
Distributed Load Testing Framwork
Hugin is a great Open Source photo stitcher for OSX, Linux and Windows.