Continued RepRap work

Looking to take some more steps forward on a RepRap printer. I’ve got at least some of the electronics for a baseline machine and the Prusa i3 has a wood frame option that looks very attractive.

Electronics list is here,. and a comparison chart here. Alternatives here.   RepRap DIY (looks like a European site). Heated bed discussion. Very much hoping to be able to buy (either as parts or a full assembly) an aluminum plate heated bed like the one in the commercial Prusa i3

Prusa i3 github site. I’m hoping this is where all of the directions, instructions and parts lists live…

System Level Design and FPGA Options

Reading a few things last night there seem to be new tools that work at a more abstract level than VHDL out there. Mentioned were System Verilog, SystemC and Handel-C. I’ll have to take a look sometime in the future. For the moment I suspect that VHDL will more than meet my immediate needs.

I’ve also been looking at FPGA choices a little bit. The Spartan-6 on the breakout board I’ve got looks about right for my initial sandbox work. I’d like to find smaller, larger and newer options for ongoing things…ideally something that is inexpensive enough to use as glue/support logic and can be worked with without needing a custom PCB. It is also clear that the Spartan line is getting old and that Xilinx is shifting FPGA focus towards newer designs such as the Artix

I’d like to look a bit at the CPLD end of the spectrum as these seem to promise smaller, cheaper glue options, perhaps even with less demanding packaging choices. Wondering if Altera has interesting options there…

VHDL and CAN books…

Looking at books on VHDL and CAN bus. My Xilinx Spartan 6 board arrived a couple of days ago and now I need to get to the point where I can make real use of it. I’ve been looking for books to give me more depth in VHDL and a bit more context on CAN and here’s what I’ve come up with…

I’ve found two basic types of books in this area. There are those aimed at  people with little or no digital design experience that spend lots of time explaining the basics of digital logic design and synchronous systems and those that work at taking someone with significant digital design experience and getting them up to speed on how to realize designs in VHDL.

I’ve done enough digital design in SSI/MSI/PALs back when I was doing that sort of thing for work that I’m looking for the latter sort of books and my list below reflects that.

Seems like a decent book on logic synthesis in VHDL. Less expensive than the other broad based book I located but seems a bit narrower in scope.

.

.

.

This book looks more comprehensive than the one above, but it is also more than twice as expensive. I’m thinking that I may get VHDL for Logic Synthesis for now and buy VHDL for Engineers later if I find I’m looking for more information.

.

.

This looks like the best CAN bus book I’ve seen so far. Another rather expensive text, but if it can give me a decent feel for how to best use the facilities CAN provides then it will be worth the money.

I can see a number of different ways to implement a protocol using the functionality that CAN makes avaialable but getting advice on what has worked for others will make it more likely that my first shot is sensible and effective.

.

I ran across this book after I saw the earlier ones (and in the context of the following volume that appears to provide more advances style and implementation approaches). I suspect this is likely a decent book…perhaps with more introductory digital design content than I’d generally prefer though. I may look closer at this one at some point.

.

.

I find myself frequently looking for books that go beyond the basics of syntax and function to discuss best practices and effective usage (and books with ‘effective’ in the title often seem to offer this sort of advice). This looks like an interesting book on the VHDL front from that perspective. I’ll likely buy one of the more general volumes above and read it through first, but once I’ve covered the basics, I’ll likely wind up here to try to refine my understanding and usage.

Looking at CAN bus over lunch

I’ve been looking at low level communications interfaces for microcontrollers for a while. Things like SPI and I2C seem limiting as operating voltage levels vary (at least 3.3v and 5v) and for SPI fan out is clunky/limited.

I’ve had several people whose opinion I respect say good things about CAN. It seems to be predominantly an automotive standard but the interface parts seem to be cheap enough and the interface more than flexible enough to work for general embedded projects. It runs at 5v on the physical layer and the controllers appear to be voltage flexible so that is a big plus.

A quick search turned up some microchip interface components and they have DIP versions so they’d be easy enough to use in a prototype environment.

The MCP2515 (datasheet) appears to be a reasonably priced SPI to CAN controller that would likely work nicely with either an RPi or AV controller (as in an arduino). Mouser has then for $1.88 for singles and $18..50 for ten so pretty reasonably priced.

The MCP2561 (datasheet) seems to be the physical layer companion part, also available in DIP packaging and DigiKey has these for $0.93 each or $19.31 for 25. 

I’ll likely do some more reading tonight. Once I get my workbench in the basement cleared and ready for use, I’ll likely buy a few of each of these and see what I can do with them.

PC/USB to CAN interfaces seem harder to come by. Most of what I saw online are $100.00 and up diagnostic probes. Useful items for development, but very expensive is all you want to do is talk to a device. I did find one break-out board from a side called tindie that seems to offer a $25.00 solution for the basics. Still seems a bit expensive and suggests putting together something ad-hoc with an AVR board and a controller/phy. As an initial, easy to use bootstrapping solution it looks potentially interesting though.

Just ordered an FPGA breakout board

I was reading a book on VHDL (I’ve had some contact, but long ago and somewhat tangential) last night.

I just ordered a Mojo v3 FPGA Development Board  from SparkFun so that I can do some more tangible experimentation with soft hardware 🙂 

It appears that Xilinx has a new version of their toolchain for the Spartan 6 FPGA that is on this board that works on windows 10. I’ll have to download the software and follow their instructions tonight or tomorrow night. I don’t have any specific project plans related to the board at the moment but for $75.00 or so it presents a great opportunity to play with VHDL on a real target.

I’ve been running into a few cases lately where it would be helpful to be better versed in VHDL and for home projects I can see many places where programmable logic would be superior to an embedded controller.

Looking at CAD Options for 3D Printing

Watching some training sessions for Fusion 360. I’m probably going to finally try to commission a RepRap this winter at some point. A co-worker has a prusa i3 and recommended Fusion 360 in start-up mode (free to use as long as you’re not making significant money) as a good tool so I’m going to see what I can learn about putting things together with the tool.

FreeCad has also been recommended and I’ve grabbed a copy. Fusion seems more capable and so I’m inclined to start there. Blender is also something I’ve played with…more for artistic than engineering work though. It is also on the list, but likely behind a practical cad tool at this point.

As a software engineer, the open source tools appeal quite a bit as they’re a possible place to make enhancements to the tooling over time and a way to look at the internals as well as the UI side. They’re on my list and I’ve grabbed the git repos for both tools but at the moment I’m looking more for an overview of the state of the art rather than internal details and I need to understand what current practice looks like before thinking about new features.

I would love to enable use of my HTC Vive with these tools at some point. Being able to walk around a shape or assembly in three-space and manipulate it would be pretty interesting. I suspect it could make some of the manipulations that are of interest much easier for less experienced users.