Electronics

The chalkjet uses a few key electrical circuits to fire the 8 solenoids, allow for keyboard input, display text on a VFD (Vacuum Florescent Display) Screen, and to read encoder counts for position tracking.
Picture
Direct View of the ChalkJET Circuitry, with Two Arduino Boards

Solenoid Firing Circuit

Picture
Eight TIP120 NPN transistors are used to act as an electrical switch that connects and disconnects each of the eight solenoids from the two 7.2 volt Ni-Cd battery packs. When 5 volts is applied across a 1 kOhm resistor at the base of the transistor the collector and emitter terminals of the transistor become electrically connected. The Arduino will send 5V pulse signals to cause specific solenoids to fire to produce a desired pattern of pixels.

Picture
Close-up of the Eight TIP Transistors

User Input/Output Devices

Picture
A PS/2 Keyboard is used as the user input device with the Arduino. When the user enters the "Print Message" mode, all keyboard inputted data is taken by the Arduino and sent out as a serial communication which is echoed onto the VFD with its data pin connected to the serial TX port of the Arduino. The reset pin allows the Arduino to clear the screen, and the Sbusy pin allows the Arduino to know if the VFD has finished printing information. In addition to keyboard data entry, the keyboard allows the user to navigate the menus displayed by the VFD.

Picture
VFD Display, with User Input Menu

Encoder Circuit

Picture
The Chalkjet utilizes two optical quadrature encoders. When printing 1 single row of text (1-D mode), the Chalkjet Software only utilizes 1 of the encoders. With 2 encoders, and utilizing the principle of dead reckoning, the position of the Chalkjet can be determined relative to its starting location as the Chalkjet winds along any path. This allows for the ability to create large images (2-D mode).

The quadrature encoder is capable of measuring rotation and direction of rotation. It does this by registering two distinct sequences of boolean pairs. Forward encodes to 00, 01, 11, 10. Backwards encodes to 00,10, 11, 01.

Picture
Close-up of the Wheel Encoder, Shaft, and Wheel Block