- on Computer/Software/Internet
- Published in issue 11/2007 on page 0
USB Data Acquisition Card
digital & analogue; input & output
CAM/CAD data for the PCB referred to in this article is available as a Gerber file. Elektor GREEN and GOLD members can exclusively download these files for free as part of their membership. Gerber files allow a PCB to be produced on an appropriate device available locally, or through an online PCB manufacturing service.
Elektor recommends its business partner Eurocircuits as the company of choice for its own prototypes and volume production in selected cases.
In the circuit diagram, the USB+ and USB– pins on K2 should be swapped. The PCB track layout shown in the article should also be corrected. PCBs supplied through the Elektor Shop have the correct USB signal routing and are not affected.
Although different values are indicated in the circuit diagram and the parts list, both 27 Ω and 33 Ω resistors may be used in positions R3 and R4.
Contrary to what some readers have written there is no bug in the firmware CUSTOM_TAD. If it is compiled with MPLAB C18 C Compiler v3.02 as described in the magazine, in the section ‘PIC Firmware’, it compiles perfectly (6 warnings appear, without importance) and the .hex file is generated without problems.
However, if the firmware is compiled with a later version of the C18 Compiler, for instance, with MPLAB C18 C Compiler v3.14 (recent version), some errors appear that inhibit compilation. To be able to compile successfully, the following modifications must be made:
1. File main.c, line 52
Text: #pragma config FCMEM = OFF
Should be: #pragma config FCMEN = OFF
2. File user.c, line 76
Should be: TRISCbits.TRISC1=0; CCP2CON=0b00001111;
3. File user.c, line 79
Text: OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_6_TAD,ADC_CH0 & ADC_INT_OFF & ADC_VREFPLUS_VDD & ADC_VREFMINUS_VSS,7);
Should be: OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_6_TAD,ADC_CH0 & ADC_INT_OFF & ADC_REF_VDD_VSS,7);
These tree changes are indispensable. After making the changes the firmware is compiled perfectly (6 warnings appear, without importance) and the .hex file is generated correctly.
To be able to execute the software for the PC it is necessary that Microsoft .NET Framework is installed (free downloaded from Microsoft via Windows Update).
R1 = 10k
R2 = 470
R3,R4 = 33
R5 = 1M
R6,R7,R8 = 1k
(all SMD 0805 case)
C1,C3 = 100nF
C2 = 470nF
C4 = 10nF
C5,C6 = 22pF
IC1 = PIC18F4550 I/P, programmed, Elektor Shop # 070148-41
D1,D2,D3 = LED, SMD case 1206
K1,K3,K4,K5 = 10-way boxheader
X1 = 20MHz quartz crystal
L1 = VK200 or small ferrite bead with 2-4 turns thin enamelled copper wire
S1 = pushbutton, PCB mount, 6mm footprint
DIL40 socket for IC1
PCB (bare), Elektor Shop # 070148-1Project software, file # 070148-11, free download