AbeAnd Log: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 11: Line 11:


<html><iframe width="520" height="260" src="https://osedev.org/wiki/AbeAnderson"></iframe></html>
<html><iframe width="520" height="260" src="https://osedev.org/wiki/AbeAnderson"></iframe></html>
=Thurs Aug 31, 2017=
Testing new web interface for time and log submission. Looks very nice. I see it seems to work, but I am submitting here as well just in case. The font on the log could be more bold for readability.
Reviewed and made minor adjustments to code. I think the few lines of math are logically correct now. I still need to do a major complete run through to look for any possible bugs and logical errors. It is now less than 150 lines including white space. No features just Auto mode calculating the drawer mid point from Extension time. No averaging of time or fault checking. So if friction and soil issues cause variations in time humans will have to monitor for problems. It will not stop until powered off. There is an older version in the repo with some fault checking on the drawer, but that would need to be tested live with serial outputs and adjusted to set the fault detection point.
https://github.com/Witz0/OSE-CEB-Press-17.08/blob/master/OSE_CEB_Press_17_08_minimal_alpha.ino
Just noticed a slight bug in web interface. The time field says hours. I typed "1 hr" first then I got feedback showing a bullet and sub bullet saying minutes so I typed 60. Now it says 60 hours of course. So numbers only, which makes since, but the bullet text placeholders were confusing. I was thinking with the new interface it should encourage early and often submission of files and log updates. It might be nice to use minutes I noticed some people denoting 0.5hrs on logs for time. With frequent logging minutes make more sense. It will also result in better work time tracking with less estimating.
=Wed Aug 30, 2017=
Started new code file. Worked on minimizing code. I think I have the order of operations worked into 7 steps of cylinder movement and it lacks any extra fault checking or calibration. Need to fix and double check timing math, which is now only the drawer midpoint from the extension calibration. Down to 168 lines including alot of white space.
https://github.com/Witz0/OSE-CEB-Press-17.08/blob/master/OSE_CEB_Press_17_08_minimal_alpha.ino
=Tues Aug 29, 2017=
meeting prep.
Took a step back from code. Concerned functions not gaining much due to subtle differences in each step requiring significantly different conditions.
It just ends up being like the previous, but separated with extra lines for functions.
Now, I am thinking the quickest way to get some new code to test is to strip the unwanted stuff from the old code and push that as a minimal version while a better-coded version with more functions in code and in general is worked out. It will only make full size block in the software auto mode. Most fault checking can be eliminated. This will give more time to consider the button selector thickness options and evaluate how well the timing works under load and what fault points need to be.
=Sun Aug 27, 2017=
More coding. The previous 2016 code was long mostly because of avoiding anything beyond minimal beginner coding tools. Still, replacing code portions with more complex functions often doesn't reduce overall lines much since a few more lines are needed for functions. I am attempting to write more functions including a major motion function to control each movement. The difficulty is that despite similar code steps have slightly different conditions and accounting for these makes it difficult to create simple encapsulations and reduce length. I was also considering eliminating most of the fault checking used for each movement. One measurement per cycle and the rest being calculated from that may be good enough. However, this would eliminate fault checking for potential jams. These are primarily caused by soil issues and is best solved by the soil preparation system, but not stopping the system to alert the user may lead to more problems including unnecessary wear & tear on the machine.
Many different numbers for constants and timing delays are noted in various documents including the latest ones. I noticed fault tolerance in the 2016 code was written so tight it was likely to fault easily. I probably did that on purpose to determine tolerances somewhat experimentally. Which, may be needed to some extent. How many milis corresponds to ~ 1/8" of motion or 1/4"? I assume 1/8" of error is acceptable, but more than a 1/4" probably not. This can be guessed from cylinder length and Time calculations.
In general, I think the half and even quarter motions for drawer mid point and those for block thickness can be managed simply by dividing max extension time and applying the math estimating extension vs. contraction time difference.
Another good question though is if there is a significant timing difference in a dry run start-up calibration of a clean machine versus under load with earth and grit.
https://github.com/Witz0/OSE-CEB-Press-17.08
With move function main loop is small so far. Writing the function(s) needed to make it work may be harder though. Tracking different timing for steps may add more code. Currently well below 200 lines though. Fault tracking can probably be made smarter reducing extra timing code, but the new functions will create more code complexity. So I expect it to stay close to 200 lines. The complexity of functions should not be too difficult for novices to read. Simple functions do improve the readability somewhat.
=Sat Aug 26, 2017=
Continuing work on CEB Press Code.
Reworking Loop steps and trying to figure out how to minimize redundant code in branches.
Also considering how button input can be done for thickness setting. If polled in setup it adds code complexity to communicate vars between setup and loop. Polling at loop start would require the user to hold the button. More indicator lights may be useful for UI feedback. Especially with only one button interface, which means delay time has to be the other factor in the UI. Having a separate calibration and/or fixed timing for main cylinder may lead to further redundant code complexity. Many options to consider. With respect to hardware I think it is all good as long as manual and auto hardware is completely unpowered when the other is active; That appears to be the case, but the controller board instruction may be out of date on changes.
https://github.com/Witz0/OSE-CEB-Press-17.08
=Fri Aug 25, 2017=
I updated the pump in the PC17.08 master CAD assembly. Reviewing the meeting and Roberto's existing video on assembly I think I see how the assembly WB import and file management works. It is how I've been thinking the FreeCAD file management (tree view & tabs) work or should work already. The only possible slow part I see is if many file source names are different and need to be updated at once. The wiki versions ok, but an organized package of all files of the same version would be nice. That is where git may be interesting, but I haven't gotten to study it in detail yet.
[[File:PC1708 Master.fcstd]]
Working on understanding the overall assembly as well as figuring out the assembly WB ideal order of operations. I've used it enough, but still often run into issues with constraints I don't understand that may not be bugs.
Upon further review of my code from 2016 I think the reason I changed to the switch and added all the fault checks was mostly for a possible pause/resume function as well as others discussed last year. In hindsight, these seem rather useless. I see no need for extra features. The use of a manual button for thickness would be simpler. I also can't think of any reason the soil preparation system needs to add extra logic communications. If the system faults for any reason it is easy enough to reset the hardware and recalibrate.  Fault detection and an infinite loop (ideally entering a sleep mode)  could cease operation until manual reset. Technically the machine should not be left unobserved by the operator(s) so fault detection could be mostly human. There is no collision possibility given design.
The Button thickness selection implies hard coding fixed timing for thicknesses. The assumption that the system needs to be adaptive to different flow rates from differing Power Cubes and engine variations may be overkill. The early code uses delay functions, which is certainly simpler. A function modifying a delay var could effect the needed changes to timing, I think.
Updated PC17.08 Master CAD Assembly by attempting to constrain some fittings to the 2 stage pump.
[[File:PC1708 Master.fcstd]]
Created new repo and beginning process of stripping down the old code.
https://github.com/Witz0/OSE-CEB-Press-17.08
=Thurs Aug 24, 2017=
Reviewing new CEB Press logic and previous code. The reordering of the calibration steps in the order of operations should help with code simplicity, but much of the branchiness is due to a need for more encapsulation possibly classes. Simple classes increase flexibility and reuse of good code. Classes are considered less novice however and I am not sure how much they add beyond just better functions. Fault detection and other complexities may be better implemented in classes though. Some classes should make the code shorter and appear less cluttered overall. Arduino recommendations are encapsulation into small simple classes for potential reuse across projects.
Other than soil inconsistency the only major point for fault checking is likely when pressing smaller bricks. If the main cylinder is off slightly such that the secondary could catch or to low such that the block would catch. From the documentation, I get that timing has been precise enough though.
Reviewing simpler 2010 code [[CEB Press/Manufacturing Instructions/Controller Box/Source Code/v5.15.10]]
In the 2016 code there is a lot of excess branching and detail around timing and checking for faults. The timing precision needed may not be as high as I thought since the system speed is low.
I am assuming the PC1708 assembly is the current immediate priority.
Uploaded version of 2 stage pump for assembly with aproximate I/O ports and extremity. Some schematic data is confusing/wrong, but I think it is close enough and critical parts should be accurate for assembly.
[[File:2 Stage Hydraulic Pump.fcstd]]
[[File:2 Stage Hydraulic Pump.fcstd]]
=Wed Aug 23, 2017=
meeting prep. Reviewing CEB Press code.
installed ardublock.
Reviewing PC pump and assembly.
Potential issues with the pump and its assembly could arise from the lack of detailed measurements. The Schematics show most major extent measurements and bolt pattern, but the ports and some extremities only have some measurements leaving their precise locations in question. Considering the hard plumbed nature of this there could be something in the way or off. I will start by estimating unknown distances from the schematics, which should be very close. Looking at the overall assembly should then give a better idea if anything might be in the way.
=Sat Aug 19, 2017=
Design Sprint
doing log splitter pump
[[File:2 Stage Hydraulic Pump.fcstd]]
manufacturer page with detailed specs and a PDF http://en.wx-dl.com/en/ProductView.asp?ID=399&SortID=198
There is metric and english versions of schematics. More links in the working doc https://docs.google.com/presentation/d/1qFTCY8NBRKJCVjVTwvB_5yZROeEpCg_LLxgLip-GoRI/edit#slide=id.g244eeabb5b_0_661
=Tues Aug 15, 2017=
meeting prep.
=Fri Aug 11, 2017=
Noticed that there is a short bracket with only two holes in an old assembly video. That looks like it makes more sense.
https://www.youtube.com/watch?v=8_ro8WLWdrY&list=PLFs4-5d3gY5rxn4pZKbzQDtm9e41Wg7C8&index=4
I'm making the needed compounds and running the macro to try to get different views since it doesn't seem to give me the orientation I want yet. Since it copies the compound to a new unnamed FC doc and appears to change the orientation I'm not sure if changing its angle before hand would matter.
I found the rotation property for the IsoView's, but it is tricky and slow.
There are at least a couple things that need to be corrected in CAD files. The bracket sizing and hole positions need to be measured and corrected. I can't seem to find the version showing the videos. The heat sink should also be found and cut down less to be visually accurate.
The SVG to PNG process could be smoother and it unfortunate gdocs do not import SVG's. Lack of certain parts in CAD requires manually drawing them either in inkscape or gdocs, whichever is easier. But, it makes the process slower.
With all these files to work with using git would be beneficial for file uploads.
Guessing I am about 70% done with LAI's, but the magnet process may require more creative drawings.
Time on this has been mostly consumed by many files and slightly old versions or mistakes.
Some of the large compounds take a few minutes to compute drawings via the script, but appears mostly due to single thread. Technically one could run multiple instances per core, but editing CAD assemblies has be completed first. SVG's required repeated cleanup on certain curved sweep shapes. Ability to assemble SVG's of individual CAD parts would be ideal and close enough assuming orientations match.
Most of the SVG files are surprisingly large as well probably due to generation method. But, *.svgz would work well for individual files uploaded to a git repo.
[[File:D3D Extruder Assembly LAI SVGs.zip]]
4 hrs
=Thurs Aug 10, 2017=
Continuing D3D LAI's for Extruder and Wiring.
Had some issue loading iso-view macro, but that seemed to resolve. Now testing new version.
Re-assembled extruder with new sensor holder bracket. It appears to mount close to the hot end, but if I understood correctly it has been tested. It also appears the bracket could be shortened, but I am unsure of any function of the two extra holes. Also the heat sink in the extruder CAD could be edited to be more accurate.
<html>
<iframe src="https://docs.google.com/presentation/d/10QfZLDdtMzcuEYOlk42sjFYwodUbhTQYLrvWDf_q818/embed?start=false&loop=false&delayms=3000" frameborder="0" width="480" height="299" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
</html>
[[https://docs.google.com/presentation/d/10QfZLDdtMzcuEYOlk42sjFYwodUbhTQYLrvWDf_q818/edit#slide=id.g2062348c19_0_0 edit]]
=Wed Aug 9, 2017=
Design Sprint @ 1PM LAI's for D3D workshop.
[[File:D3D Extruder Z Sensor Holder.fcstd]]
=Tues Aug 8, 2017=
meeting preparation.
https://docs.google.com/presentation/d/1EhfDYnCdfl7bUOT70ecUrqhVNLM0cjSNsxPZQwYRBWo/edit#slide=id.g2417a6873d_5_8
Priorities
More data in BOM's.
What are final checks & questions on Extruder/Winder?
=Mon Aug 7, 2017=
continuning work on extruder BOM.
https://docs.google.com/spreadsheets/d/1sijw8y40z9-sEOBaxl18Vu6FxtG_DmtQf4RQgqQ03t8/edit#gid=0
1hr
=Sat Aug 5, 2017=
preparing for sprint.
Power Cube Hydraulic Pump
[[File:Hydraulic Pump.fcstd]]
Dealing with some bugs/features I am not familiar with in FreeCAD, but I got a rough version with full extents up.
checking parts & updating spooler sub assembly.
Need to attempt better wiring codes in CAD and create some type of vector overlay of 2D images maybe.
=Fri Aug 4, 2017=
working down the extruder BOM researching links, prices, & adding notes.
https://docs.google.com/spreadsheets/d/1sijw8y40z9-sEOBaxl18Vu6FxtG_DmtQf4RQgqQ03t8/edit#gid=0
=Thurs Aug 3, 2017=
Reviewed meetings, current work, and started discussion on network to consider what needs finishing and how on Extruder and Winder.
http://network.opensourceecology.org/newsfeed/739908039359864832
I added some slides to both working docs for listing needed tasks.
=Tue Aug 1, 2017=
reviewing and collecting files to assemble spooler then preparing for the meeting.
working on spooler assembly.
[[File:LFS Spooler Assembly.fcstd]]
2 hrs
=Mon Jul 31, 2017=
I've seen a few msg's about DXF's so I made a post here. I assumed what I exported was ok, but perhaps the format specs need to be discussed and refined.
http://network.opensourceecology.org/newsfeed/737827501325164544
=Sat Jul 29, 2017=
prepared for design sprint. found email I missed about SSH to github followed instructions, but still need added to list. Not sure I understand ideal workflow using github.
working on subassembly 7 for spooler system, which is the electronics. Then A1 spooler assembly.
updated some copied components for precision in wiring and assembly.
[[File:LFS Power Supply 12V.fcstd]] 5th Corrected connector mistake.
[[File:LFS Voltage Regulator.fcstd]]
[[File:LFS Assembly 7 Electronics.fcstd]] early version with cylinders following color code in PDF wiring diagram
[[File:LFS Assembly 7 Electronics.png| 576px ]]
Minor issues wire connection place holders are on wrong side of relay and there are no screws or tabs or holes on some parts to add screws, but maybe screws would be better to leave for the final assembly.
=Thurs Jul 27, 2017=
reviewing & editing docs; checking links, searching, & adding more data & links to extruder BOM.
2hrs
=Wed Jul 26, 2017=
Formatting the Spooler BOM to the template.
<html><iframe src="https://docs.google.com/spreadsheets/d/1W9-Zy71G5UevrLO1FIq6ajB-GBSyQ_79ESqB4_fVs6k/pubhtml?gid=0&amp;single=true&amp;widget=true&amp;headers=false" src="/default.asp" height=500 width=800></iframe></html>
[https://docs.google.com/spreadsheets/d/1W9-Zy71G5UevrLO1FIq6ajB-GBSyQ_79ESqB4_fVs6k/edit#gid=0 edit]
1hr
=Tues Jul 25, 2017=
meeting prep.
adding missing BOM for extruder.
'''FreeCAD DXF'''
To clarify further on the DXF import/export library I had trouble with the plugin so I disabled the automatic one in preferences for FreeCAD v0.16 by going to draft workbench then the preferences menu.
Then I used v1.39 available here https://github.com/yorikvanhavre/Draft-dxf-importer
the instruction say to put the files it into the .Freecad folder not in a subfolder.
restart freecad if needed.
load your part and select it.
Then click File--> Export...
set Files of type: Autodesk DXF (*.dxf)
and save.
Added most of the existing content and structure to the extruder BOM copied from the index. Still details on part specs and a few things to copy from the PDF. As well as many links and info from the VBOM/VIndex, which in turn may need more details and links.
3hrs
<html><iframe src="https://docs.google.com/spreadsheets/d/1sijw8y40z9-sEOBaxl18Vu6FxtG_DmtQf4RQgqQ03t8/pubhtml?widget=true&amp;headers=false" height=500 width=1000></iframe></html>
[https://docs.google.com/spreadsheets/d/1sijw8y40z9-sEOBaxl18Vu6FxtG_DmtQf4RQgqQ03t8/edit#gid=0 edit]
=Sun Jul  23, 2017=
Adding finished CEB Press files.
[[File:Mid reinforcement plate.fcstd]]
Took a few tried, but I got the DXF export working again. I thought it was working before automatically in FreeCAD v.16, but no more.
[[File:Mid reinforcement plate.dxf]]
My attempts to merge the plate to the larger document are being made difficult by my failure to understand constraints to the holes and in the larger context of the assembly. Probably what Emmanouil is referring to as well.
=Sat Jul 22, 2017=
Design Sprint.
CEB Press I did step 4a shortening the mid re-enforcement plate. The ways FreeCAD placed the sketch relative to my face was strange, but it seems to have worked out anyway.
Due to shortening it and moving the holes in the Y mid plates the parts need to be re-constrained.
When I downloaded the newer CEB Press file to try merging it there were some constraints causing errors and the mid Y shaped plates by Ayo need to be merged and constrained first so the new holes can be used as constraint points.
Filament Maker Discussion of filament extruder plastic parts size, materials, printing and thermal issues. Started Verification of extruder parts from CAD, Master Index to visual slides.
https://docs.google.com/presentation/d/1kcEn6w5-6LOj8CaTewjwlmbjYgZwqZvZFs41FcPaXug/edit#slide=id.g24a6332bb2_0_60
=Fri Jul 21, 2017=
I've been going through the PDF's, part library, working doc, checking if parts & links make sense, and posting various thoughts to the network discussion.
While the Spooler is relatively simple I have found there are details lacking in diagrams and some interpretation required. Checking using the CAD will help verify which parts are correct.
[[Lyman_Filament_Extruder_Part_Library]]
https://docs.google.com/presentation/d/1kcEn6w5-6LOj8CaTewjwlmbjYgZwqZvZFs41FcPaXug/edit#slide=id.g1d790da427_0_0
I'm also adding any long term queries I can think of to the next dev meeting doc.
https://docs.google.com/presentation/d/1QqXsAA9tjzMtahmjwYSvu9Ri00wSPft58ieIPIBjyeI/edit#slide=id.g1e8a4b3f1d_0_0
4hrs
=Thurs Jul 20, 2017=
working on STL cog 13 for spooler. trying to get freecad to do the gear teeth for me...
[[File:LFS STL 13 COG MOTOR SHAFT 4mm.fcstd]]
Tried a few methods on the cog still, but probably going about it wrong.
I'm going back to working on the details & visuals in the working doc, cleaning up the wiki parts library, and sheets as the extruder CAD work is nearly finished.
3 hrs
=Wed Jul 19, 2017=
Working through Part Library. There is still a lot to detail to finish and double check on Visuals in the working doc as well.
[[File:LFX_Screws_2x0.5in.fcstd]]
[[File:LFX Bolt M5 x 16mm.fcstd]]
[[File:LFX M5 Washer.fcstd]]
[[File:LFX M5 Washer.fcstd]]
[[File:LFX Phenolic Washers M4.fcstd]]
4 hrs
=Tues Jul 18, 2017=
still trying to figure out ideal fan CAD.
meeting prep.
Working on Fan in FreeCAD and experimenting with primitive parts and different methods of building similar shapes on file size convinced me much of it was a waste of time. More advanced build methods require more experience and knowledge of the app, but are generally faster. As long as the number of pieces is similar in the end the file size will be about the same as well.
I ended up with a very crude representation of a fan compared to methods for making props I've seen on youtube I don't think build time or file size is worth it.
[[File:LFX Fan 12 or 24V.fcstd]]
[[File:LFX Fan 12 or 24V simple.fcstd]]
I am also apparently still confused about levels of file simplification and will review the doc again.
A final push to finish the Filament Maker to a prototype state is needed so I plan to put in extra hours this week during the heat wave here. CAD, Indexes, and BOM's need to be synced and purchasing links verified throughout.
I think I'll start at the top of part library and work through any red links that matter. Some like the sheet of phenolic material don't, but the DIY washers from it do.
4 hrs
=Sat Jul 15, 2017=
Experimenting with CAD files and primitives verse sketches and capabilities.
Continuing remaining small part CAD files for Electronics Module. I think I understand the file simplification enough now so I uploaded a simplified version of the wire connector in the part library.
[[File:LFX wire connectors.fcstd]]
[[File:LFX wire connectors simple.fcstd]]
Working on simple fan representation as well, it is proving difficult to do with only primitives. So I am exploring options in FreeCAD.
=Thurs Jul 13, 2017=
worked on wiring layout in working doc and considering how to minimally draw or identify wiring in assembly.
I also found some other confusion between extruder spooler parts. I noticed the VRM before, but there is also a 12V PSU different from the 24V in the extruder.
I'm thinking the best strategy is to work through and verify all individual parts before working on assemblies so that no errors are propagated further than necessary.
I think following July 11 Refined Process slide should be followed in order for all parts before we focus on assemblies.
https://docs.google.com/presentation/d/1kcEn6w5-6LOj8CaTewjwlmbjYgZwqZvZFs41FcPaXug/edit#slide=id.g23d4a6d46d_0_0
Found more errors/missing data.
3 hrs.
=Wed Jul 12, 2017=
I looked over progress on several CAD files, the part library, and working doc. I found some interesting examples of work in the CAD files.
Read/Wrote some communications on network and email.
I reviewed the File Simplification process since I had not read all the way through the completed doc and I definitely needed to do so before attempting any assembly and wiring. It is somewhat like I thought. Primitive shapes are smaller. I am curious about any differences for methods of adding, subtracting, unions, boolean ops, versus sketch pads/pockets. The process for managing files and assemblies, positioned files etc. is more complex than I thought.
=Tues Jul 11, 2017=
editing wiki parts library.
uploaded images of CAD files. I'm thinking since we are linking to the CAD files we should capture screen shots and use those not external photos.
Doing more CAD work on Switch.
Thinking about wiring paths, but that isn't easy to add until doing a module assembly.
meeting Prep
More CAD files. I see there was some confusion on the VRM for extruder vs. spooler so I think I'll pick up the other VRM for the spooler.
I created images for the parts from FreeCAD view because those are the parts we are linking to and so as not to use external copyrighted images.
[[File:LFX Switches.fcstd]]
[[File:LFX PID.fcstd]]
4 hrs
=Sun Jul 9, 2017=
I'm back from unexpected travels last week. I have a lot of catch-up to do & still have some files to submit from last weekend when the wiki was down...
[[File:LFX Solid State Relay.fcstd]]
[[File:LFX PID.fcstd]]


=Old Logs=
=Old Logs=

Revision as of 03:02, 16 September 2017