Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,153,443 members, 7,819,639 topics. Date: Monday, 06 May 2024 at 07:43 PM

Building A 3D House Printing Machine... C/C++ Programmer Needed. - Software/Programmer Market - Nairaland

Nairaland Forum / Science/Technology / Programming / Software/Programmer Market / Building A 3D House Printing Machine... C/C++ Programmer Needed. (1588 Views)

Looking For A C# Programmer To Complete A Project / Need A C Programmer / Need A C Programmer (2) (3) (4)

(1) (Reply) (Go Down)

Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:20pm On Mar 21, 2015
I am Kingsley obinna. I have an ongoing project, pertaining to building a 3D house printing machine.
I intend to commercialize it, and possibly patent it..
I need a programmer that's good in C/C++.
In return, the programmer will get 30% of the proceeds the machine makes for one year, when it's completed and commercialized,...
Th details of the Machine are here: https://www.nairaland.com/2208205/making-3d-house-printer-nigeria#31848986

You can contact me via mail @ kingsleyobinna26@yahoo.Com, or via phone @ 07015387845
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:47pm On Mar 22, 2015
But perhaps i could include some snipets of the technical details here.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:50pm On Mar 22, 2015
This machine is going to be capable of building a family sized bungalow, from german floor level to roofing level without the direct involvement of human labour ...
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:51pm On Mar 22, 2015
The project isn't claiming to be capable of building an entire house without human labour involvement.
Here's how the machine works.
The foundation would be dug by human labour and the necessary blocks placed in place, the floor casted. The machine would then start operation from the casted floor level, laying each block one at a time whilst squirting concret at the right places. It does this operation all round, untill a 1st coache has been established. It then move up a bit, and repeat the sequence. It does this untill it gets to the roofing height level, it then stops.
Once upto roofing level, human labour would then take up from there, doing the necessary fittings, plumbings, wirings and roofings etc.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:54pm On Mar 22, 2015
The machine will be driven by a microprocessor,e.g Arduino...
So, before the machine can commence to building a house,some codes would have to be uploaded to the Arduino. It is this codes that will direct the 3D printer to build the house. The machine will be a giant gantry like in the pix below.

Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:55pm On Mar 22, 2015
On top of the gantry will be a header as i choose to call it. The header will have a feed system that feeds pre cast blocks to it. Whence a certain pulse is given, and a block is available at the header, the header will perform the following sequence: Two grips will stick out, grip the block at both upper ends,lengthwise. Attached to each of these grips are two hose, namely pump A and pump B. They convey concrete. These two hoses can be activated to squirt concrete, or deactivated independently. Once the grip has gripped the block, it moves a couple of inches downward, and wait for a signal. 3 outputs give it 3 different signal.. One output signal tells it to activate pump A or keep it deactivated, another signal tells it to activate pump B or keep it deactivated, then the third signal tells it to release the grips on the block and withdraw back to it's previous position.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:57pm On Mar 22, 2015
The function of this two pumps, are to squirt concrete in the vertical plane.
Within this header, there is a block saw that is capable of cutting a block at any length. Just provide the signal representing the lenghth to be cut, and it does just that. The grip holding pumping B, gets the information update whener the command to cut a block is sent. It waits for the cut to be done, then it changes it's position. From the update, it knows how near to move towards the cut block, to make a gripping contact. After which it will return to it's previous position. This sequence is vital.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 12:58pm On Mar 22, 2015
In this same header, there is a movable arm that has a hose attached to it, capable of squirting concrete with pressure in the horizontal plane. This arm needs a signal from the Arduino to tell it what to do. The signal coming in the form of pulses, each pulse representing a pre-determined distance that it would move while squirting concrete. After these pulses arrive, the arm moves down 50 cm from where it was, moves left 100cm, (i am using 50cm and 100cm as an example).. The hose then starts squirting concret as it moves the distance defined by the signal it received untill it stops. At the end of the stop, the arm does the opposite of what it did before coming to squirt concrete. That is: it starts moving right 100cm, then move up 50cm back to its previous position.
The function of this arm, is to squirt concrete in the horizontal plane.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 1:00pm On Mar 22, 2015
While the header can slide on the gantry from left to right, in an axis i shall refer to as X axis. The gantry will also sit on rails and can move forth and back, in an axis i shall refer to as Y axis. The header can slide up or down in an axis i shall refer to as Z axis. The header can also make not more than 360 degrees rotation, either in the clockwise or counter clockwise direction, in an axis i shall refer to as R axis.
The aforemention axis has a signal that tells each the length to move, either in the plus (+) direction or minus (-) direction.
With all these aformentioned capabilities, the machine can be made to build houses of different shapes and styles automately, once it's fed with a programe, the right size of casted block and concret.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 1:02pm On Mar 22, 2015
Now on to the programe.
A programe that allows one to write simple commands that can be uploaded to the Arduino and have it build a house, will be written by a good programer. The programe would be simple. A builder with no programing skill, would just call up the necessary commands that would make the machine to squirt concrete, lay blocks, move on to the next step, swivel 180 degrees, do this, do that etc. But befor this is done, the house to be built will have to be drawn and built up in Cad, block by block. It is this block by block method that will guide the builder on programing the machine.
Starting from the bottom, he looks at the way the block goes and the length, he then calls up the necessary command to accomplish the task. He does so untill there is a need to rotate the header some degrees.
After all the first coache has been laid, he calls up the necessary command that returns the gantry and header back to the starting point, he also calls up the necessary command that move the header a couple of inches upwards in the Z axis, so as to start the next sequence from the upper level of the first coach already in place... Where there is a need to repeat a sequence, he simply copys the commands and paste it where he wants that sequence repeated..
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 1:03pm On Mar 22, 2015
Because the codes that would tell an Arduino to move the machine accordingly would be somewhat confusing to some one without programming skills. It would look tedious for him or her, writting such codes so as to tell an Arduino to move the machine accordingly and build a house...
The aim is to have the plateform be in a way such that some one without programming skills can programe it,once he or she understands how a house is built, and what the necessary commands in the programe represent..
So i shall be needing a programmer here. His work would be to write a simple programe for me, either in python or c language etc.
This programe would convert simple agreed languages into the required codes that will activate outputs of an Arduino and pulse them as required, following the logical ways an Arduino operates...
This programe will be like a software library, having 18 commands with spaces or boxes where 18 different variables can be inputed.. This 18 commands would be understandable.
The commands would look like eg: Move x axis, + 200. Here, 200 is the variable. What this command imply, is to activate the motor responsible for the x axis. The +, implies a direction, either to tell it to move in the right direction. The 200, implies it should move the motor 200cm).
The reason for the use of these simple commands would be explined further..
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 1:04pm On Mar 22, 2015
As would be seen shortly, to tell an Arduino to activate only two outputs, pulse one of the outputs 200 times, with a certain delay would require many lines of codes to be written..
But a simple command like eg: Move x axis, + 200. would be simple to cope with, and user friendly, because you understand what it does.
Without you needing a high level programming skills, you could manipulate the commands and have it build structures for you..
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 1:05pm On Mar 22, 2015
The software library would have a set of codes that represents each of the 18 commands.
So when any of this commands are called, the software will generate the necessary codes that will make the Arduino to do some predefine tasks..
To summarize that, using this programe to call up the required commands at the right sequence that would move the machine in the correct manner,as it squirts concrete and drop blocks in place, to build a house wouldnt be too difficult as would lying down on the bed doing nothing..
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 7:04pm On Mar 24, 2015
This isn't the first 3D house printer in the world. A couple of them have been built around the globe. But the way the foreign printer do their building process, differs from my own. The foreign 3D printers operates by depositing concrete in layers through a nozzle that moves around the building site with the help of a gantry.
They usually use a special type of concrete called 'fast drying concrete'. This concrete, when mixed with water, begins to set from a minuite or two, depending on the type used.
So at the end of printing a house, the house would looks as though it was casted as a single piece with a mould.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 7:09pm On Mar 24, 2015
In Nigeria, we rarely build a house by casting. We do so by laying pre cast blocks, using concrete to hold them together. This is the method i choose to adopting for the 3D printer.
It would start operation from the ground level,on a floor that has been casted with concrete.
The operation would be something like this; with the header unit lowered almost to the ground level, a hose would swing in place, making little contact with the german floor below. It would then begin to pump out concrete as it moves a certain length. This length is the length of the block that is going to be placed on top of the smeared concrete shortly. At the end of the length,the hose stops moving, and also stops squirting concrete. It then withdraws out of place.
Next, a mechanical arm grabs a block from the top of the gantry and shoves it downward with calculated movement, releasing the block. The block now comes to rest on top of the smeared concrete. The arm then withdraws back.
Next, with calculated movement, the whole header unit now moves forward at a length slighty more than that of the length of the privously placed block. This movement is to enable it to lay another block. It repeats the sequence of squirting concrete again..
Now, because the unit moved a distance which was slightly more than the length of the placed block, it will cause a 'gap' between the first smeared concrete and the second smeared concrete. When the second block arrives, there will also be a 'gap' between the first block and the second one..
It is this 'gap' that necessitates the presence of the pump A and pump B i mentioned earlier. This is where they come to play.
Now on to the grips..
The two grips at the mechanical arm that grips a block, has these two pumps attached to it. One grip has pump A, the other has pump B. Also attached alongside each grips, are two rectangular plates each. These rectangular plates bridges the 'gap' that is formed whenever blocks are layed, and it also serve as a guide for concrete so they won't run out whenever the pump squirts concrete into a 'gap'.
The grips are so aligned that they always sit on the edgewise side of the block, and this is where the 'gap's are located..
Now on to the 'gap's.. When this 'gap' is formed, the pump located at that 'gap', which is pump A, is activated. Pump A now fills this gap with concrete. Pump B isn't of any use now, so it remains deactivated.
After the 'gap' is filled with concrete, and the mechanical arm along with the pumps withdrawn, the whole unit moves forward again at a length slighty more than the length of the previously placed block. The sequence is repeated over and over again, untill it gets to a position where it should stop. The first coach has been layed in that axis.
To begin another coache with an axis perpendicular to the axis of the first one, the unit will have to swivel 90 degrees, and begine the process again. It does that untill it gets to the end where it should stop. The unit then swivels another 90 degrees, and begins the process again. It does so untill the four walls of a building has been established, then it returns back to the starting point, but this time with a slightly raised unit. The unit now begins to squirt and lay blocks on top of the first coache it had earlier layed.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 10:01pm On Mar 25, 2015
Now let me throw some light on stepper motors, because this is the motor i shall be making use of,to control every single axis movement in my machine.


A stepper motor is a brushless, synchronous electric motor that converts digital pulses into mechanical shaft rotation. This kind of electric motor is used in the robotics industry.
Every revolution of the stepper motor is divided into a discrete number of steps, in many cases 200 steps, and the motor must be sent a separate pulse for each step. The stepper motor can only take one step at a time and each step is the same size. Since each pulse causes the motor to rotate a precise angle, typically 1.8°, the motor's position can be controlled without any feedback mechanism.
Because stepper motors move a known interval for each pulse of power, these pulses of power are provided by a stepper motor driver and is referred to as a step. As each step moves the motor a known distance it makes them handy devices for repeatable positioning.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 10:02pm On Mar 25, 2015
STEPPER MOTOR ADVANTAGES
1.The rotation angle of the motor is proportional to the input pulse.
2.The motor has full torque at standstill (if the windings are energized).
3.Precise positioning and repeatability of movement since good stepper motors have an accuracy of 3 to 5% of a step and this error is non-cumulative from one step to the next.
4.Excellent response to starting/stopping/reversing.
5.Very reliable since there are no contact brushes in the motor. Therefore the life of the step motor is simply dependent on the life of the bearing.
6.The stepper motors response to digital input pulses provides open-loop control, making the motor simpler and less costly to control
.
7.It is possible to achieve very low speed synchronous rotation with a load that is directly coupled to the shaft.
8.A wide range of rotational speeds can be realized as the speed is proportional to the frequency of the input pulses.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 10:04pm On Mar 25, 2015
To make a stepper motorwork, you need to use the following:
1.a stepper driver chip or
2.a microcontroller and, optionally, one or two full h-bridgechips.
STEPPER DRIVERS
The stepper motor driver receives step and direction signals from the indexer or control system and converts them into electrical signals to run the step motor. One pulse is required for every step of the motor shaft.
These chips keep the power that drives the motors separate from the power that is on the arduino. The arduino can't provide enough juice to power the stepper motors directly. This is why you have to use separate chips to sort of act as valves that control how the motor spins.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 10:05pm On Mar 25, 2015
STAN-ALONE MODE OPERATION.
In a stand-alone mode the indexer can operate independent of the host computer. Once downloaded to the non-volatile memory, motion programs can be initiated from various types of operator interfaces, such as a keypad or touchscreen, or from a switch through the auxiliary I/O inputs.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 10:06pm On Mar 25, 2015
STEP AND DIRECTION
These step motor drives accept step pulses and direction/enable signals from a controller, such as a PLC or PC. Each step pulse causes the motor to rotate a precise angle, with the frequency of the pulses determining the speed of rotation. The direction signal determines the direction of rotation (CW or CCW), while the enable signal turns the motor on or off.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 11:30pm On Mar 25, 2015
Note:

For those who aint familiar with a 3D house printer. Just take a peep at the video clip below, of a 3D house printer building a house.
Www.youtube.com/watch?v=M_LLSsNnHn8&itct=CCYQpDAYCCITCMrGn-2avMQCFRNEfgodeDkA2lIiQ291bnRvdXIgY3JhZnRpbmcgM2QgaG91c2UgcHJpbnRlcg%3D%3D&hl=pt&gl=NG&client=mv-google
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by AAinEqGuinea: 6:08pm On May 08, 2015
I still need one more Arduino but what I have not is sufficient for the prototype we're building.

Here's low level detail I've modeled algorithms with

1st pic - three arduinos controlling with context of locomotion and controls

2nd pic - low level of information exchange

3rd pic - equipment I've got so far (components not shown). I'd still need to order parts for the functional prototype, another arduino and another shield. I finally got a shield from china, let me test it thoroughly as it could ultimately be unreliable.

1 Like

Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 9:57pm On May 09, 2015
AAinEqGuinea:

Here's low level detail I've modeled algorithms with

In the diagram above, i think you're using four Arduinos; one for the master and one each for the x(gantry), y(truss) and z(header) right?
And also, what does the diagram that sits in the middle represents? The diagram is connected to the x(gantry), y(truss) and z(header).
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by AAinEqGuinea: 10:08pm On May 09, 2015
Pakingzzz:


In the diagram above, i think you're using four Arduinos; one for the master and one each for the x(gantry), y(truss) and z(header) right?
And also, what does the diagram that sits in the middle represents? The diagram is connected to the x(gantry), y(truss) and z(header).

The middle component represents network communication, which is another point of considerable discussion, but I have a strategy in mind.

This architecture assumes we'll need one microcomputer (master) and three microcontrollers controlling chronological actions on their respective axis.
Re: Building A 3D House Printing Machine... C/C++ Programmer Needed. by Pakingzzz(m): 8:11pm On May 11, 2015
AAinEqGuinea:


The middle component represents network communication, which is another point of considerable discussion

Ok, thats nice..


I would like to bring this to your notice.

Perhaps i didn't mention the feed systems. There are two feed systems, the first feed system comprises of an aparatus that feeds bricks from a brick case on the floor level, to the front of the header. This position is where the brick gripper of the header, would swing down and grip the brick, swing up some two or three centimeters, then swing forward some 30cm, then swing downward some 30cm and release the brick.
The second feed system comprises of an aparatus that feeds concrete from a concrete tank on the floor, to a concrete tank attached to the header. This tank is called the 'header concrete tank'.

AAinEqGuinea:

This architecture assumes we'll need one microcomputer (master) and three microcontrollers controlling chronological actions on their respective axis.

Yea we can use three microcontrollers controlling chronological actions on their respective axis, but that means other I/O pins would be left unused..
I was reckoning we would use 3 microcontrollers; A, B and C. Microcontroller A would handle the three axis, x, y and z. Microcontroller B would handle the droping of the bricks and the squirting of concrete.. Because the droping of the bricks require the brick gripper on the header to swing down a few centimeters and grip the brick, swing up some two or three centimeters, then swing forward some 30cm, swing downward some 30cm and release the brick. So this movement is a three dimesional movement of the brick gripper alone, a microcontroller would be needed to handle this..
Also, the squirting of concrete requires the concrete hose underneath the header to swing forward some 30cm from its position, swing down some 10cm then activate the valve on the hose to begin squirting concrete as it moves some 40cm then it shuts the valve off, swing up some 10cm then swing back some 30cm. This movement returns the concrete hose to its previous position. So this movement is a three dimesional movement of the concrete hose alone, a microcontroller would be needed to handle this..
Then microcontroller C would be for the two feed systems.
Because the feed systems comprises of the aparatus that feeds bricks from the brick case on the ground to a predetermined position in front of the header, and the aparatus that feeds concrete from a concrete tank on the ground to the a concrete tank attached to the header. Therefore a microcontroller would be needed to handle this task.

1 Like 1 Share

(1) (Reply)

Python Software Developers - GUI Development With Kivy And Odoo Needed!! / Payroll Software Needed! / Need A Very Good Python Programmer To Work With

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 87
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.