-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Work in progress: FLOSS-based version without base structures #18
base: master
Are you sure you want to change the base?
Conversation
- block_generator.scad defines a module for making an arbitrary block - the generated blocks can be connected directly to each other - some details still need fleshing out: - pcbs - assembly process - customizing the top of the block for different sensors - this is a good proof of concept to begin with
- calling probatio_block with part="pcb" generates a 2D outline of the universal connector pcb that can be exported as DXF for use in ECAD - committed a dxf export of the current version of this outline
Hi @DocSunset, nice that you’re experimenting with OpenSCAD for Probatio! I think it can be an excellent open-source alternative for the parametric features of Fusion 360. Concretizing ideas into prototypes or, in this case, 3D models, is a fantastic way of discussing possibilities. Therefore, I think the baseless blocks can be a good branch for experimenting with new alternatives. About the current model, I have some questions:
|
This is not something I am attempting. I don't believe backwards compatibility is possible while also allowing blocks to arbitrarily connect directly to one another.
At the moment I am thinking that the blocks attach via magnets, as you observed. The chosen magnets are indeed smaller than those currently in use (4mm diameter rather than 12.5mm diameter), but there are also twice as many magnets used. The layout is chosen such that two attached blocks can be rotated any multiple of 90 degrees about the axis normal to their mated faces without messing up the magnet polarity (not sure if the existing design allows this e.g. when rotating around the axis normal to the face mated to the base?). Although it may be possible to use larger diameter magnets, my hope is that the larger quantity of magnets will be enough to make a strong enough connection, at least for initial idea exploration. Furthermore, I am also thinking that the blocks could be fastened together with hardware passing through external connector plates. How this works should become clearer as I further actualize the design through modelling and prototypes. The ideal is that the magnetic bond should be good enough for testing ideas roughly, and then when you want to settle on a particular configuration for a longer term you can get out the fasteners and make it really robustly rigidly attached.
Yes, especially with the external fastener plates as just described.
That's right.
Yes, exactly. Ideally I want to design one PCB that can be used for all sides that have connectors, and which also serves to break out the microcontroller. A 6th PCB could then be attached for the sensors on top if desired (e.g. if assembling many copies of a sensor block), or the currently standard point-to-point wiring could be used for experimenting.
Yes, there are 6 connection pins. Four for I2C, plus two reserved for future extensions. One in particular that would be useful is to use one or both of these additional pins for measuring the topology of the block-assembly, i.e. learning the physical position of individual blocks within the network (probatio/probatio#6) |
Hi all.
I have been working on a re-implementation / re-invention of the blocks using FLOSS software packages (mainly OpenSCAD), partially as an opportunity to better explore the pros and cons of alternative software packages (probatio/probatio#12), and as a way to propose possible enhancements to the system (e.g. probatio/probatio#4, probatio/probatio#5 probatio/probatio#6, probatio/probatio#8).
You can `git pull -u origin open_baseless' to see my work in progress. I have written a script in OpenSCAD that can generate blocks with arbitrary number of block units in the x and y axes, which are designed in such a way that with an appropriate PCB (or PCBs) put inside, the blocks will be able to connect directly to one another without using a base structure, as proposed in probatio/probatio#5.
We should probably not merge this to master until it has been more fully discussed.