PIC Projects

Finished projects :

  1. Experiments WDT: A long watch dog timer for long brain imaging experiments. This project uses the PIC 16C54 and was written in assembler. This unit wait for up to 30seconds for an input signal to arrive from the imaging system, and alarm is made if the input signal does not come after that time period.

  2. Heart Beat - Respiration Synchronization controller: A synchronization controller that synchronize between an animal heart beat and respiration phase. This controller is part of the very fast CCD image acquisition system (DyeDAQ) that is based on a fast camera by Fuji which is used to take images from brain tissues after staining with dyes. This project uses the PIC 16C57 and was written in CCS C. It does RS232 to communicate with the PC in order to get synchronization mode and report current synchronization state.
    Phase 2 of this project uses PIC 16C73.

    HB-RespFrontPanel.jpg (41718 bytes)

    HB-RespPCB.jpg (178683 bytes)

  3. Behaving monkey interface unit: This unit controls signals that comes from photo diode as triggers to other events, operate solenoid to pass reward juice to a monkey, it does not really need a PIC in it, it could have been implemented with some low level logic ICs, but, the environment that I am working in is constantly changing and we need enhancement all the time. so, it is a good practice to put it in and be able to change the programming later. Currently it does latching of digital signals and logic between some other signals, in the future it would probably include also some code to produce pulse trains for different control of the reward. The project is based on PIC 16C57 and was written using CCS C.
    This project is now canceled since the PIC was unable to deal with the fast signals that it needed to latch. It is now implemented with an EPLD.
    Phase 2 of this project uses PIC 16C73.

    MonkeyFrontPanel.jpg (42645 bytes)

    MonkeyPCB.jpg (140291 bytes)


  4. Stepper motor controller: This project is based on a PIC 16C73A which gets an input state (high or low) and moves a stepper motor mounted on a table to either side. The unit is used to move an optical filter in and out of an optical path of a CCD camera. The program is written using CCS C compiler and implements a PWM control of the stepper motor using an acceleration and de-accelerations profiles. This actual motor driving is made with a Stepper Motor Driver (Motorola SAA1042).

  5. Stimulus multiplexer: This unit controls timing and logic that would activate one of 16 valves based on external binary stimulus number. This project is based on a PIC 16C74 and was written using CCS C compiler.
    - See connectors pin out.

Future projects :

  1. None scheduled.