Bookscanner

De FouWiki
Jump to navigation Jump to search

Bookscanning in Calafou:

This page is documenting the design and construction of bookscanners. For the tutorial that explains "How to use the bookscanner", go to http://wiki.calafou.org/index.php/Bookscanning

Building a "New Standard Scanner"[modifica]

We built this: https://forum.diybookscanner.org/viewtopic.php?f=1&t=333 during the Kunlabora event in Calafou: https://calafou.org/en/content/kunlabora-ephimeral-projects-kooperative A more reproducible and portable and simple scanner.

In theory for the simple scanner it should be possible to get all the ingredients from a hardware shop ("ferreteria"). We got most of the materials from Bauhaus in Barcelona (Zona Franca). Our experience was that most of the screws, nuts and bolts are easy to substitute with others that have more or less the same dimensions.

S'ha produït un error en crear la miniatura: Fitxer inexistent

Budget[modifica]

Kunlabora event was four days of collaborative construction. More or less six persons worked on building the scanner. This is the receipts that we spent, because we had 500 EUR budget for the raw materials from the participation fee of the event.

Receipts:

   25    2x plexiglass [J] @ Expocryl, Igualada
   18    2x SD cards @ Life Informatica, Barcelona
   50    2x magic want camera stand @ FotoK, Barcelona
   42.2  Nuts/bolts/etc. @ Bauhaus, Zona Franca, Barcelona
   108.8 Nuts/bolts/etc. @ Bauhaus, Zona Franca, Barcelona
   10    2x USB cable male/female @ Worten San Antoni, Barcelona
   5     2x mini USB (USB-B) cable @ Tienda Cables, Barcelona
   178   2x Canon IXUS 175 compact digital camera @ Amazon.es
   60    4x Wooden beams (listones) @ Fustes Fargas, Barcelona
   ============================================
   497

Donations:

   70    Raspberry Pi 3 (Model B), 2x SD cards, 5V charger, rulers [M] @ Barcelona

We also used nuts and bolts, etc. found in the workshop of Calafou (in Catalunya, near Barcelona). The conclusion is that it should be possible to build this scanner from about 5-600 EUR anywhere in (Western) Europe. We did not use all the materials we bought and if we would do it again then we tried to use real wood instead of FDM, because the latter proved very fragile. However, this could make the platen more heavy, and it is already quite heavy.

Parts / componentes[modifica]

S'ha produït un error en crear la miniatura: Fitxer inexistent

Going for shopping

S'ha produït un error en crear la miniatura: Fitxer inexistent


From Bauhaus, Barcelona (Zona Franca):

S'ha produït un error en crear la miniatura: Fitxer inexistent
-1x Varilla roscada
-4x Listones de madera  ~800x40x90mm
-2x (Tablero) MD sheet 600x400x10mm
-2x (Tablero) MDF sheet 600x400x16mm
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Cola blanca rápida para madera
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Base 4 tomas 1.5 mts
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Tuerca hexagonal
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Guia corredera
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Arandelas ancha
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Aldabon BPF 185 M
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Tornillo mad.cab.pl.
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Tornillo cab. avell.
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Tornillo p/metal
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Tuerca palomilla
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Guia cajones 10kg
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Spax cab. red zinc
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Tirador dorado
S'ha produït un error en crear la miniatura: Fitxer inexistent
- 4x Abrazaderas
S'ha produït un error en crear la miniatura: Fitxer inexistent
- Mosqueton-fw
- 2 x plexi glass 380x280x3mm from a company in Igualada that J. found.

Other things from other shops:

S'ha produït un error en crear la miniatura: Fitxer inexistent
- 4x Cable USB 2.0 male-female @ Worten Sant Antoni
- 2x USB-A -> USB-B (mini) cables @ Tienda de Cables
- 2x SD Cards 16 Gg
S'ha produït un error en crear la miniatura: Fitxer inexistent
- 2x Manfrotto brazo flexible MF237 (Nr. referencia AFP018036) @ FotoK, Ronda Universitat
S'ha produït un error en crear la miniatura: Fitxer inexistent
- 2x Tira LED 1 nice
- 2 x digital cameras (see below for background information): Canon IXUS 175 (Powershot / ELPH 180)
  - https://www.amazon.es/Canon-IXUS-175-compacta-estabilizador/dp/B01A8QU70I/
  - http://chdk.wikia.com/wiki/ELPH180
  - https://www.canon-europe.com/for_home/product_finder/cameras/digital_camera/ixus/ixus_175/specification.aspx

For electronic parts a good shop in Barcelona is Diotronic: https://diotronic.com/

- usb charger to give power to the external trigger trough USB cable

Things to take in consideration from the building experience

  • the MDF pieces are fragile and gave us problems when introducing screws
  • we considered varnishing the wood pieces to limit humidity impact
  • the plexiglas we bought generates many reflections
  • passing from inches to cm was uncomfortable
  • the position and height of the light should be tested before being fixed
  • the upper part of the light stand should be easier to mount and unmount for transportation
  • the wood used for the platen should be without texture or painted with mate dark paint
  • the gooseneck (Manfrotto) option for the camera stand is not a good option: it is very easy to put the camera in the way of the cradle; the calibration process is difficult because the cameras can move in the three axis; they are springy and difficult to set in an exact position

Cameras[modifica]

The bookscanner is basically a glorified camera stand that allows us to take good pictures of book pages. So the cameras are an important part of the bookscanner. Summary of research about cameras for book scanners:

Basically there are three categories of cameras that can be used for book scanners (from cheapest to most expensive).

1. Remote control support

The cheapest option is any camera with remote trigger support, so we can take pictures without pushing the button on the camera. This is important because when you press the button the camera position may be disadjusted to the physical pressure.

2. CHDK firmware

Middle category is CHDK firmware compatibles. CHDK is a third party open source firmware that allows the customisation of cameras. CHDK firmware is for Canon Powershot cameras, which are the cheaper compact digital camera product line. We had 200 euros in the budget for cameras, so we went with this option.

3. Magic Lantern support

Magic Lantern is a third party open source firmware that is more advanced. However, it only works with Canon DLSR cameras (these are the cameras that have a reflex mirror to look at the shot through a small hole before you take the picture, and they usually have big lenses). The scanner we have now uses Canon 1100D, which are the cheapest type suported by Magic Lantern, but they still cost a few hundred euros.

4. Connecting to a monitor

It is very useful to be able to connect the cameras to a monitor during the calibration process. The cameras we bought use the same output for connecting to a remote control and to a monitor making it not practical at all using a monitor. Furthermore, connection with usb to a computer monitor was not an option, we had to look for RC connectors or adapters.

5. A note about webcams:

An option might seem to use two high resolution webcams directly connected to a laptop to trigger taking pictures and monitor their quality, and there are full HD webcams (~2 Megapixels). The problem with all webcams, however, is that they have a fixed optical zoom, at quite a wide angle. To get those pixels covering the book page, you need to be very close to the book (~25cm). This forces you to use a design similar to what Reece Arnott uses, or the Ion Audio Booksaver. These designs make it impossible to avoid glare from light sources, no matter where the lights are placed. To avoid glare, you need a narrow zoom and a good distance (~90 cm) between book and camera.

Building process[modifica]

Base / Base[modifica]

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent

We cut the wood beams to have 2 pieces of 56x4cm and 2 of 31.5x4cm

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent

we measured with precision tools and marked the position of the drawer sliders on the 54x4cm wood beams

S'ha produït un error en crear la miniatura: Fitxer inexistent

we drilled holes on the marked position

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent

and then we fixed the sliders

S'ha produït un error en crear la miniatura: Fitxer inexistent

We used the thicker MDF material to cut a 37x29cm sheet

S'ha produït un error en crear la miniatura: Fitxer inexistent

The last parts were fixing the other part of the sliders to the MDF sheet and attaching the different part of the base with screws


Cradle / Cuna[modifica]

The cradle is a V-shaped book holder partly fixed to the base

S'ha produït un error en crear la miniatura: Fitxer inexistent

We cut two MDF (thin) sheets for the book holder

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent

And 4 small triangles to maintain the book holder on the base with a 90 degree angle between both sheets

S'ha produït un error en crear la miniatura: Fitxer inexistent

We measured were to position the triangles

S'ha produït un error en crear la miniatura: Fitxer inexistent

Drilled the MDF sheet on the base

S'ha produït un error en crear la miniatura: Fitxer inexistent

And fixed the MDF small triangles

S'ha produït un error en crear la miniatura: Fitxer inexistent

We drilled the MDF sheet of the Craddle

S'ha produït un error en crear la miniatura: Fitxer inexistent

And fixed it to the triangles

NOT DOCUMENTED WITH PICTURES

S'ha produït un error en crear la miniatura: Fitxer inexistent

The 2 other triangles were fixed to the other MDF sheet without being fixed to the base. The distance between the triangles is of 19.5cm. We cut a 19.5x19.5cm MDF square that we attached to the other side of the base. The drilled the 2 triangles in order to introduce a threaded rod. The threaded rod is used to tighten the triangles against the square fixed on the base.


Platen / Platina[modifica]

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent


Column / Columna[modifica]

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent

CHDK[modifica]

External trigger[modifica]

S'ha produït un error en crear la miniatura: Fitxer inexistent
S'ha produït un error en crear la miniatura: Fitxer inexistent

Photos[modifica]

Mounting[modifica]

Miscellaneous[modifica]

Triggering mechanism[modifica]

Camera holder[modifica]

Day 1 (temporary)[modifica]

Raspberry Pi for the bookscanner[modifica]

At the moment we use an electromechanical button documented on the CHDK website that works well but does not do much more than triggering the two cameras to shoot at the same time: http://chdk.wikia.com/wiki/USB_Remote

There are many more possibilities of how to optimise the bookscanning process. Many ideas start with connecting the cameras to a small computer such as the Raspberry Pi. We made some experiments and tests with this setup, which is documented below:

It runs Raspbian.

CHDKPTP[modifica]

In /home/pi/chdkptp there are precompiled binaries of CHDKPTP downloaded from here.

CHDKPTP is used for remote control of camera running CHDK firmware.

Our setup has two modes of work:

  • mechanical "button" which triggers both camera capturing its photo based on this tutorial: http://chdk.wikia.com/wiki/USB_Remote
  • (in progress) Raspberry Pi mode where an bookscanner operator uses Raspberry Pi to capture photos, preview photos in real time and transfer them already renamed for the next step in Scantailor.

When camera is connected this line will list info about the camera e.g.:

sudo ./chdkptp.sh -elist

and for one of the camera this is what is listed then:

-1:Canon IXUS 175 b=001 d=030 v=0x4a9 p=0x32c1 s=8B20D62641B041BAA3E1D597D560D110

An example of capturing a picture from commandline (once in /home/pi/chdkptp/):

sudo ./chdkptp.sh -e"connect -d=030" -erec -eshoot

Above line connects to the camera sitting on -d=021, puts it into rec mode (if not already) and capture the photo saving it to SD card already in camera. If one wants to bypass the SD card altogether it should replace -eshoot with -eremoteshoot. In that case ./chdkptp.sh will save photos into the directory from where it was called.

Note: check the SD card is locked.

ZeroTier[modifica]

It is added to 565799d8f6ebf1a8 public network of ZeroTier with this command:

sudo zerotier-cli join 565799d8f6ebf1a8

and it got static IP address (in 565799d8f6ebf1a8 network):

192.168.192.171/24

In /home/pi/.ssh/authorized_keys public keys of maxigas and marcell are added.

Ideas for building Voja's scanner[modifica]

Our first idea was to reproduce Voja's scanner but we had to realise that we are not Voja and the scanner is very beautiful and unique engineering and consequently it is hard to reproduce.

Here are two links to the public documentation of our scanner, built by Voja Antonic:

https://www.memoryoftheworld.org/blog/2012/10/28/our-beloved-bookscanner-2/

https://hackaday.io/project/5604-diy-book-scanner

The electronics is not really documented (which means that it is hard to reproduce) and it is built from basic parts (which means that it takes a lot of time to put it together). So we brainstorm about an Arduino-based solution instead. Arduino is a general-purpose programmable microcontroller that has already built-in many of the functions/parts we need. The idea is that this makes it easier for us to build the scanner and for others to reproduce it. We also have more experience working with Arduino than with only basic electronic components.

We will also try to use cheaper cameras in order to bring down the budget.

Biblio-graphy[modifica]

About our first bookscanner[modifica]

English

Spanish

Principal sources[modifica]

Reading And Leading With One Laptop Per Child

Future activities[modifica]

next steps