Tag Archives: Blog

Laser cutter continued … (PT2.)

This is probably going to end up being as long as my first rant on the laser cutter, if you’re considering buying one or having problems with overheating MOSFETs, tuning your motors or just a long rant about getting to a comfortable functional state, you’ll probably want to read that first.

So not much has changed since I last updated the previous article, the laser cutter is working well, I’ve cut a few more adventurous objects this week and done plenty of engraving. also cut two mounting plates for the relay board and the control board both of which I’ll add to the downloads page when I get chance. I’ve been running a mix of hatching jobs figuring out what works well and how to produce tones using the relay board. Cutting needs refining, currently running between 175-200mm/s cut rate and 35 to 40 passes (4mm ply), Engraving is also working well running at 1000mm/s with a single pass works very well with wood, still yet to test any plastics, but pleased to say I’ve got some primitive extraction sorted. (120mm extraction hose and 12v fan mounted inside.)  Whilst this works surprisingly well currently, when I make an enclosure, I’m pretty sure the fan will be 100% effective (which is a very good thing :0D ).

The new control board has arrived, it features a much bigger transistor (F540NS), the board is much more capable than the last, with a lot of IO, support for x / y / z limit switches, x / y / z motor support each axis has independent drivers. The arduino nano is opto isolated from the twelve volt supply and the circuit board is black, which yes looks nice, but makes it remarkably more difficult to follow the traces, maybe that’s just me? There’s also an i2c header and support for reset / abort and hold switches. Everything else is rather self explanatory four connections for the motors, two terminal blocks one for the twelve volt supply the other for a fan / laser, complete with matching JST sockets.

There are four connections on the board I’m currently unable to identify S_EN (which I think is spindle enable.) DIR (Spindle direction?) and C_EN (not sure) and E_S (emergency stop?)  These aren’t that important at the moment, but they’d be nice to know.

Procrastinating a little, I’ve grown quite fond of the current set up.

Plus what little documentation I’ve located (and translated images + text) it would appear (i hope) that the board supports lasers up to 10w, but recommends installing benbox (argh nope), this may however indicate the PCB is 100% GRBL compatible (meaning all the settings and configuration I have will work 1st time or … I’m back to square one.). I’m not going to flash the included board just in case  I need to revert to for some reason. Meh.

Less procrastination more action, as long as I don’t damage the laser or motors I can always revert to my current set up. Time for a hot beverage and then some cable swappage.

BTW. I’m sitting here writing this whilst the storm is raging outside.

This tea however is fantastic.

Progress!!! GRBL working! Motors working! More tea needed before I test the laser. Taking this opportunity to flash the device and update all the default GRBL settings to my preferred defaults. NB: The settings are contained in c:\users\uname\Documents\Arduino\libraries\grbl\defaults.h

My current settings are as follows …

#define DEFAULT_X_MAX_RATE 6000.0 // mm/min
#define DEFAULT_Y_MAX_RATE 6000.0 // mm/min
#define DEFAULT_Z_MAX_RATE 6000.0 // mm/min
#define DEFAULT_X_ACCELERATION 75.0 // 10*60*60 mm/min^2 = 10 mm/sec^2
#define DEFAULT_Y_ACCELERATION 75.0 // 10*60*60 mm/min^2 = 10 mm/sec^2
#define DEFAULT_Z_ACCELERATION 75.0 // 10*60*60 mm/min^2 = 10 mm/sec^2
#define DEFAULT_X_MAX_TRAVEL 600.0 // mm NOTE: Must be a positive value.
#define DEFAULT_Y_MAX_TRAVEL 500.0 // mm NOTE: Must be a positive value.
#define DEFAULT_Z_MAX_TRAVEL 100.0 // mm NOTE: Must be a positive value.
#define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
#define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
#define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
#define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
#define DEFAULT_ARC_TOLERANCE 0.02 // mm
#define DEFAULT_REPORT_INCHES 0 // false
#define DEFAULT_INVERT_ST_ENABLE 0 // false
#define DEFAULT_INVERT_LIMIT_PINS 0 // false
#define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
#define DEFAULT_HARD_LIMIT_ENABLE 0 // false
#define DEFAULT_INVERT_PROBE_PIN 0 // false
#define DEFAULT_LASER_MODE 1 // enable
#define DEFAULT_HOMING_ENABLE 0 // false
#define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
#define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
#define DEFAULT_HOMING_SEEK_RATE 1000.0 // mm/min
#define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
#define DEFAULT_HOMING_PULLOFF 1.0 // mm

Well currently I’m ecstatic the 540N / new control board is doing a great job, the laser currently works using MOSFET when performing line drawings with the gate fully open. I’m just looking for a bitmap to start some rastering tests. Running some more line drawings and hatching then on to some raster work, all systems nominal, everything is running beautifully so far. (fingers crossed.)

Sleep was needed will pick this back up in an hour or so need to sort a few orders out and tidy my space.

Rastering results so far, it works, but, to get the laser down to an acceptable power, without the MOSFET getting ridiculously hot, I’m having to defocus the laser, which in turn causes fidelity issues with the final burn. So … more testing will report back soon.

Observations, I think this time around the MOSFET under rastering is getting too hot because of the 8khz PWM rate, I’m not really able to generate a good range of colours when rastering unless the image is just black and white not grey scale. The 8khz PWM rate (I think) is having an effect on the amount of operations per second the arduino is processing. So going to reflash the existing firmware but try the default PWM setting and a few more raster operations.

To change the PWM rate you need to edit cpumap.h
Earlier in this guide I tried to change the PWM rate to 8khz, which didn’t have the desired effect so I’m just changing it back to GRBLs default which is 0.98khz

That section of my file currently looks like this …
// Prescaled, 8-bit Fast PWM mode.
#define SPINDLE_TCCRA_INIT_MASK ((1<<WGM20) | (1<<WGM21)) // Configures fast PWM mode.
// #define SPINDLE_TCCRB_INIT_MASK (1<<CS20) // Disable prescaler -> 62.5kHz
// #define SPINDLE_TCCRB_INIT_MASK (1<<CS21) // 1/8 prescaler -> 7.8kHz (Used in v0.9)
// #define SPINDLE_TCCRB_INIT_MASK ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
#define SPINDLE_TCCRB_INIT_MASK (1<<CS22) // 1/64 prescaler -> 0.98kHz (J-tech laser)

So altering the PWM rate has had an effect on the speed off the rastering operation but similarly still having issues with temperature and unable to get a good range of colours without the MOSFET getting too hot.

Altered the GRBL x/y/z acceleration value to 75 on the control board with no noticeable negative effects on the motor drivers.

Will update this blog article as I go as I know a lot of people are having similar problems.

18/01/2018 – Adding pictures.

The &%$%ing laser cutter …

Yup, I bought a cheap Chinese laser cutter, not a CO2 one but a diode based banggood/A3 clone (5.5 watts 50x60cm bed). It seemed like such a good idea at the time. I couldn’t sleep knowing I’d finally got my hands on something I could use to create physical objects from work on the computer. I could use the laser cutter to build a simple CNC machine and expand my range of products. We’ll that’s what I thought.

Continue reading

OMG It’s been too long …

10 minutes after surgery.

So you lot its been way too long, let me just bring you up to speed, in May this year I had a pretty big operation on one of my kidneys (a problem that I’ve had since I was sixteen). This put me completely out of action for at least twelve weeks. If there’s anything I learned from the whole experience it’s to stay the term in hospital until you’re one hundred percent recovered and avoid MMORPGs like the plague. I checked out two days after the operation and was not in the best of states and very uncomfortable. (Skipping out all the gross/disgusting/painful details.)  I spent the twelve weeks recovering playing a stupid game on the internet that im not going to mention either. So all this in the first year I’m trying to start a business. Meh. I don’t feel guilty at all for sessioning on a computer game, there wasn’t much I could do apart from sit in the most (un)comfortable position I could muster and pass the time till I felt better. Gradually I recovered and managed to start getting back to business. I didn’t list any sales in May so basically missed a whole month of trading, this put me behind a little and also gave the motivation to start improving monthly on my production and sales, things still aren’t brilliant but month on month things are getting better.

So what’s this thing I’ve been doing? Since early this year I started a business making vinyl sticker, signs and fitting shop windows / car decals / graphics. Every project / sticker I’ve produced has been created from scratch, no auto-trace, manually drawn and produced as vector files (SVG format / DXF), the learning curve for the vinyl cutter I’d expected to be pretty simple as there’s not much to the machine but as I discovered there are a lot of variables and techniques when working with the materials to give the best results. Small settings that are sometimes overlooked and techniques and skills you can only learn from practice and understanding the material you’re working with, what it’s capable of and what it is not. What design considerations you must make prior to production based on material and size. Knowing your machine, when its functioning correctly and when it’s not. Over the last ten months or so, I’ve learnt a hell of a lot to do with signage and sign making.

Ill save the rest for another post b/c I think it deserves it and have a feeling the next topic is going to be some what revisited over the next twelve months.

Hakology Blog (D90) – Things and stuff …

Well first of all happy new year to all! … Today marks the start of a new journey for me, I quit my last job in September last year, I needed a change something new, over the last three months I’ve been gathering all the tools to upcycle old objects, make old new again etc. I’ll hopefully get chance to start incorporating bigger projects in the vblog and you lot will see my mini workshop! Still have a lot of work to do, I’ll write another blog when I have some free time. Once again happy new year and have fun hacking!

Hakology Day 78: Blog Entry

Hey you guys!! So a quick catch up, new tools installed in the garage ready for the new year, awaiting some blasting medium for my cabinet and I can finally get started. The reddit arduino / pi project is finished including checksums and far less glitchy code. I made some really stupid mistakes the first time round but it’s all a learning process. I’d kinda hoped I could just grab the checksum code, copy, paste and be done but I must have spent maybe 20-30 hours debugging, refining and analysing.

Next on the agenda is the clock I’ve been working on having issues loosing time have done a fair amount of reading on the module im using and think i’ve tracked down what the issue is, we shall see though, when I get some time to sit down and start coding.

Love my workshop at the moment too still needs some more work but it’s nice walking in to a tidy place to work with plenty of space. That said there’s still a hand glider hanging up in there which I’m thinking I probably need to get rid of b/c of space … yet its never been out of the bag since I bought it.

Anyway I’m waffling, have a great Christmas and new year etc. I shall see you on the other side. Hack all the things, drink all the tea, eat all the mince pies, read all the manuals, scan all the frequencies, log all the voltages and be safe!!

Hakology Day 52 : Blog entry

Finally finished putting it all together …

I have my lounge back in order now, have moved the unit to my landing, still not tested but everything is ready to go just waiting for a couple of friends to come and help me move it downstairs. Oh and its Friday so im going to take a few hours off from the hacking spree.

Hakology Day 49 : Blog Entry

Had a nice early night last night. Woke up spark awake at 5.30 and couldn’t get back to sleep. So decided to make some breakfast have a brew. Loads to do, as you lot may know we’ve had some pretty bad storms in the UK recently and the weather has been particularly crap for this reason I’m avoiding sorting my garage out till it cheers up a little. I’ve got loads of little micro controller projects on the go just trying to condense what I’m learning into some useful videos / code. I’ll probably write up all the notes for the RPi reddit project later on today too with photo’s etc. Right peace BBL

Well hakology need to record a VBLOG later had some new tech arrive, nothing too special, a new microcontroller (the smallest one yet), some adapters and a couple of transistors I need for an RF amplifier I’m looking at building. Need to go and get cleaned up though before I get messy, starting to grow one of those linux admin beards.

Smallest microcontroller I’ve worked with yet …

Managed to get the arduino mini programmed using another arduino. Having issues trying to get the two boards working in unison the display draws, but I can’t seem to get the time from the RTC.


Hakology Day 47 : Blog Entry

Up bright and early this morning covered almost head to toe in fibre glass insulation. Rearranging the loft to start putting some temporary flooring up there. Also want to reposition my discone and dig through some of the old tech. I was thinking about trying to pull my old acorn electron down and making a short vblog on it see if I could power it up etc … 1985 vintage … 26 year old capacitors hmmmm ? 🙂

Six hours later and I’ve used all the floor boards I have. Still a long way to go but its a start. Completely knackered going to have a rest and contemplate my next job.

Hakology Day 43 : Blog Entry

Time to get busy NO MATTER WHAT. Had a great weekend spent with my son and family, we even did a little coding using the reddit API. Sunday was cool too, I managed to grab some bargains from a few second hand sales, nothing exciting or tech related, just a few books on survival/bushcraft/scouting. Today im going to attempt to record the SDR# video as the last time I forgot to hit record! (*not quite I forgot to hit record but that’s another story/rant), I’m also ready to go war driving so that might be a thing in a few hours. Had some more breakout / dev boards turn up in the post but not the one I’m waiting for, lol, its always the way.

Nothing ever goes as planned, I went for a little war drive earlier after having installed kismet, gpsd-clients and gpsd. Recently I reinstalled debian with lxde and I couldn’t figure out, or seem to kill the gpsd process to set my gps as the default device (/dev/ttyUSB0), no matter what I did couldn’t get kismet to detect the dongle in gpsd or even find the configuration file. I decided to run kismet with the –use–nmea option BUT this was a lot less reliable in kismet than what gpsd usually is. Then my netbook went to sleep as I havent figured out the power saving settings in lxde yet. (I’ve been using lxde less than a week) I pulled over to restart my scan but accidentally chose the wrong wireless device when I restarted kismet, so all in all a complete mess. That said I’m working on a little script to load everything at once correctly so this won’t happen again. I really newb’d out tonight, If at first you don’t succeed try harder.

sudo kismet -c wlan1 -use-nmea-gps /dev/ttyUSB0 -gps-reconnect true
DO NOT USE THIS FOR GPS IT SUCKS … I had the most sketchy log files using this syntax to call kismet. Might have been the way I had the dongle positioned but I think its the way netxmltokml process the file when its been generated using that switch.