Sunday, September 19, 2010

DIY laser spirograph (part 6)

Improved SMT version of PIC18F1320 based controller for laser spirograph.

Controller board is completely redesigned and tightly populated with SMT components.

MIC4680 based switching voltage regulator eliminates needs for bulky aluminum heatsink.
As result controller has significantly shrunk in size and now it can be used as a base for true pocket laser show projector. 
Controller's retained embedded voltage regulator to supply power for low power laser module within 2 - 4V. Regulator's built around SMT LM1117 chip and incorporates dedicated open area of PCB as a heatsink.
Controller supports 5V and 12V fans. Fan voltage is set by wire jumpers on board.

Controller v2 for laser spirograph. Final design.

Along with auto and manual modes of operation modified controller's acquired new exciting feature.
It's ability to store your favorite patterns in internal memory with just press of a button and replay them as a slide show.
Up to 80 patterns can be stored and replayed as endless sequence. Time of displaying single pattern is adjustable and can vary from 3 to 60 seconds. Also there's manual step mode when next pattern in sequence is triggered by a button.



As usual, double sided PCB for prototype is made by using proven  heat toner transfer method.


Controller v2 for laser spirograph. Top layer.


Controller v2 for laser spirograph. Bottom layer.



Controller v2 for laser spirograph. First prototype.

Controls are situated on front panel and connected to board via flexible cable and 5-pin connector.

Switches:
PROG/CYCLE - selects PROGRAM (manual)  or CYCLE (auto) mode of operation. 
RAND/MEM - selects RANDOM routine to generate unique pattern or reading stored patterns from internal memory.
CONT/STEP - selects CONTINUOUS or STEP BY STEP mode of showing sequence of patterns.
This switch is active only in MEM mode.

Button STEP/MEM: 
 - in PROG or CYCLE/RAND modes press of a button writes current pattern in internal memory. Stored patterns can be displayed as endless slide show in CYCLE/CONT mode.
 - in CYCLE/MEM/STEP mode button cycles trough sequence of stored patterns.
If button is being held pressed during powering up all pattern in memory will be cleared.

POT A:
 - in PROG mode defines speed of motor 1.
 - in CYCLE/MEM/CONT mode defines time interval of showing single pattern from sequence.
Time interval varies from 3 sec to 60 sec.
POT B:
 - in PROG mode defines speed of motor 2.
POT C:
 - in PROG mode defines speed of motor 3.

Description of operation.

Unit operates in one of two working modes : PROGRAM (manual)  and CYCLE (auto).
In PROGRAM mode, pattern depends on positions of potentiometers.
In this mode current pattern can be saved in internal memory by pressing button MEM. Capacity of internal memory - 80 patterns. After memory has filled each new pattern will substitute the oldest pattern.
To clear memory press and hold MEM button during powering up.

In CYCLE mode, unit runs slide show by displaying endless sequence of pattern.
In CYCLE/RAND mode, patterns are randomly generated by software routine. Initial pots positions determine shape of the first pattern in sequence. In this mode current pattern can by saved in internal memory by pressing button MEM.
In CYCLE/MEM/CONT mode, unit continuously reads patterns to display from internal memory. Time interval for displaying single pattern depends on position of POT A and can vary from 3 to 60 sec.
In CYCLE/MEM/STEP mode, reading of next pattern from memory is triggered by button STEP.
Controller board schematic.
External parts connection. Digykey BOM

All technical notes such as
- schematic;
- PCB in PDF format;
- BOM;
- HEX file for PIC18F1320;
- C source code for CCS compiler.
can be downloaded from here.

I've added blanking output B1 but I couldn't test it with real hardware. Use at own risk. As a precaution measure, I suggest connect controller to laser TTL input through optocoupler.

Firmware version with blanking output

(part 5) <<<--- DIY laser spirograph --->>> (part 7)

1 comment:

  1. Hello, my name is Sergey, I from Russia. In English I am not strong, I use the translator. I very much liked your working out.I have a question for you, you can add flashing beam modulation?

    ReplyDelete