sensor status oplsaan

Arduino specifieke Software
Berichten: 4
Geregistreerd: 09 Mrt 2020, 19:50

sensor status oplsaan

Berichtdoor Winterwhise » 09 Mrt 2020, 20:08

Hey allemaal,

Voor een klein projectje wat ik aan het doen ben wil ik de volume knop van mijn oude versterken digitaal maken door middel van een arduino.

dit wil ik doen doormiddel van de analoge potentiemeter te vervangen voor een digitale, deze kan ik dan via een rotary encoder bijwerken zodat de weerstand omhoog en omlaag gaat.

echter omdat ik de knop 360 graden wil kunnen blijven draaien is het handig dat dit een encoder is die een relative waarde heeft.

dan kom ik bij het volgende punt. als ik de versterker uit zet (ik heb het hier niet over standby...) wil ik dat mijn gegevens bewaard blijven.
natuurlijk kan ik dit doen doormiddel van de gegevens in de EEPROM te programmeren... echter zitten hier een aantal nadelen aan

1. ik kan maar een maximaal aantal keer het volume regelen.. daarna doet ie het niet meer
2. de chip kan maar een 10 jaar mee (ongeveer)

dus tijd om een andere oplossing te bedenken.. ik bedoel een oude sony versterker van het jaar 2005 gaat ondertussen toch ook 15 jaar lang mee?

ik kwam bij het volgende uit, om wel een soort EEPROM te gebruiken (geheugen wat zich niet reset bij het uitgaan van de arduino) had ik het idee om een (micro)SD te gebruiken, gewoon omdat dit makkelijker is dan een ROM chip o.i.d.... echter heb ik weer een idee in mijn hoofd waarvan ik het niet weet of hem mogelijk is.

een data-log programma is een klein programma welke alle data van een sensor of input op kan slaan, echter zal deze data zich altijd op blijven hopen.. om een SD kaart van 8gb te vullen duurt wel een tijdje maar dat houd niet tegen dat het lezen van het bestand ook telkens langer zal gaan duren.

op het moment dat de versterker (en arduino) weer stroom krijgen zal deze eerst moeten "initialeren" of ter wel, de data van de SD kaart moeten lezen. als dit 1..2..misschien 10 regels zijn duurt dit een aantal seconden. dat is nog te overzien. echter als ik drie jaar lang mijn versterker iedere dag gebruik... wordt dit met een reguliere datalogger steeds langer.

dus ik bedacht het volgende "iedere keer als het volume gewijzigd wordt word dit opgeslagen, zodra het volume 10 seconden op het zelfde niveau staat wordt een een nieuw bestand gemaakt met als eerste waarde de nieuwe geluids stand" echter krijg je dan op ten duur ook een bestandsnaam als volume30000000.txt ofzo.

ik vraag me af of dit niet makkelijker is op te lossen. het doel?

ik wil de laatst gemeten waarde van mijn volume knop (rotary encoder) opslaan, zodra de arduino gereset wordt moet deze waarde terug gevonden kunnen worden. dit allemaal moet gebeuren op een medium wat een "oneindige" levensduur heeft.

iemand die een oplossing heeft?

groeten!

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: sensor status oplsaan

Berichtdoor Koepel » 09 Mrt 2020, 23:37

De EEPROM en de SD-kaart gebruiken ongeveer dezelfde techniek. Wanneer je een file systeem gebruikt, dan wordt dat iedere keer geupdate. Dus steeds een nieuw bestand helpt dan niet.

Stel je wilt dat de EEPROM 30 jaar goed blijft werken.
Een Arduino Uno kan 100k keer naar EEPROM schrijven.
Dan is dat ongeveer 10 keer per dag.

Om heel vaak naar geheugen te schrijven bestaat er FRAM.
https://www.adafruit.com/product/1895
Die zijn er met I2C en SPI interface.

Berichten: 4
Geregistreerd: 09 Mrt 2020, 19:50

Re: sensor status oplsaan

Berichtdoor Winterwhise » 10 Mrt 2020, 00:12

super bedankt voor de reactie!

heb ergens op de engelse arduino site een record gevonden over een 1-line update script..

dan is alleen de vraag nog of ik fram of SD wil gebruiken. in weze maakt het neit echt heel veel verschil volgens mijn.

groeten

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: sensor status oplsaan

Berichtdoor Koepel » 10 Mrt 2020, 00:40

De EEPROM en de SD kaart werken op dezelfde manier, een FRAM is heel wat anders.

Als je op de SD kaart een bestand schrijft dan worden ook de tabellen voor FAT16 of FAT32 geschreven. Dat wordt dus heel vaak overschreven. Een SD kaartje kan vaak ook 100k maal geschreven worden. Er zit binnenin wel een processor die het verdeelt over het geheugen, maar als de specificatie zegt dat er 100k geschreven kan worden, ga daar dan maar van uit.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 16 gasten