Compare commits

...

2 commits

Author SHA1 Message Date
Stephan I. Böttcher
acb6394e06 maxima: resolve unit orientation from sensor data 2025-04-18 17:49:32 +02:00
Stephan I. Böttcher
5175991884 gerber: make bom.txt 2025-04-18 17:48:32 +02:00
3 changed files with 58 additions and 20 deletions

View file

@ -23,7 +23,7 @@ zip: $(PROJ)_$(VERSION).zip
%.plated-drill.cnc: ../%.pcb
pcb -x gerber --gerberfile $* --name-style single $<
bom: $(PROJ)_bom.pdf
bom: $(PROJ)_bom.pdf $(PROJ)_bom.txt
%.bom: ../%.pcb
pcb -x bom --bomfile $@ $<

View file

@ -1,28 +1,22 @@
# PcbBOM Version 1.0
# Date: Di 23 Jan 2024 21:54:16 GMT UTC
# Date: So 05 Jan 2025 09:50:49 GMT UTC
# Author:
# Title: UPDI232 - PCB BOM
# Title: SETHAT - PCB BOM
# Quantity, Description, Value, RefDes
# --------------------------------------------
C0603 -BYP_100nF 1/1 C30
C0603 -SD:_10kΩ 1/1 R30
C0603 0Ω 1/1 R21
C0603 100kΩ 5/5 R1 R12 R15 R17 R18
C0603 100nF 9/9 C1 C11 C12 C2 C3 C4 C5 C6 C7
C0603 100Ω 1/1 R33
C0603 10kΩ 9/9 R10 R11 R14 R2 R3 R4 R5 R6 R7
C0603 100nF 7/7 C1 C11 C13 C14 C15 C50 C51
C0603 10kΩ 3/3 R1 R2 R52
C0603 120kΩ 1/1 R32
C0603 1MΩ 2/2 R13 R16
C0603 270kΩ 1/1 R31
C0603 ∞Ω 1/1 R20
HE_100mil_2_2 unknown 2/2 J2 J30
HE_100mil_6_2 unknown 1/1 J1
P1206 10µF 3/3 C13 C31 C8
SC70_6 BC847S 3/3 Q2 Q3 Q4
SOD123 12V 1/1 D8
SOD523 1N4148 7/7 D1 D2 D3 D4 D5 D6 D7
SOIC_150_16 MAX3232EIDR 1/1 U1
SOT23_3 BSS84 1/1 Q1
C0603 130kΩ 1/1 R31
C0603 18kΩ 2/2 R50 R51
C0805 NTC_10k 1/1 R53
HE_100mil_10_2 unknown 1/1 J3
LGA_2_12 LIS3MDL 1/1 U2
LGA_3_16 LIS3DH 1/1 U1
P1206 10µF 6/6 C16 C17 C18 C19 C20 C21
SOT23_5 LT1761-SD_/_-BYP 1/1 U30
SUBD9_F D9_fem_90°_backs 1/1 CONN1
SUBD9_F D9_female_90°_ba 1/1 CONN1
SUBD9_M D9_male_90°_back 1/1 CONN2
gseboard unknown 1/1 BOARD

44
maxima/sethat.maxima Normal file
View file

@ -0,0 +1,44 @@
Rz: matrix([cos(alpha), -sin(alpha), 0],
[sin(alpha), cos(alpha), 0],
[0, 0, 1]);
Rx: matrix([1, 0, 0 ],
[0, cos(alpha), sin(alpha)],
[0, -sin(alpha), cos(alpha)]);
RA: ev(Rz, alpha=-psi) . ev(Rx, alpha=theta) . ev(Rz, alpha=psi);
RM: ev(Rz, alpha=-phi) . ev(Rx, alpha=delta);
RAM: RA . ev(Rz, alpha=-phi);
Z: matrix([0], [0], [1]);
A: matrix([Ax], [Ay], [Az]);
M: matrix([Mx], [My], [Mz]);
N: matrix([Nx], [Ny], [Nz]);
EA: A = g * RA . Z;
EM: M = b * RA . RM . Z;
EN: N = b * RM . Z;
SA: [ g = sqrt(Ax**2 + Ay**2 + Az**2),
theta = atan2(sqrt(Ax**2 + Ay**2), Az),
psi = atan2(Ax, Ay) ];
EA, SA;
SN: [ b = sqrt(Nx**2 + Ny**2 + Nz**2),
delta = atan2(sqrt(Nx**2 + Ny**2), Nz),
phi = atan2(Nx, Ny) ];
EN, SN;
R: RA . RM;
RRA: trigsimp(RA^^-1);
RRM: trigsimp(RM^^-1);
RRAM: trigsimp(RAM^^-1);
RR: trigsimp(R^^-1);
NN : RRA . M;
NM: [ Nx = args(NN)[1][1],
Ny = args(NN)[2][1],
Nz = args(NN)[3][1] ];
SM: trigsimp(ev(SN, NM));
SMA: SM, SA, ratsimp;
RRA . A, SA, ratsimp;
RRM . N, SN, ratsimp;
RRAM . A, SMA, SA, ratsimp;
RR . M, SMA, SA, ratsimp;