Merge pull request #15 from noisymime/master

1801
This commit is contained in:
Vitor Moreno B. Sales 2018-01-19 19:18:00 -02:00 committed by GitHub
commit 94b2154bed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 7861 additions and 2508 deletions

18
.gitattributes vendored Normal file
View File

@ -0,0 +1,18 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
*.ino text eol=lf
*.h text eol=lf
*.c text eol=lf
*.ini text eol=lf
*.msq text eol=lf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.dll binary
*.fzz binary
*.xls binary
*.pdf -text

1
.gitignore vendored
View File

@ -18,3 +18,4 @@ reference/hardware/v0.4/gerbers/Archive.zip
.project
.vscode
.build
.kicad_pcb-bak

View File

@ -0,0 +1,111 @@
#include <SPI.h>
#include <Arduino.h>
#include "globals.h"
#include "comms.h"
uint16_t map1_adc, map2_adc, map3_adc, map4_adc;
uint16_t map5_adc, map6_adc, map7_adc, map8_adc;
uint16_t currentMAP, map1, map2, map3, map4; //These values are all stored in kPa x 8 for 1 point of extra precision. They are the instantaneous values
uint16_t map1_min, map2_min, map3_min, map4_min; //As above, but represent the minimum reading for each sensor within the current cycle
byte currentLowestCylinder;
uint16_t cycle_count = 0;
unsigned long cycleStartTime;
bool serialStream = false;
void setup() {
//This sets the ADC (Analog to Digitial Converter) to run at 1Mhz, greatly reducing analog read times (MAP/TPS) when using the standard analogRead() function
//1Mhz is the fastest speed permitted by the CPU without affecting accuracy
//Please see chapter 11 of 'Practical Arduino' (http://books.google.com.au/books?id=HsTxON1L6D4C&printsec=frontcover#v=onepage&q&f=false) for more detail
BIT_SET(ADCSRA,ADPS2);
BIT_CLEAR(ADCSRA,ADPS1);
BIT_CLEAR(ADCSRA,ADPS0);
Serial.begin(115200);
//Setup for the MCP4921 SPI
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV4); //Probably need to speed this up
pinMode(pinChipSelect, OUTPUT);
digitalWrite(pinChipSelect, HIGH);
//Configure Timer2 for our 1ms interrupt code.
TCCR2B = 0x00; //Disbale Timer2 while we set it up
TCNT2 = 131; //Preload timer2 with 131 cycles, leaving 125 till overflow. As the timer runs at 125Khz, this causes overflow to occur at 1Khz = 1ms
TIFR2 = 0x00; //Timer2 INT Flag Reg: Clear Timer Overflow Flag
TIMSK2 = 0x01; //Timer2 Set Overflow Interrupt enabled.
TCCR2A = 0x00; //Timer2 Control Reg A: Wave Gen Mode normal
/* Now configure the prescaler to CPU clock divided by 128 = 125Khz */
TCCR2B |= (1<<CS22) | (1<<CS20); // Set bits
TCCR2B &= ~(1<<CS21); // Clear bit
//Set the port and mask for the cable select pin
cs_pin_port = portOutputRegister(digitalPinToPort(pinChipSelect));
cs_pin_mask = digitalPinToBitMask(pinChipSelect);
cycleStartTime = micros();
}
void loop()
{
loopCount++;
if(Serial.available() >= SERIAL_BUFFER_THRESHOLD) { command(); }
if(serialStream == true && Serial.availableForWrite() ) { sendCSV(); } //If serialStream is enabled and the serial write buffer isn't full, the current map values are sent continually as CSV
//Read each of the 4 sensors and map them using the calibration values (Results in map1 value in kPa etc)
map1_adc = analogRead(pinMAP1);
map1_adc = analogRead(pinMAP1);
map1 = fastMap10BitX8(map1_adc, MPX2450_min, MPX2450_max);
map2_adc = analogRead(pinMAP2);
map2_adc = analogRead(pinMAP2);
map2 = fastMap10BitX8(map2_adc, MPX2450_min, MPX2450_max);
map3_adc = analogRead(pinMAP3);
map3_adc = analogRead(pinMAP3);
map3 = fastMap10BitX8(map3_adc, MPX2450_min, MPX2450_max);
map4_adc = analogRead(pinMAP4);
map4_adc = analogRead(pinMAP4);
map4 = fastMap10BitX8(map4_adc, MPX2450_min, MPX2450_max);
//Find the lowest current value
byte tempLowestCylinder = 1;
currentMAP = map1;
if(map2 < currentMAP) { currentMAP = map2; tempLowestCylinder = 2; }
if(map3 < currentMAP) { currentMAP = map3; tempLowestCylinder = 3; }
if(map4 < currentMAP) { currentMAP = map4; tempLowestCylinder = 4; }
//Check if we're starting a new cycle yet
//This is determined to be when sensor 1 has the lowest reading, but only if the previous lowest reading was on another cylinder
//Note that this is only really accurate for determining that a new cycle has started. RPM readings based on it will bounce around by a few 100
if( tempLowestCylinder == 1 && currentLowestCylinder != 1)
{
cycle_count++;
currentLowestCylinder = tempLowestCylinder;
cycleStartTime = micros();
}
//Set the DAC output value from the above
setDAC();
}
static inline void setDAC()
{
byte outputValueByte0, outputValueByte1;
outputValue = map(currentMAP, 0, 2048, 0, 4095); //The MAP readings have been multiplied by 8 for better resolution. The 2048 brings them back into an 8 bit (256) range equivalent
outputValueByte0 = byte(outputValue);
outputValue = outputValue >> 8;
outputValueByte1 = byte(outputValue | 0b00110000); //Combines the remaining part of the
CS_PIN_LOW();
SPI.transfer(outputValueByte1);
SPI.transfer(outputValueByte0);
CS_PIN_HIGH();
}

View File

@ -0,0 +1,6 @@
#define SERIAL_BUFFER_THRESHOLD 1
byte cmdPending = false;
byte currentCommand;
void command();//This is the heart of the Command Line Interpeter. All that needed to be done was to make it human readable.
void sendCSV();

View File

@ -0,0 +1,44 @@
void command()
{
if (cmdPending == false) { currentCommand = Serial.read(); }
switch (currentCommand)
{
case 'S': // send diag stats
sendStats();
break;
case 'C': //Toggle continuous data send mode
if(serialStream == false) { serialStream = true; }
else { serialStream = false; }
break;
}
}
void sendCSV()
{
Serial.print(map1/8);
Serial.print(",");
Serial.print(map2/8);
Serial.print(",");
Serial.print(map3/8);
Serial.print(",");
Serial.print(map4/8);
Serial.println("");
}
void sendStats()
{
Serial.println("Version: 0.1");
Serial.print("Loops/s: ");
Serial.println(loopsPerSecond);
Serial.print("Output: ");
Serial.println(outputValue);
}

View File

@ -0,0 +1,100 @@
//Handy bitsetting macros
#define BIT_SET(a,b) ((a) |= (1<<(b)))
#define BIT_CLEAR(a,b) ((a) &= ~(1<<(b)))
#define BIT_CHECK(var,pos) !!((var) & (1<<(pos)))
#define pinMAP1 A0
#define pinMAP2 A1
#define pinMAP3 A2
#define pinMAP4 A3
#define pinChipSelect 10 //Almost certainly not right
//Calibration values for the MPX4250 sensor
#define MPX2450_min 10
#define MPX2450_max 260
byte *cs_pin_port;
byte cs_pin_mask;
uint16_t loopCount = 0;
volatile uint16_t loopsPerSecond = 0;
volatile byte loop33ms;
volatile byte loop66ms;
volatile byte loop100ms;
volatile byte loop250ms;
volatile int loopSec;
uint16_t outputValue;
#define CS_PIN_LOW() *cs_pin_port &= ~(cs_pin_mask)
#define CS_PIN_HIGH() *cs_pin_port |= (cs_pin_mask)
#define fastMap10BitX10(x, out_min, out_max) ( ( ((unsigned long)x * 10 * (out_max-out_min)) >> 10 ) + (out_min * 10))
#define fastMap10BitX8(x, out_min, out_max) ( ( ((unsigned long)x * 8 * (out_max-out_min)) >> 10 ) + (out_min * 8))
#define map1(x, in_min, in_max, out_min, out_max) ( (unsigned long)x * out_max / in_max )
void setDAC();
//Interrupt for timer. Fires every 1ms
ISR(TIMER2_OVF_vect, ISR_NOBLOCK)
{
//Increment Loop Counters
loop33ms++;
loop66ms++;
loop100ms++;
loop250ms++;
loopSec++;
//30Hz loop
if (loop33ms == 33)
{
loop33ms = 0;
}
//15Hz loop
if (loop66ms == 66)
{
loop66ms = 0;
}
//Loop executed every 100ms loop
//Anything inside this if statement will run every 100ms.
if (loop100ms == 100)
{
loop100ms = 0; //Reset counter
}
//Loop executed every 250ms loop (1ms x 250 = 250ms)
//Anything inside this if statement will run every 250ms.
if (loop250ms == 250)
{
loop250ms = 0; //Reset Counter
}
//Loop executed every 1 second (1ms x 1000 = 1000ms)
if (loopSec == 1000)
{
loopSec = 0;
loopsPerSecond = loopCount;
loopCount = 0;
}
TCNT2 = 131; //Preload timer2 with 131 cycles, leaving 125 till overflow. As the timer runs at 125Khz, this causes overflow to occur at 1Khz = 1ms
}
void SPIasyncTransfer(byte data1, byte data0)
{
//Check whether the last send is still in progress
if( SPSR & _BV(SPIF) )
{
//This means the last transfer has completed and we're safe to do the next one
SPDR = data1;
}
else
{
//The last transfer is still in progress
//Can possibly implement a buffer here, but for now, just do nothing
}
}

View File

@ -0,0 +1,496 @@
EESchema Schematic File Version 2
LIBS:switches
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:mpx4250
LIBS:SpeedyMAP-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L MPX4250 U2
U 1 1 5A52CB30
P 5800 2900
F 0 "U2" H 5950 2750 60 0000 C CNN
F 1 "MPX4250" H 5750 3050 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 2900 60 0001 C CNN
F 3 "" H 5750 2900 60 0000 C CNN
1 5800 2900
1 0 0 -1
$EndComp
Wire Wire Line
4300 2850 5250 2850
$Comp
L R R2
U 1 1 5A52CB31
P 6700 2900
F 0 "R2" V 6780 2900 50 0000 C CNN
F 1 "R750" V 6700 2900 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 2900 50 0001 C CNN
F 3 "" H 6700 2900 50 0000 C CNN
1 6700 2900
0 1 1 0
$EndComp
Wire Wire Line
6300 2900 6550 2900
$Comp
L GND #PWR16
U 1 1 5A52CB32
P 5100 3400
F 0 "#PWR16" H 5100 3150 50 0001 C CNN
F 1 "GND" H 5100 3250 50 0000 C CNN
F 2 "" H 5100 3400 50 0000 C CNN
F 3 "" H 5100 3400 50 0000 C CNN
1 5100 3400
1 0 0 -1
$EndComp
Wire Wire Line
5250 2950 5100 2950
Wire Wire Line
5100 2950 5100 3400
Wire Wire Line
6850 2900 7350 2900
Connection ~ 7100 2900
$Comp
L C C10
U 1 1 5A52CB33
P 7100 3100
F 0 "C10" H 7125 3200 50 0000 L CNN
F 1 "C0.3uF" H 7125 3000 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 2950 50 0001 C CNN
F 3 "" H 7100 3100 50 0000 C CNN
1 7100 3100
1 0 0 -1
$EndComp
Connection ~ 5100 3300
Wire Wire Line
4500 3300 7100 3300
$Comp
L +5V #PWR12
U 1 1 5A52CB34
P 4300 2850
F 0 "#PWR12" H 4300 2700 50 0001 C CNN
F 1 "+5V" H 4300 2990 50 0000 C CNN
F 2 "" H 4300 2850 50 0000 C CNN
F 3 "" H 4300 2850 50 0000 C CNN
1 4300 2850
0 -1 -1 0
$EndComp
Connection ~ 4500 2850
Connection ~ 4850 2850
$Comp
L C C2
U 1 1 5A52CB35
P 4500 3100
F 0 "C2" H 4525 3200 50 0000 L CNN
F 1 "C1uF" H 4525 3000 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 2950 50 0001 C CNN
F 3 "" H 4500 3100 50 0000 C CNN
1 4500 3100
1 0 0 -1
$EndComp
$Comp
L C C6
U 1 1 5A52CB36
P 4850 3100
F 0 "C6" H 4875 3200 50 0000 L CNN
F 1 "C0.01uF" H 4875 3000 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 2950 50 0001 C CNN
F 3 "" H 4850 3100 50 0000 C CNN
1 4850 3100
1 0 0 -1
$EndComp
Wire Wire Line
4500 2850 4500 2950
Wire Wire Line
4850 2850 4850 2950
Wire Wire Line
4850 3250 4850 3300
Wire Wire Line
4500 3300 4500 3250
Connection ~ 4850 3300
Wire Wire Line
7100 3300 7100 3250
Wire Wire Line
4500 2850 4850 2850
Text GLabel 7350 2900 2 60 Input ~ 0
MAP2
Wire Wire Line
4850 3300 5100 3300
Wire Wire Line
7100 2900 7100 2950
$Comp
L MPX4250 U1
U 1 1 5A52CB37
P 5800 2000
F 0 "U1" H 5950 1850 60 0000 C CNN
F 1 "MPX4250" H 5750 2150 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 2000 60 0001 C CNN
F 3 "" H 5750 2000 60 0000 C CNN
1 5800 2000
1 0 0 -1
$EndComp
Wire Wire Line
4300 1950 5250 1950
$Comp
L R R1
U 1 1 5A52CB38
P 6700 2000
F 0 "R1" V 6780 2000 50 0000 C CNN
F 1 "R750" V 6700 2000 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 2000 50 0001 C CNN
F 3 "" H 6700 2000 50 0000 C CNN
1 6700 2000
0 1 1 0
$EndComp
Wire Wire Line
6300 2000 6550 2000
$Comp
L GND #PWR15
U 1 1 5A52CB39
P 5100 2500
F 0 "#PWR15" H 5100 2250 50 0001 C CNN
F 1 "GND" H 5100 2350 50 0000 C CNN
F 2 "" H 5100 2500 50 0000 C CNN
F 3 "" H 5100 2500 50 0000 C CNN
1 5100 2500
1 0 0 -1
$EndComp
Wire Wire Line
5250 2050 5100 2050
Wire Wire Line
5100 2050 5100 2500
Wire Wire Line
6850 2000 7350 2000
Connection ~ 7100 2000
$Comp
L C C9
U 1 1 5A52CB3A
P 7100 2200
F 0 "C9" H 7125 2300 50 0000 L CNN
F 1 "C0.3uF" H 7125 2100 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 2050 50 0001 C CNN
F 3 "" H 7100 2200 50 0000 C CNN
1 7100 2200
1 0 0 -1
$EndComp
Connection ~ 5100 2400
Wire Wire Line
4500 2400 7100 2400
$Comp
L +5V #PWR11
U 1 1 5A52CB3B
P 4300 1950
F 0 "#PWR11" H 4300 1800 50 0001 C CNN
F 1 "+5V" H 4300 2090 50 0000 C CNN
F 2 "" H 4300 1950 50 0000 C CNN
F 3 "" H 4300 1950 50 0000 C CNN
1 4300 1950
0 -1 -1 0
$EndComp
Connection ~ 4500 1950
Connection ~ 4850 1950
$Comp
L C C1
U 1 1 5A52CB3C
P 4500 2200
F 0 "C1" H 4525 2300 50 0000 L CNN
F 1 "C1uF" H 4525 2100 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 2050 50 0001 C CNN
F 3 "" H 4500 2200 50 0000 C CNN
1 4500 2200
1 0 0 -1
$EndComp
$Comp
L C C5
U 1 1 5A52CB3D
P 4850 2200
F 0 "C5" H 4875 2300 50 0000 L CNN
F 1 "C0.01uF" H 4875 2100 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 2050 50 0001 C CNN
F 3 "" H 4850 2200 50 0000 C CNN
1 4850 2200
1 0 0 -1
$EndComp
Wire Wire Line
4500 1950 4500 2050
Wire Wire Line
4850 1950 4850 2050
Wire Wire Line
4850 2350 4850 2400
Wire Wire Line
4500 2400 4500 2350
Connection ~ 4850 2400
Wire Wire Line
7100 2400 7100 2350
Wire Wire Line
4500 1950 4850 1950
Text GLabel 7350 2000 2 60 Input ~ 0
MAP1
Wire Wire Line
4850 2400 5100 2400
Wire Wire Line
7100 2000 7100 2050
$Comp
L MPX4250 U3
U 1 1 5A52CB3E
P 5800 3800
F 0 "U3" H 5950 3650 60 0000 C CNN
F 1 "MPX4250" H 5750 3950 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 3800 60 0001 C CNN
F 3 "" H 5750 3800 60 0000 C CNN
1 5800 3800
1 0 0 -1
$EndComp
Wire Wire Line
4300 3750 5250 3750
$Comp
L R R3
U 1 1 5A52CB3F
P 6700 3800
F 0 "R3" V 6780 3800 50 0000 C CNN
F 1 "R750" V 6700 3800 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 3800 50 0001 C CNN
F 3 "" H 6700 3800 50 0000 C CNN
1 6700 3800
0 1 1 0
$EndComp
Wire Wire Line
6300 3800 6550 3800
$Comp
L GND #PWR17
U 1 1 5A52CB40
P 5100 4300
F 0 "#PWR17" H 5100 4050 50 0001 C CNN
F 1 "GND" H 5100 4150 50 0000 C CNN
F 2 "" H 5100 4300 50 0000 C CNN
F 3 "" H 5100 4300 50 0000 C CNN
1 5100 4300
1 0 0 -1
$EndComp
Wire Wire Line
5250 3850 5100 3850
Wire Wire Line
5100 3850 5100 4300
Wire Wire Line
6850 3800 7350 3800
Connection ~ 7100 3800
$Comp
L C C11
U 1 1 5A52CB41
P 7100 4000
F 0 "C11" H 7125 4100 50 0000 L CNN
F 1 "C0.3uF" H 7125 3900 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 3850 50 0001 C CNN
F 3 "" H 7100 4000 50 0000 C CNN
1 7100 4000
1 0 0 -1
$EndComp
Connection ~ 5100 4200
Wire Wire Line
4500 4200 7100 4200
$Comp
L +5V #PWR13
U 1 1 5A52CB42
P 4300 3750
F 0 "#PWR13" H 4300 3600 50 0001 C CNN
F 1 "+5V" H 4300 3890 50 0000 C CNN
F 2 "" H 4300 3750 50 0000 C CNN
F 3 "" H 4300 3750 50 0000 C CNN
1 4300 3750
0 -1 -1 0
$EndComp
Connection ~ 4500 3750
Connection ~ 4850 3750
$Comp
L C C3
U 1 1 5A52CB43
P 4500 4000
F 0 "C3" H 4525 4100 50 0000 L CNN
F 1 "C1uF" H 4525 3900 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 3850 50 0001 C CNN
F 3 "" H 4500 4000 50 0000 C CNN
1 4500 4000
1 0 0 -1
$EndComp
$Comp
L C C7
U 1 1 5A52CB44
P 4850 4000
F 0 "C7" H 4875 4100 50 0000 L CNN
F 1 "C0.01uF" H 4875 3900 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 3850 50 0001 C CNN
F 3 "" H 4850 4000 50 0000 C CNN
1 4850 4000
1 0 0 -1
$EndComp
Wire Wire Line
4500 3750 4500 3850
Wire Wire Line
4850 3750 4850 3850
Wire Wire Line
4850 4150 4850 4200
Wire Wire Line
4500 4200 4500 4150
Connection ~ 4850 4200
Wire Wire Line
7100 4200 7100 4150
Wire Wire Line
4500 3750 4850 3750
Text GLabel 7350 3800 2 60 Input ~ 0
MAP3
Wire Wire Line
4850 4200 5100 4200
Wire Wire Line
7100 3800 7100 3850
$Comp
L MPX4250 U4
U 1 1 5A52CB45
P 5800 4700
F 0 "U4" H 5950 4550 60 0000 C CNN
F 1 "MPX4250" H 5750 4850 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 4700 60 0001 C CNN
F 3 "" H 5750 4700 60 0000 C CNN
1 5800 4700
1 0 0 -1
$EndComp
Wire Wire Line
4300 4650 5250 4650
$Comp
L R R4
U 1 1 5A52CB46
P 6700 4700
F 0 "R4" V 6780 4700 50 0000 C CNN
F 1 "R750" V 6700 4700 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 4700 50 0001 C CNN
F 3 "" H 6700 4700 50 0000 C CNN
1 6700 4700
0 1 1 0
$EndComp
Wire Wire Line
6300 4700 6550 4700
$Comp
L GND #PWR18
U 1 1 5A52CB47
P 5100 5200
F 0 "#PWR18" H 5100 4950 50 0001 C CNN
F 1 "GND" H 5100 5050 50 0000 C CNN
F 2 "" H 5100 5200 50 0000 C CNN
F 3 "" H 5100 5200 50 0000 C CNN
1 5100 5200
1 0 0 -1
$EndComp
Wire Wire Line
5250 4750 5100 4750
Wire Wire Line
5100 4750 5100 5200
Wire Wire Line
6850 4700 7350 4700
Connection ~ 7100 4700
$Comp
L C C12
U 1 1 5A52CB48
P 7100 4900
F 0 "C12" H 7125 5000 50 0000 L CNN
F 1 "C0.3uF" H 7125 4800 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 4750 50 0001 C CNN
F 3 "" H 7100 4900 50 0000 C CNN
1 7100 4900
1 0 0 -1
$EndComp
Connection ~ 5100 5100
Wire Wire Line
4500 5100 7100 5100
$Comp
L +5V #PWR14
U 1 1 5A52CB49
P 4300 4650
F 0 "#PWR14" H 4300 4500 50 0001 C CNN
F 1 "+5V" H 4300 4790 50 0000 C CNN
F 2 "" H 4300 4650 50 0000 C CNN
F 3 "" H 4300 4650 50 0000 C CNN
1 4300 4650
0 -1 -1 0
$EndComp
Connection ~ 4500 4650
Connection ~ 4850 4650
$Comp
L C C4
U 1 1 5A52CB4A
P 4500 4900
F 0 "C4" H 4525 5000 50 0000 L CNN
F 1 "C1uF" H 4525 4800 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 4750 50 0001 C CNN
F 3 "" H 4500 4900 50 0000 C CNN
1 4500 4900
1 0 0 -1
$EndComp
$Comp
L C C8
U 1 1 5A52CB4B
P 4850 4900
F 0 "C8" H 4875 5000 50 0000 L CNN
F 1 "C0.01uF" H 4875 4800 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 4750 50 0001 C CNN
F 3 "" H 4850 4900 50 0000 C CNN
1 4850 4900
1 0 0 -1
$EndComp
Wire Wire Line
4500 4650 4500 4750
Wire Wire Line
4850 4650 4850 4750
Wire Wire Line
4850 5050 4850 5100
Wire Wire Line
4500 5100 4500 5050
Connection ~ 4850 5100
Wire Wire Line
7100 5100 7100 5050
Wire Wire Line
4500 4650 4850 4650
Text GLabel 7350 4700 2 60 Input ~ 0
MAP4
Wire Wire Line
4850 5100 5100 5100
Wire Wire Line
7100 4700 7100 4750
$EndSCHEMATC

View File

@ -0,0 +1,496 @@
EESchema Schematic File Version 2
LIBS:switches
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:mpx4250
LIBS:SpeedyMAP-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 2
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L MPX4250 U2
U 1 1 5A52CB30
P 5800 2900
F 0 "U2" H 5950 2750 60 0000 C CNN
F 1 "MPX4250" H 5750 3050 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 2900 60 0001 C CNN
F 3 "" H 5750 2900 60 0000 C CNN
1 5800 2900
1 0 0 -1
$EndComp
Wire Wire Line
4300 2850 5250 2850
$Comp
L R R2
U 1 1 5A52CB31
P 6700 2900
F 0 "R2" V 6780 2900 50 0000 C CNN
F 1 "R750" V 6700 2900 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 2900 50 0001 C CNN
F 3 "" H 6700 2900 50 0000 C CNN
1 6700 2900
0 1 1 0
$EndComp
Wire Wire Line
6300 2900 6550 2900
$Comp
L GND #PWR16
U 1 1 5A52CB32
P 5100 3400
F 0 "#PWR16" H 5100 3150 50 0001 C CNN
F 1 "GND" H 5100 3250 50 0000 C CNN
F 2 "" H 5100 3400 50 0000 C CNN
F 3 "" H 5100 3400 50 0000 C CNN
1 5100 3400
1 0 0 -1
$EndComp
Wire Wire Line
5250 2950 5100 2950
Wire Wire Line
5100 2950 5100 3400
Wire Wire Line
6850 2900 7350 2900
Connection ~ 7100 2900
$Comp
L C C10
U 1 1 5A52CB33
P 7100 3100
F 0 "C10" H 7125 3200 50 0000 L CNN
F 1 "C0.3uF" H 7125 3000 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 2950 50 0001 C CNN
F 3 "" H 7100 3100 50 0000 C CNN
1 7100 3100
1 0 0 -1
$EndComp
Connection ~ 5100 3300
Wire Wire Line
4500 3300 7100 3300
$Comp
L +5V #PWR12
U 1 1 5A52CB34
P 4300 2850
F 0 "#PWR12" H 4300 2700 50 0001 C CNN
F 1 "+5V" H 4300 2990 50 0000 C CNN
F 2 "" H 4300 2850 50 0000 C CNN
F 3 "" H 4300 2850 50 0000 C CNN
1 4300 2850
0 -1 -1 0
$EndComp
Connection ~ 4500 2850
Connection ~ 4850 2850
$Comp
L C C2
U 1 1 5A52CB35
P 4500 3100
F 0 "C2" H 4525 3200 50 0000 L CNN
F 1 "C1uF" H 4525 3000 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 2950 50 0001 C CNN
F 3 "" H 4500 3100 50 0000 C CNN
1 4500 3100
1 0 0 -1
$EndComp
$Comp
L C C6
U 1 1 5A52CB36
P 4850 3100
F 0 "C6" H 4875 3200 50 0000 L CNN
F 1 "C0.01uF" H 4875 3000 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 2950 50 0001 C CNN
F 3 "" H 4850 3100 50 0000 C CNN
1 4850 3100
1 0 0 -1
$EndComp
Wire Wire Line
4500 2850 4500 2950
Wire Wire Line
4850 2850 4850 2950
Wire Wire Line
4850 3250 4850 3300
Wire Wire Line
4500 3300 4500 3250
Connection ~ 4850 3300
Wire Wire Line
7100 3300 7100 3250
Wire Wire Line
4500 2850 4850 2850
Text GLabel 7350 2900 2 60 Input ~ 0
MAP2
Wire Wire Line
4850 3300 5100 3300
Wire Wire Line
7100 2900 7100 2950
$Comp
L MPX4250 U1
U 1 1 5A52CB37
P 5800 2000
F 0 "U1" H 5950 1850 60 0000 C CNN
F 1 "MPX4250" H 5750 2150 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 2000 60 0001 C CNN
F 3 "" H 5750 2000 60 0000 C CNN
1 5800 2000
1 0 0 -1
$EndComp
Wire Wire Line
4300 1950 5250 1950
$Comp
L R R1
U 1 1 5A52CB38
P 6700 2000
F 0 "R1" V 6780 2000 50 0000 C CNN
F 1 "R750" V 6700 2000 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 2000 50 0001 C CNN
F 3 "" H 6700 2000 50 0000 C CNN
1 6700 2000
0 1 1 0
$EndComp
Wire Wire Line
6300 2000 6550 2000
$Comp
L GND #PWR15
U 1 1 5A52CB39
P 5100 2500
F 0 "#PWR15" H 5100 2250 50 0001 C CNN
F 1 "GND" H 5100 2350 50 0000 C CNN
F 2 "" H 5100 2500 50 0000 C CNN
F 3 "" H 5100 2500 50 0000 C CNN
1 5100 2500
1 0 0 -1
$EndComp
Wire Wire Line
5250 2050 5100 2050
Wire Wire Line
5100 2050 5100 2500
Wire Wire Line
6850 2000 7350 2000
Connection ~ 7100 2000
$Comp
L C C9
U 1 1 5A52CB3A
P 7100 2200
F 0 "C9" H 7125 2300 50 0000 L CNN
F 1 "C0.3uF" H 7125 2100 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 2050 50 0001 C CNN
F 3 "" H 7100 2200 50 0000 C CNN
1 7100 2200
1 0 0 -1
$EndComp
Connection ~ 5100 2400
Wire Wire Line
4500 2400 7100 2400
$Comp
L +5V #PWR11
U 1 1 5A52CB3B
P 4300 1950
F 0 "#PWR11" H 4300 1800 50 0001 C CNN
F 1 "+5V" H 4300 2090 50 0000 C CNN
F 2 "" H 4300 1950 50 0000 C CNN
F 3 "" H 4300 1950 50 0000 C CNN
1 4300 1950
0 -1 -1 0
$EndComp
Connection ~ 4500 1950
Connection ~ 4850 1950
$Comp
L C C1
U 1 1 5A52CB3C
P 4500 2200
F 0 "C1" H 4525 2300 50 0000 L CNN
F 1 "C1uF" H 4525 2100 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 2050 50 0001 C CNN
F 3 "" H 4500 2200 50 0000 C CNN
1 4500 2200
1 0 0 -1
$EndComp
$Comp
L C C5
U 1 1 5A52CB3D
P 4850 2200
F 0 "C5" H 4875 2300 50 0000 L CNN
F 1 "C0.01uF" H 4875 2100 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 2050 50 0001 C CNN
F 3 "" H 4850 2200 50 0000 C CNN
1 4850 2200
1 0 0 -1
$EndComp
Wire Wire Line
4500 1950 4500 2050
Wire Wire Line
4850 1950 4850 2050
Wire Wire Line
4850 2350 4850 2400
Wire Wire Line
4500 2400 4500 2350
Connection ~ 4850 2400
Wire Wire Line
7100 2400 7100 2350
Wire Wire Line
4500 1950 4850 1950
Text GLabel 7350 2000 2 60 Input ~ 0
MAP1
Wire Wire Line
4850 2400 5100 2400
Wire Wire Line
7100 2000 7100 2050
$Comp
L MPX4250 U3
U 1 1 5A52CB3E
P 5800 3800
F 0 "U3" H 5950 3650 60 0000 C CNN
F 1 "MPX4250" H 5750 3950 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 3800 60 0001 C CNN
F 3 "" H 5750 3800 60 0000 C CNN
1 5800 3800
1 0 0 -1
$EndComp
Wire Wire Line
4300 3750 5250 3750
$Comp
L R R3
U 1 1 5A52CB3F
P 6700 3800
F 0 "R3" V 6780 3800 50 0000 C CNN
F 1 "R750" V 6700 3800 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 3800 50 0001 C CNN
F 3 "" H 6700 3800 50 0000 C CNN
1 6700 3800
0 1 1 0
$EndComp
Wire Wire Line
6300 3800 6550 3800
$Comp
L GND #PWR17
U 1 1 5A52CB40
P 5100 4300
F 0 "#PWR17" H 5100 4050 50 0001 C CNN
F 1 "GND" H 5100 4150 50 0000 C CNN
F 2 "" H 5100 4300 50 0000 C CNN
F 3 "" H 5100 4300 50 0000 C CNN
1 5100 4300
1 0 0 -1
$EndComp
Wire Wire Line
5250 3850 5100 3850
Wire Wire Line
5100 3850 5100 4300
Wire Wire Line
6850 3800 7350 3800
Connection ~ 7100 3800
$Comp
L C C11
U 1 1 5A52CB41
P 7100 4000
F 0 "C11" H 7125 4100 50 0000 L CNN
F 1 "C0.3uF" H 7125 3900 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 3850 50 0001 C CNN
F 3 "" H 7100 4000 50 0000 C CNN
1 7100 4000
1 0 0 -1
$EndComp
Connection ~ 5100 4200
Wire Wire Line
4500 4200 7100 4200
$Comp
L +5V #PWR13
U 1 1 5A52CB42
P 4300 3750
F 0 "#PWR13" H 4300 3600 50 0001 C CNN
F 1 "+5V" H 4300 3890 50 0000 C CNN
F 2 "" H 4300 3750 50 0000 C CNN
F 3 "" H 4300 3750 50 0000 C CNN
1 4300 3750
0 -1 -1 0
$EndComp
Connection ~ 4500 3750
Connection ~ 4850 3750
$Comp
L C C3
U 1 1 5A52CB43
P 4500 4000
F 0 "C3" H 4525 4100 50 0000 L CNN
F 1 "C1uF" H 4525 3900 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 3850 50 0001 C CNN
F 3 "" H 4500 4000 50 0000 C CNN
1 4500 4000
1 0 0 -1
$EndComp
$Comp
L C C7
U 1 1 5A52CB44
P 4850 4000
F 0 "C7" H 4875 4100 50 0000 L CNN
F 1 "C0.01uF" H 4875 3900 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 3850 50 0001 C CNN
F 3 "" H 4850 4000 50 0000 C CNN
1 4850 4000
1 0 0 -1
$EndComp
Wire Wire Line
4500 3750 4500 3850
Wire Wire Line
4850 3750 4850 3850
Wire Wire Line
4850 4150 4850 4200
Wire Wire Line
4500 4200 4500 4150
Connection ~ 4850 4200
Wire Wire Line
7100 4200 7100 4150
Wire Wire Line
4500 3750 4850 3750
Text GLabel 7350 3800 2 60 Input ~ 0
MAP3
Wire Wire Line
4850 4200 5100 4200
Wire Wire Line
7100 3800 7100 3850
$Comp
L MPX4250 U4
U 1 1 5A52CB45
P 5800 4700
F 0 "U4" H 5950 4550 60 0000 C CNN
F 1 "MPX4250" H 5750 4850 60 0000 C CNN
F 2 "MPX4250:MPX4250" H 5750 4700 60 0001 C CNN
F 3 "" H 5750 4700 60 0000 C CNN
1 5800 4700
1 0 0 -1
$EndComp
Wire Wire Line
4300 4650 5250 4650
$Comp
L R R4
U 1 1 5A52CB46
P 6700 4700
F 0 "R4" V 6780 4700 50 0000 C CNN
F 1 "R750" V 6700 4700 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 6630 4700 50 0001 C CNN
F 3 "" H 6700 4700 50 0000 C CNN
1 6700 4700
0 1 1 0
$EndComp
Wire Wire Line
6300 4700 6550 4700
$Comp
L GND #PWR18
U 1 1 5A52CB47
P 5100 5200
F 0 "#PWR18" H 5100 4950 50 0001 C CNN
F 1 "GND" H 5100 5050 50 0000 C CNN
F 2 "" H 5100 5200 50 0000 C CNN
F 3 "" H 5100 5200 50 0000 C CNN
1 5100 5200
1 0 0 -1
$EndComp
Wire Wire Line
5250 4750 5100 4750
Wire Wire Line
5100 4750 5100 5200
Wire Wire Line
6850 4700 7350 4700
Connection ~ 7100 4700
$Comp
L C C12
U 1 1 5A52CB48
P 7100 4900
F 0 "C12" H 7125 5000 50 0000 L CNN
F 1 "C0.3uF" H 7125 4800 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7138 4750 50 0001 C CNN
F 3 "" H 7100 4900 50 0000 C CNN
1 7100 4900
1 0 0 -1
$EndComp
Connection ~ 5100 5100
Wire Wire Line
4500 5100 7100 5100
$Comp
L +5V #PWR14
U 1 1 5A52CB49
P 4300 4650
F 0 "#PWR14" H 4300 4500 50 0001 C CNN
F 1 "+5V" H 4300 4790 50 0000 C CNN
F 2 "" H 4300 4650 50 0000 C CNN
F 3 "" H 4300 4650 50 0000 C CNN
1 4300 4650
0 -1 -1 0
$EndComp
Connection ~ 4500 4650
Connection ~ 4850 4650
$Comp
L C C4
U 1 1 5A52CB4A
P 4500 4900
F 0 "C4" H 4525 5000 50 0000 L CNN
F 1 "C1uF" H 4525 4800 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4538 4750 50 0001 C CNN
F 3 "" H 4500 4900 50 0000 C CNN
1 4500 4900
1 0 0 -1
$EndComp
$Comp
L C C8
U 1 1 5A52CB4B
P 4850 4900
F 0 "C8" H 4875 5000 50 0000 L CNN
F 1 "C0.01uF" H 4875 4800 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 4888 4750 50 0001 C CNN
F 3 "" H 4850 4900 50 0000 C CNN
1 4850 4900
1 0 0 -1
$EndComp
Wire Wire Line
4500 4650 4500 4750
Wire Wire Line
4850 4650 4850 4750
Wire Wire Line
4850 5050 4850 5100
Wire Wire Line
4500 5100 4500 5050
Connection ~ 4850 5100
Wire Wire Line
7100 5100 7100 5050
Wire Wire Line
4500 4650 4850 4650
Text GLabel 7350 4700 2 60 Input ~ 0
MAP4
Wire Wire Line
4850 5100 5100 5100
Wire Wire Line
7100 4700 7100 4750
$EndSCHEMATC

View File

@ -0,0 +1,264 @@
EESchema-LIBRARY Version 2.3
#encoding utf-8
#
# +5V
#
DEF +5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# 7805
#
DEF 7805 U 0 30 N Y 1 F N
F0 "U" 150 -196 50 H V C CNN
F1 "7805" 0 200 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
ALIAS LM7805 LM7812 78L05
DRAW
S -200 -150 200 150 0 1 0 N
X VI VI -400 50 200 R 40 40 1 1 I
X VO VO 400 50 200 L 40 40 1 1 w
X GND GND 0 -250 100 U 40 40 1 1 I
ENDDRAW
ENDDEF
#
# ATMEGA168A-A
#
DEF ATMEGA168A-A IC 0 40 Y Y 1 F N
F0 "IC" -750 1250 50 H V L BNN
F1 "ATMEGA168A-A" 400 -1400 50 H V L BNN
F2 "TQFP32" 0 0 50 H V C CIN
F3 "" 0 0 50 H V C CNN
ALIAS ATMEGA48A-A ATMEGA48PA-A ATMEGA88A-A ATMEGA88PA-A ATMEGA168PA-A ATMEGA328-A ATMEGA328P-A
DRAW
S -750 1200 850 -1300 0 1 10 f
X (PCINT19/OC2B/INT1)PD3 1 1000 -800 150 L 40 40 1 1 B
X (PCINT20/XCK/T0)PD4 2 1000 -900 150 L 40 40 1 1 B
X GND 3 -900 -1200 150 R 40 40 1 1 W
X VCC 4 -900 1100 150 R 40 40 1 1 W
X GND 5 -900 -1100 150 R 40 40 1 1 W
X VCC 6 -900 1000 150 R 40 40 1 1 W
X (PCINT6/XTAL1/TOSC1)PB6 7 1000 500 150 L 40 40 1 1 B
X (PCINT7/XTAL2/TOSC2)PB7 8 1000 400 150 L 40 40 1 1 B
X (PCINT21/OC0B/T1)PD5 9 1000 -1000 150 L 40 40 1 1 B
X (PCINT22/OC0A/AIN0)PD6 10 1000 -1100 150 L 40 40 1 1 B
X AREF 20 -900 500 150 R 40 40 1 1 B
X (PCINT16/RXD)PD0 30 1000 -500 150 L 40 40 1 1 B
X (PCINT23/AIN1)PD7 11 1000 -1200 150 L 40 40 1 1 B
X GND 21 -900 -1000 150 R 40 40 1 1 W
X (PCINT17/TXD)PD1 31 1000 -600 150 L 40 40 1 1 B
X (PCINT0/CLKO/ICP1)PB0 12 1000 1100 150 L 40 40 1 1 B
X ADC7 22 -900 -350 150 R 40 40 1 1 I
X (PCINT18/INT0)PD2 32 1000 -700 150 L 40 40 1 1 B
X (PCINT1/OC1A)PB1 13 1000 1000 150 L 40 40 1 1 B
X (PCINT8/ADC0)PC0 23 1000 250 150 L 40 40 1 1 B
X (PCINT2/OC1B/~SS~)PB2 14 1000 900 150 L 40 40 1 1 B
X (PCINT9/ADC1)PC1 24 1000 150 150 L 40 40 1 1 B
X (PCINT3/OC2A/MOSI)PB3 15 1000 800 150 L 40 40 1 1 B
X (PCINT10/ADC2)PC2 25 1000 50 150 L 40 40 1 1 B
X (PCINT4/MISO)PB4 16 1000 700 150 L 40 40 1 1 B
X (PCINT11/ADC3)PC3 26 1000 -50 150 L 40 40 1 1 B
X (PCINT5/SCK)PB5 17 1000 600 150 L 40 40 1 1 B
X (PCINT12/SDA/ADC4)PC4 27 1000 -150 150 L 40 40 1 1 B
X AVCC 18 -900 800 150 R 40 40 1 1 W
X (PCINT13/SCL/ADC5)PC5 28 1000 -250 150 L 40 40 1 1 B
X ADC6 19 -900 -250 150 R 40 40 1 1 I
X (PCINT14/~RESET~)PC6 29 1000 -350 150 L 40 40 1 1 B
ENDDRAW
ENDDEF
#
# AVR-ISP-6
#
DEF AVR-ISP-6 CON 0 40 Y Y 1 F N
F0 "CON" -105 240 50 H V C CNN
F1 "AVR-ISP-6" -265 -230 50 H V L BNN
F2 "AVR-ISP-6" -520 40 50 V I C CNN
F3 "" -25 0 50 H V C CNN
DRAW
T 0 -315 5 45 0 0 0 SCK Normal 1 C C
T 0 275 110 45 0 0 0 VCC Normal 1 C C
T 0 285 -105 45 0 1 0 GND Normal 1 C C
T 0 -333 102 45 0 1 0 MISO Normal 1 C C
T 0 307 -2 45 0 1 0 MOSI Normal 1 C C
T 0 -315 -100 45 0 1 0 RST Normal 1 C C
S -205 -140 165 -160 0 1 0 F
S -205 200 155 180 0 1 0 F
S -200 -160 -220 -40 0 1 0 F
S -200 200 -220 40 0 1 0 F
S 155 200 175 -160 0 1 0 F
X ~ 1 -150 100 100 R 40 40 1 1 P
X ~ 2 100 100 100 L 40 40 1 1 P
X ~ 3 -150 0 100 R 40 40 1 1 P
X ~ 4 100 0 100 L 40 40 1 1 P
X ~ 5 -150 -100 100 R 40 40 1 1 P
X ~ 6 100 -100 100 L 40 40 1 1 P
ENDDRAW
ENDDEF
#
# C
#
DEF C C 0 10 N Y 1 F N
F0 "C" 25 100 50 H V L CNN
F1 "C" 25 -100 50 H V L CNN
F2 "" 38 -150 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
C?
C_????_*
C_????
SMD*_c
Capacitor*
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Crystal
#
DEF Crystal Y 0 40 N N 1 F N
F0 "Y" 0 150 50 H V C CNN
F1 "Crystal" 0 -150 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Crystal*
$ENDFPLIST
DRAW
S -45 100 45 -100 0 1 12 N
P 2 0 1 0 -100 0 -75 0 N
P 2 0 1 20 -75 -50 -75 50 N
P 2 0 1 20 75 -50 75 50 N
P 2 0 1 0 100 0 75 0 N
X 1 1 -150 0 50 R 50 50 1 1 P
X 2 2 150 0 50 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# D
#
DEF D D 0 40 N N 1 F N
F0 "D" 0 100 50 H V C CNN
F1 "D" 0 -100 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Diode_*
D-*
*SingleDiode
*_Diode_*
*SingleDiode*
D_*
$ENDFPLIST
DRAW
P 2 0 1 8 -50 50 -50 -50 N
P 2 0 1 0 50 0 -50 0 N
P 4 0 1 8 50 50 50 -50 -50 0 50 50 N
X K 1 -150 0 100 R 50 50 1 1 P
X A 2 150 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# GND
#
DEF GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# MCP4921-E/MS
#
DEF MCP4921-E/MS U 0 40 Y Y 1 F N
F0 "U" -450 300 50 H V L CNN
F1 "MCP4921-E/MS" 0 300 50 H V L CNN
F2 "" 0 0 50 H V C CIN
F3 "" 0 0 50 H V C CNN
ALIAS MCP4921-E/SN MCP4921-E/P
$FPLIST
MSOP*
SOIC*
DIP*
PDIP*
$ENDFPLIST
DRAW
P 6 0 1 10 -450 250 200 250 450 0 200 -250 -450 -250 -450 250 f
X VDD 1 -100 400 150 D 50 50 1 1 W
X ~CS~ 2 -600 0 150 R 50 50 1 1 I
X SCK 3 -600 100 150 R 50 50 1 1 I
X SDI 4 -600 200 150 R 50 50 1 1 I
X ~LDAC~ 5 -600 -100 150 R 50 50 1 1 I
X VrefA 6 100 -400 150 U 50 50 1 1 P
X AVSS 7 -100 -400 150 U 50 50 1 1 W
X VoutA 8 600 0 150 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# MPX4250
#
DEF MPX4250 U 0 40 Y Y 1 F N
F0 "U" 150 -150 60 H V C CNN
F1 "MPX4250" -50 150 60 H V C CNN
F2 "" -50 0 60 H V C CNN
F3 "" -50 0 60 H V C CNN
DRAW
S -250 100 200 -100 0 1 0 N
X VOUT 1 500 0 300 L 50 50 1 1 O
X GND 2 -550 -50 300 R 50 50 1 1 W
X VCC 3 -550 50 300 R 50 50 1 1 W
ENDDRAW
ENDDEF
#
# R
#
DEF R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN
F1 "R" 0 0 50 V V C CNN
F2 "" -70 0 50 V V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
R_*
Resistor_*
$ENDFPLIST
DRAW
S -40 -100 40 100 0 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# SW_SPST
#
DEF SW_SPST SW 0 0 Y N 1 F N
F0 "SW" 0 125 50 H V C CNN
F1 "SW_SPST" 0 -100 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
C -80 0 20 0 0 0 N
C 80 0 20 0 0 0 N
P 2 0 0 0 -60 10 60 70 N
X A 1 -200 0 100 R 50 50 1 1 I
X B 2 200 0 100 L 50 50 1 1 I
ENDDRAW
ENDDEF
#
#End Library

View File

@ -0,0 +1,469 @@
EESchema Schematic File Version 2
LIBS:switches
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:mpx4250
LIBS:SpeedyMAP-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 2
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L ATMEGA328-A IC1
U 1 1 5A51EF33
P 6250 2550
F 0 "IC1" H 5500 3800 50 0000 L BNN
F 1 "ATMEGA328-A" H 6650 1150 50 0000 L BNN
F 2 "Housings_QFP:TQFP-32_7x7mm_Pitch0.8mm" H 6250 2550 50 0001 C CIN
F 3 "" H 6250 2550 50 0000 C CNN
1 6250 2550
1 0 0 -1
$EndComp
$Comp
L Crystal Y1
U 1 1 5A5261DD
P 9250 2100
F 0 "Y1" H 9250 2250 50 0000 C CNN
F 1 "Crystal" H 9250 1950 50 0000 C CNN
F 2 "Crystals:Crystal_HC49-SD_SMD" H 9250 2100 50 0001 C CNN
F 3 "" H 9250 2100 50 0000 C CNN
1 9250 2100
0 1 1 0
$EndComp
Text GLabel 7700 2400 2 60 Input ~ 0
MAP2
Text GLabel 7350 2300 2 60 Input ~ 0
MAP1
Text GLabel 7350 2500 2 60 Input ~ 0
MAP3
Text GLabel 7700 2600 2 60 Input ~ 0
MAP4
$Sheet
S 7150 4900 3700 1400
U 5A52C37B
F0 "MAP Sensors" 60
F1 "MAP Sensors.sch" 60
$EndSheet
$Comp
L C C13
U 1 1 5A52D01C
P 9700 1850
F 0 "C13" H 9725 1950 50 0000 L CNN
F 1 "C22pF" H 9725 1750 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 9738 1700 50 0001 C CNN
F 3 "" H 9700 1850 50 0000 C CNN
1 9700 1850
0 1 1 0
$EndComp
$Comp
L GND #PWR9
U 1 1 5A52D09E
P 10100 1850
F 0 "#PWR9" H 10100 1600 50 0001 C CNN
F 1 "GND" H 10100 1700 50 0000 C CNN
F 2 "" H 10100 1850 50 0000 C CNN
F 3 "" H 10100 1850 50 0000 C CNN
1 10100 1850
0 -1 -1 0
$EndComp
$Comp
L GND #PWR10
U 1 1 5A52D0C2
P 10100 2350
F 0 "#PWR10" H 10100 2100 50 0001 C CNN
F 1 "GND" H 10100 2200 50 0000 C CNN
F 2 "" H 10100 2350 50 0000 C CNN
F 3 "" H 10100 2350 50 0000 C CNN
1 10100 2350
0 -1 -1 0
$EndComp
$Comp
L C C14
U 1 1 5A52D16E
P 9700 2350
F 0 "C14" H 9725 2450 50 0000 L CNN
F 1 "C22pF" H 9725 2250 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 9738 2200 50 0001 C CNN
F 3 "" H 9700 2350 50 0000 C CNN
1 9700 2350
0 1 1 0
$EndComp
$Comp
L SW_SPST SW1
U 1 1 5A52D320
P 2800 3900
F 0 "SW1" H 2800 4025 50 0000 C CNN
F 1 "SW_SPST" H 2800 3800 50 0000 C CNN
F 2 "Buttons_Switches_ThroughHole:SW_TH_Tactile_Omron_B3F-10xx" H 2800 3900 50 0001 C CNN
F 3 "" H 2800 3900 50 0000 C CNN
F 4 "B3F-1002" H 2800 3900 60 0001 C CNN "Part Number"
1 2800 3900
1 0 0 -1
$EndComp
$Comp
L GND #PWR7
U 1 1 5A52D36F
P 3250 3900
F 0 "#PWR7" H 3250 3650 50 0001 C CNN
F 1 "GND" H 3250 3750 50 0000 C CNN
F 2 "" H 3250 3900 50 0000 C CNN
F 3 "" H 3250 3900 50 0000 C CNN
1 3250 3900
0 -1 -1 0
$EndComp
$Comp
L R R5
U 1 1 5A52D3DC
P 2800 4400
F 0 "R5" V 2880 4400 50 0000 C CNN
F 1 "R10k" V 2800 4400 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 2730 4400 50 0001 C CNN
F 3 "" H 2800 4400 50 0000 C CNN
1 2800 4400
0 1 1 0
$EndComp
$Comp
L +5V #PWR8
U 1 1 5A52D42B
P 3250 4400
F 0 "#PWR8" H 3250 4250 50 0001 C CNN
F 1 "+5V" H 3250 4540 50 0000 C CNN
F 2 "" H 3250 4400 50 0000 C CNN
F 3 "" H 3250 4400 50 0000 C CNN
1 3250 4400
0 1 1 0
$EndComp
$Comp
L +5V #PWR6
U 1 1 5A52DDB8
P 5150 1450
F 0 "#PWR6" H 5150 1300 50 0001 C CNN
F 1 "+5V" H 5150 1590 50 0000 C CNN
F 2 "" H 5150 1450 50 0000 C CNN
F 3 "" H 5150 1450 50 0000 C CNN
1 5150 1450
0 -1 -1 0
$EndComp
$Comp
L GND #PWR5
U 1 1 5A52DE6E
P 5100 3650
F 0 "#PWR5" H 5100 3400 50 0001 C CNN
F 1 "GND" H 5100 3500 50 0000 C CNN
F 2 "" H 5100 3650 50 0000 C CNN
F 3 "" H 5100 3650 50 0000 C CNN
1 5100 3650
0 1 1 0
$EndComp
$Comp
L MCP4921-E/SN U5
U 1 1 5A52E25F
P 3000 2450
F 0 "U5" H 2550 2750 50 0000 L CNN
F 1 "MCP4921-E/SN" H 3000 2750 50 0000 L CNN
F 2 "Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm" H 3000 2450 50 0001 C CIN
F 3 "" H 3000 2450 50 0000 C CNN
1 3000 2450
1 0 0 -1
$EndComp
Text GLabel 7400 1950 2 60 Input ~ 0
SCK
Text GLabel 7400 1750 2 60 Input ~ 0
DAC_Serial
Text GLabel 2250 2250 0 60 Input ~ 0
DAC_Serial
Text GLabel 2250 2350 0 60 Input ~ 0
SCK
Text GLabel 7400 1650 2 60 Input ~ 0
DAC_SS
Text GLabel 2250 2450 0 60 Input ~ 0
DAC_SS
$Comp
L GND #PWR3
U 1 1 5A52E5DE
P 2900 3050
F 0 "#PWR3" H 2900 2800 50 0001 C CNN
F 1 "GND" H 2900 2900 50 0000 C CNN
F 2 "" H 2900 3050 50 0000 C CNN
F 3 "" H 2900 3050 50 0000 C CNN
1 2900 3050
1 0 0 -1
$EndComp
$Comp
L +5V #PWR4
U 1 1 5A52E654
P 3100 2950
F 0 "#PWR4" H 3100 2800 50 0001 C CNN
F 1 "+5V" H 3100 3090 50 0000 C CNN
F 2 "" H 3100 2950 50 0000 C CNN
F 3 "" H 3100 2950 50 0000 C CNN
1 3100 2950
-1 0 0 1
$EndComp
$Comp
L +5V #PWR2
U 1 1 5A52E6B5
P 2900 1900
F 0 "#PWR2" H 2900 1750 50 0001 C CNN
F 1 "+5V" H 2900 2040 50 0000 C CNN
F 2 "" H 2900 1900 50 0000 C CNN
F 3 "" H 2900 1900 50 0000 C CNN
1 2900 1900
1 0 0 -1
$EndComp
$Comp
L GND #PWR1
U 1 1 5A52E833
P 1700 2550
F 0 "#PWR1" H 1700 2300 50 0001 C CNN
F 1 "GND" H 1700 2400 50 0000 C CNN
F 2 "" H 1700 2550 50 0000 C CNN
F 3 "" H 1700 2550 50 0000 C CNN
1 1700 2550
0 1 1 0
$EndComp
$Comp
L 7805 U6
U 1 1 5A52F79A
P 3450 5700
F 0 "U6" H 3600 5504 50 0000 C CNN
F 1 "7805" H 3450 5900 50 0000 C CNN
F 2 "" H 3450 5700 50 0000 C CNN
F 3 "" H 3450 5700 50 0000 C CNN
1 3450 5700
1 0 0 -1
$EndComp
$Comp
L C C?
U 1 1 5A5300ED
P 2800 4150
F 0 "C?" H 2825 4250 50 0000 L CNN
F 1 "C4.7nF" H 2825 4050 50 0000 L CNN
F 2 "" H 2838 4000 50 0000 C CNN
F 3 "" H 2800 4150 50 0000 C CNN
1 2800 4150
0 1 1 0
$EndComp
$Comp
L D D?
U 1 1 5A530312
P 2800 4700
F 0 "D?" H 2800 4800 50 0000 C CNN
F 1 "D" H 2800 4600 50 0000 C CNN
F 2 "" H 2800 4700 50 0000 C CNN
F 3 "" H 2800 4700 50 0000 C CNN
1 2800 4700
-1 0 0 1
$EndComp
$Comp
L AVR-ISP-6 CON?
U 1 1 5A530418
P 10050 3300
F 0 "CON?" H 9945 3540 50 0000 C CNN
F 1 "AVR-ISP-6" H 9785 3070 50 0000 L BNN
F 2 "AVR-ISP-6" V 9530 3340 50 0001 C CNN
F 3 "" H 10025 3300 50 0000 C CNN
1 10050 3300
1 0 0 -1
$EndComp
Text GLabel 7400 1850 2 60 Input ~ 0
MISO
Text GLabel 7400 2900 2 60 Input ~ 0
RESET
Text GLabel 1800 3900 0 60 Input ~ 0
RESET
Text GLabel 9550 3400 0 60 Input ~ 0
RESET
Text GLabel 9550 3300 0 60 Input ~ 0
SCK
Text GLabel 9550 3200 0 60 Input ~ 0
MISO
$Comp
L GND #PWR?
U 1 1 5A530AC6
P 10650 3550
F 0 "#PWR?" H 10650 3300 50 0001 C CNN
F 1 "GND" H 10650 3400 50 0000 C CNN
F 2 "" H 10650 3550 50 0000 C CNN
F 3 "" H 10650 3550 50 0000 C CNN
1 10650 3550
0 -1 -1 0
$EndComp
Text GLabel 10500 3300 2 60 Input ~ 0
DAC_Serial
$Comp
L +5V #PWR?
U 1 1 5A530D05
P 10700 3100
F 0 "#PWR?" H 10700 2950 50 0001 C CNN
F 1 "+5V" H 10700 3240 50 0000 C CNN
F 2 "" H 10700 3100 50 0000 C CNN
F 3 "" H 10700 3100 50 0000 C CNN
1 10700 3100
0 1 1 0
$EndComp
Connection ~ 11950 2050
Wire Wire Line
7250 2300 7350 2300
Wire Wire Line
7250 2400 7700 2400
Wire Wire Line
7250 2500 7350 2500
Wire Wire Line
7250 2600 7700 2600
Wire Wire Line
7250 2050 8000 2050
Wire Wire Line
8000 2050 8000 1950
Wire Wire Line
8000 1950 9250 1950
Wire Wire Line
7250 2150 8000 2150
Wire Wire Line
8000 2150 8000 2250
Wire Wire Line
8000 2250 9250 2250
Connection ~ 8800 1950
Connection ~ 8800 2250
Wire Wire Line
8800 2250 8800 2350
Wire Wire Line
8800 2350 9550 2350
Wire Wire Line
9850 2350 10100 2350
Wire Wire Line
9850 1850 10100 1850
Wire Wire Line
8800 1950 8800 1850
Wire Wire Line
8800 1850 9550 1850
Wire Wire Line
3250 3900 3000 3900
Wire Wire Line
1800 3900 2600 3900
Wire Wire Line
3250 4400 2950 4400
Connection ~ 2400 3900
Wire Wire Line
2400 4150 2650 4150
Wire Wire Line
5150 1450 5350 1450
Wire Wire Line
5350 1550 5150 1550
Wire Wire Line
5150 1550 5150 1450
Wire Wire Line
5100 3650 5350 3650
Wire Wire Line
5350 3550 5100 3550
Wire Wire Line
5100 3550 5100 3750
Wire Wire Line
5100 3750 5350 3750
Connection ~ 5100 3650
Wire Wire Line
7400 1950 7250 1950
Wire Wire Line
7400 1750 7250 1750
Wire Wire Line
2250 2250 2400 2250
Wire Wire Line
2250 2350 2400 2350
Wire Wire Line
7400 1650 7250 1650
Wire Wire Line
2250 2450 2400 2450
Wire Wire Line
2900 3050 2900 2850
Wire Wire Line
3100 2950 3100 2850
Wire Wire Line
2900 1900 2900 2050
Wire Wire Line
1700 2550 2400 2550
Wire Wire Line
2950 4150 3250 4150
Wire Wire Line
3250 4150 3250 3900
Wire Wire Line
2400 4400 2650 4400
Connection ~ 2400 4150
Wire Wire Line
2400 3900 2400 4700
Wire Wire Line
2400 4700 2650 4700
Connection ~ 2400 4400
Wire Wire Line
2950 4700 3250 4700
Wire Wire Line
3250 4700 3250 4400
Wire Wire Line
7400 1850 7250 1850
Wire Notes Line
1350 3600 4400 3600
Wire Notes Line
4400 3600 4400 5300
Wire Notes Line
4400 5300 1350 5300
Wire Notes Line
1350 5300 1350 3600
Wire Wire Line
7400 2900 7250 2900
Wire Wire Line
9550 3400 9900 3400
Wire Wire Line
9550 3300 9900 3300
Wire Wire Line
9550 3200 9900 3200
Wire Wire Line
10500 3300 10150 3300
Wire Wire Line
10150 3200 10600 3200
Wire Wire Line
10600 3200 10600 3100
Wire Wire Line
10600 3100 10700 3100
Wire Wire Line
10150 3400 10600 3400
Wire Wire Line
10600 3400 10600 3550
Wire Wire Line
10600 3550 10650 3550
$EndSCHEMATC

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,455 @@
(export (version D)
(design
(source /Users/josh/Documents/SpeedyMAP/SpeedyMAP.sch)
(date "Monday, 08 January 2018 'pmt' 02:58:07 pm")
(tool "Eeschema 4.0.5")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title)
(company)
(rev)
(date)
(source SpeedyMAP.sch)
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value ""))))
(sheet (number 2) (name "/MAP Sensors/") (tstamps /5A52C37B/)
(title_block
(title)
(company)
(rev)
(date)
(source "MAP Sensors.sch")
(comment (number 1) (value ""))
(comment (number 2) (value ""))
(comment (number 3) (value ""))
(comment (number 4) (value "")))))
(components
(comp (ref IC1)
(value ATMEGA328-A)
(footprint Housings_QFP:TQFP-32_7x7mm_Pitch0.8mm)
(libsource (lib atmel) (part ATMEGA328-A))
(sheetpath (names /) (tstamps /))
(tstamp 5A51EF33))
(comp (ref Y1)
(value Crystal)
(footprint Crystals:Crystal_HC49-SD_SMD)
(libsource (lib device) (part Crystal))
(sheetpath (names /) (tstamps /))
(tstamp 5A5261DD))
(comp (ref C13)
(value C22pF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names /) (tstamps /))
(tstamp 5A52D01C))
(comp (ref C14)
(value C22pF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names /) (tstamps /))
(tstamp 5A52D16E))
(comp (ref SW1)
(value SW_SPST)
(footprint Buttons_Switches_ThroughHole:SW_TH_Tactile_Omron_B3F-10xx)
(fields
(field (name "Part Number") B3F-1002))
(libsource (lib switches) (part SW_SPST))
(sheetpath (names /) (tstamps /))
(tstamp 5A52D320))
(comp (ref R5)
(value R10k)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5A52D3DC))
(comp (ref U5)
(value MCP4921-E/SN)
(footprint Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm)
(libsource (lib adc-dac) (part MCP4921-E/SN))
(sheetpath (names /) (tstamps /))
(tstamp 5A52E25F))
(comp (ref U2)
(value MPX4250)
(footprint MPX4250:MPX4250)
(libsource (lib mpx4250) (part MPX4250))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB30))
(comp (ref R2)
(value R750)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB31))
(comp (ref C10)
(value C0.3uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB33))
(comp (ref C2)
(value C1uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB35))
(comp (ref C6)
(value C0.01uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB36))
(comp (ref U1)
(value MPX4250)
(footprint MPX4250:MPX4250)
(libsource (lib mpx4250) (part MPX4250))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB37))
(comp (ref R1)
(value R750)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB38))
(comp (ref C9)
(value C0.3uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB3A))
(comp (ref C1)
(value C1uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB3C))
(comp (ref C5)
(value C0.01uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB3D))
(comp (ref U3)
(value MPX4250)
(footprint MPX4250:MPX4250)
(libsource (lib mpx4250) (part MPX4250))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB3E))
(comp (ref R3)
(value R750)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB3F))
(comp (ref C11)
(value C0.3uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB41))
(comp (ref C3)
(value C1uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB43))
(comp (ref C7)
(value C0.01uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB44))
(comp (ref U4)
(value MPX4250)
(footprint MPX4250:MPX4250)
(libsource (lib mpx4250) (part MPX4250))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB45))
(comp (ref R4)
(value R750)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB46))
(comp (ref C12)
(value C0.3uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB48))
(comp (ref C4)
(value C1uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB4A))
(comp (ref C8)
(value C0.01uF)
(footprint Capacitors_SMD:C_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names "/MAP Sensors/") (tstamps /5A52C37B/))
(tstamp 5A52CB4B)))
(libparts
(libpart (lib atmel) (part ATMEGA168A-A)
(aliases
(alias ATMEGA48A-A)
(alias ATMEGA48PA-A)
(alias ATMEGA88A-A)
(alias ATMEGA88PA-A)
(alias ATMEGA168PA-A)
(alias ATMEGA328-A)
(alias ATMEGA328P-A))
(description "TQFP32, 16k Flash, 1kB SRAM, 512B EEPROM")
(docs http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet.pdf)
(fields
(field (name Reference) IC)
(field (name Value) ATMEGA168A-A)
(field (name Footprint) TQFP32))
(pins
(pin (num 1) (name "(PCINT19/OC2B/INT1)PD3") (type BiDi))
(pin (num 2) (name "(PCINT20/XCK/T0)PD4") (type BiDi))
(pin (num 3) (name GND) (type power_in))
(pin (num 4) (name VCC) (type power_in))
(pin (num 5) (name GND) (type power_in))
(pin (num 6) (name VCC) (type power_in))
(pin (num 7) (name "(PCINT6/XTAL1/TOSC1)PB6") (type BiDi))
(pin (num 8) (name "(PCINT7/XTAL2/TOSC2)PB7") (type BiDi))
(pin (num 9) (name "(PCINT21/OC0B/T1)PD5") (type BiDi))
(pin (num 10) (name "(PCINT22/OC0A/AIN0)PD6") (type BiDi))
(pin (num 11) (name "(PCINT23/AIN1)PD7") (type BiDi))
(pin (num 12) (name "(PCINT0/CLKO/ICP1)PB0") (type BiDi))
(pin (num 13) (name "(PCINT1/OC1A)PB1") (type BiDi))
(pin (num 14) (name "(PCINT2/OC1B/~SS~)PB2") (type BiDi))
(pin (num 15) (name "(PCINT3/OC2A/MOSI)PB3") (type BiDi))
(pin (num 16) (name "(PCINT4/MISO)PB4") (type BiDi))
(pin (num 17) (name "(PCINT5/SCK)PB5") (type BiDi))
(pin (num 18) (name AVCC) (type power_in))
(pin (num 19) (name ADC6) (type input))
(pin (num 20) (name AREF) (type BiDi))
(pin (num 21) (name GND) (type power_in))
(pin (num 22) (name ADC7) (type input))
(pin (num 23) (name "(PCINT8/ADC0)PC0") (type BiDi))
(pin (num 24) (name "(PCINT9/ADC1)PC1") (type BiDi))
(pin (num 25) (name "(PCINT10/ADC2)PC2") (type BiDi))
(pin (num 26) (name "(PCINT11/ADC3)PC3") (type BiDi))
(pin (num 27) (name "(PCINT12/SDA/ADC4)PC4") (type BiDi))
(pin (num 28) (name "(PCINT13/SCL/ADC5)PC5") (type BiDi))
(pin (num 29) (name "(PCINT14/~RESET~)PC6") (type BiDi))
(pin (num 30) (name "(PCINT16/RXD)PD0") (type BiDi))
(pin (num 31) (name "(PCINT17/TXD)PD1") (type BiDi))
(pin (num 32) (name "(PCINT18/INT0)PD2") (type BiDi))))
(libpart (lib device) (part C)
(description "Unpolarized capacitor")
(footprints
(fp C?)
(fp C_????_*)
(fp C_????)
(fp SMD*_c)
(fp Capacitor*))
(fields
(field (name Reference) C)
(field (name Value) C))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib device) (part Crystal)
(description "Two pin crystal")
(footprints
(fp Crystal*))
(fields
(field (name Reference) Y)
(field (name Value) Crystal))
(pins
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive))))
(libpart (lib adc-dac) (part MCP4921-E/MS)
(aliases
(alias MCP4921-E/SN)
(alias MCP4921-E/P))
(description "MCP4921, Single 12-bit Digital to Analog Converter, SPI Interface, MSOP-8")
(docs http://ww1.microchip.com/downloads/en/devicedoc/21897a.pdf)
(footprints
(fp MSOP*)
(fp SOIC*)
(fp DIP*)
(fp PDIP*))
(fields
(field (name Reference) U)
(field (name Value) MCP4921-E/MS))
(pins
(pin (num 1) (name VDD) (type power_in))
(pin (num 2) (name ~CS~) (type input))
(pin (num 3) (name SCK) (type input))
(pin (num 4) (name SDI) (type input))
(pin (num 5) (name ~LDAC~) (type input))
(pin (num 6) (name VrefA) (type passive))
(pin (num 7) (name AVSS) (type power_in))
(pin (num 8) (name VoutA) (type passive))))
(libpart (lib mpx4250) (part MPX4250)
(fields
(field (name Reference) U)
(field (name Value) MPX4250))
(pins
(pin (num 1) (name VOUT) (type output))
(pin (num 2) (name GND) (type power_in))
(pin (num 3) (name VCC) (type power_in))))
(libpart (lib device) (part R)
(description Resistor)
(footprints
(fp R_*)
(fp Resistor_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib switches) (part SW_SPST)
(description "Single Pole Single Throw (SPST) switch")
(fields
(field (name Reference) SW)
(field (name Value) SW_SPST))
(pins
(pin (num 1) (name A) (type input))
(pin (num 2) (name B) (type input)))))
(libraries
(library (logical device)
(uri "/Library/Application Support/kicad/library/device.lib"))
(library (logical adc-dac)
(uri "/Library/Application Support/kicad/library/adc-dac.lib"))
(library (logical mpx4250)
(uri /Users/josh/Documents/SpeedyMAP/libs/mpx4250.lib))
(library (logical atmel)
(uri "/Library/Application Support/kicad/library/atmel.lib"))
(library (logical switches)
(uri "/Library/Application Support/kicad/library/switches.lib")))
(nets
(net (code 1) (name GND)
(node (ref C2) (pin 2))
(node (ref C11) (pin 2))
(node (ref C6) (pin 2))
(node (ref U5) (pin 5))
(node (ref U5) (pin 7))
(node (ref U2) (pin 2))
(node (ref C10) (pin 2))
(node (ref C14) (pin 1))
(node (ref C8) (pin 2))
(node (ref C13) (pin 1))
(node (ref IC1) (pin 3))
(node (ref IC1) (pin 5))
(node (ref C4) (pin 2))
(node (ref U4) (pin 2))
(node (ref IC1) (pin 21))
(node (ref C12) (pin 2))
(node (ref U1) (pin 2))
(node (ref C3) (pin 2))
(node (ref C9) (pin 2))
(node (ref C7) (pin 2))
(node (ref U3) (pin 2))
(node (ref C1) (pin 2))
(node (ref C5) (pin 2))
(node (ref SW1) (pin 2)))
(net (code 2) (name +5V)
(node (ref U3) (pin 3))
(node (ref C8) (pin 1))
(node (ref C4) (pin 1))
(node (ref U1) (pin 3))
(node (ref C5) (pin 1))
(node (ref C1) (pin 1))
(node (ref U2) (pin 3))
(node (ref C6) (pin 1))
(node (ref C2) (pin 1))
(node (ref U4) (pin 3))
(node (ref IC1) (pin 4))
(node (ref IC1) (pin 6))
(node (ref U5) (pin 6))
(node (ref R5) (pin 1))
(node (ref U5) (pin 1))
(node (ref C7) (pin 1))
(node (ref C3) (pin 1)))
(net (code 3) (name "Net-(IC1-Pad29)")
(node (ref R5) (pin 2))
(node (ref IC1) (pin 29))
(node (ref SW1) (pin 1)))
(net (code 4) (name DAC_SS)
(node (ref IC1) (pin 14))
(node (ref U5) (pin 2)))
(net (code 5) (name SCK)
(node (ref U5) (pin 3))
(node (ref IC1) (pin 17)))
(net (code 6) (name DAC_Serial)
(node (ref U5) (pin 4))
(node (ref IC1) (pin 15)))
(net (code 7) (name "Net-(U5-Pad8)")
(node (ref U5) (pin 8)))
(net (code 8) (name "Net-(IC1-Pad19)")
(node (ref IC1) (pin 19)))
(net (code 9) (name "Net-(IC1-Pad28)")
(node (ref IC1) (pin 28)))
(net (code 10) (name "Net-(IC1-Pad18)")
(node (ref IC1) (pin 18)))
(net (code 11) (name "Net-(IC1-Pad27)")
(node (ref IC1) (pin 27)))
(net (code 12) (name "Net-(IC1-Pad16)")
(node (ref IC1) (pin 16)))
(net (code 13) (name "Net-(IC1-Pad13)")
(node (ref IC1) (pin 13)))
(net (code 14) (name "Net-(IC1-Pad32)")
(node (ref IC1) (pin 32)))
(net (code 15) (name "Net-(IC1-Pad22)")
(node (ref IC1) (pin 22)))
(net (code 16) (name "Net-(IC1-Pad12)")
(node (ref IC1) (pin 12)))
(net (code 17) (name "Net-(IC1-Pad31)")
(node (ref IC1) (pin 31)))
(net (code 18) (name "Net-(IC1-Pad11)")
(node (ref IC1) (pin 11)))
(net (code 19) (name "Net-(IC1-Pad30)")
(node (ref IC1) (pin 30)))
(net (code 20) (name "Net-(IC1-Pad20)")
(node (ref IC1) (pin 20)))
(net (code 21) (name "Net-(IC1-Pad10)")
(node (ref IC1) (pin 10)))
(net (code 22) (name "Net-(IC1-Pad9)")
(node (ref IC1) (pin 9)))
(net (code 23) (name "Net-(C13-Pad2)")
(node (ref C13) (pin 2))
(node (ref Y1) (pin 1))
(node (ref IC1) (pin 7)))
(net (code 24) (name "Net-(IC1-Pad2)")
(node (ref IC1) (pin 2)))
(net (code 25) (name "Net-(IC1-Pad1)")
(node (ref IC1) (pin 1)))
(net (code 26) (name "Net-(C14-Pad2)")
(node (ref C14) (pin 2))
(node (ref IC1) (pin 8))
(node (ref Y1) (pin 2)))
(net (code 28) (name MAP2)
(node (ref C10) (pin 1))
(node (ref R2) (pin 1))
(node (ref IC1) (pin 24)))
(net (code 29) (name MAP1)
(node (ref R1) (pin 1))
(node (ref IC1) (pin 23))
(node (ref C9) (pin 1)))
(net (code 30) (name MAP3)
(node (ref R3) (pin 1))
(node (ref IC1) (pin 25))
(node (ref C11) (pin 1)))
(net (code 31) (name MAP4)
(node (ref R4) (pin 1))
(node (ref C12) (pin 1))
(node (ref IC1) (pin 26)))
(net (code 32) (name "Net-(R3-Pad2)")
(node (ref R3) (pin 2))
(node (ref U3) (pin 1)))
(net (code 33) (name "Net-(R4-Pad2)")
(node (ref R4) (pin 2))
(node (ref U4) (pin 1)))
(net (code 34) (name "Net-(R2-Pad2)")
(node (ref U2) (pin 1))
(node (ref R2) (pin 2)))
(net (code 35) (name "Net-(R1-Pad2)")
(node (ref R1) (pin 2))
(node (ref U1) (pin 1)))))

View File

@ -0,0 +1,62 @@
update=Monday, 08 January 2018 'pmt' 12:06:03 pm
version=1
last_client=kicad
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[general]
version=1
[eeschema]
version=1
LibDir=
[eeschema/libraries]
LibName1=switches
LibName2=power
LibName3=device
LibName4=transistors
LibName5=conn
LibName6=linear
LibName7=regul
LibName8=74xx
LibName9=cmos4000
LibName10=adc-dac
LibName11=memory
LibName12=xilinx
LibName13=microcontrollers
LibName14=dsp
LibName15=microchip
LibName16=analog_switches
LibName17=motorola
LibName18=texas
LibName19=intel
LibName20=audio
LibName21=interface
LibName22=digital-audio
LibName23=philips
LibName24=display
LibName25=cypress
LibName26=siliconi
LibName27=opto
LibName28=atmel
LibName29=contrib
LibName30=valves
LibName31=libs/mpx4250

View File

@ -0,0 +1,469 @@
EESchema Schematic File Version 2
LIBS:switches
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
LIBS:mpx4250
LIBS:SpeedyMAP-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 2
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L ATMEGA328-A IC1
U 1 1 5A51EF33
P 6250 2550
F 0 "IC1" H 5500 3800 50 0000 L BNN
F 1 "ATMEGA328-A" H 6650 1150 50 0000 L BNN
F 2 "Housings_QFP:TQFP-32_7x7mm_Pitch0.8mm" H 6250 2550 50 0001 C CIN
F 3 "" H 6250 2550 50 0000 C CNN
1 6250 2550
1 0 0 -1
$EndComp
$Comp
L Crystal Y1
U 1 1 5A5261DD
P 9250 2100
F 0 "Y1" H 9250 2250 50 0000 C CNN
F 1 "Crystal" H 9250 1950 50 0000 C CNN
F 2 "Crystals:Crystal_HC49-SD_SMD" H 9250 2100 50 0001 C CNN
F 3 "" H 9250 2100 50 0000 C CNN
1 9250 2100
0 1 1 0
$EndComp
Text GLabel 7700 2400 2 60 Input ~ 0
MAP2
Text GLabel 7350 2300 2 60 Input ~ 0
MAP1
Text GLabel 7350 2500 2 60 Input ~ 0
MAP3
Text GLabel 7700 2600 2 60 Input ~ 0
MAP4
$Sheet
S 7150 4900 3700 1400
U 5A52C37B
F0 "MAP Sensors" 60
F1 "MAP Sensors.sch" 60
$EndSheet
$Comp
L C C13
U 1 1 5A52D01C
P 9700 1850
F 0 "C13" H 9725 1950 50 0000 L CNN
F 1 "C22pF" H 9725 1750 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 9738 1700 50 0001 C CNN
F 3 "" H 9700 1850 50 0000 C CNN
1 9700 1850
0 1 1 0
$EndComp
$Comp
L GND #PWR9
U 1 1 5A52D09E
P 10100 1850
F 0 "#PWR9" H 10100 1600 50 0001 C CNN
F 1 "GND" H 10100 1700 50 0000 C CNN
F 2 "" H 10100 1850 50 0000 C CNN
F 3 "" H 10100 1850 50 0000 C CNN
1 10100 1850
0 -1 -1 0
$EndComp
$Comp
L GND #PWR10
U 1 1 5A52D0C2
P 10100 2350
F 0 "#PWR10" H 10100 2100 50 0001 C CNN
F 1 "GND" H 10100 2200 50 0000 C CNN
F 2 "" H 10100 2350 50 0000 C CNN
F 3 "" H 10100 2350 50 0000 C CNN
1 10100 2350
0 -1 -1 0
$EndComp
$Comp
L C C14
U 1 1 5A52D16E
P 9700 2350
F 0 "C14" H 9725 2450 50 0000 L CNN
F 1 "C22pF" H 9725 2250 50 0000 L CNN
F 2 "Capacitors_SMD:C_0805_HandSoldering" H 9738 2200 50 0001 C CNN
F 3 "" H 9700 2350 50 0000 C CNN
1 9700 2350
0 1 1 0
$EndComp
$Comp
L SW_SPST SW1
U 1 1 5A52D320
P 3050 4050
F 0 "SW1" H 3050 4175 50 0000 C CNN
F 1 "SW_SPST" H 3050 3950 50 0000 C CNN
F 2 "Buttons_Switches_ThroughHole:SW_TH_Tactile_Omron_B3F-10xx" H 3050 4050 50 0001 C CNN
F 3 "" H 3050 4050 50 0000 C CNN
F 4 "B3F-1002" H 3050 4050 60 0001 C CNN "Part Number"
1 3050 4050
1 0 0 -1
$EndComp
$Comp
L GND #PWR7
U 1 1 5A52D36F
P 3500 4050
F 0 "#PWR7" H 3500 3800 50 0001 C CNN
F 1 "GND" H 3500 3900 50 0000 C CNN
F 2 "" H 3500 4050 50 0000 C CNN
F 3 "" H 3500 4050 50 0000 C CNN
1 3500 4050
0 -1 -1 0
$EndComp
$Comp
L R R5
U 1 1 5A52D3DC
P 3050 4550
F 0 "R5" V 3130 4550 50 0000 C CNN
F 1 "R10k" V 3050 4550 50 0000 C CNN
F 2 "Resistors_SMD:R_0805_HandSoldering" V 2980 4550 50 0001 C CNN
F 3 "" H 3050 4550 50 0000 C CNN
1 3050 4550
0 1 1 0
$EndComp
$Comp
L +5V #PWR8
U 1 1 5A52D42B
P 3500 4550
F 0 "#PWR8" H 3500 4400 50 0001 C CNN
F 1 "+5V" H 3500 4690 50 0000 C CNN
F 2 "" H 3500 4550 50 0000 C CNN
F 3 "" H 3500 4550 50 0000 C CNN
1 3500 4550
0 1 1 0
$EndComp
$Comp
L +5V #PWR6
U 1 1 5A52DDB8
P 5150 1450
F 0 "#PWR6" H 5150 1300 50 0001 C CNN
F 1 "+5V" H 5150 1590 50 0000 C CNN
F 2 "" H 5150 1450 50 0000 C CNN
F 3 "" H 5150 1450 50 0000 C CNN
1 5150 1450
0 -1 -1 0
$EndComp
$Comp
L GND #PWR5
U 1 1 5A52DE6E
P 5100 3650
F 0 "#PWR5" H 5100 3400 50 0001 C CNN
F 1 "GND" H 5100 3500 50 0000 C CNN
F 2 "" H 5100 3650 50 0000 C CNN
F 3 "" H 5100 3650 50 0000 C CNN
1 5100 3650
0 1 1 0
$EndComp
$Comp
L MCP4921-E/SN U5
U 1 1 5A52E25F
P 3000 2450
F 0 "U5" H 2550 2750 50 0000 L CNN
F 1 "MCP4921-E/SN" H 3000 2750 50 0000 L CNN
F 2 "Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm" H 3000 2450 50 0001 C CIN
F 3 "" H 3000 2450 50 0000 C CNN
1 3000 2450
1 0 0 -1
$EndComp
Text GLabel 7400 1950 2 60 Input ~ 0
SCK
Text GLabel 7400 1750 2 60 Input ~ 0
MOSI
Text GLabel 2250 2250 0 60 Input ~ 0
MOSI
Text GLabel 2250 2350 0 60 Input ~ 0
SCK
Text GLabel 7400 1650 2 60 Input ~ 0
DAC_SS
Text GLabel 2250 2450 0 60 Input ~ 0
DAC_SS
$Comp
L GND #PWR3
U 1 1 5A52E5DE
P 2900 3050
F 0 "#PWR3" H 2900 2800 50 0001 C CNN
F 1 "GND" H 2900 2900 50 0000 C CNN
F 2 "" H 2900 3050 50 0000 C CNN
F 3 "" H 2900 3050 50 0000 C CNN
1 2900 3050
1 0 0 -1
$EndComp
$Comp
L +5V #PWR4
U 1 1 5A52E654
P 3100 2950
F 0 "#PWR4" H 3100 2800 50 0001 C CNN
F 1 "+5V" H 3100 3090 50 0000 C CNN
F 2 "" H 3100 2950 50 0000 C CNN
F 3 "" H 3100 2950 50 0000 C CNN
1 3100 2950
-1 0 0 1
$EndComp
$Comp
L +5V #PWR2
U 1 1 5A52E6B5
P 2900 1900
F 0 "#PWR2" H 2900 1750 50 0001 C CNN
F 1 "+5V" H 2900 2040 50 0000 C CNN
F 2 "" H 2900 1900 50 0000 C CNN
F 3 "" H 2900 1900 50 0000 C CNN
1 2900 1900
1 0 0 -1
$EndComp
$Comp
L GND #PWR1
U 1 1 5A52E833
P 1700 2550
F 0 "#PWR1" H 1700 2300 50 0001 C CNN
F 1 "GND" H 1700 2400 50 0000 C CNN
F 2 "" H 1700 2550 50 0000 C CNN
F 3 "" H 1700 2550 50 0000 C CNN
1 1700 2550
0 1 1 0
$EndComp
$Comp
L 7805 U6
U 1 1 5A52F79A
P 2900 6100
F 0 "U6" H 3050 5904 50 0000 C CNN
F 1 "7805" H 2900 6300 50 0000 C CNN
F 2 "" H 2900 6100 50 0000 C CNN
F 3 "" H 2900 6100 50 0000 C CNN
1 2900 6100
1 0 0 -1
$EndComp
$Comp
L C C?
U 1 1 5A5300ED
P 3050 4300
F 0 "C?" H 3075 4400 50 0000 L CNN
F 1 "C4.7nF" H 3075 4200 50 0000 L CNN
F 2 "" H 3088 4150 50 0000 C CNN
F 3 "" H 3050 4300 50 0000 C CNN
1 3050 4300
0 1 1 0
$EndComp
$Comp
L D D?
U 1 1 5A530312
P 3050 4850
F 0 "D?" H 3050 4950 50 0000 C CNN
F 1 "D" H 3050 4750 50 0000 C CNN
F 2 "" H 3050 4850 50 0000 C CNN
F 3 "" H 3050 4850 50 0000 C CNN
1 3050 4850
-1 0 0 1
$EndComp
$Comp
L AVR-ISP-6 CON?
U 1 1 5A530418
P 9250 3700
F 0 "CON?" H 9145 3940 50 0000 C CNN
F 1 "AVR-ISP-6" H 8985 3470 50 0000 L BNN
F 2 "AVR-ISP-6" V 8730 3740 50 0001 C CNN
F 3 "" H 9225 3700 50 0000 C CNN
1 9250 3700
1 0 0 -1
$EndComp
Text GLabel 7400 1850 2 60 Input ~ 0
MISO
Text GLabel 7400 2900 2 60 Input ~ 0
RESET
Text GLabel 2050 4050 0 60 Input ~ 0
RESET
Text GLabel 8750 3800 0 60 Input ~ 0
RESET
Text GLabel 8750 3700 0 60 Input ~ 0
SCK
Text GLabel 8750 3600 0 60 Input ~ 0
MISO
$Comp
L GND #PWR?
U 1 1 5A530AC6
P 9850 3950
F 0 "#PWR?" H 9850 3700 50 0001 C CNN
F 1 "GND" H 9850 3800 50 0000 C CNN
F 2 "" H 9850 3950 50 0000 C CNN
F 3 "" H 9850 3950 50 0000 C CNN
1 9850 3950
0 -1 -1 0
$EndComp
Text GLabel 9700 3700 2 60 Input ~ 0
MOSI
$Comp
L +5V #PWR?
U 1 1 5A530D05
P 9900 3500
F 0 "#PWR?" H 9900 3350 50 0001 C CNN
F 1 "+5V" H 9900 3640 50 0000 C CNN
F 2 "" H 9900 3500 50 0000 C CNN
F 3 "" H 9900 3500 50 0000 C CNN
1 9900 3500
0 1 1 0
$EndComp
Connection ~ 11950 2050
Wire Wire Line
7250 2300 7350 2300
Wire Wire Line
7250 2400 7700 2400
Wire Wire Line
7250 2500 7350 2500
Wire Wire Line
7250 2600 7700 2600
Wire Wire Line
7250 2050 8000 2050
Wire Wire Line
8000 2050 8000 1950
Wire Wire Line
8000 1950 9250 1950
Wire Wire Line
7250 2150 8000 2150
Wire Wire Line
8000 2150 8000 2250
Wire Wire Line
8000 2250 9250 2250
Connection ~ 8800 1950
Connection ~ 8800 2250
Wire Wire Line
8800 2250 8800 2350
Wire Wire Line
8800 2350 9550 2350
Wire Wire Line
9850 2350 10100 2350
Wire Wire Line
9850 1850 10100 1850
Wire Wire Line
8800 1950 8800 1850
Wire Wire Line
8800 1850 9550 1850
Wire Wire Line
3500 4050 3250 4050
Wire Wire Line
2050 4050 2850 4050
Wire Wire Line
3500 4550 3200 4550
Connection ~ 2650 4050
Wire Wire Line
2650 4300 2900 4300
Wire Wire Line
5150 1450 5350 1450
Wire Wire Line
5350 1550 5150 1550
Wire Wire Line
5150 1550 5150 1450
Wire Wire Line
5100 3650 5350 3650
Wire Wire Line
5350 3550 5100 3550
Wire Wire Line
5100 3550 5100 3750
Wire Wire Line
5100 3750 5350 3750
Connection ~ 5100 3650
Wire Wire Line
7400 1950 7250 1950
Wire Wire Line
7400 1750 7250 1750
Wire Wire Line
2250 2250 2400 2250
Wire Wire Line
2250 2350 2400 2350
Wire Wire Line
7400 1650 7250 1650
Wire Wire Line
2250 2450 2400 2450
Wire Wire Line
2900 3050 2900 2850
Wire Wire Line
3100 2950 3100 2850
Wire Wire Line
2900 1900 2900 2050
Wire Wire Line
1700 2550 2400 2550
Wire Wire Line
3200 4300 3500 4300
Wire Wire Line
3500 4300 3500 4050
Wire Wire Line
2650 4550 2900 4550
Connection ~ 2650 4300
Wire Wire Line
2650 4050 2650 4850
Wire Wire Line
2650 4850 2900 4850
Connection ~ 2650 4550
Wire Wire Line
3200 4850 3500 4850
Wire Wire Line
3500 4850 3500 4550
Wire Wire Line
7400 1850 7250 1850
Wire Notes Line
1350 3600 4400 3600
Wire Notes Line
4400 3600 4400 5300
Wire Notes Line
4400 5300 1350 5300
Wire Notes Line
1350 5300 1350 3600
Wire Wire Line
7400 2900 7250 2900
Wire Wire Line
8750 3800 9100 3800
Wire Wire Line
8750 3700 9100 3700
Wire Wire Line
8750 3600 9100 3600
Wire Wire Line
9700 3700 9350 3700
Wire Wire Line
9350 3600 9800 3600
Wire Wire Line
9800 3600 9800 3500
Wire Wire Line
9800 3500 9900 3500
Wire Wire Line
9350 3800 9800 3800
Wire Wire Line
9800 3800 9800 3950
Wire Wire Line
9800 3950 9850 3950
$EndSCHEMATC

View File

@ -0,0 +1,73 @@
PCBNEW-LibModule-V1 Tue 21 Jul 2015 09:24:58 AEST
# encoding utf-8
Units mm
$INDEX
MPX4250
$EndINDEX
$MODULE MPX4250
Po 0 0 0 15 55AD8302 00000000 ~~
Li MPX4250
Sc 0
AR
Op 0 0 0
T0 2.54 2.54 1 1 0 0.15 N V 21 N "MPX4250"
T1 10.16 2.54 1 1 0 0.15 N V 21 N "VAL**"
DC 6.4 -12.3 10.2 -3.7 0.15 21
$PAD
Sh "1" C 1.5 1.5 0 0 0
Dr 0.84 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 0 0
$EndPAD
$PAD
Sh "2" C 1.5 1.5 0 0 0
Dr 0.84 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 2.54 0
$EndPAD
$PAD
Sh "3" C 1.5 1.5 0 0 0
Dr 0.84 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 5.08 0
$EndPAD
$PAD
Sh "4" C 1.5 1.5 0 0 0
Dr 0.84 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 7.62 0
$EndPAD
$PAD
Sh "5" C 1.5 1.5 0 0 0
Dr 0.84 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 10.16 0
$EndPAD
$PAD
Sh "6" C 1.5 1.5 0 0 0
Dr 0.84 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 12.7 0
$EndPAD
$PAD
Sh "~" C 4.1 4.1 0 0 0
Dr 4.1 0 0
At STD N 00E0FFFF
Ne 0 ""
Po 17.9 -12.32
$EndPAD
$PAD
Sh "~" C 4.1 4.1 0 0 0
Dr 4.1 0 0
At STD N 00E0FFFF
Ne 0 ""
Po -5.25 -12.32
$EndPAD
$EndMODULE MPX4250
$EndLIBRARY

View File

@ -0,0 +1,19 @@
EESchema-LIBRARY Version 2.3 Date: Thu 27 Feb 2014 18:55:37 EST
#encoding utf-8
#
# MPX4250
#
DEF MPX4250 U 0 40 Y Y 1 F N
F0 "U" 150 -150 60 H V C CNN
F1 "MPX4250" -50 150 60 H V C CNN
F2 "~" -50 0 60 H V C CNN
F3 "~" -50 0 60 H V C CNN
DRAW
S -250 100 200 -100 0 1 0 N
X VOUT 1 500 0 300 L 50 50 1 1 O
X GND 2 -550 -50 300 R 50 50 1 1 W
X VCC 3 -550 50 300 R 50 50 1 1 W
ENDDRAW
ENDDEF
#
#End Library

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" width="120" height="120" viewBox="0 0 120 120" xml:space="preserve">
<g id="board">
<rect fill="#338040" x="10" y="10" width="100" height="100" rx="15" ry="15"/>
</g>
<g id="silkscreen">
<rect fill="none" stroke="#FFFFFF" stroke-width="0.576" x="10" y="10" width="100" height="100" rx="15" ry="15"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" width="120" height="120" viewBox="0 0 120 120" xml:space="preserve">
<g id="board">
<rect fill="#338040" x="10" y="10" width="100" height="100" rx="15" ry="15"/>
</g>
<g id="silkscreen">
<rect fill="none" stroke="#FFFFFF" stroke-width="0.576" x="10" y="10" width="100" height="100" rx="15" ry="15"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 516 B

After

Width:  |  Height:  |  Size: 506 B

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@ -30,4 +30,4 @@ void canCommand();//This is the heart of the Command Line Interpeter. All that
void sendcanValues(uint16_t offset, uint16_t packetLength, byte cmd, byte portNum);
void sendCancommand(uint8_t cmdtype , uint16_t canadddress, uint8_t candata1, uint8_t candata2, uint16_t sourcecanAddress);
#endif // CANCOMMS_H
#endif // CANCOMMS_H

View File

@ -132,7 +132,7 @@ void command()
break;
case 'Q': // send code version
Serial.print("speeduino 201712");
Serial.print("speeduino 201801-dev");
break;
case 'r': //New format for the optimised OutputChannels
@ -162,7 +162,7 @@ void command()
break;
case 'S': // send code version
Serial.print("Speeduino 2017.12");
Serial.print("Speeduino 2018.1-dev");
currentStatus.secl = 0; //This is required in TS3 due to its stricter timings
break;

View File

@ -43,6 +43,10 @@ volatile unsigned long toothSystemLastToothTime = 0; //As below, but used for de
volatile unsigned long toothLastToothTime = 0; //The time (micros()) that the last tooth was registered
volatile unsigned long toothLastSecToothTime = 0; //The time (micros()) that the last tooth was registered on the secondary input
volatile unsigned long toothLastMinusOneToothTime = 0; //The time (micros()) that the tooth before the last tooth was registered
#ifndef SMALL_FLASH_MODE
volatile unsigned long toothLastMinusOneSecToothTime = 0; //The time (micros()) that the tooth before the last tooth was registered on secondary input
volatile unsigned long targetGap2;
#endif
volatile unsigned long toothOneTime = 0; //The time (micros()) that tooth 1 last triggered
volatile unsigned long toothOneMinusOneTime = 0; //The 2nd to last time (micros()) that tooth 1 last triggered
volatile bool revolutionOne = 0; // For sequential operation, this tracks whether the current revolution is 1 or 2 (not 1)

View File

@ -128,6 +128,7 @@ void triggerSetup_missingTooth()
if(configPage2.TrigSpeed == 1) { triggerToothAngle = 720 / configPage2.triggerTeeth; } //Account for cam speed missing tooth
triggerActualTeeth = configPage2.triggerTeeth - configPage2.triggerMissingTeeth; //The number of physical teeth on the wheel. Doing this here saves us a calculation each time in the interrupt
triggerFilterTime = (int)(1000000 / (MAX_RPM / 60 * configPage2.triggerTeeth)); //Trigger filter time is the shortest possible time (in uS) that there can be between crank teeth (ie at max RPM). Any pulses that occur faster than this time will be disgarded as noise
triggerSecFilterTime = (int)((trigPatternSec == true) ? 1000000 * 60 / MAX_RPM / 4 / 2 : 1000000 * 60 / MAX_RPM / 2 / 2); //Same as above, but fixed at 2 teeth on the secondary input and divided by 2 (for cam speed)
secondDerivEnabled = false;
decoderIsSequential = false;
checkSyncToothCount = (configPage2.triggerTeeth) >> 1; //50% of the total teeth.
@ -197,8 +198,39 @@ void triggerPri_missingTooth()
void triggerSec_missingTooth()
{
//TODO: This should really have filtering enabled on the secondary input.
revolutionOne = 1;
curTime2 = micros();
curGap2 = curTime2 - toothLastSecToothTime;
if( (toothLastSecToothTime == 0)
#ifndef SMALL_FLASH_MODE
|| (toothLastMinusOneSecToothTime == 0 )
#endif
) { curGap2 = 0; }
if ( curGap2 >= triggerSecFilterTime )
{
#ifndef SMALL_FLASH_MODE
if ( trigPatternSec == true )
{
targetGap2 = (3 * (toothLastSecToothTime - toothLastMinusOneSecToothTime)) >> 1; //If the time between the current tooth and the last is greater than 1.5x the time between the last tooth and the tooth before that, we make the assertion that we must be at the first tooth after the gap
toothLastMinusOneSecToothTime = toothLastSecToothTime;
if ( ( curGap2 >= targetGap2 ) || ( secondaryToothCount > 3 ) )
{
secondaryToothCount = 1;
revolutionOne = 1; //Sequential revolution reset
triggerSecFilterTime = 0; //This is used to prevent a condition where serious intermitent signals (Eg someone furiously plugging the sensor wire in and out) can leave the filter in an unrecoverable state
}
else
{
triggerSecFilterTime = curGap2 >> 2; //Set filter at 25% of the current speed. Filter can only be recalc'd for the regular teeth, not the missing one.
secondaryToothCount++;
}
}
else
#endif
{
revolutionOne = 1; //Sequential revolution reset
}
toothLastSecToothTime = curTime2;
} //Trigger filter
}
uint16_t getRPM_missingTooth()

View File

@ -430,7 +430,7 @@ struct config2 {
byte useResync : 1;
byte sparkDur; //Spark duration in ms * 10
byte unused4_8;
bool trigPatternSec; //Mode for Missing tooth secondary trigger. Either single tooth cam wheel or 4-1
byte unused4_9;
byte unused4_10;
byte StgCycles; //The number of initial cycles before the ignition should fire when first cranking
@ -729,5 +729,7 @@ extern byte cltCalibrationTable[CALIBRATION_TABLE_SIZE];
extern byte iatCalibrationTable[CALIBRATION_TABLE_SIZE];
extern byte o2CalibrationTable[CALIBRATION_TABLE_SIZE];
// alias(es) for ease of code reading!!
bool& trigPatternSec = configPage2.trigPatternSec;
#endif // GLOBALS_H

View File

@ -219,4 +219,4 @@ void oneMSInterval() //Most ARM chips can simply call a function
TCNT2 = 131; //Preload timer2 with 100 cycles, leaving 156 till overflow.
TIFR2 = 0x00; //Timer2 INT Flag Reg: Clear Timer Overflow Flag
#endif
}
}

View File

@ -146,7 +146,7 @@ void setPinMapping(byte boardID)
pinStepperStep = 17; //Step pin for DRV8825 driver
pinStepperEnable = 26; //Enable pin for DRV8825
pinFan = A13; //Pin for the fan output
pinLaunch = 12; //Can be overwritten below
pinLaunch = 51; //Can be overwritten below
pinFlex = 2; // Flex sensor (Must be external interrupt enabled)
#if defined(CORE_TEENSY)
@ -194,7 +194,7 @@ void setPinMapping(byte boardID)
pinStepperStep = 17; //Step pin for DRV8825 driver
pinStepperEnable = 24; //Enable pin for DRV8825
pinFan = 47; //Pin for the fan output (Goes to ULN2803)
pinLaunch = 12; //Can be overwritten below
pinLaunch = 51; //Can be overwritten below
pinFlex = 2; // Flex sensor (Must be external interrupt enabled)
#if defined(CORE_TEENSY)