From 2a8577796dba14a50ab803baa480e7512e79ab7b Mon Sep 17 00:00:00 2001 From: probably-Erwins-Cat <100243207+probably-Erwins-Cat@users.noreply.github.com> Date: Sun, 25 Feb 2024 10:08:08 +0100 Subject: [PATCH] updated the mini manuals --- ...enScanMiniV2.md => OpenScanV2-Assembly.md} | 61 +++++++++++-------- docs/OpenScanV2-Electronics.md | 41 +++++++++++++ 2 files changed, 77 insertions(+), 25 deletions(-) rename docs/{OpenScanMiniV2.md => OpenScanV2-Assembly.md} (60%) create mode 100644 docs/OpenScanV2-Electronics.md diff --git a/docs/OpenScanMiniV2.md b/docs/OpenScanV2-Assembly.md similarity index 60% rename from docs/OpenScanMiniV2.md rename to docs/OpenScanV2-Assembly.md index 10c10c9..a197d32 100644 --- a/docs/OpenScanMiniV2.md +++ b/docs/OpenScanV2-Assembly.md @@ -3,10 +3,10 @@ ![Scanner](https://github.com/probably-Erwins-Cat/OpenScan-Design/blob/main/images/OpenScanMiniV2.jpg?raw=true) ## Intro -Various parts and hardware were updated from V1 to V1 to improve rigidity and user-friendliness, especially in printing. No more part orientation and support structure settings in your slicer. Just print-in-place parts. The V2 design natively supports the V2 shields ("black shield"), which are currently inofficially available as a prototype via a development channel on Discord. +Various parts and hardware were updated from V1 to V2 to improve rigidity and user-friendliness, especially in printing. No more part orientation and support structure settings in your slicer. Just print-in-place parts. The V2 design natively supports the V2 shields ("black shield"), which are currently inofficially available as a prototype via a development channel on Discord. -V2 also uses heat inserts M3x4x5 (diameter x length x diameter), widely popularized in 3D printing, especially in Voron-style printers. For them, a *soldering iron* with a spare (or sacrificial) tip or special heat insert tip is required. Make-shift solutions with M3 bolts and lighter are not recommended due to the serious risk of burning your fingers. -All other hardware parts are summarized in the following tables. Not listed items, such as RPI and Arducam 519, have not changed from the V1 and are omitted here. +V2 also uses heat inserts M3x4x5 (thread size x length x outer diameter), widely popularized in 3D printing, especially in Voron-style printers. For them, a *soldering iron* with a spare (or sacrificial) tip or special heat insert tip is required. Make-shift solutions with M3 bolts and lighter are not recommended due to the serious risk of burning your fingers. +All other hardware parts are summarized in the following tables. Not listed items, such as RPi and Arducam IMX519, have not changed from the V1 and are omitted here. ### Essential Bill of Material (BOM) These are the parts you need to build a Mini/Midi V2. Some M3 bolts can be recycled, but most hardware parts have changed. @@ -15,7 +15,7 @@ These are the parts you need to build a Mini/Midi V2. Some M3 bolts can be recyc | M3x8mm SHCS/BHCS | 8+3 | for mounting Nema17 motors, base cover | | M3x10mm SHCS/BHCS | 4 | base imaging unit (IU) and cover | | M3x40mm+ SHCS/BHCS | 1 | mounting IU to rotor, any M3 equal or longer than 40mm will work, M3x70mm would be perfect, see non-essential BOM | -| Heat Inserts M3x4x5 | 3+1+4 | coined "Voron" inserts for base, rotor, and imaging unit. It must be 5mm in diameter! 4.6mm diameter will not sit securely. They require a soldering iron to melt them in. | +| Heat Inserts M3x4x5 | 3+1+4 | coined "Voron" inserts for base, rotor, and imaging unit. They require a soldering iron to melt them in. It must be 5mm in diameter! 4.6mm diameter will not fit securely. | | M2.5x10mm standoff | 4 | female-male standoffs, fixating (black) shield to base cover, screwed directly into plastic, brass recommended | | M2.5x10mm SHCS | 4 | fixating RPI and RPI cover to base cover | @@ -25,18 +25,18 @@ These parts are not needed for a functioning V2 but might make life here and the | :--- | :---: | :---: | | lubricant | 2-3 ml | lubricant that doesn't dissolve printed parts, i.e., white lithium grease, for cog wheel | | microswitch w or w/o lever | 1 | endstop: standard microswitch found in many 3D printers, quality ones prefered (eg Omron D2FC) | -| M1.6x12 (self-tapping optional) | 2 | endstop: through the endstop and directly into the plastic of the base, self-tapping screws work better | +| M1.6x12 (or M2 self-tapping) | 2 | endstop: through the endstop and directly into the plastic of the base, self-tapping screws work better | | Heat Inserts M3x4x5 | 2 | mounting points: eg for lighting dome mod | | M3x15mm standoff | 2 | mounting points: will replace two M3x8 from turntable. e.g., for light dome mod | | F692 (2x6x3) mm | 4 | rotor guide: bearing with flange, will guide the rotor, reduce wobble and friction | | M2x12 SHCS/BHCS | 4 | rotor guide: will fixate the bearings in the base | | M3x70mm SHCS/BHCS | 1 | mounting cam holder to the rotor, put a heat insert on the *opposite* side of the rotor, extra stiffness | | Fan 3010 or similar | 1 | motors and drivers are producing heat which can soften PLA (and PETG) over time; a 30mm fan helps to prevent that; 3V3, 5V, or 12V | -| M3x15 SHCS/BHCS | 4 | for mounting the fan into the housing | +| M3x16 SHCS/BHCS | 4 | for mounting the fan into the housing | | M3 nuts | 4 | for mounting the fan into the housing | ## Printing and preparing the parts -All V2 parts are designed as print in place, i.e., no part re-orientation or supports are required. When supports are needed, then they are already modeled into the files. The recommended print settings are 4 perimeters and approx. 40% cubic infill. Printing with 0.2mm layer height is highly recommended because all dimensions and clearances in the parts are modeled as multiples of 0.2mm! +All V2 parts are designed as print in place, i.e., no part re-orientation or supports are required. When supports are needed, then they are already modeled into the files. The recommended print settings are 4 perimeters and approx. 40% cubic infill. Printing with 0.2mm layer height is highly recommended because all dimensions and clearances of the parts are modeled as multiples of 0.2mm! Also, the rotor height is critical when you want to use the optional bearing upgrade. If you print the rotor on a powder coated sheet, then it will be slightly wider than anticipated. It is recommended to print it on a smooth or satin sheet. The parts should be printed in PETG or ABS/ASA if your printer can handle it. PLA can also work, but due to the enclosed design, excessive heat from the motors and drivers can slowly deform PLA in the long term. When printing PLA, the motor currents MUST be adjusted to a working minimum to prevent heat creep of PLA (approx. 0.5A). The cogwheel/gear for the rotor motor might have an over- or undersized center hole, depending on your printer settings and capabilities. It is recommended to print out this gear in three sizes, 95%, 100%, and 105%, to ensure that one of the gears fits. The gear should fit snugly in the shaft with sufficient friction to hold it in place. @@ -50,39 +50,50 @@ As a last step, all required heat inserts should be appropriately set. Please ta ![Scanner](https://github.com/probably-Erwins-Cat/OpenScan-Design/blob/main/images/heatinserts-base.png?raw=true) ![Scanner](https://github.com/probably-Erwins-Cat/OpenScan-Design/blob/main/images/heatinserts-base-2.png?raw=true) -Three inserts for the side cover are required. the additional ones at the bottom are for fixating the scanner to a table or optional turntable holder platform. The two optional ones are for the light dome mod for more uniform illumination. +Three inserts for the side cover are required. The additional ones at the bottom are for fixating the scanner to a table or optional turntable holder platform. The two optional ones on the top are for the light dome mod for more uniform illumination. ### Rotor ![Scanner](https://github.com/probably-Erwins-Cat/OpenScan-Design/blob/main/images/heatinserts-rotor.png?raw=true) -*Only melt in ONE heat insert, depending on your available M3 bolt length!* M3x70 is recommended since it gives the most stability and secure fixation, but M3x70 is sometimes hard to get. If you cannot source an M3x70 for a reasonable price (or low quantity), pick the longest M3 you can find and melt it in the heat insert onto the short side. +*Only melt in ONE heat insert, depending on your available M3 bolt length!* M3x70 is recommended since it gives the most stability and secure fixation, but M3x70 is sometimes hard to source. If you cannot source an M3x70 for a reasonable price (or low quantity), pick the longest M3 you can find and melt it in the heat insert onto the short side, labeled with M3x40. ### Imaging Unit Cover ![Scanner](https://github.com/probably-Erwins-Cat/OpenScan-Design/blob/main/images/heatinserts-IU-cover.png?raw=true) -Melt in four heat inserts as indicated. Try to leave the small ridges around the insertion point intact. They will help align the camera module later. There are some closed cut-outs. YOu have to remove the ones that suit your JST-XH connector you solder onto it (or you break away all cut-outs, you monster). +Melt in four heat inserts as indicated. Try to leave the small ridges around the insertion point intact. They will help align the camera module later. There are some closed cut-outs. You have to remove the one that suits your JST-XH connector you solder onto it (or you break away all cut-outs, you monster). -## Assembly of the Base -When all parts are printed and prepared, assembly is mainly straightforward. The STEP file I've shared here provides a 3D model of the whole assembly. Here are some advice for assembly: +# Assembly +When all parts are printed and prepared, assembly is mainly straightforward. The STEP file I've shared here provides a 3D model of the whole assembly. Here is roughly a step-by-step assembly: -- Optional: Install tiny bearings with M2 bolts for the rotor. They bolt directly into the plastic. Those M2 bolts are for straight alignment, not high clamping force, so do NOT overtighten them. -- Add the gear to the rotor Nema 17. Depending on the printer and print setting, the gear can be too large or too small. If that is the case, reprint the gear 5% smaller or larger. The gear should have an excellent friction and form fit. -- Check and align the motor before bolting them in. The cable connector might be challenging to reach if you orient them to the wrong side otherwise. +## Assembly of the Base of Mini/Midi +- Optional: Install tiny bearings with M2 screws for the rotor. They screw directly into the plastic. Those M2 screws are for straight alignment, not for high clamping force, so do NOT overtighten them. +- Add the gear to the rotor Nema 17. Depending on the printer and print setting, the gear can be too large or too small. If that is the case, reprint the gear 5% smaller or larger. The gear should have an good friction and form fit. +- Check and align the motor before screwing them fully in. The cable connector might be challenging to reach if you orient them to the wrong side. - Before bolting down the rotor motor, check the cogwheel/gear height first. The rotor motor has slotted M3 holes, so the distance between the gear and rotor can be adjusted to minimize gear play. - -- The imaging unit is a sandwich of parts, secured at the end with 4 M3 bolts. Proper alignment before sandwiching them with bolts makes the job easier. Many parts have rotational symmetry to allow for easier modding. -- Use the screw-in or slide-in mount (recommended) for the camera and align it to the center. If the slide-in mount feels too tight, scratch off some plastic to widen the gap first -- The cam holder can be aligned with the small ridges close to the heat inserts. -- Check what JST-XH connector, angled or straight, and ring light you have and which cut-out of the imaging unit cover you have to clear. Note: Changing the connector's side also changes its pinout's order. -- Carefully place the ring light and the IU base with already inserted M3 bolts onto the sandwich assembly and bolt it down. +- When the rotor motor and the rotor is installed, the rotor should have only minimal play without the motor moving +- Optional: Installing the rotor endstop is done with either M1.6 normal or M2 self-tapping screws. Check orientation of the end stop first so that the nose of the rotor surely hits the switch. Currently, the endstop only prevents the rotor to swoop agains the base, but is not using the endstop as homing point (might change with software update soon) + +## Assembly Imaging Unit +- The imaging unit is a sandwich of parts, secured at the end with 4 M3 screws. Proper alignment before sandwiching them with bolts makes the job quite easy. Many parts have rotational symmetry to allow for easier modding. +- The sandwich order from bottom to top is: IU cover, camera mount (with camera), ring light PCB, IU frame, camera polariser (opaque), light polariser (translucent) +- Use the screw-in or slide-in mount (slide-in recommended) for the camera and align it to the center. If the slide-in mount feels too tight, scratch off some plastic to widen the gap first. +- Take the IU cover and feed the CSI camera cable through the slotted hole. Take care of the proper orientation. Connect the cable to the camera. +- The camera mount can be placed and aligned with the small ridges close to the heat inserts of the IU cover. +- Check what JST-XH connector, angled or straight, and ring light you have and which cut-out of the imaging unit cover you have to clear. Note: Changing the connector's side also changes its pinout's order! +- Carefully place the ring light PCB and the IU frame with already inserted M3 bolts onto the sandwich assembly and bolt it down. - The opaque camera polarizer and ring light polarizer *must be aligned for cross-polarization*, i.e., virtually no light comes through when placing two cross-polarized filters onto each other. If not correctly cut and aligned, they cannot properly reduce reflections, and scan results will be significantly diminished. -- Place the shield onto the cover and screw the M2.5 standoffs directly into the plastic of the cover. Again, they are not meant to bear large forces; do not overtighten them; otherwise, you strip the plastic. -- Place/press the RPI with its cover on top. The 2x20 connector has quite high friction, so take your time and do not accidentally bend the pins. Use M2.5 screws to secure the cover to the RPI+shield assembly. Once again, those should not be overtightened as they directly transfer excessive torque through the standoff into plastic. -- Bolting the base cover onto the base should be the last step when all wiring and alignment are done. -- +## Assembly Shield and RPi Cover +- Place the shield onto the shield cover and screw the M2.5 standoffs directly into the plastic of the cover. Again, they are not meant to bear large forces! Do not overtighten them; otherwise, you strip the plastic. +- Place/press the RPi with its cover on top. The 2x20 connector has quite high friction, so take your time and do not accidentally bend the pins. +- Place RPi cover on thr RPi. You might have to angle it a little so that the cover does not collide with the I/O of the RPi. +- Use M2.5 screws to secure the cover to the RPI+shield assembly. Once again, those should not be overtightened as they directly transfer excessive torque through the standoff into the plastic of the shield PCB. +- Screwing the base cover onto the base should be the last step when all wiring and alignments are done. +- Your Mini/Midi is ready now. + + ## Modding your OpenScan There are some user mods already available. My favorite is the illumination dome mod, which places a half-cylinder/half-sphere shell around the scanned area, minimizing auto-focus issues and smoothing illumination. You can freely share your mods on printables, Thingiverse, GitHub, or Discord. When sharing mods, ideally, you also provide print instructions, e.g., "print-in-place, N perimeters, M% infill, etc.". diff --git a/docs/OpenScanV2-Electronics.md b/docs/OpenScanV2-Electronics.md new file mode 100644 index 0000000..561e477 --- /dev/null +++ b/docs/OpenScanV2-Electronics.md @@ -0,0 +1,41 @@ +# OpenScan V2 Electronics Start-up Guide +The OpenScan PCBs are meant for tinkerers and people with a little electronics knowledge. They are not a 100% fail-safe product (no electronics really is). In case you are not super-confident in dealing with electronics, here is a small, step-by-step manual in how to get the V2 PCBs running, a.k.a. the "black shield" running (but will also work for the V1. "green shield") or how to figure out where an issue is, so that you or others can help you out. + +## "Trust is good, control is better" or "Trust, but verify" +The V2 shields should arrive fully functional and plug and play, however, you never know what happens during shipping. Before fully assemblying your OpenScan device, you should to a pre-flight electronics check as far as you have the equipment, i.e. a multimeter and perhaps a Philips screwdriver. You don't need any printed parts for that. In fact, the whole process is easiest when not fully assembled, the PCBs naked in front of you on an ESD mat. + +## Checking the DCDC +Remove all components, RPi and motor drivers and cables. You are left with a shield that contains only the DCDC and a few passive components (they are rarely defect). Connect a 12V power cable and switch on the shield. Nothing should happen since nothing is connected. With a multimeter check if you can verify GND, 12V and 5V (more precisely 5.2V with the V2) at accessible points. If that is the case, your DCDC works. (V1 only) If your 5V is off, you can adjust the voltage with the potentiometer or flip over the DCDC, cut the potentiometer trace and bridge the "5V" solder jumber. *I highly recommend the solder jumper bridge, it is the most reliable 5V source.* + +## Checking the motor drivers +Switch of the shield fully. Plug in the motor driver bricks *with correct orientation* but no motors. Switch the shield back on. If it smells funny, you oriented the motor driver wrongly; the driver is gone. Otherwise, verify the voltage, V_ref, of the motor drivers. Out-of-the-box, it should be approx 0.5V (V2) or 1V (V1). With a screwdriver, you can adjust the V_ref. The Mini and Midi only require very low V_ref as there are only small torques to overcome. 0.5V is sufficient. If you measure weird V_refs at the potentiometer, there is a good chance you measured the voltage wrongly, or the driver burned through. (V1 only) Check that the heat sinks are not bridging components and potentially induce a short circuit. + +## Checking the RPi +It is time to plug in the RPi (after you powered down the shield again). After powering on, the RPi should boot (takes some time) and you should be able to access openscan.local eventually. Since nothing else is connected, not much can be done in the software at that point, but that is fine. We confirmed that the shield and motor drivers are properly working. Congratulations, your shield works. Now, we can address the motors and ring light. + +## Checking the Ring Light +The ring light and shield have a 3-pin JST-XH terminal. This terminal prevents accidental flipping of cable connectors, however, it must be confirmed once at the beginning that the orientation of the cable pins fit. There are paired-end and twisted-end JST-XH cables! Further, the ring light V2 allows few orientations of the terminal. Due to this degree of freedom, it is better to check the pin order of the cable. +First, take the JST-XH cable and plug it into the shield. Leave the other end free so you can test with your multimeter. In the OpenScan interface, switch on the ring light. The slider has 4 steps, take the last (all ON). You should either see 0V="GND", 3.3V="Extra" or 12V="12V". This gives you the info what is "12V/GND/Extra" (V2) or "GND1/12V/GND2" (V1). If the pin order of your cable does not match the print on your ring light, take a small flat screwdriver and remove the pins and rearrange them accordingly. +**Long story short, if you use the cable from your V1 shield with your V2 shield, you must switch the outer pins when placing the JST-XH terminal as indicated on the ring light silkscreen print labeled "V2"** + +## Checking the Motor wiring +Motors come with 4 (or more) connections. They are build up out of two coils, i.e. two wire pairs: pair "1" or (A1,B1), and pair "2" or (A2,B2). If(!) you have the tech. datasheet of your motor, you can look up the wiring. If not, then you have to figure out the order yourself, since there is no standard (correction: there are approx. 498323 standards, thus, the concept of "standard" became useless for motors). + +In any case, you start by plugging in the connector and hope the motor runs immediately. Most often, your motor has a reasonable wire config. You simply check what the motor is doing when you click to move the turntable or rotor up/down a little. + +### Case 1 +The rotor/turntable moves in the right direction. Great, you are done. (45% chance) + +### Case 2 +The motor moves in the wrong direction. You can invert the direction pin in the setting. Your motor now moves in the right direction. Done. (45% chance) +### Case 3 +The motor lets the rotor/turntable vibrate very quickly back and forth and makes a buzzing, humming or squeecking sound. (10% chance) One of the pairs is unfortunately twisted. You have to untwist them: + +The pairs you will find out easily: you measure the resistance with a multimeter. A pair has a very low resistance; it is only a coil after all. Which *direction* the coil is and which coil is "1" and "2" is open to be figured out. The connector on the board has the orientation ((A1,B1),(A2,B2)). Luckily, the OpenScan software can invert the direction. The OpenScan software has can switch the pairing by toggling the direction switch, i.e. the software can swap "1" and "2" for you, in case you guessed wrong. +This leaves you with guessing "A" and "B", the direction of the coils. Luckily, if you guess wrong two times for "1" and "2", you automatically invert the moving direction again, so the software can fix your wrong-guessing. + +**Long story short, if your motor makes weird noises:** This leaves us with the config, that only one pair is inverted, i.e. "A1" is switched with "B1" OR "A2" is switched with "B2". Pick ONE pair and twist them. Your motor should now move. If the motor moves in the wrong direction, you have twisted the "wrong" pair, but that you can solve with the direction toggle in the software. + + + +