Building an observatory. Construction #13

I hadn’t realised that we have a bank holiday weekend coming up, so in the hope that I’ll have a little more time available I decided to get some of the parts for the rolling roof ordered.

First up are the V-groove wheels and track. So many people have recommended these that it seems silly not to.

And then the steel for making the roof frame. I’ve chosen 25mm square section steel tube with a 2.5mm wall. I think that should be sufficient. Just hope I can lift the roof on once it’s made 😀

Posted in Astronomy, Observatory, Projects | Leave a comment

Uploading Geeetech Sanguino firmware from Mint 19/Ubuntu 18.04

This evening I dared to hit the “upload” button after compiling Geeetech’s firmware. I was immediately faced with a huge number of timeouts and other errors that all looked quite horrible, but somewhat reminiscent of a baud rate mismatch.

Enabling verbose mode for the upload showed avrdude being given a speed of 115,200 for uploading the firmware image. A bit of a hunt on the Internet suggested that the actual speed for uploading to my printer should be 57,600, but there’s no obvious place to set the comms rate for the serial device (/dev/ttyUSB0 in my case).

Further hunting revealed that the speed is set in the support files for the Sanguino board I’ve posted about downloading already. In my case I needed to edit $HOME/.arduino15/packages/Sanguino/hardware/avr/1.0.2/boards.txt and change the line that reads

sanguino.menu.cpu.atmega1284p.upload.speed=115200

to

sanguino.menu.cpu.atmega1284p.upload.speed=57600

Restarting the IDE and hitting upload once again resulted in a clean compile and upload to the printer which subsequently restarted itself quite happily.

Now time to do some calibration, I think.

Posted in 3D Printing | Tagged , , , | Leave a comment

Compiling the Geeetech Sanguino firmware with a recent Arduino IDE

As I have posted previously, trying to compile the Geeetech Sanguino firmware with a recent version of the Arduino IDE results in the following errors:

In file included from sketch/SdFile.h:27:0,
                 from sketch/cardreader.h:8,
                 from sketch/Marlin_main.cpp:44:
SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
 struct fpos_t {
        ^
In file included from sketch/Marlin.h:10:0,
                 from sketch/Marlin_main.cpp:30:
/usr/local/arduino-1.8.5/hardware/tools/avr/avr/include/stdio.h:950:33:
note: 'fpos_t' has a previous declaration here
 __extension__ typedef long long fpos_t;
                                 ^
exit status 1
using typedef-name 'fpos_t' after 'struct'

The recommendation repeated often on the Geeetech forums is to use v1.0.1 of the IDE because the code is written specifically for that version, but that’s hardly practical and a little misleading, I’d suggest. It’s more the case that the code happens to compile with that version of the IDE and won’t with later ones because of the above error which is presumably due to changes within the compilation environment.

In fact, the problem is relatively easy to fix by changing the name of the variable in the firmware source code. It’s only used in two files, SdBaseFile.cpp and SdBaseFile.h, so they’re easy enough to edit by hand changing all the occurrences of “fpos_t” to something else. Because I couldn’t be bothered to edit them, I changed to the firmware source directory and ran the following to change “fpos_t” to “gt_fpos_t”:

sed -i.bak -e 's/fpos_t/gt_fpos_t/g' SdBaseFile.cpp SdBaseFile.h

That done, recompiling gives the result:

Archiving built core (caching) in: /tmp/arduino_cache_531416
/core/core_Sanguino_avr_sanguino_cpu_atmega1284p_9d0b33a4df3327bd721e7d4e4de1171e.a
Sketch uses 92644 bytes (71%) of program storage space. Maximum is 130048 bytes.
Global variables use 4029 bytes (24%) of dynamic memory, leaving 12355 bytes for local
variables. Maximum is 16384 bytes.

Happy days. Next comes the scary step of seeing if I can upload it successfully.

Posted in 3D Printing | Tagged , , , | Leave a comment

Swimming, 21st August 2018

Another busy afternoon session at the pool, though for a change I think there were more adults than children. Doing my USRPT set would have been a nightmare so it was just as well that I’d planned more tumble turn practice. At one point I was asked to move over so someone else could do a couple of lengths for some assessment or other and I had to swim between the lane lines. It took a few lengths to get the hang of turning without the “T”.

USRPT distance this year: 52,300m
Total distance this year: 128,950m

Posted in Swimming | Tagged | Leave a comment

Building an observatory. Construction #12

A last bit of frame building before I get onto other work. Probably getting the roof sorted so it can be made passably weatherproof.

The internal warm room wall is now in place, with a door to get in and a window to give a view into the rest of the observatory from it. I decided to raise the end wall of the warm room by 150mm to give a little more headroom, giving me a fifteen degree slope on the roof. I cut all the rafters for the warm room roof to give a generous overhang and they are also now in place.

At this point either the warm room roof has to go on, in which case I need something to cover it with to stop the weather damaging it or I need to get on with the rolling roof. My feeling is that I’m going to go for the latter, so I’ll start gathering all the necessary bits together.

Posted in Astronomy, Observatory, Projects | Leave a comment

Mint19/Ubuntu 18.04 configuring arduino IDE to work with Geeetech Sanguino

Before I start work tuning my Geeetech Prusa i3 clone I thought I’d best get to the point where I can rebuild the firmware supplied by Geeetech. Their firmware appears to be based on an early version of the Marlin firmware and whilst I’d like to upgrade to the latest release in the fullness of time, getting the original to work first seems like a good plan.

I ran into an immediate problem with the 1.0.5 version of the Arduino IDE in the Mint19 and Ubuntu 18.04 repositories because it doesn’t allow me to set the Sanguino board type before I compile the code. There appears to be no fix for this but to download the latest version from the Arduino website (I have v1.8.5) and install it according to their instructions. Unfortunately it’s not quite that easy. Even the 1.8.5 version doesn’t know about the Sanguino, but unlike 1.0.5 it allows us to add some board definitions from external URLs.

After starting the IDE the first thing to do is to go to File->Preferences and near the bottom of the Settings tab there’s a box labelled “Additional Boards Manager URLs”. Into that paste https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json and click “Ok”.

Next go to Tools->Board->Boards Manager... and in the search box it should be enough to enter “sang” to find the right one: “Sanguino by Kristian Sloth Lauszus”. Clicking on “More info” brings up an “Install” button. Do the obvious 🙂 If like me you have a piece of damp string for an Internet connection, you may want to go and make yourself a drink at this point. It can take a while.

Once installed, close the window and go back to the Tools->Board menu. Sanguino should now be selectable right at the bottom of the list. After that the processor must be selected from Tools->Processor. My aluminium printer model has a 16Mhz 1284P so obviously that’s the one I chose.

Unfortunately my problems did not end there. Selecting an arduino project to open, I navigated to the firmware directory and opened Prusa_I3_A.ino. Attempting to compile the firmware throws the following errors:

Build options changed, rebuilding all
In file included from sketch/SdFile.h:27:0,
                 from sketch/cardreader.h:8,
                 from sketch/Marlin_main.cpp:44:
SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
 struct fpos_t {
        ^
In file included from sketch/Marlin.h:10:0,
                 from sketch/Marlin_main.cpp:30:
/usr/local/arduino-1.8.5/hardware/tools/avr/avr/include/stdio.h:950:33:
note: 'fpos_t' has a previous declaration here
 __extension__ typedef long long fpos_t;
                                 ^
exit status 1
using typedef-name 'fpos_t' after 'struct'

which looks like some of the firmware files use a variable name that clashes with a system name. More of that in another post.

Posted in 3D Printing | Tagged , , , | Leave a comment

Building an observatory. Construction #11

Tough day at the coal face, and I felt a bit “glow in the dark” as a result. The forecast was predicting 28C and I’d not be surprised if it didn’t go a bit higher than that. However, using a sash clamp extension made life easier to hold the frame components in place whilst I fixed them and this is how far I managed to get:

Which was pretty much as far as I’d hoped to get. Obviously I now need to go back and fill in the noggings and braces, but that’s quite a trivial thing compared with getting the basic framework in place and can happen as and when I have the odd ten minutes rather than the few hours required to cut and fix all the major timber components of a wall.

Amusingly despite the yellowing grass there’s quite a clear path forming between the observatory and the workshop 🙂

I do also need to find a bit of scrap wood to prop the extensions where the roof will roll off so they don’t sag downwards.

I’ll soon have to start thinking about covering it so it doesn’t get rained on, but this summer there seems little chance of that.

Posted in Astronomy, Observatory, Projects | Leave a comment

Building an observatory. Construction #10

After validating my choice of wall height there wasn’t much time left, but I was determined to make some visible change no matter how small. I had a few bits of scrap 18mm ply that used to be part of the cricket club scorer’s hut. I’ve put those on top of the joists just to give me something easier to stand on. More importantly however, I have most of one end wall in place!

It still needs some bracing and suchlike, but by this point I’d run out of charged batteries for my cordless screwdriver so I’ll get those done soon. I also cut all the wood for the other end wall.

I did consider doing the wall on the left in the bottom photo first as it would be easier to get into position first, but it will be nearly 5m long and has the support for the rolling roof rail. The “beer shack” walls are of similar construction and length (though slightly taller) and the long sides were a pig to get into place without anything to support them, so I’m hoping that having the end walls already in place will make life easier this time around.

Posted in Astronomy, Observatory, Projects | Leave a comment

Geeetech Aluminium Prusa i3 clone: 3DBenchy

I should perhaps have taken some time to do some printer “tuning”, but look, it works! So clearly I want to print stuff out, not play with the innards even more!

3DBenchy (or BenchyMcBenchFace as it is now known in our family) seems to be a popular printer “stress test”, so I downloaded the STL and let the printer get on with it. I was quite impressed as the result was building up…

And not particularly disappointed with the end result, though it clearly needs some work. I’m not convinced the feed rate is quite high enough because lines show between “rows” on the base rather than merging together completely, and the line of the bow has some dents in that don’t look great.

So, ok, but not as good as it could be. Now it really is time to do some calibration, which by the looks of it may mean playing with firmware. Need to learn some more.

Posted in 3D Printing | Tagged , | Leave a comment

Building an observatory. Construction #9

Evidence-based design always being best, between showers I managed to get the tripod and NEQ6 set up, with a bit of malformed roofing batten as a pointer that I could set at the level of the top of the 1500mm walls.

As a result I decided that I really needn’t worry about the wall height and my original design wouldn’t need changing. Obviously in the second photo there’s sky that will be obscured by the wall, but actually that’s below 30 degrees and only going to be visible for a short period of time so not really worth worrying abou?t.

Posted in Astronomy, Observatory, Projects | Leave a comment