stabilisatie: update some more
All checks were successful
generate pdf files / build (push) Successful in 2m14s

This commit is contained in:
Laila van Reenen 2025-06-12 15:45:11 +02:00
parent ada885c54f
commit 53b8cbe7d4
Signed by: LailaTheElf
GPG Key ID: 8A3EF0226518C12D
3 changed files with 182 additions and 152 deletions

View File

@ -92,155 +92,3 @@ Het ontwerpen van het schema is gedaan in KiCAD.
- PCB besteld bij JLCPCB
- zelf soldeeren in SMD lab
## testen
### voedingen
#### benodigdheden
- 12V voeding
#### procedure
1. snel de voeding in op 12V met een stroom berensing van 50 mA
2. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
3. meet de uitgangen van de twee voedingen, vul de tabel hieronder in
| | $5V$ | $12V$ |
| -------- | ------:| -------:|
| minimaal | $4.5V$ | $11.5V$ |
| maximaal | $5.5V$ | $12.5V$ |
| gemeeten | | |
Geslaagd:
opmergingen:
### microcontroller
#### benodigdheden
- 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
- ledje met bijhoren de weerstand voor 3.3V
#### procedure
1. sluit een ledje aan op een van de GPIO pinnen
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een blinky voorbeeld progamma met de GPIO ingesteld van de led
6. bekijk of het lidje knipperd
Geslaagd:
opmergingen:
### half brug
#### benodigdheden
- als de microcontoller werkt:
- 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding
- 30V voor V Motor
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
- ocsiloscoop
- zo niet:
- 10V voor V motor
- signaal generator met twee kanalen
- ocsioscoop
#### procedure
1. sluit de ociloscoop aan op een van de uitgangen van de drijver (er komt 30V op te staan, beruik de juiste probe; geen juiste probe bij de hand, zelt de voeding voor V motor wa lager)
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een test progamma die de PWM aansuurt voor de FET's
- de PWM per half bridge zijn aangesloten op de a en b uitganen van 1 timer per half brug. zorg dat een van de uitput geinverteerd is en de twee vergeleijk waardes zo zijn zodat er een korte dead time is. ze mogen nooit tegerlijk hoog zijn!
6. bekijk het signaal op de osciloscoop
7. herhaal de test voor alle drie de half bruggen
resultaat:
- brug a:
- brug b:
- brug c:
opmerkingen:
### IMU
#### benodigdheden
- een microcontroller met I2C (kan de motoro driver zelf zijn)
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de IMU aan op de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een blinky voorbeeld progamma met de GPIO ingesteld van de led
6. bekijk de serial plotter terwel je de IMU draait.
Geslaagd:
opmergingen:
### stroom meting
#### benodigdheden
- 12V voeding (of 5V bij beperking van beschikbaare voedingen)
- voeding die 50A kan leveren (of zoveel mogenlijk) voor V motor
- bij voorkeur een load die de $50A_{DC}$ kan op nemen, ander kan de uitgang korgesloten worden als de voeding dat toestaat.
- multimeter
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de load aan op deen van de uitgangen van de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een programma die alle high side fet's dicht zet en de low side fet's open
6. sluit de voeding voor V motor aan
7. meet uitgang van de stroom meeting
8. zet de v motor voeding uit en verlaats de load naar een andere uitgang
9. zet de voeding weer aan en meet de stoom meting
10. herhaal dit voor de laaste uitgang
TODO: add meet table
Geslaagd:
opmergingen:
### encoder
#### benodigdheden
- een microcontroller met I2C (kan de motoro driver zelf zijn)
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de Encoder aan op de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een voorbeeld progamma voor de encoder.
6. bekijk de serial plotter terwel je de magneer van de encoder draait
Geslaagd:
opmergingen:

View File

@ -0,0 +1,30 @@
# Softwareontwerp Sabilisatie
## inleiding
## FoC library
In C zijn er niet veel librarys voor FOC, de enige goede library die we hebben
gevonden is [SimpleFOCproject](https://www.simplefoc.com/). Dit komt er in
debuurd van een framework. In de video van de homepagina worden een aantal
gemeenschaps projecten laten zien, waarvan meerdere een reactiewiel voor
sabilisatie laat zien. Dit belooft veel goeds, toch is er gekozen om een andere
library te kiezen. Het goed implementeren van een regel kring met de IMU vraagd
veel kennis van hoe dit 'framework' werkt. Onze implementatie is niet exact het
zelfde als die van deze gemeenschaps projecten. Wij hebben dus de kennis nogdig
om deze code aan te passen.
Er is gekozen om te werken met de [Rust library FOC](https://lib.rs/crates/foc).
Deze library is alleen een implementatie voor het FOC algaritme, wadoor er meer
flexibilitijd is hoe het systeem verder werkt. Dit kan dus ook verder
geoptimaliseerd worden en meer ge configureerd. dat tweede is de grootste reden
warom voor deze library is gekozen. Er is behoefte aan een systeem dat aangepast
kan worden naar wat later beter blijkt te zijn.
## Rust op RP2040
[RTOS verhaaltje](https://youtu.be/x7LQevYn7d0?si=W1sdbFhaTo1IcQcp&t=2765)
- een RTOS of asyn voor microcontrollers is nog niet af, https://www.youtube.com/watch?v=H7NtzyP9q8E

View File

@ -0,0 +1,152 @@
## testen
### voedingen
#### benodigdheden
- 12V voeding
#### procedure
1. snel de voeding in op 12V met een stroom berensing van 50 mA
2. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
3. meet de uitgangen van de twee voedingen, vul de tabel hieronder in
| | $5V$ | $12V$ |
| -------- | ------:| -------:|
| minimaal | $4.5V$ | $11.5V$ |
| maximaal | $5.5V$ | $12.5V$ |
| gemeeten | | |
Geslaagd:
opmergingen:
### microcontroller
#### benodigdheden
- 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
- ledje met bijhoren de weerstand voor 3.3V
#### procedure
1. sluit een ledje aan op een van de GPIO pinnen
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een blinky voorbeeld progamma met de GPIO ingesteld van de led
6. bekijk of het lidje knipperd
Geslaagd:
opmergingen:
### half brug
#### benodigdheden
- als de microcontoller werkt:
- 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding
- 30V voor V Motor
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
- ocsiloscoop
- zo niet:
- 10V voor V motor
- signaal generator met twee kanalen
- ocsioscoop
#### procedure
1. sluit de ociloscoop aan op een van de uitgangen van de drijver (er komt 30V op te staan, beruik de juiste probe; geen juiste probe bij de hand, zelt de voeding voor V motor wa lager)
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een test progamma die de PWM aansuurt voor de FET's
- de PWM per half bridge zijn aangesloten op de a en b uitganen van 1 timer per half brug. zorg dat een van de uitput geinverteerd is en de twee vergeleijk waardes zo zijn zodat er een korte dead time is. ze mogen nooit tegerlijk hoog zijn!
6. bekijk het signaal op de osciloscoop
7. herhaal de test voor alle drie de half bruggen
resultaat:
- brug a:
- brug b:
- brug c:
opmerkingen:
### IMU
#### benodigdheden
- een microcontroller met I2C (kan de motoro driver zelf zijn)
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de IMU aan op de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een blinky voorbeeld progamma met de GPIO ingesteld van de led
6. bekijk de serial plotter terwel je de IMU draait.
Geslaagd:
opmergingen:
### stroom meting
#### benodigdheden
- 12V voeding (of 5V bij beperking van beschikbaare voedingen)
- voeding die 50A kan leveren (of zoveel mogenlijk) voor V motor
- bij voorkeur een load die de $50A_{DC}$ kan op nemen, ander kan de uitgang korgesloten worden als de voeding dat toestaat.
- multimeter
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de load aan op deen van de uitgangen van de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een programma die alle high side fet's dicht zet en de low side fet's open
6. sluit de voeding voor V motor aan
7. meet uitgang van de stroom meeting
8. zet de v motor voeding uit en verlaats de load naar een andere uitgang
9. zet de voeding weer aan en meet de stoom meting
10. herhaal dit voor de laaste uitgang
TODO: add meet table
Geslaagd:
opmergingen:
### encoder
#### benodigdheden
- een microcontroller met I2C (kan de motoro driver zelf zijn)
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de Encoder aan op de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een voorbeeld progamma voor de encoder.
6. bekijk de serial plotter terwel je de magneer van de encoder draait
Geslaagd:
opmergingen: