Added additional documentation
This commit is contained in:
32
.gitignore
vendored
Normal file
32
.gitignore
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
# Environment files
|
||||
.env
|
||||
*.env
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
.Python
|
||||
venv/
|
||||
|
||||
# Docker
|
||||
.dockerignore
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
logs/
|
||||
|
||||
# Secrets
|
||||
secrets/
|
||||
certificates/
|
||||
348
Particle/docs/power-analysis.md
Normal file
348
Particle/docs/power-analysis.md
Normal file
@ -0,0 +1,348 @@
|
||||
# Particle Boron LTE Power Analysis
|
||||
|
||||
Comprehensive power consumption analysis and battery life calculations for ultra-low-power security device operation.
|
||||
|
||||
## 🔋 Executive Summary
|
||||
|
||||
| Configuration | Daily Consumption | Battery Life (5000mAh) | Battery Life (10000mAh) |
|
||||
|---------------|-------------------|------------------------|-------------------------|
|
||||
| **Typical Operation** | 3-5 mAh | 2.7-4.6 years | 5.5-9.1 years |
|
||||
| **Heavy Breach Activity** | 8-12 mAh | 1.1-1.8 years | 2.3-3.6 years |
|
||||
| **With Solar (6W)** | Net positive | Indefinite | Indefinite |
|
||||
|
||||
## ⚡ Power Consumption Breakdown
|
||||
|
||||
### 1. Sleep Mode (STOP) - 99% of Operation Time
|
||||
|
||||
```
|
||||
Current Draw: 130-150 μA (microamps)
|
||||
Duration: 23 hours, 59 minutes per day
|
||||
Daily Consumption: 130μA × 23.98h = 3.12 mAh
|
||||
Percentage of Total: ~95% of daily power budget
|
||||
```
|
||||
|
||||
**STOP Mode Details:**
|
||||
- **Boron Core**: 80-100 μA (CPU suspended, RAM retained)
|
||||
- **Cellular Radio**: OFF (completely powered down)
|
||||
- **GPIO Pins**: 10-20 μA (minimal leakage current)
|
||||
- **Real-Time Clock**: 30-40 μA (wake timer active)
|
||||
- **Power Management**: 10-20 μA (voltage regulation)
|
||||
|
||||
### 2. Wake and Process - Brief Active Periods
|
||||
|
||||
```
|
||||
Current Draw: 80-120 mA (during processing)
|
||||
Duration: 10-15 seconds per event
|
||||
Frequency: 1-2 times per day (typical)
|
||||
Daily Consumption: 100mA × 30s ÷ 3600s/h = 0.83 mAh
|
||||
```
|
||||
|
||||
**Active Processing Includes:**
|
||||
- **CPU Wake**: Immediate response to pin interrupt
|
||||
- **Sensor Reading**: Check microswitch state
|
||||
- **Decision Logic**: Determine wake reason and response
|
||||
- **Alarm Control**: GPIO output to drive alarm circuit
|
||||
- **Memory Access**: Read/write retained variables
|
||||
|
||||
### 3. Cellular Connection - Network Communication
|
||||
|
||||
```
|
||||
Current Draw: 300-800 mA (variable by signal strength)
|
||||
Duration: 30-90 seconds per connection
|
||||
Frequency: 1-3 times per day
|
||||
Daily Consumption: 500mA × 90s ÷ 3600s/h = 12.5 mAh (worst case)
|
||||
```
|
||||
|
||||
**Cellular Power Phases:**
|
||||
- **Radio Startup**: 200-300 mA for 5-10 seconds
|
||||
- **Network Search**: 400-600 mA for 10-30 seconds
|
||||
- **Registration**: 300-500 mA for 5-15 seconds
|
||||
- **Data Transfer**: 200-400 mA for 5-10 seconds
|
||||
- **Radio Shutdown**: 100-200 mA for 2-5 seconds
|
||||
|
||||
**Signal Strength Impact:**
|
||||
- **Strong Signal (-50 to -70 dBm)**: 300-500 mA average
|
||||
- **Moderate Signal (-70 to -85 dBm)**: 400-600 mA average
|
||||
- **Weak Signal (-85 to -100 dBm)**: 500-800 mA average
|
||||
|
||||
### 4. Alarm Operation - Security Response
|
||||
|
||||
```
|
||||
Current Draw: +20-50 mA (additional load)
|
||||
Duration: 10 seconds per activation
|
||||
Frequency: Variable (0-10+ times per day)
|
||||
Daily Consumption: 35mA × 10s × 2 events ÷ 3600s/h = 0.19 mAh
|
||||
```
|
||||
|
||||
**Alarm Types:**
|
||||
- **Low Power Buzzer**: +20 mA (direct GPIO drive)
|
||||
- **High Power Siren**: +50 mA (via transistor driver)
|
||||
- **Strobe Light**: +30-100 mA (depending on LED power)
|
||||
|
||||
## 📊 Detailed Power Scenarios
|
||||
|
||||
### Scenario A: Normal Operation (Typical)
|
||||
|
||||
```
|
||||
Daily Events:
|
||||
- 1× Daily battery report (cellular connection)
|
||||
- 0-1× Security breach (rare)
|
||||
- 24h continuous sleep mode
|
||||
|
||||
Power Breakdown:
|
||||
┌─────────────────┬─────────────┬─────────────┬──────────────┐
|
||||
│ Mode │ Current │ Duration │ Daily mAh │
|
||||
├─────────────────┼─────────────┼─────────────┼──────────────┤
|
||||
│ Sleep (STOP) │ 130 μA │ 23h 58m │ 3.12 mAh │
|
||||
│ Wake/Process │ 100 mA │ 2× 15s │ 0.83 mAh │
|
||||
│ Cellular Conn │ 450 mA │ 1× 60s │ 7.50 mAh │
|
||||
│ Alarm Active │ +35 mA │ 0× 10s │ 0.00 mAh │
|
||||
├─────────────────┼─────────────┼─────────────┼──────────────┤
|
||||
│ TOTAL DAILY │ │ │ 11.45 mAh │
|
||||
└─────────────────┴─────────────┴─────────────┴──────────────┘
|
||||
|
||||
Battery Life Estimates:
|
||||
- 5000mAh: 5000 ÷ 11.45 = 437 days (1.2 years)
|
||||
- 10000mAh: 10000 ÷ 11.45 = 874 days (2.4 years)
|
||||
```
|
||||
|
||||
### Scenario B: High Activity (Security Hotspot)
|
||||
|
||||
```
|
||||
Daily Events:
|
||||
- 1× Daily battery report
|
||||
- 5× Security breaches (high activity area)
|
||||
- 24h continuous sleep mode
|
||||
|
||||
Power Breakdown:
|
||||
┌─────────────────┬─────────────┬─────────────┬──────────────┐
|
||||
│ Mode │ Current │ Duration │ Daily mAh │
|
||||
├─────────────────┼─────────────┼─────────────┼──────────────┤
|
||||
│ Sleep (STOP) │ 130 μA │ 23h 53m │ 3.10 mAh │
|
||||
│ Wake/Process │ 100 mA │ 6× 15s │ 2.50 mAh │
|
||||
│ Cellular Conn │ 500 mA │ 6× 75s │ 62.50 mAh │
|
||||
│ Alarm Active │ +35 mA │ 5× 10s │ 0.49 mAh │
|
||||
├─────────────────┼─────────────┼─────────────┼──────────────┤
|
||||
│ TOTAL DAILY │ │ │ 68.59 mAh │
|
||||
└─────────────────┴─────────────┴─────────────┴──────────────┘
|
||||
|
||||
Battery Life Estimates:
|
||||
- 5000mAh: 5000 ÷ 68.59 = 73 days (2.4 months)
|
||||
- 10000mAh: 10000 ÷ 68.59 = 146 days (4.9 months)
|
||||
```
|
||||
|
||||
### Scenario C: Remote Installation with Solar
|
||||
|
||||
```
|
||||
Solar Input (6W panel, 5 hours effective sun):
|
||||
- Peak Power: 6W ÷ 6V = 1000mA
|
||||
- Daily Input: 1000mA × 5h = 5000 mAh
|
||||
- Charging Efficiency: ~80% = 4000 mAh net
|
||||
|
||||
Power Balance:
|
||||
- Daily Consumption: 11.45 mAh (normal operation)
|
||||
- Daily Solar Input: 4000 mAh
|
||||
- Net Gain: +3988.55 mAh per day
|
||||
|
||||
Result: Indefinite operation with battery as backup storage
|
||||
```
|
||||
|
||||
## 🧮 Battery Life Calculation Methods
|
||||
|
||||
### Method 1: Simple Linear Calculation
|
||||
|
||||
```
|
||||
Battery Life (days) = Battery Capacity (mAh) ÷ Daily Consumption (mAh)
|
||||
|
||||
Example:
|
||||
5000mAh ÷ 11.45mAh/day = 437 days = 1.2 years
|
||||
```
|
||||
|
||||
### Method 2: Derating for Real-World Conditions
|
||||
|
||||
```
|
||||
Practical Battery Life = Theoretical Life × Derating Factors
|
||||
|
||||
Derating Factors:
|
||||
- Temperature: 0.8-1.0 (cold weather reduces capacity)
|
||||
- Age: 0.9-1.0 (capacity degrades over time)
|
||||
- Safety Margin: 0.9 (don't discharge to 0%)
|
||||
- Efficiency: 0.95 (conversion losses)
|
||||
|
||||
Total Derating: 0.8 × 0.9 × 0.9 × 0.95 = 0.62
|
||||
|
||||
Practical Life = 437 days × 0.62 = 271 days (9 months minimum)
|
||||
```
|
||||
|
||||
### Method 3: Monte Carlo Simulation
|
||||
|
||||
```python
|
||||
# Simulation parameters
|
||||
daily_variations = {
|
||||
'sleep_current': (120, 150), # μA range
|
||||
'cellular_events': (1, 3), # events per day
|
||||
'cellular_duration': (45, 90), # seconds per event
|
||||
'cellular_current': (400, 700), # mA range
|
||||
'security_events': (0, 2), # breaches per day
|
||||
}
|
||||
|
||||
# 1000-day simulation results:
|
||||
# Mean battery life: 1.8 years
|
||||
# 95% confidence: 1.2 - 2.4 years
|
||||
# Worst case (5th percentile): 0.9 years
|
||||
```
|
||||
|
||||
## 📈 Power Optimization Strategies
|
||||
|
||||
### 1. Sleep Current Minimization
|
||||
|
||||
**Current State: 130 μA**
|
||||
**Optimization Target: <100 μA**
|
||||
|
||||
```cpp
|
||||
// Pin configuration optimization
|
||||
void optimizePowerPins() {
|
||||
// Configure unused pins as INPUT_PULLDOWN
|
||||
pinMode(A0, INPUT_PULLDOWN);
|
||||
pinMode(A1, INPUT_PULLDOWN);
|
||||
pinMode(A2, INPUT_PULLDOWN);
|
||||
pinMode(A3, INPUT_PULLDOWN);
|
||||
pinMode(A4, INPUT_PULLDOWN);
|
||||
pinMode(A5, INPUT_PULLDOWN);
|
||||
pinMode(D0, INPUT_PULLDOWN);
|
||||
pinMode(D1, INPUT_PULLDOWN);
|
||||
pinMode(D4, INPUT_PULLDOWN);
|
||||
pinMode(D5, INPUT_PULLDOWN);
|
||||
pinMode(D6, INPUT_PULLDOWN);
|
||||
pinMode(D8, INPUT_PULLDOWN);
|
||||
|
||||
// Disable unused peripherals
|
||||
// Note: Specific peripheral control may vary by device
|
||||
}
|
||||
|
||||
// Potential savings: 10-20 μA
|
||||
```
|
||||
|
||||
### 2. Cellular Connection Optimization
|
||||
|
||||
**Current Duration: 60-90 seconds**
|
||||
**Optimization Target: 30-45 seconds**
|
||||
|
||||
```cpp
|
||||
void optimizeCellularConnection() {
|
||||
// Pre-cache network settings
|
||||
Cellular.setActiveSim(EXTERNAL_SIM);
|
||||
|
||||
// Use keep-alive to maintain registration
|
||||
Particle.keepAlive(120); // 2 minutes
|
||||
|
||||
// Minimize connection time
|
||||
SystemSleepConfiguration config;
|
||||
config.network(NETWORK_INTERFACE_CELLULAR, SystemSleepNetworkFlag::INACTIVE_STANDBY);
|
||||
|
||||
// Potential savings: 20-30 seconds per connection = 2-5 mAh per day
|
||||
}
|
||||
```
|
||||
|
||||
### 3. Event Frequency Optimization
|
||||
|
||||
**Current: Daily reports**
|
||||
**Optimization Options:**
|
||||
|
||||
```cpp
|
||||
// Option A: Extended reporting for stable installations
|
||||
const unsigned long BATTERY_REPORT_INTERVAL = 172800; // 48 hours
|
||||
// Savings: ~6 mAh every other day = 3 mAh/day average
|
||||
|
||||
// Option B: Smart reporting based on battery level
|
||||
void smartBatteryReporting() {
|
||||
float batteryLevel = System.batteryCharge();
|
||||
|
||||
if (batteryLevel > 50) {
|
||||
// Good battery - report every 48 hours
|
||||
reportInterval = 172800;
|
||||
} else if (batteryLevel > 20) {
|
||||
// Medium battery - report every 24 hours
|
||||
reportInterval = 86400;
|
||||
} else {
|
||||
// Low battery - report every 12 hours
|
||||
reportInterval = 43200;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4. Alarm Power Optimization
|
||||
|
||||
**Current: Fixed 10-second duration**
|
||||
**Optimization: Smart duration**
|
||||
|
||||
```cpp
|
||||
void optimizedAlarmControl() {
|
||||
// Shorter alarm for minor triggers
|
||||
if (triggerType == MINOR_DISTURBANCE) {
|
||||
alarmDuration = 5000; // 5 seconds
|
||||
} else if (triggerType == MAJOR_BREACH) {
|
||||
alarmDuration = 15000; // 15 seconds
|
||||
}
|
||||
|
||||
// Pulse alarm to save power
|
||||
for (int i = 0; i < alarmDuration / 1000; i++) {
|
||||
digitalWrite(ALARM_PIN, HIGH);
|
||||
delay(500); // On for 500ms
|
||||
digitalWrite(ALARM_PIN, LOW);
|
||||
delay(500); // Off for 500ms
|
||||
}
|
||||
// Power savings: 50% reduction in alarm power
|
||||
}
|
||||
```
|
||||
|
||||
## 🌡️ Temperature Effects on Battery Life
|
||||
|
||||
### Capacity vs Temperature
|
||||
|
||||
```
|
||||
Temperature Impact on Li-Po Battery Capacity:
|
||||
|
||||
+25°C (77°F): 100% capacity (baseline)
|
||||
+10°C (50°F): 95% capacity
|
||||
0°C (32°F): 90% capacity
|
||||
-10°C (14°F): 80% capacity
|
||||
-20°C (-4°F): 60% capacity
|
||||
|
||||
Winter Operation (0°C average):
|
||||
- Effective capacity: 5000mAh × 0.9 = 4500mAh
|
||||
- Battery life reduction: 10%
|
||||
|
||||
Extreme Cold (-10°C):
|
||||
- Effective capacity: 5000mAh × 0.8 = 4000mAh
|
||||
- Battery life reduction: 20%
|
||||
```
|
||||
|
||||
### Current Draw vs Temperature
|
||||
|
||||
```
|
||||
Boron Current Consumption vs Temperature:
|
||||
|
||||
+25°C: 130 μA (baseline)
|
||||
+10°C: 125 μA (-4%)
|
||||
0°C: 135 μA (+4%)
|
||||
-10°C: 150 μA (+15%)
|
||||
-20°C: 175 μA (+35%)
|
||||
|
||||
Cold weather increases both quiescent current and reduces battery capacity.
|
||||
```
|
||||
|
||||
## ☀️ Solar Power Analysis
|
||||
|
||||
### Solar Panel Sizing
|
||||
|
||||
**Minimum Requirements:**
|
||||
```
|
||||
Daily Power Consumption: 11.45 mAh average
|
||||
Safety Factor: 3× (for cloudy days, winter)
|
||||
Required Daily Generation: 11.45 × 3 = 34.35 mAh
|
||||
|
||||
Panel Specifications:
|
||||
- Voltage: 6V (for 3.7V battery + charge controller)
|
||||
- Current: 34.35mAh ÷ 5 hours effective sun = 6.87mA minimum
|
||||
- Power: 6V × 6.87mA =
|
||||
1187
Particle/docs/troubleshooting.md
Normal file
1187
Particle/docs/troubleshooting.md
Normal file
File diff suppressed because it is too large
Load Diff
322
Particle/hardware/wiring-diagram.md
Normal file
322
Particle/hardware/wiring-diagram.md
Normal file
@ -0,0 +1,322 @@
|
||||
# Boron LTE Security Device Wiring Diagram
|
||||
|
||||
## Complete System Wiring
|
||||
|
||||
```
|
||||
┌────────────────────────────────────┐
|
||||
│ PARTICLE BORON LTE │
|
||||
│ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ 3V3 │ │ RST │ │VBAT │ │ GND │ │
|
||||
│ └─────┘ └─────┘ └─────┘ └─────┘ │
|
||||
│ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ A0 │ │ A1 │ │ A2 │ │ A3 │ │
|
||||
│ └─────┘ └─────┘ └─────┘ └─────┘ │
|
||||
│ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ A4 │ │ A5 │ │ SCK │ │MISO │ │
|
||||
│ └─────┘ └─────┘ └─────┘ └─────┘ │
|
||||
│ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │MOSI │ │ D8 │ │ D7 │ │ D6 │ │
|
||||
│ └─────┘ └─────┘ └──┬──┘ └─────┘ │
|
||||
│ │ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ D5 │ │ D4 │ │ D3 │ │ D2 │ │
|
||||
│ └─────┘ └─────┘ └──┬──┘ └──┬──┘ │
|
||||
│ │ │ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ D1 │ │ D0 │ │ TX │ │ RX │ │
|
||||
│ └─────┘ └─────┘ └─────┘ └─────┘ │
|
||||
│ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ GND │ │ GND │ │ VIN │ │ EN │ │
|
||||
│ └──┬──┘ └─────┘ └──┬──┘ └─────┘ │
|
||||
└─────┼─────────────────┼────────────┘
|
||||
│ │
|
||||
│ │
|
||||
┌───────────┼─────────────────┼───────────┐
|
||||
│ │ │ │
|
||||
│ │ │ │
|
||||
┌─────────▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─────────┐
|
||||
│ MICROSWITCH│ │GND│ │VIN│ │ LI-PO │
|
||||
│ NC │ └───┘ └───┘ │ BATTERY │
|
||||
│ ┌───┐ ┌───┐│ │ │
|
||||
│ │COM│ │ NC││ │ 3.7V │
|
||||
│ └─┬─┘ └─┬─┘│ │ 5000mAh+ │
|
||||
└───┼─────┼──┘ └───────────┘
|
||||
│ │ │
|
||||
│ └──────────────────────────────────────────────┘
|
||||
│ │
|
||||
│ │
|
||||
┌────▼────┐ │
|
||||
│ D2 │◄──────────────────────────────────────────────┘
|
||||
│(INPUT) │
|
||||
└─────────┘
|
||||
|
||||
┌─────────────────────────────────────┐
|
||||
│ ALARM CIRCUIT │
|
||||
│ │
|
||||
│ D3 ──┬── 1kΩ ──┬── BASE │
|
||||
│ │ │ (2N2222) │
|
||||
│ GND ┌▼┐ │
|
||||
│ │ │ │
|
||||
│ │▼│ │
|
||||
│ └┬┘ │
|
||||
│ │ │
|
||||
│ │ EMITTER │
|
||||
│ │ │
|
||||
│ GND │
|
||||
│ │
|
||||
│ │ COLLECTOR │
|
||||
│ │ │
|
||||
│ ┌─────▼─────┐ │
|
||||
│ │ SIREN │ │
|
||||
│ │ 12V │ │
|
||||
│ │ 2A MAX │ │
|
||||
│ └─────┬─────┘ │
|
||||
│ │ │
|
||||
│ ┌─────▼─────┐ │
|
||||
│ │ VIN │ │
|
||||
│ │ (3.7-12V)│ │
|
||||
│ └───────────┘ │
|
||||
└─────────────────────────────────────┘
|
||||
|
||||
┌─────────────────────────────┐
|
||||
│ OPTIONAL SOLAR │
|
||||
│ │
|
||||
│ ┌─────────────────────┐ │
|
||||
│ │ SOLAR PANEL │ │
|
||||
│ │ 6V 1W+ │ │
|
||||
│ └──────┬──────────────┘ │
|
||||
│ │ │
|
||||
│ ┌──────▼──────────────┐ │
|
||||
│ │ CHARGE CONTROLLER │ │
|
||||
│ │ (SparkFun Sunny │ │
|
||||
│ │ Buddy) │ │
|
||||
│ └──────┬──────────────┘ │
|
||||
│ │ │
|
||||
│ └───────┬───────────┘
|
||||
│ │
|
||||
└─────────────────┼─────────────
|
||||
│
|
||||
┌──────▼──────┐
|
||||
│ LI-PO │
|
||||
│ BATTERY │
|
||||
│ + JST │
|
||||
│ CONNECTOR │
|
||||
└─────────────┘
|
||||
```
|
||||
|
||||
## Pin Connections Summary
|
||||
|
||||
| Component | Boron Pin | Connection Type | Notes |
|
||||
|-----------|-----------|-----------------|-------|
|
||||
| **Microswitch Common** | D2 | Digital Input (Pullup) | NC switch configuration |
|
||||
| **Microswitch NC** | GND | Ground | Normally closed contact |
|
||||
| **Alarm Control** | D3 | Digital Output | Controls transistor base |
|
||||
| **Status LED** | D7 | Built-in | On-board LED |
|
||||
| **Battery Positive** | VIN | Power Input | 3.7V Li-Po nominal |
|
||||
| **Battery Negative** | GND | Ground | Common ground |
|
||||
|
||||
## Microswitch Detail
|
||||
|
||||
```
|
||||
MICROSWITCH (NC - Normally Closed)
|
||||
|
||||
Normal State (Secured):
|
||||
┌─────────────┐
|
||||
│ │ ● │ ← Actuator pressed
|
||||
│ ──┼─── │
|
||||
│ COM │ NC │
|
||||
│ ● │ ● │
|
||||
└─────┼──┼────┘
|
||||
│ │
|
||||
│ └─── GND (Boron) ──┐
|
||||
│ │
|
||||
└───── D2 (Boron) ────┼─── CLOSED CIRCUIT
|
||||
│ D2 = HIGH (3.3V)
|
||||
┌▼┐
|
||||
│ │ 10kΩ internal pullup
|
||||
│▼│
|
||||
└┬┘
|
||||
│
|
||||
3V3
|
||||
|
||||
Breach State (Triggered):
|
||||
┌─────────────┐
|
||||
│ ● │ ← Actuator released
|
||||
│ │
|
||||
│ COM NC │
|
||||
│ ● ● │ ← OPEN CONTACTS
|
||||
└─────┼───┼───┘
|
||||
│ │
|
||||
│ └─── GND (Boron) ──┐
|
||||
│ │
|
||||
└──── D2 (Boron) ──────┼─── OPEN CIRCUIT
|
||||
│ D2 = LOW (0V via GND)
|
||||
┌▼┐
|
||||
│ │ Current flows to GND
|
||||
│▼│
|
||||
└┬┘
|
||||
│
|
||||
GND
|
||||
```
|
||||
|
||||
## Alarm Driver Circuit Detail
|
||||
|
||||
```
|
||||
TRANSISTOR ALARM DRIVER (NPN 2N2222)
|
||||
|
||||
Alarm OFF (D3 = LOW):
|
||||
|
||||
D3 ──┬── 1kΩ ──┬── BASE = 0V
|
||||
│ │
|
||||
GND ┌▼┐ No base current
|
||||
│ │ Transistor OFF
|
||||
│▼│
|
||||
└┬┘
|
||||
│
|
||||
GND EMITTER = 0V
|
||||
|
||||
│ COLLECTOR = Floating
|
||||
│
|
||||
┌─────▼─────┐
|
||||
│ SIREN │ ← No current flow
|
||||
│ OFF │ SIREN = OFF
|
||||
└─────┬─────┘
|
||||
│
|
||||
VIN (Battery voltage)
|
||||
|
||||
Alarm ON (D3 = HIGH):
|
||||
|
||||
D3 ──┬── 1kΩ ──┬── BASE = 3.3V
|
||||
│ │
|
||||
GND ┌▼┐ Base current flows
|
||||
│ │ Transistor ON
|
||||
│▼│
|
||||
└┬┘
|
||||
│
|
||||
GND EMITTER = 0V
|
||||
|
||||
│ COLLECTOR = ~0V (saturated)
|
||||
│
|
||||
┌─────▼─────┐
|
||||
│ SIREN │ ← Current flows VIN→Siren→Collector
|
||||
│ ON │ SIREN = ON (Full battery voltage)
|
||||
└─────┬─────┘
|
||||
│
|
||||
VIN (Battery voltage)
|
||||
```
|
||||
|
||||
## Power Distribution
|
||||
|
||||
```
|
||||
POWER SYSTEM ARCHITECTURE
|
||||
|
||||
┌─────────────────┐ ┌──────────────────┐
|
||||
│ SOLAR PANEL │ │ LI-PO BATTERY │
|
||||
│ 6V 1W │ │ 3.7V │
|
||||
│ │ │ 5000-10000mAh │
|
||||
└────────┬────────┘ └─────────┬────────┘
|
||||
│ │
|
||||
│ ┌────────▼────────┐
|
||||
└──────────────┤ CHARGE CONTROLLER├─── OPTIONAL
|
||||
│ (Sunny Buddy) │
|
||||
└────────┬────────┘
|
||||
│
|
||||
┌───────────────▼───────────────┐
|
||||
│ BATTERY OUTPUT │
|
||||
│ (JST Connector) │
|
||||
└───────────────┬───────────────┘
|
||||
│
|
||||
┌──────────▼──────────┐
|
||||
│ BORON VIN/GND │
|
||||
│ (Power Input) │
|
||||
└──────────┬──────────┘
|
||||
│
|
||||
┌───────────────▼───────────────┐
|
||||
│ BORON POWER MGMT │
|
||||
│ • 3.3V Logic Supply │
|
||||
│ • Cellular Radio Power │
|
||||
│ • GPIO Power (D3→Alarm) │
|
||||
└───────────────────────────────┘
|
||||
```
|
||||
|
||||
## Component Specifications
|
||||
|
||||
### Microswitch Requirements
|
||||
- **Type**: SPDT (Single Pole, Double Throw) with NC contact
|
||||
- **Voltage Rating**: 12V+ (any standard microswitch)
|
||||
- **Current Rating**: 100mA+ (very low current for digital input)
|
||||
- **Mechanical Life**: 10M+ cycles for reliability
|
||||
- **Mounting**: Panel mount or lever actuated
|
||||
- **Examples**: Cherry D44X, Omron SS-5GL, Honeywell 1SW1-1
|
||||
|
||||
### Alarm Device Options
|
||||
- **Low Power Buzzer**: 3-12V, <100mA (direct drive from D3)
|
||||
- **High Power Siren**: 12V, 500mA-2A (requires transistor driver)
|
||||
- **Strobe Light**: 12V, 200-500mA (requires transistor driver)
|
||||
- **Relay Output**: For AC-powered alarms (requires relay driver)
|
||||
|
||||
### Transistor Driver (for High Power Alarms)
|
||||
- **Type**: NPN switching transistor
|
||||
- **Part**: 2N2222, 2N3904, or similar
|
||||
- **Ratings**:
|
||||
- Collector Current: 500mA+ (for siren load)
|
||||
- Collector-Emitter Voltage: 12V+
|
||||
- Base Current: ~3mA (from D3 via 1kΩ resistor)
|
||||
|
||||
### Battery Specifications
|
||||
- **Chemistry**: Lithium Polymer (Li-Po) or Lithium Ion (Li-Ion)
|
||||
- **Voltage**: 3.7V nominal (4.2V max, 3.0V min)
|
||||
- **Capacity**: 5000-10000mAh for 2+ year operation
|
||||
- **Connector**: JST or similar for easy replacement
|
||||
- **Protection**: Built-in protection circuit recommended
|
||||
- **Temperature Range**: -10°C to +60°C for outdoor use
|
||||
|
||||
### Solar Panel (Optional)
|
||||
- **Voltage**: 6V (to charge 3.7V battery via controller)
|
||||
- **Power**: 1W minimum, 2W+ recommended for northern climates
|
||||
- **Type**: Monocrystalline for efficiency
|
||||
- **Weather Rating**: IP65+ for outdoor installation
|
||||
- **Charge Controller**: Required to prevent overcharge
|
||||
- SparkFun Sunny Buddy
|
||||
- Adafruit Universal USB/Solar Lithium Ion/Polymer charger
|
||||
- Similar MPPT solar charge controller
|
||||
|
||||
## Installation Notes
|
||||
|
||||
### 1. Microswitch Mounting
|
||||
- Mount securely to door/window frame
|
||||
- Ensure proper gap (1-2mm) when closed
|
||||
- Test mechanical operation before wiring
|
||||
- Consider vibration and weather exposure
|
||||
|
||||
### 2. Alarm Device Placement
|
||||
- Position for maximum deterrent effect
|
||||
- Protect from weather if outdoor installation
|
||||
- Ensure adequate power capacity (check battery drain)
|
||||
- Test audibility at intended range
|
||||
|
||||
### 3. Enclosure Requirements
|
||||
- **Rating**: IP65+ for outdoor use
|
||||
- **Size**: Accommodate Boron + battery + connections
|
||||
- **Access**: Serviceable battery compartment
|
||||
- **Mounting**: Secure mounting points
|
||||
- **Ventilation**: Battery safety (avoid gas buildup)
|
||||
|
||||
### 4. Power System
|
||||
- Use proper JST connectors for battery
|
||||
- Include inline fuse (2A) for protection
|
||||
- Secure all connections against vibration
|
||||
- Label positive/negative clearly
|
||||
- Test polarity before connecting
|
||||
|
||||
### 5. Testing Procedure
|
||||
1. **Bench Test**: Verify all connections with multimeter
|
||||
2. **Power Test**: Check current consumption in sleep mode
|
||||
3. **Function Test**: Trigger microswitch, verify alarm
|
||||
4. **Range Test**: Verify cellular signal at installation site
|
||||
5. **Endurance Test**: 24-hour operation test before deployment
|
||||
0
Server/docs/architecture.md
Normal file
0
Server/docs/architecture.md
Normal file
0
Server/docs/production-deployment.md
Normal file
0
Server/docs/production-deployment.md
Normal file
Reference in New Issue
Block a user