2018-03-22

Trying and walking away from Slack

History

The local FabLab (sorry, they still haven't managed to roll out basic SSL support for their website) had a very limited, internal forum for members.
That was replaced by Slack. A corporate chat enriched with features commonly found in forum software.

TL:DR

Aparently they thought, they could use it as a moderated, persistent forum instead of the temporary chat it was.
I tried it for a few month and looked at the dynamics of how it could be used and how it was used.
In the end, I found it too slow and organized for a sensible chat and too temporary and feature-limited for a forum.
So I decided to deactivate my Slack account again.

Why not a chat?

Many channels for different areas of the FabLab break up the (already very limited) audience into tiny sub-groups.
Conversations (answers to postings are grouped below that posting and no longer apear in the main feed) hide many things.
Being able to edit postings and being moderated reduces the number of new lines in the feed to almost zero.
It was the slowest going chat I've ever seen.

Why not a forum?

Conversation make it work much like a forum. However most features the initial poster has (such as images) are not possible in answers to that posting.
These features are not even allowed when editing your own posting. So e.g. adding a images that failed to upload is impossible.

2018-03-18

More dust collectors

Project history

  1. Previous project: Testing the Kreg K5 Master System
  2. current posting
  3. Next project: ...



After I had designed the dust collector adapter for the Kreg K5 Master System
to Kärcher and Festool 36mm hoses, I had to go on and make some more:

Kärcher/Festool to Makita PJ7000J Lamello/Biscuit Joiner router


 

The local FabLab had a Makita biscuit joiner that didn't fit the local Festool shop-vacs.
So I quickly adjusted the diameter and labeling.
(Hooray for parametric CAD.)

Kärcher/Festool to Bosch GKS 12V-26


 

The new 12V battery operated circular saw is making quite a mess.
So for it's cute, tiny dust-collection part I made an adapter too...

Links:

2018-02-22

Testing the Kreg K5 Master System

Project history

  1. Previous project: ...
  2. current posting
  3. Next project: More dust collectors

 

 

 Pocket holes?

I plan to build some pieces of practical furniture that does not need to look pretty.
As the local FabLab is just next door, I have easy access to a Lamello milling cutter and other eqipment. Apart from dovel pins, these "biscuit joiners" seems to be the prefered joining technique in Europe.

The preference in the US seem to be pocket holes.




Now the strongest joint for particle boards is of cause to glue it. Since it is made of glued particles anyway, this maked it one solid pice.
But to glue something you need two things. alignment and pressure. 
Lamello -type Biscuit joiners provide great alignment and the limited ability to slightly correct that alignment in one axis but they need clamps for pressure.
Pocket holes provide no alightment but a lot of pressure.
So combining these two should allow me to build very strong furniture without having to use clamps and wait for effectively the next day for the glue to set because the screws in the pocket hole will clamp it down no matter where I take and put the unfinished piece.




After reading a lot about the topic, I decided against buying the cheap 30€ Wolfcraft Undercover Jig that is sold everywhere around here and get myself the big Kreg KregJig Master System in the current K5 version.
It's the big set. I just can't resist good tools. It's not the real big one that has the drill built-in.
It was a good decision because
  1. the dust-collector is a godsent,
  2. the side-extensions (with storage space and easily available screw-size table on the inside) are very useful,
  3. having the lever on the side you are on make working with it a lot of fun. (As opposed to the older K4 version with the lever on the wrong side of that large piece of wood.)
The only downside was that the vacuum cleaner attachment had a different diameter then the auto-start/stopping Festool workshop vacuum cleaners we have in the local FabLab.
...but a few minutes of CAD and <40 0.5mm="" 3d="" a="" aesthetic="" br="" did="" for="" height="" layer="" me.="" minutes="" mm="" needs="" no="" not="" nozzle="" of="" part="" printing="" qualities="" stop="" that="" time="">

Festool vacuum cleaner adaptor

 



Results I

Obviously the first on I build was would be crap.
So I got myself some 1€ pieces of leftover material of the same type I wanted to use but wrong thickness and  with a lot of defects and got working.
Without a plan I made some mistakes in judgement, some logical mistakes (forgot to subtract the thickness of the back wall,..) but not many mistakes in craftsmanship. Apart from working with too thin a material.
Access to proper tools made sure that the work was quick to do, quick to fix things and everything was square and how it was supposed to be.



Results I

So here I am, ready for a real piece of furniture that will actually be used. (In a place where nobody but me will ever see it.)


What I learned:
  1. Combining "Lamello" biscuit joiners and Pocket Holes is not worth the effort. Just skip the Lamello, meassure twice and double up on your clamps.
  2. You can not clamp down the K5 Master System onto a workbench.
  3. The dust collection is sow worth it.
  4. Use some kind of physical spacers for anything that needs to be clamped "in mid air" unless  you have a second pair of arms.
  5. SPAX backpanel screws are stronger then the Kreg screws and they have a standard Pozidriv crossed slot. I would have prefered Torx here to have the screw on the driver and reach to a far away hole this way.
  6. You need to clamp down everything for fastening the 4.0x25mm or 4.0x30mm SPAX backpanel-screws in the pocket holes. They tend to bend onto the side with the hole with a LOT of force.
  7. The tiny Wolfcraft "ES 22" (3051000) are much stronger then they look.
  8. The Kreg clamps open up way too wide and are a pain to work with unless you have giant hands.
  9. The Kreg clamps are very strong but you need to adjust them first.
  10. Sawing melamin coated wood is hard without damaging the surface. I'll have to do more experiments here. 
  11.  You will want a very strong screwdriver with replacable batteries even for small projects such as this. Preferable 3 batteries and 2 chargers.
  12. While I only ever see pocket holes in solid woods, they works like a charm in particle board. Just limit your screwdriver to 8-10Nm to not outsight squash the board.
  13. Update: For Melamin-coated wood, pre-drilling through the pocket-hole makes sure the screw doesn't push the 2 pieces apart when threading inside the first part but not having penetrated the coating of the second one yet.

I had the chance to try the Bosch Professional GSR 12V-15 FC screwdriver+cordless drill with replacable heads and  I think it's the perfect tool for this. 20Nm is plenty. I can't use more then 10 without destroying the wood. The excenter+90° head combines reach into the back of cabinets and to screws close to a wall. I have not switched between drill and screwdriver yet but I imagine it to be a godsent for pocket holes.

Sadly there is no Sortimo L-Boxx for the Kreg. Only some Kreg case made for Husky Boxes.
So I will have to build that myself to combine both cases into one stack.

Update:
I asked SPAX about Torx backpanel screws because the Pozidriv bit can't hold on to the screw when reaching far into cabinets.

Sehr geehrter Herr Wolschon,

vielen Dank für das nette und freundliche Feedback. Es freut uns sehr, so etwas zu hören.

Die Rückwandschrauben führen wir nur mit Pozidrive Antrieb, nicht mit Torx. Der PZ-Kraftangriff ist vor allem bei der maschinellen Verarbeitung besser geeignet.

Mit freundlichen Grüßen / with kind regards

i.A. Christoph Hessel, Dipl. Ing. (FH)
Product Manager
SPAX International GmbH & Co. KG

Links:


2018-02-13

Bonaverde: testing Henry Hück

Project history

  1. old posting: 'roast only' on the Bonaverde - Familia Alfaro
  2. current posting
  3. next posting: Bonaverde - Emulating NFC cards









This time I tried
Bean Type:  not specified
Process "natural"
Grown by Henry Hück
of Nicaragua
Store: Bonaverde Store entry for these beans


This is one of the larger bean packs I got from a coffee delivery for my Bonaverde Berlin roast+grind+brew coffee machine.

Results I

I used: roast+grind+brew via the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot.
No extra time after roasting for CO2 could be released.

I used  600ml of freshly filtered water.

filter coffee

Result:
At first I got the same, distinct sour taste along both sides of the tongue,
that I seem to get with all coffee I try. I can't get rid of it.
After a while I cleaned my mouth with filtered water. Used a fresh glass and tried again.
The sourness is only very faint and in the back of the mouth
but sadly it's the only taste I can find apart from the obvious.
Given the horrible results I had before, this however is a great success.
I will have to find out wether to attribute it to the green beans, the roasting profile belonging to these beans, the slightly cool glassware I used instead of my regular earthen coffee mugs or whatever.

PS: Obviously it still gets sour quickly when it has cooled down. Like any coffee.

Henry Hueck | Coffee Producer from Bonaverde on Vimeo.

2018-02-11

3D models of Küpper workshop furniture

Project history

  1. Previous project: name with link
  2. old posting with link
  3. current posting
  4. next step
  5. Next project: designing a chain link tool library
  6.  







I modelled some of the Küpper workshop furniture elements in Alibre Design
for the purpose of planning the layout of a workshop in 3D.
The meassurements are taken from the assembly instructions.
Some thicknesses that are not important for planning are guesswork.

Links:

´

'roast only' on the Bonaverde - Familia Alfaro

Project history

  1. old posting: Coffee with bottled water
  2. current posting
  3. next posting: Bonaverde: testing Henry Hück








This time I tried
Bean Type:  Rojo
Grown by Familia Alfaro
of El Salvador

This is one of the larger bean packs I got from the first coffee delivery  for my Bonaverde Berlin roast+grind+brew coffee machine.



Results I

I used "roast only" in the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot a few days ago. So CO2 could be released.

I used freshly filtered water instead of having a can of filtered water in the cooler as before.
I did not use bottled water this time as it would damage the machine in the long run.
I did NOT use the roasting profile for these beans because for "roast only" I can still only use a generic default-profile.

filter coffee

I made the coffee in the Bonaverde Berlin maching using 600ml of water.
Result: definately sour. I am still at a loss why I always get this sour taste.
The temperature of the coffee doesn't change the taste.
I did NOT experience that in the Bonaverde Coffee Corner in Berlin.
Only when I try to do it myself in Freiburg with the terribly hard water here.
(That's why I use the filter.) 
Don't get me wrong, this is not like a lemon or exceptionally bad. It's just
one distinct taste that overshadows all others that may be there. 

2018-01-28

Coffee with bottled water

Project history

  1. old posting: 'roast only' on the Bonaverde - Aldo Parducci
  2. current posting
  3. next posting: 'roast only' on the Bonaverde - Familia Alfaro


Before

Up to now I have used tap water with a filter for my coffee experiments.
According to the water plant the water should be very hard but be only slightly above Ph neutral.
I always had the issue of always having an acidic taste.
Some coffee cups had a very balanced acidic taste, some where so strong as to be undinkable.
Especially freshly roasted coffe that was not given any time to release trapped CO2.

After

Now I experimented with using cheap bottled water insted.
DAMN, WHAT A DIFFECENCE.
Absolutely no sour taste anymore. Roasted the day before and even freshly roasted (with all the CO2 still in there and ALYWAYS tasting distinctly sour before) it tasted like a good cup of coffee.

Sadly it contains 500mg Ca/l+64mg Mg/l=>84,86dH and thus will just about kill the machine with scale if used often.

Why?

 Let's have a look...
The bottled water was from REWE "Aqua Mia Still" from the Alwa Spring in Sersheim.

There is a nice comparison of German bottled waters here. It has pH values (the content only lets you calculate hardness)

Chlorine

The water plant says, we have 23.1mg/l.
The bottled water says, we have 29.0mg/l
The 
0mg/l is perfect
effect: in high temperature/pressure this creates hydroloric acid thatg eats away on metal.
There is nothing I can do anything about this except maybe carbon filtration.
But I don't care enough about this minor effect to do that.

 pH 

The water plant says, we have 7.57pH.
The bottled water says: nothing
Water #2 says: nothing

7.0pH is perfect,
6.5-7.5pH is acceptable
effect: abovr 7.5pH this causes excess scale


Next steps: I ordered a digital pH and TPS meters from China for less then 2eur.

Hardness (Calcium only)

The water plant says, we have 75,8mg/l of Calcium
and a total hardness (considering not just the Calcium) of 12.5°dH or 2.19mmol/l
The bottled water says, we have 500mg Ca/l+64mg Mg/l=84,86dH

7°dGH/68mg/l is perfect
17-85mg/l is acceptable (first source).
8-12 °dH is acceptable (second source).
3-7 °dH is acceptable (third source).
effect:
Above 85°C this forms scale.
High hardness makes coffee go bitter quickly.
Low hardness supresses the taste of the coffee.

Here is a nice calculator between °dH, mg/l of Calcium-Oxide and ppm CaCO3,...
Or you calculate °dH = 0.1402*[Ca in mg/l ] + 0.2307*[Mg in mg/l ]
Or mmol/l= [Ca in mg/l] / 40 + [Mg in mg/l] / 24,3 .

Sodium (DE: Natrium)

The water plant says, we have 10.2mg/l.  But ADD what the water filter releases.
The bottled water says, we have 18.0mg/l

10mg/l is perfect.
Anything near that level is acceptable.

The problem may of cause also be that the water filter with my very hard water (12.5°dH or 2.19mmol/l) releases enough sodium (DE: Natrium) to exceed 10mg/l.
The original water already has 10.2mg/l and is thus at the brink of the acceptable level.
Above 50mg/l this seems to cause a sour flavor. (Very low sodium levels seem to cause sweet flavors. That sounds very interesting as it's a taste I generally like.)

TDS=total dissolved solids

The water plant says, we have 75.8mg/l of Calcium + 7.3mg/l Magnesium + 10.2mg/l Natrium+1.7mg/l potassium (DE: Kalium)
= 95mg/l  I'm not sure I did this calculation correctly and am not missing anything.
The bottled water says, we have 500+29.0+64.0+18.0+5.0=616mg/l

150mg/l is perfect
75-250mg/l is acceptable.
effect:
low=overextraction, tannic taste (DE: Gerbsäure), dry mouth
high=mineral taste, overextraction

Total alkalinity

The water plant says, we have TODO
The bottled water says: 1130mg/l of Sulfate + 414.0mg/l of Bicarbionate (DE: Hydrogencarbonat)
TODO: I need to refresh my chemistry on this topic.

40mg/l is perfect.
Anything near that level is acceptable.
effect: high=gum up outher layer of coffee and cause uneven extraction. Also scale buildup.

Links

2018-01-27

Setting up an OpenHab with a Homematic CCU2

Project history

  1. Previous project: name with link
  2. old posting with link
  3. current posting
  4. next step
  5. Next project: designing a chain link tool library

Purpose:

 I want to:
  • meassure the energy consumption of an air dehumidifier that I have running in the hobby workshop.
  • Meassure moisture, temperature and maybe even CO2 around the house.
  • Control the heating via my Google Calendar (because it shows when I'm away).

Chosen hardware:

  • Homematic parts for energy consumption and heating. 
  • I could have chosen a DIY alternative for the Homematic CCU2 but that was too much DIY for a first step that already involved way too many things I was not yet familar with.
  • Alternartive parts for energy consumption that are not completely DIY (safety) are not fully supported by EasyESP yet.
  • EasyESP on ESP8266 with various sensors and actory via MQTT at a later point.

Setting up OpenHabian

Straightforward.
HOWEVER, do NOT edit anything in the openhab.config except maybe the Wifi password.
Else it will not boot.
(Either that or I had a broken flash the first time.)

Setting up Homematic with OpenHab


There is a very nice tutorial, that I was following.
Sadly there is one thing it is missing out on.
The CCU2 has a firewall-setting in
Einstellungen->Systemsteuerung gibt es einen Punkt “Firewall konfigurieren”,
By default 192.168.0.0/24 is in there but if you are using e.g. 10.x.x.x, you have to enter the address of your OpenHab there.
Because it's also not mentioned in the Homematic manual, I was at the brink of throwing this out the window, shortly before I found it.

I'll probably not use Homematic in the long run and switch to Z-wave instead.

Meassuring energy consumption with OpenHab

I had another tutorial to follow here....and gave up on it.
It is written for an OLD version.
This /etc/openhab2/services/rrd4j.cfg  looks much better
 
Strategies {
 everyMinute : "0 * * * * ?"
   everyHour : "0 0 * * * ?"
    everyDay : "0 0 0 * * ?"
}

Items {
 // all items, all updates
 * : strategy = everyUpdate, everyMinute
}

Graphs

 I did not get graphs to work until I added a
        service=
to each and every Chart in my sitemap. Then it suddenly worked.

 

 Links:

2018-01-13

Using RFIDler on Windows

I just borrowed an RFIDler and am trying to get it to work on Windows to read the content of some NFC cards.

Because this information was hard to pull together, here is what I found:

Firmware update on Windows


You can get mphidflash.exe from here:
https://github.com/ApertureLabsLtd/mphidflash/blob/master/dist/mphidflash-1.6-bin.zip

You can get the latest firmware from here:
https://github.com/ApertureLabsLtd/RFIDler/blob/master/firmware/Pic32/RFIDler.X/dist/default/production/RFIDler.X.production.hex
Currently it is 0203-beta (debug)

The command line simply is:
mphidflash-1.6-bin\binaries\mphidflash-1.6-win-32.exe -r -w RFIDler\RFIDler.X.production.hex


Reading cards


Positioning the cards seems to be hard.
I did not get it to work yet but it should be:

Open Putty
Open a serial connection with 115200bps 8n1 no flow control.
type enter to enter CLI mode.

autotag
should identify the type of card.

set tag  
sets the type of card

vtag
now provides information reat from the card.

source:  https://www.scip.ch/?labs.20151022

2018-01-04

'roast only' on the Bonaverde - Aldo Parducci

Project history

  1. old posting: 'roast only' on the Bonaverde - Rodolfo Ruffatti
  2. current posting
  3. next posting: Coffee with bottled water








This time I tried
Bean Type:  Burbo
Grown by Aldo Parducci
of El Salvador

This is one of the larger bean packs I got from the first coffee delivery  for my Bonaverde Berlin roast+grind+brew coffee machine.

I used "roast only" in the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot last night and ground+brew the coffee this morning.
Change to previous attempts: I used a water filter. (Water here has a PH of 7.57 but an extreme 12.2dH of hardness.)

Update: See Coffee with bottled water for later experiments with water that resulted in much better coffee.

Results

 Again I used my Hario Skerton manual coffee grinder at the finest setting (dust).

 espresso

not yet

filter coffee

Absolutelay GREAT!!!
Very balanced. Not sour at all. I can really taste distinct flavors.


Other changes 

I did add a new label "Coffee" to this blog. So you can see all postings related to it.

Also the "Coffee Concierge" Facebook Messenger Chat-Bot that controls the "Berlin" coffee machine has a new "abort machine" command. It however isn't recognized in all states and does not seem to abort a brewing cycle that has already started.

Links

2018-01-03

Fusion360 - you can NOT flip an axis in CAM

I just found out, that it is impossible in Fusion360 to have a single axis on your CNC be oriented differently.
All options to flip the direction of one axis in a CAM setup, also flip one of the others.

Looks like this will also never be fixed.

See: Fusion360 CAM support forum.

2017-12-16

Developers: NEVER invest time and effort into any Google project that isn't mainstream.

For everyone outside the Tango Developers Community:
Be warned to never invest time and effort and money into ANY Google project that isn't yet mainstream.

I am SO pissed.

_____

When buying the Phab2Pro specifically for Tango development and testing and using it as a plain user, it was a commitment for 3--4 years (when it will be time for the next phone).
There was no really stable SDK ever to START any serious development. It was constantly bugfixes, updates and changes.

After the Phab2Pro none of the other hardware manufactures had yet the time to see it and and the newer model perform in the market before investing huge money into a risky platform.
Aparently they where right NOT doing so,. Proven by this cancelation.

It's the same I already had with the completely useless GoogleTV collecting dust (given to developers by Google itself back in the days).
After porting software to it, investing lots of time, it was abandonned without ever being adapted for the differences in how TVs are used in Europe (commonly no set-top boxes).

Remind me to NEVER invest time, effort and money into any Google project anymore. For a developer, it is way too risky to throw so much time, effort and personal money at it. All of it will be completely lost and in vain 6 month later.

  • Announcement that Google Tango (formerly Project Tango) is now dead.

2017-11-29

TechShop and the Multistruder

I am a Kickstarter Backer of the "Multistruder: 3D Printer Filament Extrusion Tool"
It was supposed to be a filament-maker for recycling.
Problem is. TechShop in the USA went bankrupt.

According to the fulfillment blog, this effects the "reclaimer" plastic-grinder heavily,
but my Multistruder filament-maker only slightly.
Luckily only because of a broken down 3D-printer and I only backed the Multistruder.
Planning to grind myself (how difficult can it be... ;) famous last words).

Links:

2017-11-21

'roast only' on the Bonaverde - Rodolfo Ruffatti

Project history

  1. old posting: Trying 'roast only' on the Bonaverde again
  2. current posting
  3. next posting: 'roast only' on the Bonaverde - Aldo Parducci








This time I tried
Bean Type:  Burbon Rojo
Grown by Rodolfo Ruffatti
of El Salvador

This is one of the larger bean packs I got from the first coffee delivery  for my Bonaverde Berlin roast+grind+brew coffee machine.



Results I

I used "roast only" in the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot on Saturday.
Now it is Tuesday.

Update: I did NOT use a water filter yet. See 'roast only' on the Bonaverde - Aldo Parducci for the results when I added one.
Update: See Coffee with bottled water for later experiments with water that resulted in much better coffee.

I did NOT use the roasting profile for these beans because for "roast only" I can still only use a generic default-profile. 


 Again I used my Hario Skerton manual coffee grinder at the finest setting (dust).

 espresso

The espresso had slightly cold water this time. The IR-Thermometer meassured only 65°C but I believe that meassurement was in error as the water came fresh out of the coffee machine.
Again I used a Handpresso.
....the espresso was amazing. Perfectly mild and tasty. Not a hint of sourness or bitterness at all.

filter coffee

The filter coffee using the off-the-shelf Krups coffee machine was good.
Not as perfect as the espresso but a real good cup of coffee.
Absolutely no comparison to the "Almond" beans I tried yesterday.

Results II

This time I used a water filter.
I did NOT use the roasting profile for these beans because for "roast only" I can still only use a generic default-profile.

filter coffee 

I tried 42g of beans that I had roasted and then put in a sealed, dark plastic bag with no air in it (aside from the CO2 that the beans release themself) at slightly below room temperature.
It was...slightly sub-par. Too sour for my taste.

Then I tried 42g of beans roasted the night before and left in the roasting chamber to be ground and brewed the next morning.
It was terrible. Completely sour.

 

Results III

 For comparison I did a roast-grind-brew cycle with no time for releasing CO2 between roasting and grinding.
This time I used a water filter.
I did use the roasting profile for these beans.

filter coffee 

Well.... as long as it's hot it is only a bit sour and leaves a sour after-taste. That taste clouds everything else.
As soon as it started to cool down even a tiny bit it gets real sour.

 

2017-11-19

ATC: MACH3 M06 tool change macro for USOVO

Project history

  1. Evaluating my choices in  back in February
  2. Decided on what ATC system to get in March. (posting contains MACH3 software references)
  3. The Usovo spindle and parts finally arrived in April
  4. Mounting spindle and cables in May
  5. Defining M06 tool change macro
  6. Next project: designing a chain link tool library

I managed to get my automated tool changer to work.
Due to a compressor failure and missing part to get the new compressor operational, this was delayed FOR A LONG TIME.
It was a few minuted before I had to leave, so sorry for the crappy cellphone video.
(Also the youtube "stabilize video" algorithm makes my feed drunk.)
It's also still in debugging mode with a very low feedrate and a "continue"/"abort" question at every step in case something doesn't fit.
I also haven't done any tool length probing yet.
The front side of the tool magazine is too low because it sits on a temporary mount for the 4th axis that I am about to replace with a thicker version machined from POM. However for that I need the ATC to work.

 

Discussions:




Sources:

Screens

First we need to place a new user-defined DRO "1212" on one of the screens. It holds the OLD TOOL. This can be done with the mach3screen.exe screen- editor.
It is assigned at the end of the last M6End.m1s macro.

Code

M6Start.m1s

'M6 start macro with auto tool touch off

'M6Start.m1s
'Check all axes referenced
If (GetOemLed(807) Or GetOemLed(808) Or GetOemLed(809)) Then
   Message(" Please Home Machine before Tool Change")

   'Cycle Stop
   ' Button 3 - select Toolpath screen
   DoButton(3)

   Exit Sub
End If


'--------------- CONFIGURATION

' the X+y+z position of tool #0 is stored in DRO 1200, 1201, 1202
' THESE USER-DEFINED DROS MUST BE DEFINED IN THE SCREEN SET
' distance of tools inside the magazine along the Y axis
TOOLDISTANCE = 33.5
TOOLDISTANCE_Z = (33.5-36.5)/5
TOOLCHANGE_FEEDRATE = 150

' safe absolute Z position
SafeZ = 0
SafeX = 65

' position of the tool height sensor (magazine must be open)
THS_POS_X = 0
THS_POS_Y = 0
THS_POS_Z = 0
THS_PROBE_FEEDRATE = 5

' Thickness of touch plate in the offset-screen
PlateThickness = GetOEMDRO(1001)


'--------------- CURRENT PARAMETERS TO RESTORE

' Save the current feedrate.
CurrentFeed = GetOemDRO(818)

' Save current coordinate mode to restore it later
oldCoordinateMode = GetOemLED(48)

' Set absolute coordinate mode and feedrate
Code "G90 F" & TOOLCHANGE_FEEDRATE

' Save the current position
' WARNING, THESE DROS ARE DEPRECATED SINCE MACH3 1.90
CurrentPosX = GetDro(0)
CurrentPosY = GetDro(1)
CurrentPosZ = GetDro(2)




'--------------- TOOL CHANGE

tool = GetselectedTool()
oldTool = GetCurrentTool() 'GetOEMDRO(1212)
If oldTool = tool Then
  Answer = MsgBox("old tool and new tool are identical", 0 + 16 )
  Exit Sub
End If

Answer = MsgBox("experimental tool change from tool " & oldTool  & " to new tool " & tool, 0)


DoSpinStop()

' use the user LED to store the state of coolant,
' so it can be restored in M6end.m1s
If getoemled(13) Then
   'OEM LED 13 = "Flood LED" thus coolant is on
   ' set user led on
   setuserled(1000,1)
   Code "M9"
Else
   'coolent is off
   ' set user led off
   setuserled(1000, 0)
End If

'Get the tool change pos from the settings page
ChangeX    = 24                             '=GetOEMDRO(1200)
ChangeYold = 35 + (oldTool * TOOLDISTANCE)  '=GetOEMDRO(1201) + (oldTool * TOOLDISTANCE)
ChangeYnew = 35 + (Tool    * TOOLDISTANCE)  '=GetOEMDRO(1201) + (tool * TOOLDISTANCE)
ChangeZold = -33 + (oldTool * TOOLDISTANCE_Z)                            '=GetOEMDRO(1202)
ChangeZnew = -33 + (Tool * TOOLDISTANCE_Z)

While IsMoving ()
Wend

'===== DEBUG====
Response = MsgBox ( "moving to Zsafe=" & SafeZ & " quickly", 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====

' G53 = Move in absolute machine coordinate system
Code("G00 G53 Z" & SafeZ)
While IsMoving ()
Wend

' open magazine
ActivateSignal(OUTPUT2)


If CurrentPosX < SafeX Then
     '===== DEBUG====
   Response = MsgBox ( "We are above the tool magazine, moving to SafeX=" & SafeX & " quickly" , 1 )
   If Response = 2 Then ' Cancel pressed
      Response = MsgBox ( "Aborting" , 1 + 16 )
      End
   End If
   '===== DEBUG====


   ' go to old tool position in Y
   Code("G00 G53 X" & Safex)
   While IsMoving ()
   Wend

     '===== DEBUG====
   Response = MsgBox ( "moving to y_oldtool=" & ChangeYold & " quickly", 1 )
   If Response = 2 Then ' Cancel pressed
      Response = MsgBox ( "Aborting" , 1 + 16 )
      End
   End If
   '===== DEBUG====


   ' go to old tool position in Y
   Code("G00 G53 Y" & ChangeYold)
   While IsMoving ()
   Wend

   
Else
  '===== DEBUG====
   Response = MsgBox ( "moving to y_oldtool=" & ChangeYold & " quickly", 1 )
   If Response = 2 Then ' Cancel pressed
      Response = MsgBox ( "Aborting" , 1 + 16 )
      End
   End If
   '===== DEBUG====


   ' go to old tool position in Y
   Code("G00 G53 Y" & ChangeYold)
   While IsMoving ()
   Wend

     '===== DEBUG====
   Response = MsgBox ( "moving to SafeX=" & SafeX & " quickly", 1 )
   If Response = 2 Then ' Cancel pressed
      Response = MsgBox ( "Aborting" , 1 + 16 )
      End
   End If
   '===== DEBUG====


   ' go to old tool position in X
   Code("G00 G53 X" & Safex)
   While IsMoving ()
   Wend

   
End If


'===== DEBUG====
Response = MsgBox ( "Moving down to ChangeZold=" & ChangeZold & " quickly" , 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====


' go to old tool position in Z
Code("G00 G53 Z" & ChangeZold)
While IsMoving ()
Wend



'===== DEBUG====
Response = MsgBox ( "Placing tool in X=" & ChangeX & " slowly" , 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====


' go to old tool position in X
Code("G01 G53 X" & ChangeX & " F" & TOOLCHANGE_FEEDRATE)
While IsMoving ()
Wend

'===== DEBUG====
Response = MsgBox ( "releasing the old tool" , 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====


' release the old tool
ActivateSignal(OUTPUT1)

'===== DEBUG====
Response = MsgBox ( "moving up to SafeZ slowly" , 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====

' move up
Code("G01 G53 Z" & SafeZ & " F" & TOOLCHANGE_FEEDRATE)
While IsMoving ()
Wend


'===== DEBUG====
Response = MsgBox ( "moving over to y=" & ChangeYnew & " quick", 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====


' go to old tool position in Y
Code("G00 G53 Y" & ChangeYnew)
While IsMoving ()
Wend

'===== DEBUG====
Response = MsgBox ( "lowering to Znew" & ChangeZnew & " slowly", 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====

' move up
Code("G01 G53 Z" & ChangeZnew & " F" & TOOLCHANGE_FEEDRATE)
While IsMoving ()
Wend

'===== DEBUG====
Response = MsgBox ( "grabbing the new tool" , 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====


' release the old tool
DeActivateSignal(OUTPUT1)


'===== DEBUG====
Response = MsgBox ( "moving to  SafeX=" & SafeX & " slowly", 1 )
If Response = 2 Then ' Cancel pressed
   End
End If
'===== DEBUG====


' carry the tool out
Code("G01 G53 X" & SafeX & " F" & TOOLCHANGE_FEEDRATE)
While IsMoving ()
Wend



'--------------- TOOL HEIGHT PROBE
Response = MsgBox ( "Would you like to set your Z height automatically? If so, click OK", 1 )
If Response = 1 Then
' TODO THIS HAS NOT BEEN TESTED YET


  ' go to tool height sensor position
  Code "G00 G53 X" & THS_POS_X & "Y" & THS_POS_Y
  While IsMoving ()
  Wend

  While GetOemLed (825)=0
      Message ("(Z-Plate is grounded, check connection and dismiss this dialog)")
  Wend

  Code "G31 Z-5 F" & THS_PROBE_FEEDRATE
  While IsMoving()
  Wend

  'dwell for 0.25 seconds 
  Sleep(250)

  ZProbePos = GetVar(2002)

  'Go back to touch position (G31 backs off after touch)
  Code "G0 Z" & ZProbePos
  While IsMoving ()
  Wend

  'Set Z axis position DRO to touch plate thickness
  ' WARNING, THIS DRO IS DEPRECATED SINCE MACH3 1.90
  Call SetDro (2, PlateThickness)

  'Pause 0.5 seconds for Dro to update.
  Sleep(500)

  ' go up again
  Code "G00 G53 Z" & SafeZ
  While IsMoving ()
  Wend

  Code "(Z axis is now zeroed)"
  ' restore the original feedrate
  Code "F" & CurrentFeed
End If

SetCurrentTool( tool )

' close magazine
DeActivateSignal(OUTPUT1)


'--------------- RESTORE ORIGINAL PARAMETERS

' Reset coordinate mode to original value
If AbsMode = 0 Then
   Code("G91")
End If

'===== DEBUG====
'Response = MsgBox ( "moving to back to " & CurrentPosX  & " - " & CurrentPosY &" , then Z=" & CurrentPosZ , 1 )
'If Response = 0 Then ' Cancel pressed
'   End
'End If
'===== DEBUG====

' go to old tool position
'Code("G00 G53 X" & CurrentPosX & "Y" & CurrentPosY)
'While IsMoving ()
'Wend
' go to old tool position
'Code("G00 G53 Z" & CurrentPosZ)
'While IsMoving ()
'Wend


' Reset feedrate to original value
Code("F" & CurrentFeed)            

M6End.m1s


'M6End.m1s
tool = GetDRO(24)
oldTool = GetOEMDRO(1212)

' check user led
If getuserled(1000) Then
   'coolant was on
   Code "M8"
End If

If (oldTool <>  tool) Then
   SetOEMDRO(1212, tool)
End If

2017-11-12

Adapter for Usovo Tool-Height-Probe



The Usovo tool-height-probes mount with M4 screws that are 21mm apart.
However the table on my CNC needs M6 screws 40mm apart.
So I designed this adapter.


Links:


ER11 collet holder

With my current ATC upgrade to the CNC milling machine,
I have need for more then one collet per size.
So to keep all these small pieces organized, I designed myself some collet holders
that would keep them ordered by size and labeled.

...just a very quick 3d printed design.
 

Links:

2017-11-11

Trying 'roast only' on the Bonaverde again

History

  1. old posting: First Bonaverse coffee delivered
  2. current posting
  3. next posting:'roast only' on the Bonaverde - Rodolfo Ruffati


I tried the "roast only" option in the alpha version of the Bonaverde "Coffee Concierge" Facebook Messen Chat bot today.

ATTENTION!

The "Coffee Concierge" Facebook Messenger chat bot it still in alpha stage. It does not have any error messages or reminders yet and expects you to do things in  exactly the sequence it expects you to. (Without telling you about details such as pushing the button.)

  1. You need to send the command "roast only" via Facebook Messenger. It will ask you for beans. It does not ask about the type of beans or other details for the roasting yet.
  2. Then open the door and close it again. Even if you have already inserted the green beans.
  3. Then and only then click "ok". It should start roasting after a few seconds.
  4. After roasting it will show a red light. That is perfectly okay because the machine is still hot. The light will go out once it has cooled down to safe levels.
  5. Only then will the machine unlock the door.

Results


Update: I did not use a water filter yet. See 'roast only' on the Bonaverde - Aldo Parducci for the results when I added one.
Update: See Coffee with bottled water for later experiments with water that resulted in much better coffee.

The first time I tried that (then the machine was delivered) it did not yet work.
 
This time it seems to be be doing something.
It asked me to insert beans. I did. 
Then my "Berlin" coffee machine came to life and started roasting.
In case this would not be work out as a "roast only" , I quickly added a coffee filter and water.... Just to be safe.

It did *not* ask me what type of beans I had inserted or to scan the RFID tag of the coffee bean pouch.
My guess is that it is using some kind of default roasting profile.

After roasting it was suddenly glowing red and was indeed not continuing with any grinding or brewing.
I put the beans into a clear plastic bag with nearly no air in there to find out just how much CO2 they will release until Monday and to keep then away from oxygen.
Then I'm planning to manually make a nice espresso and maybe a fresh press. 

Result : "Almond"

filter coffee

After 1 week to release CO2, I made a filter-coffee in the Bonaverde "Berlin".
Half the beans with half the water, so I would have beans left for an Espresso.
It tasted very different from the freshly roasted coffee. This time it was neither bland nor completely sour. It tasted like actual coffee.
It was one of the original "Almond" bean-packs.
I'm not 100% sure if I did taste a hint of almond. It was not the taste I was looking for but it was a good cup that was neither bitter nor sour and actually tasted like coffee.

espresso

3 days later I hand-ground the remainder of these beans using a Hario "Skerton" manual coffee mill into super fine dust. This is my default setting because I like making Mokka with this mill.
From what I reat afterwards (to not cloud my judgement), grinding finer or having it in contact with the water for a longer time makes it less sour and more bitter. Grinding more coarse or with a shorter time the other way around. It also gets sour when not roasting long enough but I can't experiment with that parameter yet.

I made 3 espresso (Handpresso with 70°C and 80°C water) and a filter coffee.
The espresso was sour. Every time.

filter coffee again

The filter coffee was made with a Krups off-the-shelf machine and not the Bonaverde machine.
The filter coffee was strange. The first two espresso-sized cups where sour.
After then the later 2 ones where quite okay.
Later I burn my tongue so I can't dive much deeper here.


First Bonaverde coffee delivered

History

  1. old posting: Bonaverde - The Facebook Coffee Machine
  2. current posting
  3. next posting:Trying "roast only"

I got a delivery of new coffee beans from Bonaverde
(It was announced that until the coffee bean store for the Bonaverde "Berlin" machines exist, people would get a package of green beans to roast-gind-brew for free to test the logistics.)
Sender address was "First Choice GmbH c/o Bonaverde Logistics"

Larger packages 

These packages are MUCH larger then the packages there machine came with. I can also not feel smaller packages inside.
Since the RFID Tags are single-use... how am I supposed to roast these? An entire can of coffee from a small pouch was already way too much. This looks like a single package could keep a small army caffeinated.

I just noticed.... it now says "scan with your messenger app"???.
Not "scan with your Bonaverde "Berlin" coffee machine".
Problem is... I can't try this because both of my phones don't support RFID.

Update(2017-11-14): From an email answer from support: "Answered on Facebook - your phone doesn't need to have an RFID capability because the machine communicates with the bot over 3G" (I will have to try that next weekend)

 Changes in labeling

It's a big improvement to list the Country of origin, bean type and weight of the packagesv now.
(See my earlier blog-posting for to compare!)

However, there is no indication given about the flavor to be expected anymore. Not even the "Blueberry" /"Fresh Nuts" /"Almond" labels the smaller packages had.

Update(2017-11-14): From an email answer from support: " Within the bot, you can now choose the roast profile for the new beans as well as find out more about the flavours."  (I habe yet to figure out how to actually DO the second.)

One other thing I am missing is any "best before" date (German: Mindesthaltbarkeitsdatum)
or at least a date when these have been packaged.

Update(2017-11-14): From an email answer from support: "Compared to roasted beans, green beans don't have an expiry date. They should be roasted within the first year from picking for the best possible flavour, but will still be drinkable and make great cup of coffee even when few years old. (I wouldn't expect them to last that long in anyone's household. :)"

Air filter without RFID-tag?

There is also a new air filter. Problem is... it doesn't seem to contain an RFID tag like the original one. So when the machine asks for a new filter at some point (after 60x of roasting according to the manual) ... I won't be able to scan this before changing the filters.

Update(2017-11-14): From an email answer from support: "The air filter without an RFID is a genuine mistake on our part, but that doesn't mean it's not usable. When your machine asks for an airfilter reset, just let us know within the bot, and we'll reset the air filter remotely. All future air filters will come with RFID."

2017-11-05

HSMAdvisor

Project history

  1. old posting: Why I'm NOT using GWizard by CNCCookbook anymore
  2. current posting
  3. next step

I just purchased a license for HSMAdvisor.
It is a feeds and speeds - calculator for operators of CNC milling, drilling and turning -machines.

I plan to use it to minimise my machining time on the 6040 CNC and to find starting-points for my new and unfamiliar spindle, for new materials, cutter-shapes and operations (e.g. CNC driling and thread-cutting).

Because it includes a license for the Android app that is limited to 1 year,
I postponed this step to the very last moment.
So my 1 year would not start running too early.

FSWizard:Mobile

This is the Android app for HSMAdvisor.
However I should says, this is the iOS app for HSMAdvisor that also happens to run on Android, completely disregarding the Android Design Guidelines and the Android Navigation semantics.

It is in no way integrated with the Desktop app except for the mentioned 1-year license.
So you have no access to your defined cutters, machine limits or preferred materials.
Also the math is more limited then the desktop software. (e.g. no spindle-power limit.)

(According to a comment to my Google Play Store -review, some of this is supposed to change in future versions.)

HSMAdvisor

Feeds and Speeds calculator

I really like the fact that you can save and load cutting data and that they are organised by tool.
You can even rate them with 1-5 stars afterwards.
You can't find them by material (to select a cutter that worked well in the past) but that's okay.
However what's not okay is that you can't even see the machine in the overview of these saved cutting parameters. So if you have multiple machines or spindles, you may load cutting data for e.g. a slower spindle.

I do not know why it would always display the "shoulder diameter" in inch while everything else is in proper millimeter. Imperial sizes and speeds mean absolutely nothing to me. Lacking any reference, I can't interpret them as being "fast"/"slow" or "large"/"small". Especially fractions like "0.1181 in" (=3mm)

It can not calculate cutting data for drilling operations. That's something  I could have really made use of with my current project. (Never having drilled in a CNC before.)
If you define a "Jobber Twist Drill" = regular drill. It will suddenly turn into a drilling calculator.
Just what I need right now.

Updates

It seems that the software does not auto-update nor does it inform the user about newer versions existing.

Material selection

The metals seem to be only in the US numeric representation.
So I was not able to find e.g.  AlCuMgPb.
There seems to be no differentiation between POM-C (copolymer) and Delrin (DuPont brand named mono-polymer.) even as both are mechanically different. However at least POM and machinable wax are present at all.

I was not able to find any common, soft woods like fir or spruce however there is a setting "soft wood".

It does list "machinable wax" however it just ignores the low melting point in it's cutting recommendations.

I am not able to hide all that different kinds of steel (as I will never, ever machine steel on my hobby machines) but with the search-function it's fine.

Support forum

Support is handled through a self-written forum software.
Sadly zero.divide doesn't use a standard software.
Thus the forum is lacking all kinds of email-notifications and has no "my discussions", "my postings" or "answers to my postings" feature at all.
Also no support for Tapatalk.
You are required to come back regularly and manually search all topics that are still relevant to you for possible. answers.

Reference charts

The desktop app includes a large number of reference charts.
However they are not explained and are extremely imperial-centric.
So as a non-machinist, especially from a metric country (all countries except Myanmar, Liberia, the UK and the USA. However the later not for any NATO or NASA business),
you have absolutely no idea what e.g. the drill-chart could possibly mean.
As a non-machinist and not a native English speaker, I may be lacking a lot of specialised vocabulary to understand these.

"Metric Taps" 
  • There is no indication that the metric clearance listed is for the "coarse" and not the "fine" variant. 
  • The metric height of the corresponding bolts (e.g. an M5 nut is 4.0mm in height) is missing.
  • Metric size of the wrench needed (e.g. for an M5 you use an 8mm wrench) is missing. I often need this to design hexagonal holes for the nuts 

Taps

  • There is no line below the tap header, telling the user what the chart is about 
(e.g. for the "drill chart" "Size table for imperial drills referenced to in numbers or letters") 
  • In Europe, I have never seen imperial drills. Nor do I know how the are named. But I do know that you'll have a hard time finding something exotic like a 6.25mm drill listed. 
  • There is no help text (offline. on the local computer.) explaining what the tables is and how to use them.
(According to a forum answer, some of this is supposed to be improved in a future version.)

Links: