The MCP6V01 auto-zeroed op-amp features an ultra low offset voltage (VOS) and high common mode rejection ratio (CMRR), which makes it applicable to temperature measurement. The MCP6V01 thermocouple auto-zeroed reference design demonstrates how to measure electromotive force (EMF) voltage at the cold junction of the thermocouple in order to accurately measure temperature at the hot junction.
The difference amplifier is implemented using the MCP6V01 and 0.1% tolerance resistors. It amplifies the EMF voltage at the cold junction of the thermocouple. The MCP9800 senses temperature at the type K thermocouple’s connector. It should be located as close as possible to the connector on the PCB. This measurement is used to perform cold junction compensation for the thermocouple measurement. The MCP1541 provides a VREF (4.1V) to the internal 10-Bit ADC of the PIC18F2550 and sets the reference voltage for the difference amplifier. The CVREF is the internal comparator voltage reference of PIC18F2550, which is a 16-tap resistor ladder network that provides a selectable reference voltage. The MCP6001 buffer amplifier eliminates the voltage reference output impedance problem and produces the voltage VSHIFT.
The 2nd order RC low-pass filter that is implemented in this circuit can remove the high frequency noise and aliasing at the ADC input. The ADC of PIC18F2550 completes the analog-to-digital conversion. The data will be transferred to the PC using the USB interface. The thermal management software on PC is used to perform data display to show the real-time temperature and apply cold junction compensation and data linearization to determine the actual temperature of the thermocouple’s hot junction (weld bead).
Thermocouple Auto-Zeroed Reference Design - [Link]
Alberto Maccioni posted an update on his multi-chip opensource programmer based on a PIC18F2550. It supports PIC, I2C-SPI-MicroWire EEPROMs, some ATMEL AVRs, and (soon) other devices:
In the last few years, as serial and parallel interfaces have almost disappeared, electronics enthusiasts find even more difficult to program microcontrollers; old time programmers don’t work any more; common solutions include using USB to serial adapters (which can’t accept direct access but only slow API calls), or add-on interface chips, like FTDIxxxx, which appear substantially as serial interfaces and require custom or proprietary drivers. So why not use PIC controllers and their native USB interface? After searching a while I couldn’t find an USB programmer which was at the same time functional, free, and open source, so I decided to design one.
Open Programmer v0.8.x - [Link]
It has been 7 years (!) since I posted my PIC18F2550 KS0108 Graphical LCD Oscilloscope code and schematics. I have long since taken the circuit apart, sold my PIC microcontrollers, and moved on in my life (as one can surmise from my most recent posts detailing my graduate and postdoctoral work). However, I still get inquiries about the Microchip PIC oscilloscope, so I decided to recreate it using a simpler setup using my Arduino Fio.
Arduino LCD Oscilloscope - [Link]
This project is “NanoUtils Xtal” – a crystal oscillator breakout board. The board is designed to be interfaced with microcontrollers that have their oscillator pins next to a ground pin. [via]
This board is a breakout containing a SMD crystal, two caps and a resistor meant to be used in breadboards when building something with an Atmel ATmega or a Microchip PIC that have the two crystal pins next to a GND pin. For instance the atmega328 or pic18f2550.
Crystal oscillator breakout - [Link]
Palma made a USB development board for the PIC18F2550. These chips are really popular, and there is a bunch of projects floating around the internet with them, even our own USB IR Toy, and USB LCD Backpack use them.
This board is basically a breakout board, with decoupling capacitors, and a USB jack. We like that all the broken-out pins are connected two 2 pins of the dual row female header, making it easier to connect one pin to a more then one external component.
You can also check out our PIC18F2550 Breakout Board, build in the “blade” style, having all the breakout pins on one side of the board.
PIC18F2550 USB development board - [Link]
Steve @ semifluid.com writes:
Using the PIC18F2550 GLCD Text Test as a basis for further experimentation, I put together a simple and accurate graphical oscilloscope using a PIC18F2550 microcontroller and a AGM1264F graphical LCD. The oscilloscope measures the average voltage, the maximum voltage, the minimum voltage, the peak-to-peak voltage, and the zero-crossing frequency for a DC signal over 100 samples. The oscilloscope has a built in edge trigger function that can be set to capture on rise or fall (or disabled altogether). The time scale for the display is variable and can be easily redefined using the changeTimeDivision function. Likewise, the voltage range can be change to 0-5V, 0-2.5V, and 0-1.25V. The main limitations of this oscilloscope include relatively slow acquisition time and sampling rate (~60kHz) and the fact that the inputs are limited by the constraints of the internal ADC. However, it is a very nice display and I highly suggest you view the videos to see it in action.
PIC18F2550 KS0108 Graphical LCD Oscilloscope - [Link]
Dilshan developed a 8 channel USB digital signal generator and an open source Windows application called Kidgo Player to drive it. The hardware is basically just a PIC18F2550 USB breakout board used to provide 8 digital outputs for his software. The Kidgo Player’s source is available on GitHub, and has the following features – [via]
- Save waveforms and settings as binary file (KDF file) or export waveform as a text file
- Playback controls such as “Play to segment”, “Play from segment”, “Step back”, “Step next” and “Clear”
- Shifting and rotating waveforms
- Invert, Reset, Clocking and Binary Generator functions
- Copy and Paste waveforms
- Mute function to each individual channel
- Launch without any installation or configuration (design to work as portable Windows application)
Kidogo: 8 channel USB Digital Signal Injector - [Link]
This is a development board for the PIC18F2550, I designed this board inspired by the TP-2550 development board by Giovanni Lafebre (site is in Spanish). Main difference between the original and my design is the size, mine is 10×8 cm, so it has less elements. This is because I created this board using the free version of Eagle, so I adjusted to its restrictions. [via]
- 8 LEDs.
- 4 push buttons with pull-down 220Ω resistors.
- 2 potentiometers.
- 1 relay with an active LED indicator. For using the relay, you must provide an external power supply.
- 1 H bridge.
- 1 barrel connector for H bridge power supply.
- The board can be supplied from the USB or from an external supply (jumper selectable).
- 5V regulator onboard.
- ICSP port for PIC programming.
- Jumper for enabling/disabling programmer voltage. This allows for the programmer to be powered from the board supply, so we can have the programmer plugged to the board all the time.
Eaglefree PIC18F2550 development board - [Link]
This is a DIY USB programer for Altera FPGAs. It only uses a PIC uC and a few discrete components to provide a JTAG interface with a FPGA. Somun found it on a Japanese site (machine translation), and with the help of Google Translate he built one for himself.
There are two versions available. The older one pictured above uses a PIC18f2550 chip, while the newer one uses a cheaper PIC18F14K50. If anyone is interested drop a comment in the forum and Somun will provide the eagle files for his build. [via]
FPGACheap DIY Altera FPGA USB programmer - [Link]
Geoff designed this USB PC case fan controller. It is used to control the speed of your fans depending on the temperatures in your case. Software that was developed for this project allows you to customize the temperature profiles for your computer.
The project is based on the PIC18F2550 that is connected to the computer via the USB and uses the standard Molex 4pin connector to access computer’s power supply. It has 4 analog inputs for temp sensors, and can control up to 8 fans.
One thing to note is that all the fan outputs work with 3 pin fans, while two are universal and work even with 4 pin PWM versions. The 3 pin fans are driven with a buck convertor. The UDN2981 provides the high side switch and diode that are driven from PIC’s PWM signals. A 100uH inductor and a 479uF capacitor complete the buck topology, thus providing variable analog output for the 3 pin fans.
Intelligent Fan Controller - [Link]