PDA

View Full Version : DIY stompbox geheugen



Tiddo
28 juni 2011, 23:59
Hallo allemaal,

Ik ben bezig om zelf een schakelbox voor al mn pedaaltjes in elkaar te knutselen. Ik wil hier een geheugen in plaatsen die pre-sets kan onthouden, ook als de stroom er af gehaald wordt. Nu heb ik alleen totaal geen verstand van zulke onderdelen. Ik heb (volgens mij) een chip nodig die de stand van schakelaars kan opslaan en uitlezen. Schakelaars kunnen alleen aan of uit staan, dus dit moet niet zo'n probleem zijn. Alleen weet ik dus totaal niet wat voor chip ik daarvoor nodig heb. Kan iemand me hierbij helpen?

Groetjes
Tiddo

bass blom
29 juni 2011, 00:05
stoer zeg, succes!

snaarplukker
29 juni 2011, 00:38
Ik denk een geheugenchip.:soinnocent:

Tiddo
29 juni 2011, 02:35
Haha dat had ik zelf ook nog wel bedacht:P Alleen wat voor enzo? Ik hoef maar n paar ééntjes en nulletjes op te slaan, en het moet ook zonder stroom opgeslagen blijven. Meeste geheugenchips zijn te ingewikkeld voor dit doel. Wil het zo simpel mogelijk houden:P

Dirk_Hendrik
29 juni 2011, 08:01
Er is een oude pearl switcher die dit kan. Vijf presets die kunnen worden opgeslagen. Elke preset is een adres en de setting van de 5 of 5 loops is de data die wordt opgeslagen. Gebruikt een 16k SRAM waarvan dus 25 buts worden gebruikt.

Werkt maar een simpele PIC of Atmel AVR kan dit sneller, gemakkelijker en goedkoper.

Tiddo
29 juni 2011, 09:54
Maar is een PIC of Atmel AVR geen overkill? Ik heb overigens geen ervaring met microcontrollers enzo (wel met programmeren), is dit erg veel werk om te leren?
Ik zat zelf ook te denken aan een CPLD (ook geen ervaring mee helaas). Wat is denk je meer aan te raden?


edit: Oja dan nog iets, hebben microcontrollers ook niet-vluchtig geheugen ingebouwd?

Comfortably Daniel
29 juni 2011, 10:41
De Carl Martin Combinator slaat ook je presets op, maar geen idee wat voor chip erin zit :soinnocent:

interessander
29 juni 2011, 10:57
Er is een oude pearl switcher die dit kan. Vijf presets die kunnen worden opgeslagen. Elke preset is een adres en de setting van de 5 of 5 loops is de data die wordt opgeslagen. Gebruikt een 16k SRAM waarvan dus 25 buts worden gebruikt.

Werkt maar een simpele PIC of Atmel AVR kan dit sneller, gemakkelijker en goedkoper.

Is dat dezelfde als de Arion van mij die je nog eens onder handen genomen hebt?

http://img.photobucket.com/albums/v259/interessander/Arion-1.jpg

interessander
29 juni 2011, 12:52
Voor de volledigheid, de Arion was door D-H zo gemodificeerd dat de 4e loop (d) geen loop meer was maar een latching channel switch voor mijn versterker. Zo kon ik 5 verschillende presets programmeren met daarin keuze uit combinaties van 3 verschillende loops en clean of lead op mijn versterker.
Hierna ben ik op een rack multieffect overgestapt en nu heb ik een rack switcher en een midi floorboard dus toen werd de Arion overbodig.
Toch was dit ding wel erg handig als je allen maar een paar pedalen hebt en deze in vaste configuraties wil programmeren.

Dirk_Hendrik
29 juni 2011, 12:53
Is dat dezelfde als de Arion van mij die je nog eens onder handen genomen hebt?

http://img.photobucket.com/albums/v259/interessander/Arion-1.jpg
Ik dacht dat het een Pearl was. Niet dus. Deze bedoelde ik idd. Thanks

Buzzel
29 juni 2011, 12:53
http://b2a.vn/uploads/shops/2011_03/hdd-seagate_160gb_sata.jpg

Hier passen bergen pre-sets op :seriousf:

Nee even serieus. succes :P ik snap helemaal niks van al die dingen.

flo123
29 juni 2011, 13:29
Een (kleine) PIC heeft "non volatile" geheugen om preset variabelen in op te slaan:

http://protonbasic.co.uk/forum/showthread.php?t=525
Q:
"Is it possible to store the value of variables within the PIC which will hold their value when the power is removed."
A:
"YES you can save variables into non-volatile memory on PIC's which have their own EEProm addresses.
The 16F84 is such an example.
... There is a limited life for such usage, but it is fairly long.
You may wish to limit the number of reads and writes by only saving when necessary, otherwise use RAM."

en:
http://www.1337robotics.com/Advanced%20PIC%20Programming.doc
"5. EEPROM
Variables in a PIC are stored in Random Access Memory (RAM), while code is stored in Read Only Memory (ROM). This has the problem that when the device is switched off, all variable values are lost. The cannot be stored in the ROM because this may only be altered when the device is being programmed. The PIC contains a third form of memory, however: Eletrically Erasable Programmable Read Only Memory – EEPROM. This may be used to store variables even when the device has no power. It is, however, much slower than RAM, and so should not be used as general storage. It may take several milliseconds to write a variable to EEPROM. Data is written using write_eeprom(address, value), and read using read_eeprom(address). Address is a number in the range 0..255, which specifies where in the EEPROM to store the data. It is up to you to keep track of which variable is stored where. Note that there are only 256 bytes of EEPROM available, so storage is limited."

JER00N
1 juli 2011, 13:02
Je moet het idd met een microcontroller doen (Microchip PIC's en Atmel AVR's zijn populair bij hobbyisten). Die microcontroller moet dan wel EEPROM aan boord hebben, non-volatile geheugen is dat. De meeste microcontrollers hebben dat tegenwoordig wel maar niet allemaal, let daar dus op. Daarnaast moet je een programmer hebben om de microcontroller te programmeren met je PC, meestal kost zoiets 50 euro (voor PIC's heb je de Pickit2 of Pickit3 bijvoorbeeld). Daarnaast heb je programmeerkennis nodig, afhankelijk van welke IDE je gaat gebruiken is dat meestal C, of een BASIC-achtige taal.

Het is wel te doen maar waarschijnlijk ben je wel ff bezig omdat je eerst nog een hoop moet leren :P

Een CPLD is hier niet echt handig voor, dat is iets totaal anders... hebben ook geen EEPROM (volgens mij). Met extern EEPROM zou het misschien wel kunnen maar dan wordt het nodeloos ingewikkeld.

Ik ben zelf al een tijd bezig om ook een soortgelijk ding te bouwen, maar dan met meer loops, 19" en MIDI-bestuurd, gewoon een racklooper/switcher dus eigenlijk.

Een simpele PIC zoals de 16F628A zou je hiervoor kunnen gebruiken. De 16F84 die hierboven genoemd wordt is nogal bejaard.

Tiddo
1 juli 2011, 19:28
Tx, dit is echt heel erg bruikbaar! vooral omdat ik nu weet welke spullen ik kan gebruiken. Het programmeren is overigens geen enkel probleem voor mij, daar ben ik al de nodige jaren mee bezig, weet ook alles over pointers en multiple inheritance enzo, dus dat moet wel goed komen;)

Overigens, heb je misn ook nog een link ofso waar uitgelegd staat hoe de communicatie tussen de chip en de rest van de schakeling werkt? Er moeten zeker getimede binaire signalen gestuurd/ontvangen worden naar/van de chip?

JER00N
1 juli 2011, 22:37
Nou ja, basically kan je in de software van de microcontroller bepalen of een pinnetje een ingang of een uitgang is, en als het een uitgang is, of die hoog ('aan') of laag ('uit') moet zijn. Simpel gezegd moet je dus de pinnetjes uitlezen waarop je schakelaars zitten aangesloten, die stand opslaan in het eeprom-geheugen. Als je vervolgens een preset kiest moet de bijbehorende data weer uit het eeprom gelezen worden en op een aantal uitgangen van de microcontroller gezet worden. Op die uitgangen zitten dan waarschijnlijk relays die de verschillende pedalen-loops schakelen. :)

flo123
1 juli 2011, 23:20
Ter informatie een aantal linkjes:
Rack loopers
http://www.newtone-online.nl/forum/index.php/topic,1869.0.html
looper met relais
http://www.newtone-online.nl/forum/index.php/topic,4989.0.html
Programmable FX Switcher - analoog programmeerbare FX-loop-switcher bouwverslag - Nop
http://www.newtone-online.nl/forum/index.php/topic,3591.0.html
channel strip / switch looper: iig .. hulp gezocht
http://www.newtone-online.nl/forum/index.php/topic,3544.0.html
Programmable FX Switcher with Amp Controls
http://www.geofex.com/article_folders/fxswitchr/fxswitchr.htm
The Looper
http://www.jimkim.de/html/guitar02_01.htm
FX Switcher Project
http://www.diystompboxes.com/smfforum/index.php?topic=56264.0

Tiddo
2 juli 2011, 02:17
@JER00N Ohhh, dus ik hoef geen rekening te houden met kloksnelheden enzo? Ik was namelijk al bang dat ik binaire signalen op kloksnelheid enzo moest aanvoeren, maar ik hoef dus per pinnetje alleen maar een hoog of een laag signaal te sturen. Dat versimpeld de boel een hoop voor mij!
Tx iig voor jullie feedback allemaal!