Contents
Basic Melzi connection problems
Problem
- Can’t connect to Melzi
- No LED lights up on Melzi
- Melzi disconnects randomly
Solution
Check the Melzi’s physical connections first:
- Connecting using USB power. Turn mains power off, move the central power jumper to the pins furthest from the screw terminals, plug in USB lead. The position of the autoreset jumper shouldn’t matter, though generally best to leave it off. Press the reset button on the board to check it hasn’t got stuck down. Check that the pin furthest from the screw terminals on the power jumper is supplying 5V – if not, you may have a damaged USB lead. Does the LED light on the board start flashing after 20 seconds or so? If not, it’s possible the firmware or the Arduino processor itself that’s damaged.
- In normal running, the autoreset jumper (the one at the top of the board) should be removed, or left hanging on just one of the pins, and the central power jumper should be bridging the middle pin and the pin closest to the screw terminals. This means the Arduino processor is supplied with power from the 19V power input, rather than USB.
- If the hot end fan comes on, the board is getting some power. Check that you get 19V at the power input screw terminals, that the polarity is correct (though various things will blow up if the polarity is wrong!), and that the wires are in good contact with the screw terminals, ie can’t be pulled out, or feel loose when you wiggle them. Then check that the pin closest to the screw terminals on the power jumper is supplying 5V. If you don’t get 5V on this pin, the voltage regulator that supplies the logic side of the board (processor, endstops, thermistors) with 5V is not working.
- If you are getting 5V on this pin, but the LED on the board doesn’t come on (can take up to 20 seconds), then something has happened to the firmware on the Arduino processor, or a short circuit has caused damage to the processor itself. Press the reset button on the board to check it hasn’t got stuck down.
Check PC software installation:
- Have you installed the USB driver? See: Huxley_commissioning#USB_Driver
- If you used the pre-compiled version of Pronterface, check you have selected the correct port and baud rate
- If you have installed from source, check you installed all the correct parts: https://github.com/reprappro/Software/blob/master/README.md#installing-dependencies
- If your OS is Windows 7, you may have to do this fix: RepRapPro_Huxley_commissioning#Windows_7
USB driver problems:
If, when you plug your Melzi in, it is recognised as an ‘FT232R USB UART’ in ‘other devices’ in the Device Manager, you need to manually install the FTDI driver:
- Download the driver from www.ftdichip.com and unzip/expand the folder in a sensible place on your hard drive.
- Right-click on ‘FT232R USB UART’ in the Device Manager, select ‘Properties’, select ‘Driver’ tab, select ‘Update Driver…’
- Select ‘Browse my computer for driver software’ then ‘Let me pick from a list of device drivers on my computer’
- Select ‘Have Disk…’ then navigate to the folder containing the files you extracted in step 1
- Select the ‘ftdibus.inf’, and click ‘Open’, then ‘OK’, then ‘Next’. You may get a warning about digitally signing the driver; proceed anyway.
- The Melzi should now be recognised in ‘other devices’ as a ‘USB Serial Port’. Select it again, and repeat the installation process above, this time selecting the ‘ftdiport.inf’ driver.
- Once installed correctly, the Melzi should show up under ‘Ports (COM & LPT)’ as ‘USB Serial Port (COM[x])’, where [x] is the assigned COM port.
- There are two parts to the driver; the second is listed under ‘Universal Serial Bus controllers’ in the Device Manager, called ‘USB Serial Converter’. You can check the driver that is installed correctly, by going to the Properties > Driver tab, and see that it’s the same version as the ‘USB Serial Port’.
- You should now be able to connect with Pronterface.
There is a video which show you how to do this on youtube, too: www.youtube.com
Random disconnections:
These can have a variety of causes. USB is quite prone to Electro Magnetic Interference (EMI), via the power line. Large motors (in air conditioning, fridges, fans, drills and other hand tools etc) starting and stopping on the same ring main can cause power spikes, while other high current devices, unstable mains supply, or poor USB power connectivity on the host PC can knock out the USB connection. If the printer seems to continue working without resetting (for example, if you are printing from SD card, it continues to print), this is the most likely source of the problem. Check that the USB cable is connected properly, and for any damage – a poor connection will be more susceptible. Customers have found that adding a surge suppressors, power conditioners and/or UPSs to smooth the mains supply, and/or using a USB cable with a ferrite core, can help.
If the printer is resetting, the cause is more likely to be related to power to the printer. Double-check that the 19V power input wires and the heated bed power wires are well-seated in the screw terminals; they should be really solid. They have to carry a lot of current, and a loose connection here will generate heat, and possibly cause a disconnection/reset if the contact is poor. Once you are satisfied with this, check that you are getting 19V from the power supply when under load. Test at the 19V power input screw terminals, turn on the bed, and see if the voltage drops. We occasionally have PSUs that give uneven voltage.
When these disconnections happen, Pronterface keeps the connection to the port open. The Melzi is still there, but reconnects with a different port number. Usually in Pronterface, you can click ‘Disconnect’ (to close the connection to the printer), then click the ‘Port’ button; the new USB port will be selected, to which you can then connect.
Poor or no extrusion
Problem
This could be due to a number of reasons:
- Initial construction problems (if the nozzle has never successfully extruded)
- The nozzle is partially or fully blocked
- Extruder motor does not move much but makes a squeaking noise.
- Extruder motor rotates, but the gears do not.
- Extruder drive motor and gears rotate, but the filament does not feed.
- Bowden tube has popped out of the pneumatic fitting or brass union.
- The extruder gears squeak, rub and/or get stuck as the big gear turns.
Solutions
1. Construction problems
- Check that the hot end fan is on ALL THE TIME. If the hot end fan turns off, heat can travel higher up the nozzle, and the force of extrusion increases, eventually stopping extrusion. The hot end fan MUST run all the time (it should be wired to the +12V (for Mendel) or +19V (for Huxley) directly), and there should be good contact of the heatsink to the heatsink block. Make sure the heatsink is installed so that the fan can blow air through it!
- Check that the brass tapered nut is tight. Tighten the brass tapered nut and heater block together tightly with spanners (more than finger tight!); this will ensure the threads make good contact with the nozzle, and heat transfers well.
- If the ptfe nozzle liner is not cut square, or cut too short, and there is sufficient gap that fills with molten filament, again the force of extrusion increases. Cut a new piece of ptfe tube, 8mm long, with square ends.
- If the Bowden tube is tight into the brass unions, and the filament has difficulty moving through the tube, this increases the force needed for extrusion. The tube should be 10mm into the brass unions, then run a 2mm drill into the ends to clear them. Push a piece of filament through to check it is smooth, and to clear out any debris.
- If the teeth of the hobbed insert has slipped on the filament, there may be pieces of plastic in the teeth, which the filament will slip on. Remove the filament, take out the big gear with the hobbed insert, then check and clean the teeth of the hobbed insert – a small wire brush is good for this.
- Check the hobbed insert has not loosened on the M3 hex bolt. Use superglue or loctite to keep it in position.
2. Nozzle blockage
To ensure the nozzle and melt zone are free from contamination, follow these steps:
(i) Heat nozzle to around the extrusion temperature (PLA = 200C) and feed (by hand, turning the large gear) some filament into the nozzle.
(ii) Set the nozzle temperature to around 80C and wait for the temperature to settle there.
(iii) Reverse the extruder (by hand, or send M302 command to override ‘cold extrusion prevented’ message), pulling out the filament from the melt chamber, along with any contamination.
(iv) Cut the contaminated end from the filament, and reinsert. Heat nozzle to extrude temperature, test extrusion. Repeat if necessary.
(v) Only in the worst case will you need to disassemble and clean the hot end.
3. All extruders
If the extruder motor does not move as expected, but makes a squeaking noise or just vibrates, it may mean it does not have enough torque to drive the extruder feed mechanism.
- Check that the nozzle is not blocked (see solution 2)
- Check that the idler bearing can rotate, and that the clamp bolts that tension the idler bearing onto the filament are not overtightened
- Check the diameter of your filament is not too wide (over 2mm in diameter will not feed through the extruder)
- Ensure Vref on the stepper driver is set to 0.6v, as described here: Setting Motor Currents
Old-style extruder (Huxley, Legacy Mendel)
4. If the gears are not rotating with the motor, tighten the M3x10mm socket set screw which anchors the small gear to the motor shaft.
5. This could be due to a number of reasons.
- The teeth of the hobbed bolt have plastic in them. This will cause the teeth to slip on the filament. Clean the teeth with a pointy tool.
- It is possible for the M6 lock nut to come a little loose after much printing, allowing for some play in the hobbed stud. This can result in the filament wandering from the hobbed section of the stud during a print. Once the filament is on the smooth part of the stud, it will no longer feed.
- If the filament is still over the hobb, and has stopped feeding, there is most likely a section worn away from the side of the filament. This could be due to a nozzle jam. To resolve this, follow the instructions as per solution 2 above. Clean any debris from the teeth of the hobbed bolt.
6. This is usually due to a nozzle jam. To resolve this, follow the instructions as per solution 2 above. Reconnect the Bowden tube and test.
7. The motor is adjusted too tightly onto the big gear. Undo the motor mounting screws, adjust.
New-style extruder (Huxley, Mono Mendel, Tricolour Mendel)
4. It is unlikely the small gear will rotate on the motor shaft. If it does, contact RepRapPro support for a replacement. On the big gear, check that the hex head bolt is not rotating in the hex hole. If it is, again, you will need a replacement. As a temporary fix, you may be able to use epoxy glue or superglue to get the hex head to hold again.
5. There are a number of potential reasons for this:
- The hobbed insert is not superglued/loctited onto the M3 bolt. It will eventually loosen. Particularly noticeable on retractions.
- The teeth of the hobbed insert have plastic in them. This will cause the teeth to slip on the filament. Clean the teeth with a pointy tool.
- The two bolt that tension the idler bearing onto the hobbed insert may be too loose, or too tight. Usually, the gap at the top of the extruder block should be just closed. Adjust tension on these bolts and test.
- The filament may be to thin, or it is trying to grip on a section where filament has been worn away. Remove filament and check diameter.
6. If the ptfe tube pushes out of the brass union, it is probably not screwed in far enough into the union. It should have about 10mm of thread. Remember to drill, with a 2mm drill, into the brass union with the ptfe in place, or there may be a tight spot that the filament can’t push past.
7. There are a number of potential reasons for this:
- Undo the two bolts that hold the motor in place – there is some ‘wiggle’ room that should allow a little adjustment of the gear meshing. Tighten them afterwards!
- If the top of the small gear is touching the big gear spokes as it goes around, you may need an extra M3 washer (you should have spares left over) between the 623 bearing and the hobbed insert. If you have superglued/loctited your hobbed insert on the M3 bolt already, you can put an M3 washer between the insert and the outer 623 bearing.
- The small gear should be pushed on the motor shaft so it is flat with the end of the shaft – if you push it on too far, the motor shaft will stick out and may get caught on the spokes of the big gear.
Filament doesn’t stick or parts warp
Problem
If the first layer does not adhere well enough to the heatbed, there is a chance the component(s) will warp during printing.
Solutions
Bed surface
Some people are lucky, and seem to be able to print directly onto the glass bed (aluminium on Huxley), and the PLA sticks. Most, it seems are not so lucky; for them we provide a roll of Kapton tape. Kapton can be applied to the glass surface in strips – try to keep the air bubbles out, and put the strips as close together as possible. Kapton is durable: we use it in the production of kits, and will last at least a couple of months of 24/7 printing. Usually it peels up before the PLA won’t stick to it.
Blue painter’s tape can also be used. PLA doesn’t stick as strongly to it, and the surface isn’t as flat or durable as Kapton, but it is more widely available, and often in wider widths.
Cleanliness of build surface
The bed surface needs to be completely free of all oil and grease (including finger marks), otherwise your prints won’t stick to it.
Set the heatbed to a temperature of 45C and wait for it to settle there. Clean the surface with nail polish remover (containing acetone, glycerine, and as few other ingredients as possible, and definitely not lanolin or any other oil or grease) using a lint free cloth. Set your heatbed to your print temperature ready for printing.
Other products that also work include pure Acetone, Isopropyl Alcohol, White Methylated Spirits, White Vinegar. All of these are acidic, and dissolve oil and grease before evaporating. Don’t use Windex/Windowlene or polish; they often have a non-stick component!
Setting Z zero
At the Z ‘home’ position, where Z=0, the nozzle should be just touching the bed. Follow the instructions laid out in Huxley commissioning
Bed temperature
For PLA, try a setting of 50-60C. If you go too hot, the PLA will stay liquid and can be pulled away from the bed by the cooling of subsequent layers. Too cold, and it won’t stick.
Axis sticking problems
Problem
- Axis doesn’t move smoothly
- Motor stalls when moving (sometimes okay at low speed, doesn’t move far enough at high speed)
Solution
- Make sure rods are clean and linear bearings run smoothly.
- Accurate frame alignment, so that smooth rods are parallel, is absolutely fundamental to smooth movement. See RepRapPro_Tricolour_frame_assembly#Aligning_the_frame
- For the Z axis, also check:
- Pay careful attention to the fitting of the bushings in the X ends RepRapPro_Tricolour_z_axis_assembly#Z_Drive.
- Then levelling the X axis RepRapPro_Tricolour_commissioning#Level_the_X_axis.
- The two adjuster screws in the end of the X idler are designed to counteract the force of the belt pulling the x-ends inwards; the x axis should be set up so no horizontal pressure is put on the bushings on the Z axis.
- Check stepper motor voltage is not set too low: RepRapPro_Setting_Motor_Currents
- Check that belt alignment is correct, and the belt is not rubbing unduly on belt guides, washers or anything else.
- Check there is no mechanical obstruction to the movement of the belt, or bearings on the smooth rods.
Wobbly Z walls and non-circular circles
Problem
- Vertical walls are not accurately printed on top of each other
- Variability in layer height causes vertical walls not to be smooth
- Circular objects print out square
Solution
Generally we lump these problems together under the term ‘backlash’ http://en.wikipedia.org/wiki/Backlash_%28engineering%29 . This can happen on any of the axes, or a combination of them.
- Check belts are tight enough
- Check belt clamps are tight – these can soften and the belt loosen, particularly when printing ABS at higher temperatures
- Check pulleys are not loose on stepper motor shafts (X and Y axis) – hold the motor shaft with pliers, then try moving the carriage, while looking at the pulley
- Check that the axes are moving freely: see RepRapPro_Tricolour_troubleshooting#Axis_sticking_problems
- Check extrusion is consistent: see RepRapPro_Tricolour_troubleshooting#Poor_or_no_extrusion
Stepped layers
Problem
Partway through a print, the next layer appears to have slipped by a millimetre or two (or much more) causing a step which should not be there. This can be caused by:
- Print head snags on part of the print, usually the print curling up or lifting off the bed. This can cause the belt to skip on the pulley, or the motor to stall.
- Axis snags on something. For example, the wiring catching/getting in the way of movement. This can cause the belt to skip on the pulley, or the motor to stall.
- Stepper driver overheats and temporarily shuts down.
Solution
Nozzle hitting printed part
- The printer should generally have the power to overcome hitting a part while printing. However, if printed parts are curling up, particularly on overhangs or bridging, reducing the extrusion temperature 5°C at a time will usually help. The addition of a cooling fan on the parts will also help reduce curling – see the improvements page. If the parts are curling up from the first layer, see THIS section above
Belt skipping on pulley
- Check belts are tight enough. The actual tension required comes with experience, but should be at least tight enough to produce a low frequency, just audible ‘twang’ on the longest section of belt. Over-tensioning the belts can also be detrimental, as the motors will have to work harder.
- Check that the belt is running smoothly and in line, and the edge of the belt is not snagging on the motor and idler ends. With the motors off, check the axis moves smoothly – if not, see THIS section above.
- Check all wires, cogs and belts whilst printing and reposition/realign anything impeding the smooth movement on all axes.
Stepper motor stalling This is a result of the motor not having enough torque to move the axis (temporarily, since the print continues at the new position).
- Check that the motors are being supplied with sufficient current to meet the demand: RepRapPro_Setting_Motor_Currents
- Use secondary cooling fan to cool the electronics if they are getting too hot.
Printing ABS
Problem
ABS doesn’t stick, heated bed doesn’t get up to temperature
Solution
Check the voltage of the power supply, particularly under load. Mendel PSUs should supply around 12V; we have had a few power supplies go out that seem to supply a bit less than this, particularly under load. The PSU does have an adjuster, to the right of the screw terminals; you may be able to turn this up to compensate. Some customers are able to turn theirs up to 13 or 14V, which allows the heated bed to heat up quicker and get to a higher temperature. However, don’t go beyond this, or the heated bed will draw too much current. Huxley PSUs should supply 19V, and are not adjustable. However, they should be easily able to reach 120C+ as standard.
Another problem when printing ABS on a Mendel is that the PLA belt clamps under the bed may soften, and the Y axis belt come loose. Make ABS belt clamps your first print! Find them on github here.
The Mendel heatbed can max out at around 100C, due to the thermal mass of the aluminium and glass. However, this is generally okay for the ABS we have tested. You can increase this to around 110C by covering the bed with an insulator while it heats up. In the past, we’ve used a foil-fronted piece of MDF, which reflected heat back onto the bed, but was held off the surface by the clips, so didn’t heat up. Remove it to start printing; the first layer will then be a bit hotter, so should stick better if it’s being difficult, and the temperature will drop during printing to hold at around 100C.
Another improvement suggested by a customer is to put aluminium/kitchen foil between the heatbed PCB and MDF insulator. This also decreased warm up time. Be VERY careful not to short the main power connections through the silver foil!
ABS shouldn’t need heating to more than 110C anyway, as this is beyond it’s glass transition temperature; it’s like printing PLA onto a bed at 80 degrees – the PLA stays so soft it gets pulled off the bed. ABS generally does this above 110C.
Also, keep draughts to a minimum, and try to keep the area around the printer at a reasonable temperature – above 25C minimum. This should help to prevent the part warping as it prints. You can build a small ‘greenhouse’ to cover the printer, but be careful it doesn’t get so hot (over 45C) that the PLA parts of the printer melt!
It should be noted there are plenty of other problems getting ABS to stick at any temperature, and there are quite a few workarounds; the favourite around here are super strength hold hairspray (it can contain both PVA and acrylic) or making a slurry of some ABS dissolved in Acetone, applied to the bed at 50C, and wait for it to dry before printing. Joseph Prusa shows how he does it here: http://www.flickr.com/photos/prusajr/8283827185/in/photostream (follow the pictures in the ‘Older’ direction). And then some people have no problem with ABS at all! It’s a bit of a dark art, but probably depends on the quality of your ABS filament.
Melzi temperature problems
Problem
- Pronterface is unresponsive after connecting to Melzi
- Pronterface reports the temperature as negative, or doesn’t change, for the heatbed and/or hot end
- MINTEMP error
Error:0 : Extruder switched off. MINTEMP triggered ! Error:Printer stopped due to errors. Fix the error and use M999 to restart!. (Temperature is reset. Set it before restarting)
- MAXTEMP error
Error:Temperature heated bed switched off. MAXTEMP triggered !! Error:Printer stopped due to errors. Fix the error and use M999 to restart!. (Temperature is reset. Set it before restarting)
Solution
If your hot end temperatures are stuck at a particular temperature, it may simply be a faulty connection. You Melzi may seem unresponsive after you connect to it with Pronterface, but click the ‘Watch’ checkbox and the temperature should update. Press reset to see the whole startup message. The chances are you’ll see the ‘MINTEMP’ or ‘MAXTEMP’ error, or something similar, depending on the version of the firmware your board has.
Some temperatures indicate the fault (looking at the hot end temperature):
- around -40C – No thermistor is connected / break in thermistor connection
- -273C – Short circuit between thermistor wires; check wiring. Could also be hot end heater is wired to thermistor screw terminals.
- around 90C – 10k ohm bed thermistor wired into hot end temperature screw terminals (Mendel)
- 20C – What it should report, around room temperature
To test the hot end temperature sensing (Mendel and Huxley):
- Remove the wires from the ‘etemp’ screw terminal.
- Check the temperature in Pronterface. Is the reported temperature the same?
- Bridge the screw terminal connections with a piece of wire. Is there any change in the reported temperature?
- If you have some resistors, wire them into the etemp terminals and check the temperature reported in Pronterface. A 150k ohm resistor should read around 17C, 100k ohm resistor should read around 25C, a 50k ohm resistor should read around 42C, a 10k ohm resistor should read around 90C, a 1k ohm resistor should report around 184C.
To test the bed temperature sensing (Huxley):
- Remove the wires from the ‘btemp’ screw terminal
- Check the temperature in Pronterface. Is the reported temperature the same?
- Bridge the screw terminal connections with a piece of wire. Is there any change in the reported temperature?
- The temperatures reported when using resistors should be similar to the hot end (see above)
To test the bed temperature sensing (Mendel):
- Remove the wires from the ‘btemp’ screw terminal
- Check the temperature in Pronterface. Is the reported temperature the same?
- Bridge the screw terminal connections with a piece of wire. Is there any change in the reported temperature?
- If you have some resistors, wire them into the btemp terminals and check the temperature reported in Pronterface. A 10k ohm resistor should read around 25C, a 1k ohm resistor should report around 85C.
If your Melzi passes these tests, the problem is with your wiring.
- Check the resistance of wires to the thermistors; for the hot end, it should be 100k ohms, for the heated bed it should be 10k ohms (Mendel) or 100k ohms (Huxley), assuming testing at room temperature.
- Check the wires for breaks or loose connections
- Check the thermistors are not broken, or the wires of the thermistor are not touching
If the temperature of your Melzi doesn’t seem to change (or moves slowly, or exhibits other strange behaviour) no matter what you do, it could be due to a short circuit between the 12V (19V for Huxleys) side of the Melzi (stepper drivers, motors, heaters, fans) and the 5V logic side (Arduino chip, endstops, thermistors, USB, SD card, stepper driver logic). This usually causes damage to the Arduino chip on the Melzi, though this is generally confined to the Analogue to Digital Converters (ADC) of the temperature circuits. But it can cause a complete chip failure, and the Melzi to become completely unresponsive.
If this is the case the board will need to be repaired or replaced. But this can’t happen until the initial fault is rectified; any replacement board will suffer the same fate. There may also be other damaged parts, some which may have caused the problem.
The main place this happens is around the hot end, because that’s where the wires (12V/19V hot end heater, 12V/19V hot end fan and 5V hot end thermistor) are in closest proximity; the movement of the x carriage can cause wires to chafe and abrade, connections to bridge, short and/or fail if the wiring has not been connected carefully and neatly enough. Other reasons can be mixing up heater and fan wires with the thermistor wire, or damage to the board by bridging connections by accident. Be aware that 12V/19V runs through the fan and hot end heater constantly when power is applied; they are switched on and off by a MOSFET on the ground side.
Any short will need to be traced and repaired before any fix or replacement of the Melzi, or the same thing will happen to the replacement. The difficulty is that the short may be temporary, related to a particular point as the hot end moves around the bed. Inspect all connections carefully. You can run a new wire all the way from the thermistor to the Melzi if you don’t trust your wiring of the connector.
Our current instructions are very clear about this danger; see the caution notice in red here: [RepRapPro_Tricolour_hot_end_assembly#Step_5:_Hotend_wires]
To test for shorts in the wiring:
- Disconnect the hot end heater, hot end fan and thermistor from the screw terminals of the Melzi. The most likely cause is a short from the 12V fan or heater through the thermistor, but this can happen in a number of ways.
- Check the resistance of the thermistor, at the wires you just removed from the Melzi. The resistance should be around 100k ohms at room temperature.
- Check for any shorts between the fan and heater wires and the thermistor. Wiggle the wires and connectors as you test; it could be intermittent.
- Check the wires themselves; they can get damaged.
- Other likely culprits are the hot end connector, wires shorting around the hot end heatsink, damaged PTFE heatshrink on the hot end thermistor, or a damaged hot end heater resistor shorting through the heater block. Remove, inspect and test these parts.
- Sometimes there is just no obvious short; it may be too intermittent. Then, the safest thing to do is to wire the thermistor to the Melzi directly with new wire so there is no chance of a short.
A number of other potential ways of shorting the 12V/19V supply to 5V resulting in an Arduino chip failure apart from wiring also exist:
- Accidental bridging of contacts on the board.
- On the Huxley heatbed, bridging contacts of the electronics on the edge of the bed
- Failure of a MOSFET controlling the heated bed, hot end heater or fan – these can fail closed, causing runaway heating, and can short internally supplying 12V on the 5V switch line, which is directly connected to the Arduino chip. The MOSFET will get very hot, and probably melt the solder under it; it will look different to the other two.
- On the Husley heatbed, failure of the MOSFET and/or other components
- Failure of the 5V regulator. When not powered by USB 5V, the Melzi is powered by a 5V regulator supplied by the 12V input power. Failure of this component can also lead to 12V going directly to the Arduino chip.
- Faulty stepper driver – again, bridging the 12V side to the 5V side can cause an Arduino chip failure.
A number of options regarding the Melzi exist:
- Buy a new Melzi – http://www.emakershop.com/browse/listing?l=425 – or replace with other reprap electronics. Be aware that ALL reprap electronics have a 12V and 5V side, and the same problem can strike them just as easily as a Melzi.
- Replace the Arduino chip yourself. You’ll need access to surface mount soldering equipment to repair it. Atmel ATMEGA1284P-AU chips are available from reputable sources such as Farnell for around £7 ex VAT, see: http://uk.farnell.com/atmel/atmega1284p-au/mcu-8bit-avr-128k-flash-44tqfp/dp/1715480, or from less reputable sources such as ebay. The chip will come completely empty; you’ll have to flash the bootloader with an AVR programmer before you can flash the firmware. See: http://reprap.org/wiki/Melzi#Bootloader_Upload
- The Arduino chip has other, unused, pins that have an ADC on them. It is theoretically possible to disconnect the damaged pin, bridge to a new pin, and change the firmware. However, damage to the chip may not be confined to just one part; sometimes chips are completely destroyed.
- If you think you received the board in a damaged state, or a component failure on the board (MOSFET, 5V regulator, stepper driver chip) has caused the damage, please contact RepRapPro Ltd about a warranty replacement. Please be aware that all Melzis are tested before they are shipped, and the latest available firmware is flashed onto them in-house.
Heated bed problems
Problem
- Heated bed temperatures not being read
- Heated bed doesn’t warm up when temperature is set in software
- Heated bed LED doesn’t switch on when temperature is set in software
Solution
- If the heated bed temperatures are not being reported at all, or are not the ambient temperature (usually around 20C):
- Check the heated bed control cable connector is making good contact with the ribbon cable wires; use a multimeter to check continuity
- Check that it is plugged in correctly, and wired into the Melzi correctly
- Check that the Melzi temperature function is working correctly; see RepRapPro_Huxley_troubleshooting#Melzi_temperature_problems
- A quick test to see if the heated bed is working correctly is to move the heated bed control wire from the bed control pin (marked RX1 on the board) on the Melzi to the one next to it, to the left (marked Vcc). This is the 5V line; it always has 5V. Check with a multimeter that it is supplying 5V. If the heated bed is functioning correctly, the LED will light up, and the heated bed will get warm. DO NOT LEAVE THE HEATED BED CONTROL WIRE CONNECTED TO 5V. It will switch on (and stay on) as long as this is connected.
- If the heated bed LED does not come on, and the heated bed does not get warm:
- Check your heated bed is getting 19V at the main power connector on the bed. If not…
- Make sure you wired the power plug properly; you must tie the negative wire from the Melzi AND the heated bed together, and they should BOTH be soldered to BOTH pins 1 and 2.
- Check your wiring of the heated bed electronics. Particularly the second step: “use a length of wire to make a jumper between the left two holes beside the 3-way screw connector.”
- Finally, test the heated bed again by supplying 5V on the heated bed signal wire.
- If the heated bed LED does come on, and the bed does gets warm, this means that the problem is with the Melzi. Either the temperature being read is not correct, or the bed control pin is not functioning correctly.
- Check that the bed temperature is reported as being in the normal range, eg 20C for indoor ambient temperature. If it isn’t, remove the thermistor wires from the screw terminals and test the resistance of the wires; they should be around 100k ohms. If not, the fault is with the wiring; check the cable connector and signal continuity. If the resistance is about right, check it is wired the correct way around into the screw terminals. Otherwise, the fault is with the Melzi
- Check whether the bed control pin on the Melzi turns on and off correctly. Remove the heated bed control wire, and turn on the bed with a temperature a little higher than that reported by the software. Test if the pin is supplying 5V. If it isn’t, you may have short-circuited the Melzi and damaged the Arduino chip.
- For both of the above, where the fault seems to be the Melzi, see: RepRapPro_Huxley_troubleshooting#Melzi_temperature_problems
- If it appears there has been a short circuit on your Melzi, depending on the extent of the damage, you may be able to get it running again. If the temperature is reported incorrectly, you will need to repair your Melzi, or source a new one. If it’s just the bed activation pin that is not working, you can try using a different pin to activate the heated bed. You will need to update the firmware to do this:
- Follow the instructions here to prepare your PC and Melzi for new firmware
- You need to edit the firmware you downloaded, to change the pin assignment:
- Open the firmware in Arduino IDE
- Change to the ‘pins.h’ tab (use the drop down menu top right of the Arduino window)
- Scroll down. There are two section; “Sanguinololu pin assignment” and “Melzi pin assignment”. You want the Melzi section.
- About 3/4 of the way down, find “#define HEATER_BED_PIN 10” and change to “#define HEATER_BED_PIN 11”
- Upload firmware to Melzi as per the the instructions here
- The bed activation pin will now be the one to the right of the original pin, labelled ‘TX1’. Test it is working.
- You can also use the pins labelled A1, A2 or A3. The pin numbers are, respectively, 30, 29 and 28
- You can set up your Huxley to use the ‘bed’ connection on the Melzi to control the bed, in the same way the Mendel does.
- Set up the firmware as above, but define the heater bed pin as pin 12 – “#define HEATER_BED_PIN 12”
- In the second step HERE when constructing the heated bed, you soldered a jumper pin on the PCB. In the picture, it goes through the centre and right holes; you need to move this to bridge the centre and left holes.
- The power wires may be connected to the heated bed as shown HERE. You need to move them to use the screw terminals marked ‘No connection’ and ’19v’ in the first picture.
- Connect the Huxley bed power wires to the ‘bed’ terminal of the Melzi. This will usually mean disconnecting them from the power jack.
- Test the bed function. The control of the heated bed is the same, through Pronterface, just that the power and control are both supplied by the Melzi now.