BeneluxSpoor.net forum
Vraag en antwoord => Digitaal => Topic gestart door: dickkoning op 03 February 2017, 17:48:27
-
hallo
ik ben in het bezit van een Fleischmann draaischijf die ik wil gaan digitaliseren
Daarvoor zijn commerciële producten op de markt die prijzig en soms ook erg gecompliceerd zijn
Ik begrijp niet zo goed wat er nu zo ingewikkeld is aan het digitaal aansturen van een draaischijf
Dit is het basis opzetje van mij project
(https://images.beneluxspoor.net/bnls/draaischijf_5_1.jpg) (https://images.beneluxspoor.net/bnls/draaischijf_5_1.jpg)
is het conventionele aansluit schema
Voor DCC het je een interface nodig. Dit moet met een arduino te realiseren zijn
ik stel me een DCC commando voor als : "draai 3 stappen van 7,5 graad links " oid , moet ik uitzoeken
als je de tijd per stap van 7,5 graad weet, weet je gelijk hoe lang de schijf moet roteren
de schakelaar van fleischmann zou je door een relais schakeling kunnen vervangen
als je dan het relais ongeveer lang genoeg bekrachtigd moet de schijf gaan draaien, het relais valt dan in de buurt van het juiste spoor af en de mechanica stopt de brug op exact de goede plaats.
Wat is mijn denkfout want als je dit als uitgangspunt gebruikt is het eigenlijk vrij simpel te realiseren
Dick
-
Ga dit volgen. :)
-
Ik ook. Heb in mijn baan ook deze draaischijf liggen (bediend met de bekende ronde schakelaar). Digitaal zou mooier zijn maar inderdaad wel erg prijzig met de regulier verkrijgbare modules.
-
iemand anders heeft ook al met dit idee gespeeld
http://usuaris.tinet.cat/fmco/download/TT-F9152_manual.pdf (http://usuaris.tinet.cat/fmco/download/TT-F9152_manual.pdf)
is gebaseerd op een ander type microprocessor, en marklin commando's
-
Hallo
Ga maar eens op deze site neuzen
https://www.digital-bahn.de/bau_ds2010/dsd2010_konzept.htm (https://www.digital-bahn.de/bau_ds2010/dsd2010_konzept.htm)
alles staat uitgelegd hoe te doen inclusief software. Wel Duitstalig.
als je vragen heb hoor ik het wel. heb al andere decoders van deze site gebruikt.
groeten ronald
-
Ik begrijp niet zo goed wat er nu zo ingewikkeld is aan het digitaal aansturen van een draaischijf
Ik ook niet, 14 jaar geleden al gedaan met een Gert Boll decoder van een paar tientjes. en het draait nog steeds. Hier versneld weer gegeven:
https://www.youtube.com/v/rUREfntbhGA
Gr, Ben. ;)
-
Dick,
Geen idee gaat 'mank' op de verderstelling "als je de snelheid weet'. Deze kan je natuurlijk ze best mogelijk benaderen maar de brug draait nooit mooi eenparig rond. Bedenkt dat het positioneren van de brug nauwkeurig moet zijn. 1 mm ernaast is teveel. Er zal iets van terug koppeling moeten. Alle systemen hebben dat.
-
ik stel me een DCC commando voor als : "draai 3 stappen van 7,5 graad links " oid , moet ik uitzoeken
Zorg ervoor dat je Draai15 ondersteund, dan kan Koploper en RocRail ermee overweg.
Ga niet zelf wat bedenken....
BTW, mijn oplossing.....
http://members.home.nl/robert.evers/draaischijf.htm
Mvg
Robert
-
Hallo Dick,
ik heb mijn draaischijf in de laatste maanden digitaal gemaakt met een commercieel product, zoals jij dat noemt.
Het was een hele klus. Maar ik was dan ook wel van plan om de draaischijf op te nemen in het geautomatiseerd bedrijf met behulp van RocRail.
Ik ben er in totaal drie maanden mee bezig geweest en heb er veel vrije tijd in gestoken. Het draait nu redelijk.
Waar ik mijn twijfels heb bij het werken met een relais etc. is de justering en de fixatie van de draaischijf ten opzichte van de sporen. De FLM draaischijf werkt met een motor en een tandwieloverbrenging. Er is geen mechanische borging die, als de draaischijf bijna goed staat, hem op de juiste positie borgt. En met een verschil van een halve millimeter heb je al een probleem.
De DSD2010 die ik heb gebruikt werkt met miliseconden en een optische controle van het tandwiel. Zo weet de computer altijd waar de draaischijf is en zorgt ervoor dat de sporen 100% in uitgelijnd.
Voor het automatische bedrijf moest de draaischijf worden opgenomen in RocRail. Nou dat was ook een hele operatie ondanks dat het goed gedocumenteerd was. Terugmelders op de brug zodat de computer weet waar de loc is.
Voor een fimpje van het vol-automatisch bedrijf: https://www.youtube.com/watch?v=TN_uChfjZwk&feature=youtu.be
succes
Groet, Rob
-
Die mechanische borging is er toch juist wel, hoe krijg je dat anders met die analoge schakelaar voor mekaar? Je geeft een klikje naar rechts en het ding blijft draaien tot ie bij de eerste klik is.
-
@ robert
ik ben als eerste begonnen met studeren op de dcc interface. doel is tenslotte besturen vanuit rocrail in mijn geval
erg veel en verwarrende informatie beschikbaar
Ik begrijp dat het draai 15 protocol gebaseerd is op functiedecoders
Dat is wel te emuleren met een arduino heeft ruud boer mooi beschreven) maar heeft iemand een beschrijving van het protocol ?
@ ben
gaaf, wat is dat voor decoder
-
hallo ingenium
In de draaischijf zit een mechaniek met een pal. zolang jij de schakelaar stuur blijf de pal ingetrokken. laat jij de schakelaar los , dan valt op een gegeven moment de pal in een gat. Met in dat gat vallen van de pal stop de motor, en staat de draaischijf precies goed voor een spoor. Maar als je de draaischijf er verkeert in zet stop de schijf ook op de verkeerde plek.
Als je goed kijkt op de site die ik zo juist heb geplaatst en de eerste plaatje kijkt zie je de mechaniek van de onderkant. Fleischmann draaischijf.
Als het tand wiel 1/4 slag draait ( van grote tandwiel links ) is de draaischijf 1 spoor veder. Je ziet 4 inhammen in het tandwiel. Tandwiel 1 keer rond is de draaischijf 4 sporen verder. Boven op de foto zie je de pal zitten stukje meetaal. Die wordt weer aangetrokken door de rode spoel recht op de foto. De pal stuurt dus ook een schakelaar voor de motor.
Heb wel eens gehad dat de motor ging draaien en de pal niet werd weg getrokken. Dan moet je snel wezen. Dat was ik dus niet. Motor doorgebrand. Schakelaar werkte niet goed. 45 euro lichter.
groeten ronald
-
Maar hij is dus in principe wel te indexeren. Met arduino is dat dan toch ook te combineren, dat je het commando mee geeft om die pal te lichten.
Dat van de brug verkeerd plaatsen, het is mij bekend, ik heb zo'n schijf nog oningebouwd liggen. Daarom vind ik dit draadje ook interessant.
-
Kwa protocol, neem aan Draai15 protocol
Met deze settings in Koploper (zal in RocRail niet anders zijn....)
(https://images.beneluxspoor.net/bnls/ScreenShot011_1.jpg) (https://images.beneluxspoor.net/bnls/ScreenShot011_1.jpg)
Ontvangen DCC waarde op ingestelde adres
0..4 Spoor waar je heen moet ge-orred (je krijgt meerdere commando's achter elkaar voor spoor waar je heen wilt)
Code technisch zoiets als voorbeeld
/* Determine the new track target depending on received value */
switch (u8RecInfo)
{
case 0:
/* Reset new track target */
gTTStatus.TrackTargetReceiving = 0;
break;
case 1:
gTTStatus.TrackTargetReceiving |= 1;
break;
case 2:
gTTStatus.TrackTargetReceiving |= 2;
break;
case 3:
gTTStatus.TrackTargetReceiving |= 4;
break;
case 4:
gTTStatus.TrackTargetReceiving |= 8;
break;
}
Daarna krijg je
5 Rechts draaien
of
6 Links draaien
180 graden draaien is een vertraagd commando, even kwijt wat dat alweer was...
Kwestie van proberen en wat logging laten schrijven door de Arduino als je data ontvangt.
Groet
Robert
-
Hier staat nog een oplossing http://usuaris.tinet.cat/fmco/turntable_sp.html (http://usuaris.tinet.cat/fmco/turntable_sp.html) (frame van http://usuaris.tinet.cat/fmco/home_sp.htm (http://usuaris.tinet.cat/fmco/home_sp.htm))
(http://usuaris.tinet.cat/fmco/foro/FLSH_SWP.jpg)
-
Hmmm deze onderste optie staat mij ook wel aan (y) ivm de aanwezige Ecos.
Gr robin
-
Op de site van pablo caneda staat de dcc interface van de originele fleischmann turncontrol kort aangestipt
In de volgende url wordt dat nog eens heel simplistisch uitgelegd
http://www.aandhmodels.co.uk/using-the-fleischmann-6915-turn-control-with-uhlenbrock-1313-c.asp (http://www.aandhmodels.co.uk/using-the-fleischmann-6915-turn-control-with-uhlenbrock-1313-c.asp)
Ik weet niet of dit alleen via loconet gaat of ook via dcc
ik ga morgen eens een proefopstelling bouwen met een arduino en een 4 tal schakelaars om te kijken of mijn idee kans van slagen heeft
@72sonnet link had ik ook gezien wordt plan B; een wissel decoder en een s88 terugmelder voor de indexering van de sporen
Rocrail geeft daar een beschrijving van maar dat is uiteindelijk nogal complex
@robert ik snap hem nog niet helemaal, je stuurt een accessory commando en dan doe je kennelijk een nog iets met de bits uit de functie decoder
of tel je gewoon de bits van de accesorycommando's op om het aantal rotatie stappen te bepalen
@rob prachtig, maar een stuk complexer. continue stroom op de brug, vertraging vlak voor het einde, verlichting etc
ik puzzel nog even verder op de simplistische variant
-
Hallo,
De oplossing met de Ecos heeft mi.i. wat haken en ogen.
Ik zie nergens de functionaliteit waar de polariteit van de rails op de brug wordt omgepoold.
Wordt er dan opvertrouwd dat de draaischijf dit zelf doet?
Ik ben deze week bezig geweest bij een forumlid om een draaischijf aan de gang te krijgen en ben er toch achter dat je toch een paar dingen zijn waar je rekening mag (lees: moet) houden.
De lakmoesproef voor een goed functionerende draaischijf besturing is:
Soundloc rijdt op een inrijspoor de brug op
Brug draait 180 graden
Loc rijdt uit op hetzelfde spoor als is ingereden.
Dit alles zonder onderbreking van geluid en zonder kortsluiting te veroorzaken.
mvg spock
-
@robert ik snap hem nog niet helemaal, je stuurt een accessory commando en dan doe je kennelijk een nog iets met de bits uit de functie decoder
of tel je gewoon de bits van de accesorycommando's op om het aantal rotatie stappen te bepalen
Koploper (Rocrail) stuurt eerst een functie waarde 0 (meen ik)
dan aantal keer een functie waarde die je moet samenstellen tot gewenste spoor
Dus stel je moet naar spoor drie krijg je 0 (reset) 1 en 2, is samen drie.
Spoor 13 als voorbeeld is 0, 1,4,8 (1,4,8 samen is 13).
Daarna krijg je 5 of 6 voor begin draaien rechts / links.
Gewoon even kijken met een Arduino wta je ontavngt als je een slinger geeft aan de schijf in Koploper of RR...
Mvg
Robert
-
Hallo
eerste stukje proof of concept is inmiddels klaar
(https://images.beneluxspoor.net/bnls/Fleischmann_Manual_Wiring.jpg)
deze afbeelding staat op de site van pablo http://usuaris.tinet.cat/fmco/home_en.htm (http://usuaris.tinet.cat/fmco/home_en.htm)
ik heb met een arduino en een relais printje het stukje k84 decoder nagebouwd
vervolgens 2 seconden ( 1 stap) heen en 4 (2 stappen) terug
is redelijk betrouwbaar maar sterk afhankelijk van bv voedingsspanning etc
toch maar eens over terugmelding nadenken ?
of de motor van de draaischijf voorzien van lastregeling ?
Dick
-
Hallo Spock,
Als ik de draaischijf digitaal aan wil gaan sturen met de Ecos 50200 heb ik dan aan de bovengenoemde Esu Switchpilot en extension genoeg ?? Of is er nog een andere oplossing?
Gr robin
-
De brug aansluiten via een keerlusschakeling b.v. een Lenz LK200.
of de motor van de draaischijf voorzien van lastregeling ?
Dat kan heel goed. Wel een decoder nemen die ook in analoog bedrijf lastregeling heeft.
Gr, Ben.
-
Hallo Robin,
Ik zou niet mijn eerste keus zijn. Ik twijfel nog steeds of die schakeling de railspanning van de brug ompoolt als hij 180 graden draait?
Kan iemand hier meer over vertellen?
Als je naar de specifcaties kijkt van:
https://www.digital-bahn.de/bau_ds2010/dsd2010_konzept.htm
dan is dat best wel indrukwekkend.
Wij proberen om een dec-tt van Littfinski aan de praat te krijgen. We hebben hem al zover dat de draaischijf met de Ecos te draaien is, echter de spanning op de brug is niet aanwezig. Dat gaan we maandag oplossen.
Het is een installatie waar de (goede) documentatie nauwkeurig gevolgd MOET worden.
mvg spock
-
toch maar eens over terugmelding nadenken ?
of de motor van de draaischijf voorzien van lastregeling ?
Terugmelding -> Ja
lastregeling -> Weinig kans dat dit stabiel gaat werken, ook niet met lastregeling. Zoals je zelf al gemerkt heb zijn er variablelen die de herhaalbaarheid beinvloeden zoals: de voedingspanning, temperatuur? , gewicht op de brug?.
mvg spock
-
Bijgaand de een filmpje van de eerste test
de arduino is verbonden met 4 simpele schakelaartjes
https://www.youtube.com/watch?v=c-N2EBImj6g (https://www.youtube.com/watch?v=c-N2EBImj6g)
de code is ook erg simplistisch (sorry timo)
als volgende stap wil ik gaan kijken of een magneetje aan de brug een hall sensor kan triggeren voor verbetering van de stabiliteit
/*----Semiautomatische draaischijf besturing-----*/
#define RELAY_ON 0
#define RELAY_OFF 1
/*-----( Declare objects )-----*/
/*-----( Declare Variables )-----*/
#define Relay_1 2 // Arduino Digital I/O pin number
#define Relay_2 3
#define Relay_3 4
#define Relay_4 5
#define In_1 6 // Arduino Digital I/O pin number
#define In_2 7
#define In_3 8
#define In_4 9
void setup() /****** SETUP: RUNS ONCE ******/
{
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(Relay_1, RELAY_OFF);
digitalWrite(Relay_2, RELAY_OFF);
digitalWrite(Relay_3, RELAY_OFF);
digitalWrite(Relay_4, RELAY_OFF);
//---( THEN set pins as outputs )----
pinMode(Relay_1, OUTPUT);
pinMode(Relay_2, OUTPUT);
pinMode(Relay_3, OUTPUT);
pinMode(Relay_4, OUTPUT);
delay(1000); //Check that all relays are inactive at Reset
pinMode(In_1, INPUT_PULLUP);
pinMode(In_2, INPUT_PULLUP);
pinMode(In_3, INPUT_PULLUP);
pinMode(In_4, INPUT_PULLUP);
}//--(end setup )---
void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
if (!digitalRead(In_1)) {
clockwise(1);
draai(2000);
}
if (!digitalRead(In_2)) {
clockwise(1);
draai(4000);
}
if (!digitalRead(In_3)) {
clockwise(0);
draai(2000);
}
if (!digitalRead(In_4)) {
clockwise(0);
draai(4000);
}
}//--(end main loop )---
void clockwise(bool on)
{
if (on) {
digitalWrite(Relay_1, RELAY_ON);// set the Relay ON
digitalWrite(Relay_2, RELAY_ON);// set the Relay ON
}
else {
digitalWrite(Relay_1, RELAY_OFF);
digitalWrite(Relay_2, RELAY_OFF);
}
delay(100);
}
void draai(unsigned int duur)
{
unsigned long timer;
timer = millis();
timer = timer + duur;
digitalWrite(Relay_3, RELAY_ON);// set the Relay OFF
while (timer > millis())
{ // gebruik deze ruimte om iets af te handelen tijdens de draai
}
digitalWrite(Relay_3, RELAY_OFF);// set the Relay OFF
}
-
... volgende stap wil ik gaan kijken of een magneetje aan de brug een hall sensor kan triggeren
Ik zou meer denken aan een getande schijf met een optocoupler (rotary encoder). Er is vast wel ergens een randje te vinden aan die draaischijf waar je gaatjes in kan maken om een lichtstraal door te laten.
-
Is de Littfinski TT-Dec een optie?
Verstuurd vanaf mijn VIE-L09 met Tapatalk
-
@72sonnet opto kan natuurlijk ook, ik zat denken aan een magneetje onder de brug en een Hall sensor in de richel waarover de geleide wieltjes lopen. Als het timing idee een beetje werkt heb je dat alleen nodig als nul referentie, anders is het misschien een alternatieve positionering
@martin je hebt helemaal gelijk, maar die unit is nu net de inspiratie voor dit projectje
Geen enkele terugmelding en toch digitaal, dat kan alleen maar als je timing en snelheid controleert
Ik ben heel nieuwsgierig wat de truc van de unit is
dick
-
Geen enkele terugmelding en toch digitaal, dat kan alleen maar als je timing en snelheid controleert
Mwaah, krijg eerder idee dat je als gebruiker wat zaken moet instellen aangaande brugspanning en snelheid en er niks gecontroleerd wordt maar aannames gemaakt worden..
http://www.ldt-infocenter.com/dokuwiki/_media/de/anschlussbeispiele/page_524.pdf
http://www.ldt-infocenter.com/dokuwiki/_media/de/anschlussbeispiele/page_525.pdf
Ik zou voor die magneet in de brug gaan en Hall sensors in de richel per spoor...
Dan weet je echt waar je bent... Als je de print onder de burg plakt blijven de kabel wirwar ook behapbaar..
Evt als het teveel ingangen worden een decimaal naar hexadicimaal converter ic gebruiken.
Kan hem effe niet zo een twee drie vinden, 47LS nogwat...
Dat met snelheid gaat je niet lukken zonder goede terugkoppeling...
Als je nog oude muis hebt met zo'n balletje kun je wieltje eruit halen en opto sensor en daar mee spelen voor positionering...
Mvg
Robert
-
... Als het timing idee een beetje werkt...
Ik denk niet dat dat ooit goed gaat werken. Het lijkt mij zekerder om een puls te krijgen bij ieder geldig spoor, door b.v. een glasschakelaartje/lichtcel/Hallsensor aan de brug en magneetjes/LEDs etc. bij ieder spoor. Je hebt dan maar één actieve component = één I/O pin. Je moet dan in het programma de pulsen tellen om te weten hoever je bent t.o.v. spoor nul.
-
hoi
in mijn test opstelling gaan 1 en 2 stappen eigenlijk wel foutloos
jullie zullen gelijk hebben als het er straks bv 180 graden = 24 stappen gaan worden
ik hou nog even vol
Momenteel ben ik met de DCC kant bezig. Ik snap het draai 15 protocol niet goed, dus voorlopig gebruik ik het fleischman protocol
-
Nog even over terugmelding
als je de draaischijf met dcc gebruikt en als je zowel de oprijsporen als de brug van spanning voorziet dan krijg je kortsluiting tijdens het draaien
(bv de linker rail staaf van de brug maakt tijdens het draaien contact met de rechter rail van het oprijspoor)
Het is advies is dan ook om dat niet te doen en of de oprij spoortjes of de brug spanningsloos te laten (afgezien nog van een keerlusschakeling)
Ik realiseer me dat bij een spanningsloze brug (de simpelste variant) er bv met een optocoupler kan worden gedetecteerd of er spanning op de brug staat. Ben ik wel de stroom sensing op de brug aan het verstoren, maar dat moet corrigeerbaar zijn
-
Hallo Dick,
Even een tip. Lees de documentatie eens door van de littfinski draaischijfdecoder.
https://www.ldt-infocenter.com/dokuwiki/doku.php?id=de:tt-dec
Daarin staat veel informatie over de problemen die je tegen kunt komen bij het aansluiten van een draaischijf.
Ook de oplossing voor de kortsluiting is beschreven.
mvg spock
-
Hallo spock
ga ik doen
Ik ben nu met de software bezig, loop nog tegen wat hobbeltjes aan
Inmiddels de nauwkeurigheid van mijn algoritme getest
met mijn oude schijf is en rotatie van 180 graden 7 van de 10 keer goed
Ik heb al wat ideetjes om dat te verbeteren maar die moet ik nog even uittekenen
-
De Fleischmann TurnControl haalt wel iets in de buurt van 99 uit 100 ( is dus ook niet feilloos !! )
Gemiddeld op een beurs had ik met de DDPB twee a drie 'missers' per dag van 8 uur.
Grtzz & suc6,
Karst
-
Als die Fleischmann besturing al 100% is....
Ik zou gewoon met mageetje en hall sensors aan de gang gaan.. (Wie ben ik :)
In mijn besturing kijk ik naar spanning op oprijsporen via opto's, maar die magneet/hall sensor oplossing was denk ik eenvoudiger geweest...
Vergeet je niet dat mensen de brug wel eens handmatig draaien door de lock in te duwen en handmatig verdraaien om welke reden dan ook?
Kwa magneet en sensors, dit wat?
http://www.fucik.name/masinky/tocna/
Hier is ook nog zelfbouw schijf besturing te vinden
http://www.daveshobbyhoekje.nl/draaischijf-decoder-onder-het-stof-uit-gehaald/
In je code
void draai(unsigned int duur)
{
unsigned long timer;
timer = millis();
timer = timer + duur;
digitalWrite(Relay_3, RELAY_ON);// set the Relay OFF
while (timer > millis())
{ // gebruik deze ruimte om iets af te handelen tijdens de draai
}
digitalWrite(Relay_3, RELAY_OFF);// set the Relay OFF
}
Haal die
while (timer > millis())
{ // gebruik deze ruimte om iets af te handelen tijdens de draai
}
uit die functie en doe andere afhandelingen in de main loop van de Arduino.
Al helemaal als je straks DCC signaal gaat verwerken.... Dat doe je in de loop, niet in deze routine...
Mvg
Robert
-
@robert
ik zat stiekem ook al een beetje aan opto's op de oprijsporen te denken als alternatief voor de hal sensor. Ik ga dus nog eens goed naar jouw schema kijken ;D
Ruud Boer heeft een arduino schakeling beschreven die als S88 functioneert.
Als ik zoiets koppel aan opto's over de oprijsporen of hall sensors onder de ring en dan een signaaltje naar de arduino die de brug bestuurt sla ik 2 vliegen in een klap
Eerst maar eens de brug van de schijf los, de motor smeren en een magneetje monteren om het hall idee te testen
@karst @robert
hoe zorgt de fleischmann turncontrol voor voldoende betrouwbaarheid. Zit er iets van lastregeling voor de brug in ?
Ik heb net het filmpje van AndrevdG gezien. Opvallend bij iedere exit een klik van de vergrendelingspal Is dat misschien de clou ?
Pal valt in de vergrendeling, motorstroom valt weg Dan heb je met een simpel stroomdetectortje een puls te pakken Pulsen kun je tellen etc
-
Precies, zo werkt het.
Alleen niet helemaal goed uitgevoerd. Door de meetschakeling valt de spanning over de motor wat weg. Kan beter ;)
-
yes, dat moet ik dan ook maar eens proberen
zou toch leuk zijn, arduino equivalent van FM turncontroller ;D
-
Ik heb net het filmpje van AndrevdG gezien.
Mag ik de link :) Kan hem effe niet vinden of heb het gemist :)
of hall sensors onder de ring
Lijkt me meest simpele oplossing.... Hall sensor kost ook geen vermogen
Als voorbeeld(en)
https://www.eoo-bv.nl/ics/7988-tle4905l.html
https://www.martoparts.nl/hall-sensor
En in verre oosten via Ebay oid zal het nog wel goedkoper kunnen...
Kun je door extra hall sensor(s) taktisch te plaatsen gelijk het ompolen van je brug regelen.
Daar waar brug omgepoold moet worden extra hall sensor per spoor en extra magneetje ...
Mvg
Robert
-
hoi
dit is de link naar het filmpje van andre https://youtu.be/rJcepsFl-7E (https://youtu.be/rJcepsFl-7E)
Hij heeft zijn draaischijf verbonden met een flm turncontroller
Wat mij opviel is de korte klik waarbij de draaischijf wel door draait.
Dat moet de lockingpin van de draaischijf zijn
Als je naar het schema van de draaischijf kijkt krijg je elke keer dat de pin "lockt" een onderbreking van de stroom naar de motor
Met een simpele optocoupler /diodebrug moet zoiets te detecteren en te tellen zijn Heb je gelijk je terugkoppeling met maar 3 draadjes in totaal
Door meteen na de puls de magneet weer te bekrachtigen draait de schijf redelijk vloeiend verder
Morgen ga ik vergelijken hall sensor en magneet, spanningsdetectie op de inrijspoortjes en tellen van stroomonderbreking
Zal wel even duren, ik hou je op de hoogte
Schema's volgen nog (voor de liefhebbers)
Dick
(met de hal sensor ben ik heel benieuwd naar verstoring door oa motor en electromagneet)
-
Thanks voor de link.
Dat moet de lockingpin van de draaischijf zijn
Inderdaad.... Die wordt wel weer heel rap ingetrokken om door te draaien.
Mg
Robert
-
hoi
dit is het schema van de draai schijfdecoder van paco http://usuaris.tinet.cat/fmco/download/TT-F9152_manual.pdf (http://usuaris.tinet.cat/fmco/download/TT-F9152_manual.pdf)
(https://images.beneluxspoor.net/bnls/schema_paco_1.jpg)
het gaat om het circuit rondom optocoupler OK1a
Daar zit de detectie van stroomgebruik door de draaischijf
Mijn schijf is een C type en ik heb gemerkt dat de detectie verstoord wordt door het relais in de brug. Dat gebruikt continue10mA
Genoeg om stroomdetectie te verstoren Relais moet er toch uit dus dat eerst maar eens aanpakken
Ga ik gelijk een magneetje plaatsen
-
Er zit een PIC in, die kun je kopen en de hex-file met het programma staat op zijn downloadpagina, maar je moet die PIC dan nog wel zelf programmeren.
Die PIC is ook wel te vervangen door een Arduino, en dan zelf het programma schrijven.
-
@72sonnet Je hebt helemaal gelijk, ik denk dat dat ook wel gaat lukken. Mijn idee was echter om eerst zelf te proberen een digitale draaischijf te bouwen.
Vandaag ben ik een heel stuk verder gekomen
- stroomsensor gebouwd
- hall sensor getest, maar nog niet ingebouwd
- C relais in de draaischijf uitgeschakeld
- Software verder ontwikkeld, eenvoudige testversie is werkend
eerst het relais
(https://images.beneluxspoor.net/bnls/20170207_121224_2.jpg)
printplaatje losmaken, printspoor naar spoeltje doornemen, relais contacten doorverbinden
Dan de stroomsensor
(https://images.beneluxspoor.net/bnls/20170207_223918.jpg)
hierbij heb ik de sensor conform het schema van paco gebouwd.
Dan de code
/*----Semiautomatische draaischijf besturing-----*/
/* versie 4 */
/* basis idee geef korte puls op het relais, de draaischij gaat draaien */
/* als de draaischijf 1 positie gedraait heeft, stopt de stroom door de motor automatisch */
/* dit genereert een overgang van laag naar hoog op de motor sense pin */
#define aan 0 // tbv relais ingangen zijn geinverteerd
#define uit 1
#define richting1 2 // Arduino Digital I/O pin number tbv relais sturing
#define richting2 3 // 2 single relais altijd gelijkop bewegen bepalen de draairichting
#define lock 4 // relais wat de interne "lock" van de draaischijf aanstuurt
#define Relay_4 5
#define In_1 6 // Arduino Digital I/O pin number tbv schakelaars
#define In_2 7
#define In_3 8
#define In_4 9
#define cSense 10 // curent sense motoraandrijving
bool pulsBusy = false;
unsigned long pulsTimer = 0;
unsigned long pulsTimer2 = 0;
unsigned long pulsDuur = 2000;
int teller = 0;
void setup() /****** SETUP: RUNS ONCE ******/
{
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(richting1, uit);
digitalWrite(richting2, uit);
digitalWrite(lock, uit);
digitalWrite(Relay_4, uit);
//---( THEN set pins as outputs )----
pinMode(richting1, OUTPUT);
pinMode(richting2, OUTPUT);
pinMode(lock, OUTPUT);
pinMode(Relay_4, OUTPUT);
delay(1000); //Check that all relays are inactive at Reset
pinMode(In_1, INPUT_PULLUP);
pinMode(In_2, INPUT_PULLUP);
pinMode(In_3, INPUT_PULLUP);
pinMode(In_4, INPUT_PULLUP);
pinMode(cSense, INPUT);
Serial.begin(38400);
}//--(end setup )---
void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
if (!digitalRead(In_1)) {
clockwise(1);
teller = 2;
}
if (!digitalRead(In_2)) {
clockwise(1);
teller = 4;
}
if (!digitalRead(In_3)) {
clockwise(0);
teller = 2;
}
if (!digitalRead(In_4)) {
clockwise(0);
teller = 4;
}
// pulsBusy is de variable die aangeeft dat het interne draaischijf locking relais geactiveerd is
// pulsTimer is de teller die meeloopt met de duur van de relais puls
// pulsDuur geeft aan hoelang de puls default duurt
// teller is het aantal afslagen dat de scijf moet draaien
if (teller > 0) {
if (!pulsBusy) {
pulsTimer = millis() + pulsDuur;
pulsTimer2 = pulsTimer + 100;
pulsBusy = true;
digitalWrite(lock, aan);
delay(10); // probeersel
}
else {
if ( millis() > pulsTimer)
{
digitalWrite(lock, uit);
//Serial.print (digitalRead(cSense));
if (digitalRead(cSense)) {
//cSense is hoog : er loopt geen stroom door de motor Hier moet je mischien nog iets van een debounce in zetten
teller = teller - 1;
pulsBusy = false;
//Serial.println();
//Serial.println(teller);
}
}
}
}
if (!digitalRead(cSense)) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}
//--(end main loop )---
void clockwise(bool on)
{
if (on) {
digitalWrite(richting1, aan);// set the Relay ON
digitalWrite(richting2, aan);// set the Relay ON
}
else {
digitalWrite(richting1, uit);
digitalWrite(richting2, uit);
}
delay(10);
}
//*********( THE END )***********
en tenslotte het resultaat
https://www.youtube.com/watch?v=JYRV3Lnu4s0
Je hoort het klikken van het "locking" relais Dankzij de stroomdetectie telt de draaischijf nu netjes de afritten
Volgende stappen
-DCC interface
-DCC software
-O referentie met halsensor
-Ompool schakeling
bijna klaar ;D ;D (maar niet echt)
-
Je hoort het klikken van het "locking" relais
Ziet er keurig uit! Valt me op dat de schijf weinig herrie maakt tijdens draaien.
Ik heb ooit een Fleischmann draaischijf gehad waarvan de motor overduidelijk te horen was...
En dat is zacht uitgedrukt :)
Zie dat je al bezig bent om de loop keurig te krijgen.
Mooiste is om losse dingen zoals deze
if (!digitalRead(In_1)) {
clockwise(1);
teller = 2;
}
if (!digitalRead(In_2)) {
clockwise(1);
teller = 4;
}
if (!digitalRead(In_3)) {
clockwise(0);
teller = 2;
}
if (!digitalRead(In_4)) {
clockwise(0);
teller = 4;
in aparte routine te zetten.... Aan het einde heb je dan een loop van paar regels en alles zit in losse functies...
Maakt de leesbaarheid en het evt onderhoud stukken beter....
Mvg
Robert
-
Hoi
het is gelukt ;D ;D ;D
De DCC code om de arduino aan te sturen werkt, (met een variatie op het LDT protocol)
De draaischijfdecoder bestaande uit een arduino, wat relaisprintjes en 2 optocouplers, reageert nu netjes op zijn DCC commando's.
Totale kosten ongeveer 25-30,-
Ik zal vanavond de code insturen, en als het even kan een filmpje maken
De ToDo lijst wordt steeds korter
- aansturing met RocRail
- relaissturing tbv ompoling brug
- nulreferentie ( mbv Hall sensor ?)
- "eindstand" bereikt melder
dick
-
Hoi Dick,
Volg dit draadje op de zij-lijn.
Ben erg nieuwsgierig naar het eind resultaat!
Vind het zeer interessant om te zien hoe je zelf een TurnControl aan het maken bent! Klasse!
Ik vond het zelf al wat dat ik het via een TurnControl aan de gang heb gekregen ;-)
Ziet er keurig uit! Valt me op dat de schijf weinig herrie maakt tijdens draaien.
Die van mij maakt inderdaad aardig wat herrie, maar hij 'hang't in het uitgezagen gat, volgens mij is het beter als ik nog wat ondersteuning gaat maken, en het geheel in een bed van kurk leg voor het dempen van het geluid, het is nu een versterker, al dat hout er omheen.
Groetjes,
Andre
-
hallo Andre
dank voor de interesse
Vanavond nog wat code bijwerken en in de loop van de week een YouTube filmpje met uitleg.
Die van mij maakt inderdaad aardig wat herrie, maar hij 'hang't in het uitgezagen gat, volgens mij is het beter als ik nog wat ondersteuning gaat maken, en het geheel in een bed van kurk leg voor het dempen van het geluid, het is nu een versterker, al dat hout er omheen.
Ik gebruik een gestabiliseerde 12 Volt voeding, en heb de motor van de draaischijf gereinigd en gesmeerd
Het loopt nu redelijk soepel en stil.
Ik ben stiekem wel blij met jouw lawaaierige schijf, het heeft mij geïnspireerd het "locking mechanisme" te gebruiken als positiemelder.
Soms vind ik het overigens eenvoudiger om zelf software te schrijven, dan om te begrijpen hoe bepaalde apparaten ingesteld moeten worden
Dick
.
-
Bijgaand de arduino code Graag commentaar / suggesties
De draaischijf wordt bestuurd met DCC Accessory commando's ongeveer cf het LDT protocol
Dit protocol is te vinden op
http://www.ldt-infocenter.com/dokuwiki/_media/nl/anleitungen/ttdec_06_13_nl.pdf (http://www.ldt-infocenter.com/dokuwiki/_media/nl/anleitungen/ttdec_06_13_nl.pdf), ga naar pagina 14
Hoe ik de sporen moet nummeren s me nog niet helemaal duidelijk
LDT nummert Clockwise, Roc Rail nummert Counter Clockwise
/*
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Arduino DCC Turntable control
Original DCC sketch : Arduino DCC solenoid Control Author: Ruud Boer - January 2015
Adapted for turntable control with LDT protocol Dick Koning feb 2017, echter de nummering van de sporen is conform RocRail
The DCC signal is optically separated and fed to pin 2 (=Interrupt 0). Schematics: www.mynabay.com
Many thanks to www.mynabay.com for publishing their DCC monitor and -decoder code.
Basis idee geef korte puls op het locking relais, de draaischijf gaat draaien
als de draaischijf 1 positie gedraait heeft, stopt de stroom door de motor automatisch
dit genereert een overgang van laag naar hoog op de motor sense pin
Gebruik dit event om te bepalen hoeveeel afslagen er gedraaid is en genereer eventueel een nieuwe puls
versie DCC_draai_8 :inbouwen DCC stuurelementen, eenvoudige koppeling tussen DCC en draaischijf gemaakt
:onderstening van commando'ga naar track nr , + 1 track, -1 track
nummering aansluitpinnen veranderd
TODO kijken of individuele routines werken ( dcc monitor }
TODO break statement tijdens daai, ompolen sporen routine
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
*/
#define aan 0 // tbv relais ingangen zijn geinverteerd
#define uit 1
#define richting1 3 // Arduino Digital I/O pin number tbv relais sturing
#define richting2 4 // 2 single relais altijd gelijkop bewegen bepalen de draairichting
#define lock 5 // relais wat de interne "lock" van de draaischijf aanstuurt
//#define Relay_4 6
#define In_1 8 // Arduino Digital I/O pin number tbv schakelaars
#define In_2 9
#define In_3 10
#define In_4 11
#define cSense 12 // curent sense motoraandrijving
#include <DCC_Decoder.h> // Mynabay DCC library
#define kDCC_INTERRUPT 0
// Globale variabelen
bool pulsBusy = false; // pulsBusy is de variable die aangeeft dat het interne draaischijf locking relais geactiveerd is
unsigned long pulsTimer = 0; // pulsTimer is de teller die meeloopt met de duur van de relais puls
unsigned long pulsDuur = 2000; // pulsDuur geeft aan hoelang de puls default duurt Moet iets korter zijn dan de tijd die nodig is voor 1 stap
int teller = 0; // teller is het aantal afslagen dat de scijf moet draaien
int track = 0; // actuele afslag waar de draaischijf zich bevindt
int target = 0; // doel waarnaar naar toe gedraaid moet worden
bool railrelais = 0; // toekomstig ompool relais
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FILL IN
const byte maxaccessories = 5; //The number of "LDT command" adressen you want to control with this Arduino
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
int address; // Address to respond to
byte output; // State of accessory: 1=on, 0=off rood /groen in wissel commando
int track; // turntable tracknumber
int track2; // turntable track number
boolean finished; // finished : 0=busy 1= ready for next command
boolean activate; // start verwerking commando
unsigned long offMilli; // for internal use
unsigned long durationMilli; // for internal use "busy periode"
}
DCCAccessoryAddress;
DCCAccessoryAddress accessory[maxaccessories];
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DCC packet handler
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void BasicAccDecoderPacket_Handler(int address, boolean activate, byte data)
{
// Convert NMRA packet address format to human address
address -= 1;
address *= 4;
address += 1;
address += (data & 0x06) >> 1;
boolean enable = (data & 0x01) ? 1 : 0;
for (int i = 0; i < maxaccessories; i++)
{
if ( address == accessory[i].address )
{
accessory[i].activate = 1;
if ( enable ) {
accessory[i].output = 1;
}
else {
accessory[i].output = 0;
}
}
}
} // END BasicAccDecoderPacket_Handler
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Initialization: COPY - PASTE the structure as many times as you have commands and fill in the values you want.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ConfigureDecoderFunctions() // The amount of accessories must be same as in line 52 above!
{
accessory[0].address = 226; // basisadres LDT =225, eerste commando
accessory[0].track = 0;
accessory[0].track2 = 0;
accessory[0].finished = 1; // Do not change this value
accessory[0].activate = 0; // Do not change this value
accessory[0].output = 0; // Do not change this value
accessory[0].durationMilli = 500;
accessory[1].address = 228;
accessory[1].track = 0;
accessory[1].track2 = 0;
accessory[1].finished = 1; // Do not change this value
accessory[1].activate = 0; // Do not change this value
accessory[1].output = 0; // Do not change this value
accessory[1].durationMilli = 500;
accessory[2].address = 229;
accessory[2].track = 1;
accessory[2].track2 = 2;
accessory[2].finished = 1; // Do not change this value
accessory[2].activate = 0; // Do not change this value
accessory[2].output = 0; // Do not change this value
accessory[2].durationMilli = 500;
accessory[3].address = 230; // basisadres LDT =225, eerste commando
accessory[3].track = 3;
accessory[3].track2 = 4;
accessory[3].finished = 1; // Do not change this value
accessory[3].activate = 0; // Do not change this value
accessory[3].output = 0; // Do not change this value
accessory[3].durationMilli = 500;
accessory[4].address = 231;
accessory[4].track = 5;
accessory[4].track2 = 6;
accessory[4].finished = 1; // Do not change this value
accessory[4].activate = 0; // Do not change this value
accessory[4].output = 0; // Do not change this value
accessory[4].durationMilli = 500;
} // END ConfigureDecoderFunctions
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup()
{
DCC.SetBasicAccessoryDecoderPacketHandler(BasicAccDecoderPacket_Handler, true);
ConfigureDecoderFunctions();
DCC.SetupDecoder( 0x00, 0x00, kDCC_INTERRUPT );
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(richting1, uit);
digitalWrite(richting2, uit);
digitalWrite(lock, uit);
//digitalWrite(Relay_4, uit);
//---( THEN set pins as outputs )----
pinMode(richting1, OUTPUT);
pinMode(richting2, OUTPUT);
pinMode(lock, OUTPUT);
//pinMode(Relay_4, OUTPUT);
delay(1000); //Check that all relays are inactive at Reset
pinMode(In_1, INPUT_PULLUP);
pinMode(In_2, INPUT_PULLUP);
pinMode(In_3, INPUT_PULLUP);
pinMode(In_4, INPUT_PULLUP);
pinMode(cSense, INPUT);
pinMode(2, INPUT_PULLUP); //Interrupt 0 with internal pull up resistor (can get rid of external 10k)
pinMode(13, OUTPUT);
digitalWrite(13, LOW); //turn off Arduino led at startup
Serial.begin(38400);
target = 0;
track = 0;
teller = 0;
} //--(end setup )---
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Main loop
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void loop()
{
// target gewenste afslag
// track actuele afslag
// teller aantal slagen
// clockwise(1) : clockwise clockwise(0) : counter clockwise
leesDCC(); // genereert een gewenst afslag nummer
pushButton(); // genereert een gewenst afslag nummer
if (target > track)
{
Serial.println ("Target > Track");
teller = target - track;
if (teller <= 24) {
clockwise(0);
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(0);
}
}
else
{
teller = 48 - teller ;
clockwise(1);
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(1);
}
}
}
if (track > target)
{
Serial.println ("Target < Track");
teller = track - target;
if (teller <= 24) {
clockwise(1);
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(1);
}
}
else
{
teller = 48 - teller ;
clockwise(0);
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(0);
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Aansturing van de draaischijf
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void draai(bool richting)
{
// pulsBusy is de variable die aangeeft dat het interne draaischijf locking relais geactiveerd is
// pulsTimer is de teller die meeloopt met de duur van de relais puls
// pulsDuur geeft aan hoelang de puls default duurt
// teller is het aantal afslagen dat de schijf moet draaien
// richting is de variabele die aangeeft welke kant de draai opgaat
if (!pulsBusy) {
pulsTimer = millis() + pulsDuur;
pulsBusy = true;
digitalWrite(lock, aan);
delay(10); // probeersel
}
else {
if ( millis() > pulsTimer)
{
digitalWrite(lock, uit); // de default pulsperiode is voorbij
if (digitalRead(cSense)) {
//cSense is hoog : er loopt geen stroom door de motor Hier moet je mischien nog iets van een debounce in zetten
teller = teller - 1;
pulsBusy = false;
if (richting) { // richting 1=clockwise 0=counterclockwise
track = track - 1;
if (track < 0) track = track + 48;
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
// zet hier statement voor ompolen rail relais
//if (track == 12 || track == 36) railrelais = !railrelais;
}
else
{
track = track + 1;
if (track >= 48) track = track - 48;
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
}
}
}
}
if (!digitalRead(cSense)) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}
//--(end draairoutine )---
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DCCLoop
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void leesDCC()
{
static int addr = 0; // Static variable assignment alleen bij startup. Waarde persisteert als de functie verlaten wordt
DCC.loop(); // Loop DCC library
if ( ++addr >= maxaccessories ) addr = 0; // Bump to next address to activate
if (accessory[addr].finished && accessory[addr].activate) //event wordt 1 maal getriggerd daarna verplichte pauze
{
accessory[addr].finished = 0;
accessory[addr].offMilli = millis() + accessory[addr].durationMilli;
if (accessory[addr].output == 1)
{
switch (accessory[addr].address) {
case 226: // halve draai
target = track + 24;
if (target >= 48) target = target - 48;
break;
case 228: // 1 step clockwise
target = track - 1;
if (target < 0) target = target + 48;
break;
default:
target = (accessory[addr].track);
break;
}
Serial.print ("Ga naar target track (rood) "); Serial.println(target);
}
else
{
switch (accessory[addr].address) {
case 226: // halve draai
target = track - 24;
if (target < 0) target = target + 48;
break;
case 228: // 1 step counter clockwise
target = track + 1 ;
if (target >= 48) target = target - 48;
break;
default:
target = (accessory[addr].track2);
break;
}
Serial.print ("Ga naar target track (groen) "); Serial.println(target);
}
}
if ((!accessory[addr].finished) && (millis() > accessory[addr].offMilli)) // blokkade want commando herhaalt zich zelf
{
accessory[addr].finished = 1;
accessory[addr].activate = 0;
}
}
void clockwise(bool on)
{
Serial.print("Set rotatie: ");
if (on) {
digitalWrite(richting1, aan);
digitalWrite(richting2, aan);
Serial.println("Clockwise ");
}
else {
digitalWrite(richting1, uit);
digitalWrite(richting2, uit);
Serial.println("Counter Clockwise");
}
delay(10);
}
void pushButton()
{
// invoer dmv druk toetsen 0 = ingedrukt
// Serial.println("Lees PushButton");
if (!digitalRead(In_1)) {
target = track + 2;
if (target >= 48) target = target - 48;
}
if (!digitalRead(In_2)) {
target = track + 4;
if (target >= 48) target = target - 48;
}
if (!digitalRead(In_3)) {
target = track - 2;
if (target < 0) target = target + 48;
}
if (!digitalRead(In_4)) {
target = track - 4;
if (target < 0) target = target + 48;
}
}
-
Ik zou er nog een 2-regelig LCD op aansluiten en daar statusboodschappen op laten zien.
-
@72 sonnet
debug gaat nu via serial.print regels
Kan wel via LCD, zal later eens kijken wat er mogelijk is Zou niet heel moeilijk moeten zijn met de juiste library
-
In de loop zit volgens mij leuke tikfout :)
Twee keer track > target :) Regel 210 en 232....
Aangezien je vele malen
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
doet maak er losse routine van en geef de data mee (teller, target, track)
En die debug, gewoon laten zitten en een display eraan / erbij.
Op display dan track / target / richting / draaiend ja nee laten zien.
Voor die hd44780 display (van die twee regel dingen) zijn genoeg drivers te vinden voor Arduino....
Zelf in NL kosten ze haast niks (ex verzendkosten dan...)
https://www.martoparts.nl/16x2-LCD-Display-groen
Link ter info overigens.
Mvg
Robert
-
@robert
algoritme klopt wel, staat er wat ongelukkig 8)
Ik ben niet zo vertrouwd met procedure parameters maar je hebt gelijk met de debug statements
Twijfelpunt zit in de gebruikte nummering va de sporen
12
LDT 1 ROCRAIL 24 0
2 36
3
Momenteel gebruik ik het schema van Rocrail
-
Heeft iemand ook ervaring met de ESU SWITCHPILOT gecombineerd met de EXTENSION om de draaischijf mee aan te sturen ??? Want wat hier boven allemaal genoemd wordt gaat mijn pet te boven en daarbij rij ik niet met een pc besturing ;D
Als iemand wat weet dan hoor ik het graag voor ik de spullen aanschaf en het niet werkt?
Gr robin
-
... En die debug, gewoon laten zitten en een display eraan / erbij.
Op display dan track / target / richting / draaiend ja nee laten zien.
Dat bedoel ik... De debug comment je er uit als de boel helemaal OK werkt.
Die parallele LCD heeft wel 7 I/O pennen nodig; 3 voor stuursignalen + 4 voor data. Er bestaan overigens ook seriele LCDs die met minder pennen toekunnen.
Ik heb mijn traverse voorzien van een LCD;
(https://images.beneluxspoor.net/bnls/1-helloworld.jpg)
-
@bosje 77
Als je de beschrijving op de website van paco gebruikt zet je met de esu gewoon een bistabiel relais om
Is nogal een dure oplossing, met ook niet zoveel ingebouwde intelligentie
Als je nog een 14 dgn geduld hebt is dit softwareproject wel klaar
Dan heb je eigenlijk niet zoveel nodig
arduino nano
arduino relais board (in principe 5 single relais)
3 optocouplers en klein grut (weerstanden /kroonsteentjes/ dupont wires)
een 12 volt voeding
voor 30 euro ben je wel klaar
als alles werkt maak ik wel een fatsoenlijke bouwbeschrijving
-
Hallo Dick,
Ik heb geduld hoor 😉 Ben benieuwd als ik het daarna makkelijk kan gaan gebruiken met de Ecos II zou dat super wezen.
Ook heb ik hier nog een print liggen voor de draaischijf alleen moeten daar nog componenten op ookeen hele waslijst en mij toch iets te ingewikkeld ben ik bang.
Graag hoor ik het als er iets moois van gemaakt is👍🏻
Gr robin
-
@Bosje 77
de ecos kan direct 2 soorten draaitafels aansturen
- de marklin 7286 controller (protocol lijkt op LDT, kwestie van proberen met hulp van een arduino sniffer)
- de modificatie van de fleischmann draaitafel door het inbouwen van een lokpilot in de brug Leuk concept waar ik nog niet voor gekozen heb
het leuke van een arduino is dat je dingen simpel kan aanpassen
accessory[3].address = 230; // basisadres LDT =225, eerste commando
accessory[3].track = 3;
accessory[3].track2 = 4;
is een stukje van de code in mijn programma
adress ="wissel" adres zit gekoppeld aan een spoorummmer in je ecos
track= fysiek "spoor" op de draaischijf
Je kan hier direct de getallen neerzetten die je wilt, dan moet je een heel eind kunnen komen
Kijk om er gevoel bij te krijgen op de blogs van ruud boer
https://www.google.nl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjJ6pO3gI7SAhXMiRoKHaUvDBEQFggaMAA&url=https%3A%2F%2Frudysmodelrailway.wordpress.com%2F&usg=AFQjCNF16zTXbVZBMNy12uEpmoNpbtflgg&bvm=bv.146786187,d.d2s (https://www.google.nl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjJ6pO3gI7SAhXMiRoKHaUvDBEQFggaMAA&url=https%3A%2F%2Frudysmodelrailway.wordpress.com%2F&usg=AFQjCNF16zTXbVZBMNy12uEpmoNpbtflgg&bvm=bv.146786187,d.d2s)
Bouw dan eerst eens een rood groen sein en contreer dat met je ecos
Dan kijken met de sniffer wat er aan signale langs komt etc etc
-
algoritme klopt wel, staat er wat ongelukkig 8)
Inderdaad :( Lekker tricky om overheen te kijken :)
Ik ben niet zo vertrouwd met procedure parameters
Als voorbeeld
void DebugData(int Counter, int TrackTarget, int TrackActual)
{
Serial.print("Teller :");
Serial.print(Counter);
Serial.print(" Target : ");
Serial.print(TrackTarget);
Serial.print(" Track : ");
Serial.println(TrackActual);
}
Je kunt de parameters ook weglaten en gebruik maken van de globale variabelen....
Derhalve in voorbeeld de parameters andere naam gegeven om verwarring met globale variabelen te voorkomen...
Mvg
Robert
-
Nog een uitdaging Dick:
Nu je afstanden kunt 'tellen' kun je misschien ook 'leren'... maw de schijf een keer helemaal rond laten stappen en de tijd meten tussen elke aansluiting... deze in eeprom opslaan... en tijdens het draaien naar een bepaald spoor de magneet aangetrokken laten... :P
-
Hallo Dick,
Ik heb even de link bekeken van frudy maar ook daar zie ik weer een pc gekoppeld aan de Ecos met train controller er op.
Ik werk puur en alleen maar met de Ecos en niet met een pc werkt het systeem waar je mee bezig bent dan nog wel?
Gr robin
-
Hoi
@bosje 77: Je hoeft geen PC te gebruiken hoor, Deed Ruud in zijn eerste posts ook niet. Staan nog wat filmpjes van op zijn site
Ecos zet zelf het DCC commando op de rails, dat is uiteindelijk de trigger voor de arduino Idem met de draaischijf besturing
@karst : ben ik weer terug bij mijn eerste post. Kan wel maar ik heb gemerkt dat de reproduceerbaarheid van de schijf beperkt is.
Ik heb wel wat gespeeld met de waarde van de concensator aan de stroomdetectie naar de motor van de draaischijf. Die springt nu sneller aan waardoor je uiteindelijk wat soepeler loopt. Nu nog een sirene oid om het getik te maskeren ::)
Ik liep gisteren bij tetst werk wel tegen nieuwe problemen in de DCC communicatie met rocrail aan. Rechtsreeks op de multimuis ging goed maar via rocrail werd het een puinhoop. Morgen een dag vrij na dienst, maar eens spelen met een DCC sniffer
Heeft iemand ervaring met het LDT protocol en rocrail ??
-
Hallo
weer een stap verder
Rocrail in combinatie met een roco multimaus was een hardnekkige tegenstander 8)
Het is gelukt, de Rocrail commando's worden nu netjes met het LDT protocol afgehandeld
Bijgaand de laatste software Nog een paar kleine items op de ToDo lijst en dan is het prototype wel af
Als mensen de Rocrail testfile willen inzien graag een PB
*
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Arduino DCC Turntable control
Original DCC sketch : Arduino DCC solenoid Control Author: Ruud Boer - January 2015
Adapted for turntable control with LDT protocol Dick Koning feb 2017, echter de nummering van de sporen is conform RocRail
The DCC signal is optically separated and fed to pin 2 (=Interrupt 0). Schematics: www.mynabay.com
Many thanks to www.mynabay.com for publishing their DCC monitor and -decoder code.
Basis idee geef korte puls op het locking relais, de draaischijf gaat draaien
als de draaischijf 1 positie gedraait heeft, stopt de stroom door de motor automatisch
dit genereert een overgang van laag naar hoog op de motor sense pin
Gebruik dit event om te bepalen hoeveeel afslagen er gedraaid is en genereer eventueel een nieuwe puls
versie DCC_draai_rocrail3
:inbouwen DCC stuurelementen, eenvoudige koppeling tussen DCC en draaischijf gemaakt
:onderstening van commando'ga naar track nr , + 1 track, -1 track, 180 graden draai
In Rocrail met Xpressnet interface liggen de adressen 4 lager dan de standaard LDT adressen dus basis is 221 ipv 225
Dit moet worden aangepast met de offset constante
De Rocrail commando's zijn geinverteerd (instellenin in Rocrail zelf)
Rocrail genereert 2 commando's een draairichting en een afslagnummer De draairichting is overbodig en wordt niet gebruikt
TODO break statement tijdens daai
TODO calibratie algoritme
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
*/
#define aan 0 // tbv relais ingangen zijn geinverteerd
#define uit 1
#define test 1 // Indien (test) = 1 worden de positie medlingen uitgeprint
#define richting1 3 // Arduino Digital I/O pin number tbv relais sturing
#define richting2 4 // 2 single relais altijd gelijkop bewegen bepalen de draairichting
#define lock 5 // relais wat de interne "lock" van de draaischijf aanstuurt
#define brug1 6 // ompoolrelais tbv polariteit van de draaibrug
#define brug2 7 // ompoolrelais tbv polariteit draaibrug
#define In_1 8 // Arduino Digital I/O pin number tbv schakelaars
#define In_2 9
#define In_3 10
#define In_4 11
#define cSense 12 // curent sense motoraandrijving
#include <DCC_Decoder.h> // Mynabay DCC library
#define kDCC_INTERRUPT 0
// Globale variabelen
int teller = 0; // teller is het aantal afslagen dat de scijf moet draaien
int track = 0; // actuele afslag waar de draaischijf zich bevindt
int target = 0; // doel waarnaar naar toe gedraaid moet worden
bool brugrelais = 0; // ompoolrelais draaibrug Normaal=0 ( NC aansluitingen Geinverteerd =1 C aansluitingen
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FILL IN
const byte maxaccessories = 6; //The number of "LDT command" adressen you want to control with this Arduino
const byte offset = 4; // Offset tov originele LDT adressen Bij gebruik Xpressnet/ multimouse offset = 4 anders offset = 0
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
int address; // Address to respond to
byte output; // State of accessory: 1=on, 0=off rood /groen in wissel commando
int track; // turntable tracknumber
int track2; // turntable track number
boolean finished; // finished : 0=busy 1= ready for next command
boolean activate; // start verwerking commando
unsigned long offMilli; // for internal use
unsigned long durationMilli; // for internal use "busy periode"
}
DCCAccessoryAddress;
DCCAccessoryAddress accessory[maxaccessories];
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DCC packet handler
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void BasicAccDecoderPacket_Handler(int address, boolean activate, byte data)
{
// Convert NMRA packet address format to human address
address -= 1;
address *= 4;
address += 1;
address += (data & 0x06) >> 1;
boolean enable = (data & 0x01) ? 1 : 0;
for (int i = 0; i < maxaccessories; i++)
{
if ( address == accessory[i].address )
{
accessory[i].activate = 1;
if ( enable ) {
accessory[i].output = 1;
}
else {
accessory[i].output = 0;
}
}
}
} // END BasicAccDecoderPacket_Handler
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Initialization: COPY - PASTE the structure as many times as you have commands and fill in the values you want.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ConfigureDecoderFunctions() // The amount of accessories must be same as in line 52 above!
{
accessory[0].address = 226 - offset; // basisadres LDT =225, eerste commando 226 Voor Multimaus + rocrail adres -4 invoeren
accessory[0].track = 0; // output 0 adres
accessory[0].track2 = 0; // output 1 adres LDT : 226 1 draai 180 graden
accessory[0].finished = 1; // Do not change this value
accessory[0].activate = 0; // Do not change this value
accessory[0].output = 0; // Do not change this value
accessory[0].durationMilli = 250;
accessory[1].address = 227 - offset;
accessory[1].track = 0; // output 0 adres LDT : 227 0 draai 1 positie CW
accessory[1].track2 = 0; // output 1 adres LDT : 226 1 draai 1 positie CCW
accessory[1].finished = 1; // Do not change this value
accessory[1].activate = 0; // Do not change this value
accessory[1].output = 0; // Do not change this value
accessory[1].durationMilli = 250;
accessory[2].address = 229 - offset;
accessory[2].track = 12; // output 0 adres LDT : 229 ga naar spoor 1
accessory[2].track2 = 5; // output 1 adres LDT : 229 ga naar spoor 2
accessory[2].finished = 1; // Do not change this value
accessory[2].activate = 0; // Do not change this value
accessory[2].output = 0; // Do not change this value
accessory[2].durationMilli = 250;
accessory[3].address = 230 - offset;
accessory[3].track = 3; // output 0 adres LDT : 230 ga naar spoor 3
accessory[3].track2 = 0; // output 1 adres LDT : 230 ga naar spoor 4
accessory[3].finished = 1; // Do not change this value
accessory[3].activate = 0; // Do not change this value
accessory[3].output = 0; // Do not change this value
accessory[3].durationMilli = 250;
accessory[4].address = 231 - offset;
accessory[4].track = 45; // output 0 adres LDT : 231 ga naar spoor 5
accessory[4].track2 = 24; // output 1 adres LDT : 231 ga naar spoor 6
accessory[4].finished = 1; // Do not change this value
accessory[4].activate = 0; // Do not change this value
accessory[4].output = 0; // Do not change this value
accessory[4].durationMilli = 250;
accessory[5].address = 225 - offset; // basisadres LDT =225, eerste commando is programeerstand hier gebruikt als reset, toekomst calibratie oid
accessory[5].track = 0; // output 0 adres reset track en target naar 0 moet nog iets in om dat ogv sensor te doen
accessory[5].track2 = 0; // output 1 adres reset track en target naar 0 moet nog iets in om dat ogv sensor te doen
accessory[5].finished = 1; // Do not change this value
accessory[5].activate = 0; // Do not change this value
accessory[5].output = 0; // Do not change this value
accessory[5].durationMilli = 250;
} // END ConfigureDecoderFunctions
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup()
{
DCC.SetBasicAccessoryDecoderPacketHandler(BasicAccDecoderPacket_Handler, true);
ConfigureDecoderFunctions();
DCC.SetupDecoder( 0x00, 0x00, kDCC_INTERRUPT );
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(richting1, uit);
digitalWrite(richting2, uit);
digitalWrite(lock, uit);
digitalWrite(brug1, uit);
digitalWrite(brug2, uit);
//---( THEN set pins as outputs )----
pinMode(richting1, OUTPUT);
pinMode(richting2, OUTPUT);
pinMode(lock, OUTPUT);
pinMode(brug1, OUTPUT);
pinMode(brug2, OUTPUT);
delay(1000); //Check that all relays are inactive at Reset
pinMode(In_1, INPUT_PULLUP);
pinMode(In_2, INPUT_PULLUP);
pinMode(In_3, INPUT_PULLUP);
pinMode(In_4, INPUT_PULLUP);
pinMode(cSense, INPUT);
pinMode(2, INPUT_PULLUP); //Interrupt 0 with internal pull up resistor (can get rid of external 10k)
pinMode(13, OUTPUT);
digitalWrite(13, LOW); //turn off Arduino led at startup
Serial.begin(38400);
target = 0;
track = 0;
teller = 0;
} //--(end setup )---
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Main loop
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void loop()
{
// target gewenste afslag
// track actuele afslag
// teller aantal slagen
// clockwise(1) : clockwise clockwise(0) : counter clockwise
leesDCC(); // genereert een gewenst afslag nummer
pushButton(); // genereert een gewenst afslag nummer
if (target > track)
{
teller = target - track;
if (teller <= 24) {
clockwise(0);
if (test) melding();
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(0);
}
}
else
{
teller = 48 - teller ;
clockwise(1);
if (test) melding();
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(1);
}
}
}
if (target < track)
{
teller = track - target;
if (teller <= 24) {
clockwise(1);
if (test) melding();
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(1);
}
}
else
{
teller = 48 - teller ;
clockwise(0);
if (test) melding();
while (teller > 0) { // niet definitief gebruiken, blokkeert alles
draai(0);
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Aansturing van de draaischijf
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void draai(bool richting)
{
static bool pulsBusy = false; // pulsBusy is de variable die aangeeft dat het interne draaischijf locking relais geactiveerd is
static unsigned long pulsTimer = 0; // pulsTimer is de teller die meeloopt met de duur van de relais puls
static unsigned long pulsDuur = 2000; // pulsDuur geeft aan hoelang de puls default duurt Moet iets korter zijn dan de tijd die nodig is voor 1 stap
// teller is het aantal afslagen dat de schijf moet draaien Globale variable
// richting is de variabele die aangeeft welke kant de draai opgaat Procedure Parameter
if (!pulsBusy) {
pulsTimer = millis() + pulsDuur;
pulsBusy = true;
digitalWrite(lock, aan);
delay(10); // probeersel geef het relais even tijd
}
else {
if ( millis() > pulsTimer)
{
digitalWrite(lock, uit); // de default pulsperiode is voorbij
if (digitalRead(cSense)) {
//cSense is hoog : er loopt geen stroom door de motor Hier moet je mischien nog iets van een debounce in zetten
teller = teller - 1;
pulsBusy = false;
if (richting) { // richting 1=clockwise 0=counterclockwise
track = track - 1;
if (track < 0) track = track + 48;
if (test) melding();
if (track == 13 || track == 37) {
brugrelais = !brugrelais; // statement voor ompolen railrelais. Kies de sporen ogv de layout
brug(brugrelais);
}
}
else
{
track = track + 1;
if (track >= 48) track = track - 48;
if (test) melding();
if (track == 13 || track == 37) {
brugrelais = !brugrelais; // statement voor ompolen railrelais Kies de sporen ogv de layout
brug(brugrelais);
}
}
}
}
}
if (!digitalRead(cSense)) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}
//--(end draairoutine )---
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DCCLoop
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void leesDCC()
{
static int addr = 0; // Static variable assignment alleen bij startup. Waarde persisteert als de functie verlaten wordt
DCC.loop(); // Loop DCC library
if (accessory[addr].finished && accessory[addr].activate) //event wordt 1 maal getriggerd daarna verplichte pauze
{
accessory[addr].finished = 0;
accessory[addr].offMilli = millis() + accessory[addr].durationMilli;
if (accessory[addr].output == 1)
{
switch (accessory[addr].address) {
case (225-offset): //calibratie draaischijf
track = 0;
target = 0;
brugrelais=0;
break;
case (226-offset): // halve draai LDT 226
target = track + 24;
if (target >= 48) target = target - 48;
break;
case (227-offset): // 1 step clockwise LDT 227
target = track - 1;
if (target < 0) target = target + 48;
break;
default:
target = (accessory[addr].track2);
break;
}
if (test) {
Serial.println (accessory[addr].address);
Serial.print ("Ga naar target track (output = 1 'groen' ) ");
Serial.println(target);
}
}
else // output=0
{
switch (accessory[addr].address) {
case (225-offset): // calibratie draaischijf
target = 0;
track = 0;
brugrelais=0;
break;
case (226-offset): // halve draai LDT 226
target = track + 24;
if (target >= 48) target = target - 48;
break;
case (227-offset): // 1 step counter clockwise
target = track + 1 ;
if (target >= 48) target = target - 48;
break;
default:
target = (accessory[addr].track);
break;
}
if (test) {
Serial.println(accessory[addr].address);
Serial.print ("Ga naar target track (output = 0 'rood') ");
Serial.println(target);
}
}
}
if ((!accessory[addr].finished) && (millis() > accessory[addr].offMilli)) // blokkade want commando herhaalt zich zelf
{
accessory[addr].finished = 1;
accessory[addr].activate = 0;
}
if ( ++addr >= maxaccessories ) addr = 0; // Bump to next address to activate
}
void clockwise(bool on)
{
if (on) {
digitalWrite(richting1, aan);
digitalWrite(richting2, aan);
if (test) Serial.println("Clockwise ");
}
else {
digitalWrite(richting1, uit);
digitalWrite(richting2, uit);
if (test) Serial.println("Counter Clockwise");
}
delay(10);
}
void pushButton()
{
// invoer dmv druk toetsen 0 = ingedrukt
if (!digitalRead(In_1)) {
target = track + 2;
if (target >= 48) target = target - 48;
}
if (!digitalRead(In_2)) {
target = track + 4;
if (target >= 48) target = target - 48;
}
if (!digitalRead(In_3)) {
target = track - 2;
if (target < 0) target = target + 48;
}
if (!digitalRead(In_4)) {
target = track - 4;
if (target < 0) target = target + 48;
}
}
void brug(bool on)
{
if (on) {
digitalWrite(brug1, aan);
digitalWrite(brug2, aan);
if (test) Serial.println("Brug geinverteerd ");
}
else {
digitalWrite(brug1, uit);
digitalWrite(brug2, uit);
if (test) Serial.println("Brug normaal");
}
delay(10);
}
void melding()
{
Serial.print("Teller :"); Serial.print(teller); Serial.print(" Target : "); Serial.print(target); Serial.print(" Track : "); Serial.println(track);
}
-
Nog een uitdaging Dick:
Nu je afstanden kunt 'tellen' kun je misschien ook 'leren'... maw de schijf een keer helemaal rond laten stappen en de tijd meten tussen elke aansluiting... deze in eeprom opslaan... en tijdens het draaien naar een bepaald spoor de magneet aangetrokken laten... :P
Ik dacht dat is een uitdaging die nooit gaat lukken, omdat de draaischijfmotor nu niet bepaald een toonbeeld van stabiliteit is
Maar https://robidouille.wordpress.com/2009/09/20/back-emf/ (https://robidouille.wordpress.com/2009/09/20/back-emf/) en een leuk filmpje https://youtu.be/Z7Q7Apf16_Q (https://youtu.be/Z7Q7Apf16_Q)
en hier wordt het zelfs gebruikt om een modeltreintje te besturen
http://www.aerodynes.fr/2013/03/17/making-a-z-scale-train-controller/ (http://www.aerodynes.fr/2013/03/17/making-a-z-scale-train-controller/)
Maar eens rustig bestuderen en de L293 chip in china bestellen
-
De L293 bevat 2 H-bruggen. Hierdoor kan je twee treinen met een chip laten rijden. Verder een puik dingetje waarmee je een hoop lol kunt beleven.
Groet,
Gerard van der Sel.
-
hallo Gerard
De L293 bevat 2 H-bruggen. Hierdoor kan je twee treinen met een chip laten rijden. Verder een puik dingetje waarmee je een hoop lol kunt beleven.
Klopt, ik heb er al eens mee gespeeld om met een arduino een analoge treinbaan aan te sturen
https://www.youtube.com/watch?v=HqNdlAGVY90 (https://www.youtube.com/watch?v=HqNdlAGVY90)
Treintje wordt bestuurd door een arduino via een H brug. Uitdaging was om ook de wissels en de iR sensor te reguleren
Het idee om met een H brug een "last" gereguleerde voeding te maken is wat gecompliceerder dan een standaard H brug motor aandrijving
Helemaal snap ik het nog niet maar de beschrijving gebruikt van beide H bruggen slechts de helft
De code gaat me ver boven mijn pet :police:
Wel een leuk idee en zeker een experiment waard.
Voorlopig zoek ik stabiliteit in een goede voeding en ga ik eerst met een displaytje aan de gang
Dan komt het moeilijkste onderdeel : houtbewerking en een proefbaantje bouwen :-[
-
Ken het gevoel. Het echte werk zit in het h-file (aansturing H-bridges). Als je engels beheerst wordt het goed uit gelegd.
Succes en ik blijf je volgen.
Groet,
Gerard van der Sel.
-
Hallo Gerard
gisteren geëxperimenteerd met een H brug en een Rotary encoder. Gewone sturing dus geen back emf terugkoppeling.
Geen groot succes, de motor van de draaischijf laat zich beperkt regelen, eerst een lange periode van "kleef" en dan een beperkt regelbereik.
Maar misschien doe ik te moeilijk en is een gewone gestabiliseerde voeding wel de beste oplossing ? :( :(
-
Ik zou eerst de spanning verhogen. Lange periode van kleef en klein regelbereik duiden op een te lage spanning. Wat je ook kan doen is gaan voor pulsbreedte modulatie. Alhoewel alle Arduino voorbeelden met de L293 gebruiken PBM.
Groet,
Gerard van der Sel.
-
Hi
ik heb het prototype van mijn draaischijf decoder af
tov de vorige keer zijn er de volgende wijzigingen
- LCD display waarop de actuele (track) en toekomstige (target) bestemming van de draaischijf zichtbaar zijn
- Rotary encoder om eenvoudig met de hand de decoder aan te sturen
- Gestabiliseerde voeding om het motortje van de draaischijf zo goed mogelijk aan te sturen
Het resultaat kun je in het YouTube filmpje in actie zien
https://www.youtube.com/watch?v=R1SMiSs2mZU
de code is inmiddels te uitgebreid om hier te publiceren
https://github.com/tkoning
Als volgende stap zou ik een printontwerp in eagle kunnen maken maar dat is alleen zinvol als er meer mensen zijn die ook zoiets willen bouwen
Het is tenslotte een hobby project
Als je interesse hebt graag reactie per PB
Dick
-
Heel mooi gedaan (y)
('LCD display' is overigens een pleonasme...) ;)
-
Hoi Dick,
Ik heb er wel interesse in
Groetjes
Arthur
-
Hoi
bijgaand het schema van de decoder
(https://images.beneluxspoor.net/bnls/schema_decoder.jpg) (https://images.beneluxspoor.net/bnls/schema_decoder.jpg)
helaas nog niet genoeg gegadigden om er een PCB voor te ontwerpen :'( :'( :'(
-
Hoi Dick,
Geweldig mooi resultaat. Ik wil dit ook gaan proberen met de N spoor uitvoering van Fleischmann.
Ik mis voor mijn gevoel nog wat ik op J3 moet aansluiten en waar ik de draaischijf zelf precies op aansluit.
Zou je hiervoor nog een schema kunnen tekenen?
Op de youtube valt het me op dat je achter de relais nog een schakeling hebt hangen, die zie ik voor m'n gevoel ook niet terug in dit schema.
Waarschijnlijk kijk ik verkeerd, maar zou je me kunnen helpen?
Groeten en een fijne dag,
Michel
-
- wat is de functie van R2 en C1? Die zitten verder nergens op aangesloten.
- ingangen A0 en A1 van de Arduino zijn kortgesloten op A en B van de encoder en zijn altijd 'hoog' via R1. Of trekt die encoder ze naar massa via contact C?
- ingang A2 wordt pas 'hoog' als de schakelaar wordt ingedrukt en zweeft indien niet, is dus niet duidelijk gedefinieerd.
- wat doet het voedingsdeel rond U1? Lijkt verder nergens heen te gaan.
-
Paar tekenfoutjes verhelpen: Stip bij B een draad opschuiven. en de stip vlak boven C@ even weghalen. De schakelaar C anders aansluiten (een kant aan massa en de terugkoppeling naar de nana vanaf de andere kant).
Waarom gebruik je bij de rotarie encoder wel pull-up weerstanden, terwijl je die bij de drukknoppen weglaat. Gewoon R1 t/m R3 weg. Ik vermoed dat de spanning T5Vrelais door de regeling rond de LM317? gemaakt wordt? ZO ja even een pijl erbij. Verder kunnen D1 t/m D3 gewoon 1N4148 dioden zijn.
Deze print is vrij snel gemaakt (minder dan een dag) en dan een euro of 30 voor 10 stuks. Voor 3 stuks is dat best te doen.
Groet,
Gerard van der Sel.
-
Inderdaad paar schoonheidsfoutjes. Vooral rond de rotary en ik snap inderdaad niet zo goed wat je met de LM317 doet.
D1 kan inderdaad een 1N4148 zijn, of D2 en D3 dat ook kunnen zijn hangt af van de motor. En misschien mis ik het even, maar wilde je geen H-brug gebruiken?
En waarom gebruik je niet 2x dezelfde opto? Voor beide kan je zowel een 6N137 of een 4N35 pakken.
Voor de 6N137, R4 mag je weglaten. R5? en R9 ook als je de interne pull ups gebruikt. Voor de OK2 neemt de tijdconstante wel iets toe maar dat lijkt me niet heel erg.
C7 heeft op die plek niet zo veel zin. Maar OK1 zou er graag wel een dicht bij zijn voeding hebben.
Timo
-
Hoi
Oeps , toch een paar foutjes in het schema :-[
Eagle is nog nieuw voor me, en de leercurve is nogal stijl
Ik zal het schema bijwerken, want jullie hebben gelijk mn rond de encoder zitten er foutjes.
Ik heb bij mijn rotary encoder thuis een exemplaar met de pull ups op het printje van de encoder zelf, heb ik 1 op 1 gecopieerd. Kunnen ws wel weg maar heb ik niet kunnen testen. De condensatoren zijn echt nodig anders krijg je veel leesfouten
De LM317 gebruik ik voor de spanningsregeling van de draaischijf motor. Dit is ws qua opbouw "over the top" maar werkt goed.
Ik heb helaas geen 2e DC- DC converter liggen andrers had ik dat wel gebruikt. Koeling van de LM317 is geen groot probleem (klein koellichaampje nodig) omdat de spanningsval vrij klein is Stroom door de draaischijfmotor / relais is ongeveer 250 mA
Mijn plan om een H brug te gebruiken gaf niet echt een prettige regeling van de draaischijf motor
Ik zal in het volgende schema de relaisbediening van de draaischijf meenemen. Ik zit nog te wachten op een dubbelpolig relais wat ik via een ULN kan aansturen dan
kan het allemaal ws wel op een printje (muv display en encoder)
Dick
-
Ik vind het hartstikke mooi, maar de helft gaat me boven de pet.
Wat ik zou willen is de draaischijf met zo'n draaiknop bedienen, dus instellen op de knop drukken en het ding zien lopen (een soort moderne knop ipv de Fleischmann knop). Tevens automatisch ompolen waarbij de loc dus on-onderbroken met licht en geluid op de schijf blijft staan. Dus niet dat de diesel motor opnieuw gestart wordt omdat de spanning eraf is geweest.
Ik hoe de schijf niet in een automatisch systeem op te nemen.
Kan ik dan met dingen uit jouw probeersels uit de voeten?
-
Over het motortje: de variatie in snelheid is hoog als gevolg van belasting, warm/koud, etc. Zet tussen voeding en het motortje een oude lokdecoder die lastregeling aan boord heeft bij analoog bedrijf b.v. een oude Esu of Zimo decoder.
Werkt perfect.
Gr, Ben.
-
Hoi Dick,
Duidelijk! (y) Toch paar opmerkingen:
De condensatoren zijn echt nodig anders krijg je veel leesfouten
Dat is natuurlijk volledig afhankelijk van je gebruikte software ;)
De LM317 gebruik ik voor de spanningsregeling van de draaischijf motor. [knip] Ik heb helaas geen 2e DC- DC converter liggen andrers had ik dat wel gebruikt.
Dat is inderdaad wel jammer. Zou een goeie toepassing zijn.
Mijn plan om een H brug te gebruiken gaf niet echt een prettige regeling van de draaischijf motor
Mm, gek. Nu is dit draadje een beetje lang dus kan het zo niet terug vinden, maar welke H-brug heb je gebruikt? Hoe aangesloten? Hoe aangestuurd? Welke frequenties enzo?
Eagle is nog nieuw voor me, en de leercurve is nogal stijl
Tja, zeker nu met de overname had ik dan ook niet meer investeert in het leren van Eagle ::) De Eagle overname is een extra reden om KiCad te pakken :angel:
-
Op de youtube valt het me op dat je achter de relais nog een schakeling hebt hangen, die zie ik voor m'n gevoel ook niet terug in dit schema.
Klopt, het is een hulpschakelingetje om 2 single relais van de arduino print te bedraden als een dubbel relais
De bedrading van de draaischijf is gemaakt zoals in de link. Het stukje wat op het schema omschreven staat als k84 decoder heb ik gebruikt voor het bedraden van de relais in mijn schakeling
http://members.ozemail.com.au/~rossstew/rms/jpg/Fleischmann_Manual_Wiring.jpg (http://members.ozemail.com.au/~rossstew/rms/jpg/Fleischmann_Manual_Wiring.jpg)
Over het motortje: de variatie in snelheid is hoog als gevolg van belasting, warm/koud, etc. Zet tussen voeding en het motortje een oude lokdecoder die lastregeling aan boord heeft bij analoog bedrijf b.v. een oude Esu of Zimo decoder.
Deze functionaliteit ken ik niet Heb je een type nummer voor me ?
Wat ik zou willen is de draaischijf met zo'n draaiknop bedienen, dus instellen op de knop drukken en het ding zien lopen (een soort moderne knop ipv de Fleischmann knop). Tevens automatisch ompolen
Zit er allemaal al in. Nu dat printje nog even( en liefst met normale relais op de print)
Dus dat wordt weer terug naar de tekentafel en nog even wachten op een pakje uit china
maar welke H-brug heb je gebruikt? Hoe aangesloten? Hoe aangestuurd? Welke frequenties enzo?
Ontstoring mbv condensator is iets eenvoudiger dan mbv interupts, immers ik gebruik al een interupt in de DCC koppeling
H brug met de allersimpelste methode dus analogWrite(value);
Dick
-
Ontstoring mbv condensator is iets eenvoudiger dan mbv interupts, immers ik gebruik al een interupt in de DCC koppeling
Dat is waar. Welke library (of eigen code) gebruik je nu voor de rotary?
Dan had je nog wat kunnen spelen met de PWM frequentie. De standaard frequentie van +-450Hz en 1kHz zijn vaak niet super voor motoren.
Timo
-
https://www.circuitsathome.com/mcu/reading-rotary-encoder-on-arduino/ (https://www.circuitsathome.com/mcu/reading-rotary-encoder-on-arduino/)
void settrack()
536 {
537 static int16_t counter = 0; //this variable will be changed by encoder input origineel unsigned int8
538 int8_t tmpdata;
539 /**/
540
541
542 tmpdata = read_encoder();
543 if ( tmpdata ) {
544 counter += tmpdata;
545 if (counter > 191) counter = 0;
546 if (counter < 0) counter = 191;
547 lcd.setCursor(0, 1);
548 lcd.print("Target : ");
549 lcd.print(counter / 4); lcd.print(" ");
550 }
551 if (!digitalRead(ENC_SW))
552 target = counter / 4;
553 }
554
555 /* returns change in encoder state (-1,0,1) */
556 int8_t read_encoder()
557 {
558 static int8_t enc_states[] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};
559 static uint8_t old_AB = 0;
560 /**/
561 old_AB <<= 2; //remember previous state
562 old_AB |= ( ENC_PORT & 0x03 ); //add current state
563 return ( enc_states[( old_AB & 0x0f )]);
564 }
565
566
-
Bijgaand het gecorrigeerde schema ::) Dank voor het commentaar
Het gedeelte rond de encoder is mijn interpretatie van een keyes 040 breakout board ;D
Ik ga nog een keer experimenteren met relais aansturing mbv ULN 2003. Dan kan ik de relais op de print plaatsen maakt eventueel nabouwen een stuk makkelijker
(https://images.beneluxspoor.net/bnls/schema_turntable_decoder.png) (https://images.beneluxspoor.net/bnls/schema_turntable_decoder.png)
-
Zit er allemaal al in. Nu dat printje nog even( en liefst met normale relais op de print)
Dus dat wordt weer terug naar de tekentafel en nog even wachten op een pakje uit china
Zou je tzt. als je uit geëxperimenteerd bent willen opgeven wat je dan precies nodig hebt. Ik bouw het graag na.
-
Netjes :)
Kwa leercurve Eagle, kijk eens naar busses ipv losse lijntjes.
Linkje als voorbeeld, is genoeg te vinden.
https://www.youtube.com/watch?v=3c4PcVPb2hQ
Daarmee voorkom je van die spaghetti schema's :)
Mvg
Robert
-
Als ik mezelf nog mag citeren...
En waarom gebruik je niet 2x dezelfde opto? Voor beide kan je zowel een 6N137 of een 4N35 pakken.
Voor de 6N137, R4 mag je weglaten. R5? en R9 ook als je de interne pull ups gebruikt. Voor de OK2 neemt de tijdconstante wel iets toe maar dat lijkt me niet heel erg.
C7 heeft op die plek niet zo veel zin. Maar OK1 zou er graag wel een dicht bij zijn voeding hebben.
Timo
-
Deze functionaliteit ken ik niet Heb je een type nummer voor me ?
Alle Esu lokdecoders hebben analoge lastregeling aan boord evenals Zimo's.
Het is niet meer dan de motordraden op de decoder aansluiten (rood/zwart) en de motor op de decoder (oranje/grijs).
(https://images.beneluxspoor.net/bnls/545e3ef4e491b21a35b4492e228a9774.jpg) (https://images.beneluxspoor.net/bnls/545e3ef4e491b21a35b4492e228a9774.jpg)
Gr, Ben.
-
Alle Esu lokdecoders hebben analoge lastregeling aan boord evenals Zimo's.
Het is niet meer dan de motordraden op de decoder aansluiten (rood/zwart) en de motor op de decoder (oranje/grijs).
Ga ik naar kijken, maar op jouw foto is er wel behoorlijk geknutseld ( relais weg, opto geplaatst, weerstandsladdertje onder het huisje
Bijkomend probleempje is de draad die relais en motor delen. Die moet ik dan wel even uit elkaar halen als mede het feit dat de stroomsensor met een paar diodes in de min leiding van de motor werkt ( moet het automatisch remmen niet geactiveerd worden etc) ;D
-
Hallo
ik heb nog eens goed nagedacht over mijn hardware ontwerp.
Dat moet een stuk eenvoudiger na te bouwen kunnen zijn dan het nu is
Daarom een nieuw (concept) ontwerp, ik moet even wachten op de onderdelen dan kan ik gaan proberen of het ook werkt en een print ontwerp maken. Het idee is om een aantal modules (DC DC converters, Rotary encoder) kant en klaar te kopen en de arduino relais module te vervangen door omron print relais. Dan krijg je zoiets
(https://images.beneluxspoor.net/bnls/alternatief_schema_draaischijfdecoder.png) (https://images.beneluxspoor.net/bnls/alternatief_schema_draaischijfdecoder.png)
-
Ziet er al beter uit. Je kunt de relais met een uitgang aansturen. Dat redt hij fluitend. Verder mis ik de terugkoppeling van de stand van de draaischijf. Of zit die gecombineerd met de motorstroom.
Verstuurd vanaf mijn S7e met tapatalk
-
Hoi
terugkoppeling zit in de motorstroom via OK2
simpelweg een kwestie van tellen hoe vaak de locking pin in de draaischijf de motorstoom onderbreekt
Dick
-
Dan zou ik de uitgang van de opto coupler aan D3 (int1) koppelen. Deze ingang is toch vrij en je kan dan ipv "wachten" gewoon de interrupt gebruiken. Alhoewel je op dat moment toch waarschijnlijk aan het wachten bent, tot je bij het juiste spoor bent.
Groet,
Gerard van der Sel.
-
@dickkoning, mijn vorige punten gezien? ::) Dat zou het ontwerp al meer vereenvoudigen ;)
Timo
-
hoi
net terug van een weekje vakantie ;D
De postbode heeft een flink aantal chinese pakjes gebracht waaronder de print relais
Ik ga weer een rondje experimenteren (en met jullie suggesties aan de gang)
-
Hallo
ik heb mijn prototype opnieuw gebouwd, past nu op een gaatjesboard printplaat
Het schema is min of meer zoals ik het de laatste keer gepubliceerd heb (KIJK UIT :pinwijzigingen arduino )
(https://images.beneluxspoor.net/bnls/schema_turntable_decoder_3.png)
Tav het commentaar van Gerard en Timo
de terugkoppeling van de draaischijf gaat nu via pin d3, kan er eventueel een externe interupt gebruikt worden.
De printrelais gebruiken ongeveer 30 mA, is me net iets teveel voor de arduino zelf vandaar de ULN. Zijn wel wat kanalen over :Seinsturing oid ?
De arduino is extra ontkoppeld via C2 en C5. Pullups R9 en R5 kunnen ws weg maar waren eenvoudig te plaatsen.
Ik ben nog wel een beetje onzeker of ik geen problemen ga krijgen met inductiepieken vanuit de draaischijf motor /spoel. Daar zitten geen aparte ontkoppeldiodes, en in mijn opzet is er sprake van een common ground met de arduino ::) ???
Software wordt nog een beetje verder aangepast, en zet ik op github
Dick
-
hoi
bijgaand een plaatje van de voltooide opbouw op gaatjesprint
(https://images.beneluxspoor.net/bnls/20170316_085152_1.jpg)
Ik blijf dat altijd een lastig klusje vinden maar het werkt stabiel en kan ingebouwd gaan worden in mijn baan
Laatste versie software is op github te vinden
https://github.com/tkoning/dcc-turntable (https://github.com/tkoning/dcc-turntable)
Dick
NB was wel een heel goedkoop stukje gaatjes board, ik bouw echt wel recht maar de chinees had zo zijn eigen mening over de plaats van de gaatjes
-
de terugkoppeling van de draaischijf gaat nu via pin d3, kan er eventueel een externe interupt gebruikt worden.
Kan, maar interrupt is wel enorme overkill ;)
De printrelais gebruiken ongeveer 30 mA, is me net iets teveel voor de arduino zelf vandaar de ULN. Zijn wel wat kanalen over :Seinsturing oid ?
30mA relais moet je inderdaad niet direct via de Arduino willen doen.
De arduino is extra ontkoppeld via C2 en C5.
De Arduino zal zich niet heel veel aantrekken van C2. Kan geen kwaad (maar de Nano heeft zelf wel een beter geplaatste 100nF) maar de opto heeft meer baat bij C2 ;)
Pullups R9 en R5 kunnen ws weg maar waren eenvoudig te plaatsen.
Dat is waar :) Wat ik me nog steeds wel af vraag, waarom maak je het lastiger door twee type opto's te gebruiken?
Ik ben nog wel een beetje onzeker of ik geen problemen ga krijgen met inductiepieken vanuit de draaischijf motor /spoel. Daar zitten geen aparte ontkoppeldiodes, en in mijn opzet is er sprake van een common ground met de arduino ::) ???
Common ground is daar geen enkele reden voor. Dat ze dezelfde voedingen überhaupt gebruiken natuurlijk wel maar dat moet gewoon goed gaan. Vooral lekker strooien met 100nF en GND niet in lusje leggen op de print (ster is beter) en het zal wel meevallen. Wel zou ik de draaischijf motor nog van camp diodes voorzien.
Zit nog wel met één vraag, wat is ROODGEEL en grijs precies? En zie even niet wat K1 en K2 precies doen zo 123... Zal er aan liggen dat ik niet zo'n brug heb maar iets duidelijker label kan dan helpen.
Software wordt nog een beetje verder aangepast, en zet ik op github
(y) (y) (y)
Wil je alleen nog wel één link meegeven na een eerst blik op je code :angel:
When #define is Considered Harmful (http://hackaday.com/2015/10/16/code-craft-when-define-is-considered-harmful/)
C++ heeft zulke mooie en veel elegantere alternatieven voor macros in veel gevallen 8)
Timo
-
Hallo Timo
Wat ik me nog steeds wel af vraag, waarom maak je het lastiger door twee type opto's te gebruiken?
Heel banaal ik heb maar weinig 6n137 en veel 4n35 liggen
Zit nog wel met één vraag, wat is ROODGEEL en grijs precies?
Draaischijf aansluitingen, zie afbeelding
(https://images.beneluxspoor.net/bnls/fl_motor_coil.gif)
Wel zou ik de draaischijf motor nog van camp diodes voorzien.
Hoe bedoel je dat precies ? Direct in de draaischijf zelf gaat niet ivm ompolende voedingsspanning bij wisselen van de draairichting
Ik dacht zelf aan een 1N4148 antiparalel aan D2 D3 en een zelfde diode eventueel antiparalel aan de voeding ???
Dick
-
Waarom dan ook geen 4N35 voor DCC? Is net zo geschikt 8)
Timo
-
En zie even niet wat K1 en K2 precies doen zo 123
klopt, er zat weer een bug in het schema :-[ :-[ :-[ :-[ :-[ :-[
Ik heb het foute schema verwijderd en een hopelijk correcte versie geplaatst. Daar heb ik ook de eventuele beschermingsdiode D4 maar vast ingetekend.
K1 draairichting brug
K2 bekrachtiging relais
K3 ompolen DCC signaal afhankelijk van positie brug
Met de 4N35 heb ik voor DCC geen ervaring, is die snel genoeg ?
-
Hoi Dick,
Ahh, vandaar ;D De verbinding van K2 aan rood lijkt me overigens ook wat overbodig :angel: Gaat niets stuk maar nodig is hij niet.
En ja, die is meer dan snel genoeg. Zo heel snel is DCC nu ook weer niet ;) Op de OpenDCC decoders heb je dan ook ruime keuze welke je er op drukt. Leuke is namelijk dat ze pin-compatible zijn als je de 4N35 onderin de socket drukt. ;D
En ik bedoelde natuurlijk clamp diodes ;D Goed geschreven was er misschien wel een lampje gaan branden :angel: Maar voor de motor niet zo nuttig aangezien de onderbreker daarvoor in de brug zit. Maar voor de spoel wel handig. Twee diodes van de grijze draad naar Vcc en GND. En dan niet zo dat ze kortsluiting maken maar dus kathode aan Vcc en anode van de andere aan GND.
En misschien nog je schema iets groter op GitHub zetten. Beneluxspoor comprimeert het überhaupt al dood maar die op GitHub is ook wel erg klein 8) Never mind, GitHub laat hem gek genoeg klein zien... Origineel is super! (y)
Timo
-
Hoi
een eerste print ontwerpje (voor de duidelijkheid nog even zonder groundplane)
printje is nu nog 8 bij 6 cm, ik moet maar eens gaan opzoeken of dat een goede maat is, en wat de kosten zijn
(https://images.beneluxspoor.net/bnls/print_decoder_2.jpg)
dick
-
Hoi Dick,
Ziet er al goed uit! (y) Zou alleen her en der nog even over heen lopen om wat gekke kronkels en bochten glad te trekken, ziet het er nog wat professioneler uit.
En ik zie nog één "foutje". Zet de schroefklemmen strak tegen elkaar en probeer er minimaal twee tegen elkaar te zetten. Dit zorgt ervoor dat ze veeeeeeeeeeeeeel steviger zijn. Die vierkantjes aan de buitenkant zijn de vergrendelingen en moeten in elkaar vallen en niet tegen elkaar zitten zoals je onder hebt. Als het goed is heb je dan ook gewoon 200mil tussen alle pinnen. (y)
En het zou natuurlijk ook mooier zijn als je de dubbele schroefcontact waar je nu één leeg contact op hebt zou vervangen door een 3-voudige. :angel:
En als je het binnen 5x5cm krijgt kost het echt 3 knikkers en een scheet om het te laten maken. Maar anders zou ik in ieder geval proberen één zijde naar 5cm te krijgen want, in ieder geval in China, wordt vaak ik stappen van 5cm gewerkt. Denk dat 5x5 mogelijk moet zijn maar met 10x5 heb je denk ik makkelijker ruimte voor labels (die nu nog ontbreken). En je zou zelfs de voeding weer terug op de print kunnen brengen.
Timo
-
hoi
nieuw print ontwerp nav de punten van Timo
maten nu 10 * 5 cm
Graag commentaar / wensen
Als ik zoiets bij itead laat maken komen de kosten op ongeveer 20 dollar voor 10 stuks. Dat betekent incl verzendkosten in NL ruwweg 4 euro voor een printje ( Moet ik nog wel wat meer liefhebbers hebben )
(https://images.beneluxspoor.net/bnls/print_draaischijf_decoder2.jpg)
-
Zoals gezegd, ik vind het interessant, maar het gaat mij boven de pet om uit te zoeken wat ik nodig heb en hoe en wat je moet programmeren. Als je een complete set kunt samenstellen, neem ik dat graag van je af. Dus incl. alles.
-
ben het met ingenium eens
-
Als dat tot de mogelijkheden behoort ben ik ook voor (y)
Groetjes
Arthur
-
Ik heb ook belangstelling. Een setje inclusief alles is natuurlijk ideaal, maar ook een tandje minder is prima.
Tom
-
hoi
een compleet bouwpakket samenstellen is wat meer dan ik van plan was. Sorry dit is ook voor mij een hobby project en anders gaat het wel erg op werk lijken ::)
Wat wel kan is een handleiding, een printplaatje en een lijstje benodigdheden die je zo via ebay kan bestellen.
Als sommige zaken alleen in bulk te koop zijn moeten we daar even naar kijken maar veelal zijn ook relatief kleine aantallen te koop
Ook de software heeft nog wat liefde nodig en zal je aan je eigen situatie moeten aanpassen. Dat vereist wel wat arduino kennis en een zekere flexibiliteit bij het oplossen van bugs.
dick
-
Dan heb ik nog steeds belangstelling (y)
Groet,
Tom
-
Belangrijke onderdelenlijstje
relais
http://www.ebay.com/itm/331985151224?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (http://www.ebay.com/itm/331985151224?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)
arduino nano
6N137 optocoupler
4n35 optocoupler
uln 2803 darlington driver
!N4001 diode *2
printkroonsteentjes 3.5 mm * 8 (10)
printschakelaar *2
condensator 100 n *3
elco 100 mcf 15V
weerstanden 10 k * 3
weerstand 1k
weerstand 47 Ohm
IC voetjes voor arduino / opto
tbv eventuele voeding
brugcel 1 amp
elco 2000 microf 25 V
DC DC converter
http://www.ebay.com/itm/262136732989?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (http://www.ebay.com/itm/262136732989?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT)
tbv eventueel display / draaiknop
display + I2C adaptor
http://www.ebay.com/itm/New-Blue-IIC-I2C-TWI-1602-16x2-Serial-LCD-Module-Display-for-Arduino-/221439853893?hash=item338ed80545:g:JagAAOSw9GhYYN6g (http://www.ebay.com/itm/New-Blue-IIC-I2C-TWI-1602-16x2-Serial-LCD-Module-Display-for-Arduino-/221439853893?hash=item338ed80545:g:JagAAOSw9GhYYN6g)
Rotary encoder
http://www.ebay.com/itm/1Pcs-KY-040-Rotary-Encoder-Module-Brick-Sensor-Development-For-Arduino-/171772090202?hash=item27fe6a175a:g:pJ4AAOSwpDdVQN2B (http://www.ebay.com/itm/1Pcs-KY-040-Rotary-Encoder-Module-Brick-Sensor-Development-For-Arduino-/171772090202?hash=item27fe6a175a:g:pJ4AAOSwpDdVQN2B)
Het leuke van ebay bestellen is dat het 6 wkn lang pakjes dag is (y)
Maar goed eerst genoeg liefhebbers voor een printje anders wordt het toch nog gaatjesboard :'(
-
een compleet bouwpakket samenstellen is wat meer dan ik van plan was. Sorry dit is ook voor mij een hobby project en anders gaat het wel erg op werk lijken ::)
Dat snap ik en ken ik (ontwikkel en verspreid messing bouwsets, soms 25, 40 of 50 sets - daar heb ik dan weer wel verstand van :angel:)
Wat wel kan is een handleiding, een printplaatje en een lijstje benodigdheden die je zo via ebay kan bestellen.
Graag, want alleen red ik het niet in het donkere bos.
Ook de software heeft nog wat liefde nodig en zal je aan je eigen situatie moeten aanpassen. Dat vereist wel wat arduino kennis en een zekere flexibiliteit bij het oplossen van bugs.
Hmm, dat wilde ik nou net niet horen. Maar als het alleen maar instellen is waar de stoppunten zijn, en er een reset mogelijkheid is, dan kan het toch niet te moeilijk zijn. Ik heb het misschien gemist, maar is er een soort home positie, die na een storing altijd opgezocht wordt?
-
Hoi Dick,
Dat ziet er goed uit! (y) Mag ik toch nog drie vier tips geven?
1) Als je de 6N137 vervangt door een 4n35 (dus eigenlijk vooral de 6-pin dip dor een 8-pin dip) dan kan je op beide plekken naar keuze een 6N137 of een 4N35 drukken
2) Ik zou de 3 connectoren links die nu allemaal los zitten tegen elkaar doen. Ik vind een 2-polig schroefcontact altijd nogal kwetsbaar in zijn eentje.
3) Duidelijke labels voor de connectoren toevoegen.
4) Als je de contacten van ROODGEEL en GRIJS allemaal één plekje naar rechts schuift (dus de ongebruikte pin link) kan je naar keuze 2x een 2-polige connector plaatsen of één keer een 3-polige :)
Timo
-
Dick, ik heb ook belangstelling voor een set.
Silvolde
-
2) Ik zou de 3 connectoren links die nu allemaal los zitten tegen elkaar doen. Ik vind een 2-polig schroefcontact altijd nogal kwetsbaar in zijn eentje.
3) Duidelijke labels voor de connectoren toevoegen.
(https://images.beneluxspoor.net/bnls/print_draaischijf_decoder3.jpg)
opto lukt me niet zonder de footprint van de component te veranderen
suggestie 4 is erg veel tekenwerk, sorry
Hopelijk staan de kroonsteentjes nu niet verkeerd om
-
Hopelijk staan de kroonsteentjes nu niet verkeerd om
Helaas wel... het gleufje/nokje zit aan de andere kant als waar je de kabel inschroeft.
Duidelijke labels voor de connectoren toevoegen.
Maar dan wel buiten de component, niet er onder, zodat je het ook nog kan lezen nadat het onderdeel geplaatst is.
-
Er zitten nokjes aan beide kanten van het kroonsteentje ???
ik heb nog hoop ???
(https://images.beneluxspoor.net/bnls/kroonsteen.jpg)
-
Zou me er niet te druk over maken. De pinnen zitten in het midden, dus bij montage blijkt dat het altijd goed is ;D (Ervarings deskundige).
(https://images.beneluxspoor.net/bnls/Blokaansluitingen.jpg) (https://images.beneluxspoor.net/bnls/Blokaansluitingen.jpg)
Groet,
Gerard van der Sel.
-
Voor zo'n draaischijf decoder heb ik ook wel belangstelling!
-
Ze zijn er in verschillende uitvoeringen (https://www.conrad.nl/nl/Search.html?search=klemschroefblok&searchType=REGULAR&category=%1FElektromechanica%1FConnectoren&sort=Price-asc), van 2 tot 10 dikke of dunne pennen, met een steek van 5 en 3 mm.
Misschien kun je beter de nok/gleuf aanduiding helemaal weglaten, alleen de steek is belangrijk.
(https://images.beneluxspoor.net/bnls/printklem.jpg)
-
met een steek van 25,8 en 3 mm.
Daar kan je een flinke kabel ik kwijt ;D
Maar inderdaad, ik vergeet ook altijd hoe om de footprint bedoeld is... Maar zoals ook door andere gezegd maakt dat ook niet uit. Maar als ik zo kijk komt het nokje zelfs overeen.
opto lukt me niet zonder de footprint van de component te veranderen
suggestie 4 is erg veel tekenwerk, sorry
Nu ken ik Eagle niet zo heel goed maar volgens mij kan je daar ook gewoon forward pushen. Dus veel werk is het niet. In het schema aanpassen en naar je board pushen en even de paar kleine aanpassingen maken.
Voor de opto is het helemaal makkelijk. Gewoon in je schema de 4N35 vervangen door een 6N137, pinnen zitten al goed. Pushen en dan hoogstens nog ff je footprint op de juiste plek slepen. Op de footprint van de 6N137 kan je later gewoon een 4N35 solderen.
Voor de connector bijna hetzelfde. Wat ik al zei, ken Eagle niet super goed maar in KiCad heb ik beide binnen 2 minuten aangepast... :angel:
Maar ik mis nog wel nog steeds je labels :angel: Enige labels die ik zie (en ik kan niet zo goed inschatten of die überhaupt op de silkscreen terecht komen) zijn niet meer zichtbaar zodra de connector op zijn plek gesoldeerd zit. ::)
Of er verder geen fouten in zitten kan ik niet zo goed zien. Zeker omdat het schema op GitHub niet meer overeen komt met de PCB en die via het forum dood gecomprimeerd zijn... :-\ Zou je beide eens lossless op GitHub kunnen zetten ofzo?
En misschien nog een idee, je zou de laatste drivers van de ULN natuurlijk met de overige pinnen van de Arduino kunnen verbinden en de outputs via een optionele header beschikbaar stellen. Kost je nu niets en heb je geen gedonder als je ze nog zou willen gebruiken.
Timo
-
Daar kan je een flinke kabel ik kwijt
Voor draad geldt hoe dikker hoe beter, maar in dit geval wordt bedoeld een steek van 5,08 mm (0,2'').
... hoe om de footprint bedoelt is...
Je bedoelt bedoeld... smurfenregel al weer vergeten? :police:
-
Doelde meer op de plaats van de komma ;D Of had je er 25,8 · 10-4m willen schrijven ;D
En sorry, me Smurf was al weekend vieren in de zon denk ik ;)
Er zijn mensen die meer/grotere fouten maken dan een d-t...
Timo
-
hoi
leuk wat een boel reacties ;D Dit printje gaat er komen
Ik ben dit weekeinde zeilen, dat combineert lastig met modelspoor :angel:
ik zal na het weekeinde de gevraagde aanpassingen in de print proberen te verwerken
To do list: footprint van de opto en de uln aanpassen, en nog een extra voorziening maken om in de toekomst een hall sensor te verbinden.
Dan heb je automatische calibratie mogelijkheden
nieuwe schema staat weer op github.
dick
-
5,08 mm
Er zijn mensen die meer/grotere fouten maken dan een d-t...
"Put your money where your mouth is", als jij een donatie doed aan het forum van 0,10 euro voor iedere d/t fout, dan kosd je dat nog een hoop geldt. ;D
-
hoi
leuk wat een boel reacties ;D Dit printje gaat er komen
Ik ben dit weekeinde zeilen, dat combineert lastig met modelspoor :angel:
Rustig aan, we hoeven het niet morgen te hebben. Begin volgende week is snel genoeg. ;D
-
@dickkoning, daar is het weekend voor 8) Zelf zo ook even wandelen om van het weer te genieten. Je kan voor de productie ook nog naar Dirty PCB (http://dirtypcbs.com) kijken. Silkscreen is iets minder maar zeker nog prima. Ze leveren alle kleuren en kost je $17,-
@72sonett, goed, als jij de donatie wilt doen, prima. Aangezien ik me mond daar nooit gehad heb... Voor de rest doe ik wel of deze discussie nooit heeft plaats gevonden :angel:
Timo
-
hoi
printontwerp is verzonden naar itead
Hello, T Koning
Thank you for choosing our PCB/SMT service.
It's a pleasure to inform you that your Gerber file turntable_final.zip in order 100107287 is in processing now. It is estimated to be finished within a week.
If any issue occurs, we will inform you by email , please note.
incl verzenden dus 4-6 wkn
Ik hou jullie op de hoogte
-
(y) (y)
Groetjes
Arthur
-
Top :laugh:
Tom
-
hoi
printje is bij itead verzonden, liefhebbers nog een paar weekjes geduld
Ik ben inmiddels aan het experimenteren met een hallsensor, tbv een automatische calibratie.
Helaas heb ik de magneetjes verkeerd om ingebouwd dus de draaischijf moet weer een keertje open
Dick
-
(y) (y)
Groetjes
Arthur
-
We wachten geduldig af. (y)
-
Hallo
vandaag, toch nog onverwacht snel een pakketje uit china
Printplaatjes zien er goed uit, maar helaas zijn de labels niet afgedrukt op de print :'(
Met behulp van het schema toch even een printje gebouwd
(https://images.beneluxspoor.net/bnls/20170411_155249.jpg) (https://images.beneluxspoor.net/bnls/20170411_155249.jpg)
(https://images.beneluxspoor.net/bnls/20170411_162146.jpg) (https://images.beneluxspoor.net/bnls/20170411_162146.jpg)
(https://images.beneluxspoor.net/bnls/20170411_174600.jpg) (https://images.beneluxspoor.net/bnls/20170411_174600.jpg)
(https://images.beneluxspoor.net/bnls/20170411_175157.jpg) (https://images.beneluxspoor.net/bnls/20170411_175157.jpg)
vanavond maar eens gaan testen
Dick
-
quick and dirty : legenda printplaat
(https://images.beneluxspoor.net/bnls/legenda_print_1.jpg) (https://images.beneluxspoor.net/bnls/legenda_print_1.jpg)
-
(y)
Heb je toch een foutje gemaakt met het exporteren uit Eagle :-\ De labels hadden namelijk gewoon in dezelfde laag moeten zitten als de component outlines. Tip voor de volgende keer, bekijk je Gerber bestanden even met een Gerber-viewer. Ik heb geen idee of Eagle er één levert (verwacht het wel) maar anders zijn er ook online viewers zoals Gerber-viewer.com (http://www.gerber-viewer.com/).
Timo
-
helaas, de print is niet goed :'( :'( :'(
Het omron printrelais wat ik gebruikt heb, heeft een andere pinlayout dan de pinlayoout van de component die ik in eagle gebruikt heb
Daardoor zijn er per relais 2 aansluitingen omgewisseld en werkt het allemaal niet.
Ik moet eens rustig nadenken hoe ik dit kan oplossen maar deze print is nu even niet bruikbaar
Dick
-
Jammer :-\
Welke pinnen zitten er verwisseld? Ik neem niet aan dat pinnen van de spoel zitten verwisseld met de contacten. (of wel?) Dan zou het denk ik nog wel meevallen...
Timo
-
Jammer, maar geen ramp. Je zoekt dan toch een printrelais dat wel dezelfde footprint heeft, en/of je krast de printbanen door en soldeert draadjes op de goede plaats.
Ik maak altijd eerst een prototype op gaatjesboard, met de onderdelen die ik heb. Vaak moet ik het oorspronkelijke pcbontwerp dan nog wat aanpassen, het gaat nooit in één keer goed.
-
Jammer :-\
Welke pinnen zitten er verwisseld?
de rij gemeenschappelijke pinnen en een van de rijen contactpinnen, ik zal kijken of ik een plaatje kan vinden.
Jammer, maar geen ramp. Je zoekt dan toch een printrelais dat wel dezelfde footprint heeft, en/of je krast de printbanen door en soldeert draadjes op de goede plaats.
Ik maak altijd eerst een prototype op gaatjesboard, met de onderdelen die ik heb. Vaak moet ik het oorspronkelijke pcbontwerp dan nog wat aanpassen, het gaat nooit in één keer goed.
Had ik ook gedaan, maar niet goed genoeg gekeken naar de layout op board vs de layout op de print . Ik zal op zoek gaan naar het goede relais maar even wat draadjes aan het relais solderen is gewoon een goede optie
Probleem is dat ik niet weet hoe ik de nu gemonteerde relais weer los moet krijgen ( dubbelzijdige en doorgemetaliseerde print) dus deze print kan ws weg
Dick
-
Probleem is dat ik niet weet hoe ik de nu gemonteerde relais weer los moet krijgen ( dubbelzijdige en doorgemetaliseerde print)
Desoldeernaalden (http://hackaday.com/2017/04/03/have-you-ever-tried-desoldering-needles/) :)
En ik zit nog ff te puzzelen met de datasheet ernaast. Ik zie geen verschil tussen de datasheet (https://www.omron.com/ecb/products/pdf/en-g6s.pdf) en de contacten op je print. Wel zie ik dat je de polariteit van de spoel hebt omgedraaid...
Timo
-
hoi
het was al laat gisteren maar op de foto van het relais kun je zien dat de commoncontacten van het relais aan de spoel kant zitten
(https://images.beneluxspoor.net/bnls/relais_4.jpg) (https://images.beneluxspoor.net/bnls/relais_4.jpg)
de "common" contacten op de print zitten in het midden :'( :'( :'(
Morgen op mijn werk maar eens gaan desolderen
-
Op die foto inderdaad wel, maar dat is een G5... Op de foto waar je relais op je print toont zie ik G6 en die hebben WEL de common in het midden.
Timo
PS, holy crap wat lelijk om een bottom view op de bovenkant van een relais te printen! :-X
-
Op die foto inderdaad wel, maar dat is een G5... Op de foto waar je relais op je print toont zie ik G6 en die hebben WEL de common in het midden.
Ik ga weer aan de slag met de multimeter ??? ??? ??? ???
dan is er nog de optie van de polariteit, maar een spoel is toch gewoon een spoel , wat is daar nu + of - aan ? ??? ??? ??? ???
-
;D
Maar wat zou kunnen is dat het niet een stuk metaal aan trekt maar een magneet. Alle bi-stabiele relais die ik ken doen dit bijvoorbeeld. Daardoor stoot de boel dus juist af als je de polariteit om draait. En als ze dat hier dus ook doen (en het lijkt er op omdat ze zo op de polariteit hameren in de datasheet) dan duw je de contacten dus alleen steviger van elkaar weg... :-\
Timo
-
Om even zonder specifieke kennis binnen te vallen. Welke relais configuratie is voor deze print geschikt?
De foto lijkt mij een monostabiel relais met de contacten in rusttoestand; bij bistabiele relais is de polariteit van de spoel bepalend voor de contactpositie en wordt deze inderdaad meestal met een magneet(je) vastgehouden. Dat houdt ook in dat het relais niet in de buurt van een sterke magneet (motor) geplaatst moet worden. Ik heb daarin in het verleden 'enige' ervaring opgebouwd...
Groet, Rob
-
het zou een monostabiel relais moeten zijn.
Ik heb inmiddels de gegevens op ebay gevonden Het is een omron G6S 2
Volgens het omron datasheet is de print correct gemaakt met uitzondering van de polariteit van het relais
Dat kan ik wel testen, en dan is er een heel simpele remedie om de print toch te kunnen gebruiken (y) (y) (y)
Gratis printje voor de eerste die ook op dit idee komt
wordt vervolgd.
Dick
-
Monostabiel, de G5 lijkt de goede (afgezien van de polariteit van de spoel). Datasheet in antwoord #143.
Timo
-
Timo
je hypothese klopt. Het probleem is inderdaad de polariteit van de relaisspoel. Weer een nieuwe factor om rekening mee te houden
Fix is erg simpel , een gratis printje voor de eerste met de goede oplossing (y) (y) (y)
Dick
-
Relais eruit halen en aan de soldeerzijde solderen / monteren :)
Dus op de kop als het ware...
BTW desolderen, pin voor pin met soldeerbout aantippen en dan direct met print op tafel slaan, soldeerzijde naar onderen.
Dan sla je de tin eruit en krijg je relais er wel redelijk vanaf....
Mvg
Robert
-
yes, geen gezicht maar het werkt (waarschijnlijk) wel
Ik zal de print vanavond eens op jouw manier gaan mishandelen :police:
Dick
-
een gratis printje voor de eerste met de goede oplossing
Doe maar kratje bier ipv print :)
Mvg
Robert
-
;D (y) Gelijk je component van je relais in Eagle voorzien van een + en een - ;D
En je kan natuurlijk alles op de onderkant solderen 8) Heb je geen footprints maar de labels waren toch al weg gevallen :angel: Voor de opto alleen even de pootjes de andere kant op buigen en je kan zo de hele print in spiegelbeeld opbouwen ;D
[edit]Owja, de ULN ook nog ombuigen. En de Arduino op zijn kop voorzien van headers. Beetje gek, maar kan wel ;D :angel:
Timo
-
Ik denk dat BertMod uitflipt van dit register aan smileys....!?
oudebiels
-
Ok, geen smiley's maar vandaag wel 5 printjes de deur uit ! Zijn nog een paar beschikbaar a 5 euro incl verzenden
In het kader van de derde helft heb ik mijn fout inmiddels getraceerd
Omdat ik geen Eagle footprint van mijn Omron relais had heb ik een qua footprint vergelijkbaar print relais gebruikt (TXD2-L 5V)
Het venijn zit in de L dit is een latching relais ( niet de bedoeling) en bij dit relais zit de + net op de nadere pool dan de bij de normale versie (TXD2 5V) en bij het door mij gebruikte Omron G6S-2 5V Netjes neurotisch had ik in mijn schema + aan + verbonden
sh*t Happens (weer geen smiley)
-
Hebben jullie niet eens een de-soldeerstation thuis staan? Valt me een beetje tegen. :angel:
Ik ook niet hoor, maar op m'n werk gelukkig wel. :)
-
Beetje tinzuiger haalt het relais in een paar minuten los. Vaker gedaan. Maar ja soldeer pas 40 jaar (met een cursus: mts electrotechmiek).
Groet,
Gerard van der Sel.
-
mensen
Bij seeedstudio betaal je voor 10 printplaaten van 10 bij 10 cm 10 dollar + 7 euro verzendkosten totaal 16,33 euro. heb ze net binnen. doe je er voordeel mee.
groeten ronald
-
hoi
ik ben net gezakt voor mijn desoldeer examen, relais kwamen wel vrij maar helaas kwam er ook een printbaantje mee
Nieuwe print opgebouwd, met relais aan onderkant gemonteerd Werkt prima, helaas geen fraai gezicht :( :(
Aanbieding van itead is heel aantrekkelijk (ik heb meer betaald voor een kleinere print), iets voor de volgende keer (met een verbeterd ontwerp uiteraard) Op 10 bij 10 kan ik ook de voeding kwijt.
dick
-
helaas geen fraai gezicht
Who cares?!
Je was toch hopelijk niet van plan die print op een voetstuk in je huiskamer te zetten, met een knielkussentje ervoor ten behoeve van de dagelijkse aanbidding?? :)
oudebiels
-
Ik ben een perfectionist ,sorry :P
-
Noueee..
Dan had je 25x gecontroleerd of je printontwerp wel juist was!
Maar goed, ik heb je de absolutie gegeven ;D
Groet van oudebiels
-
Ik heb het plaatje ontvangen, dank! Zal tzt. eens terug kijken welke componenten erop moeten. Of is iemand die er meer verstand van heeft al bezig met een "bestellijst"? Ik ben niet de enige afnemer begrijp ik. 8)
-
Ik denk dat BertMod uitflipt van dit register aan smileys....!?
Zoals andere (ook de mods ;)) wel eens hebben opgemerkt, communicatie bestaat maar uit een klein deel wat je zegt. De toon en houding tijdens het spreken doen het meeste werk. Daarom word men op een forum nogal eens verkeerd begrepen omdat alleen dat kleine deel "wat" overkomt via het internet. ::) Gelukkig kunnen we door smileys toe te voegen de toon weer een beetje kenbaar maken dus een overvloed aan smileys s echt niet slecht ;D ;)
Who cares?!
Je was toch hopelijk niet van plan die print op een voetstuk in je huiskamer te zetten, met een knielkussentje ervoor ten behoeve van de dagelijkse aanbidding?? :)
Nouwja, als ik heb zitten zwoegen op een print (en dan moet ik inderdaad toegeven dat ik hem wel 25x controleer / uitprint) zou ik hem graag inlijsten ;D En nu moet ik ook zeggen dat een van mijn laatste printjes een prominente plek achter glas in een woonkamer heeft gekregen 8) (Controller voor een lamp (https://www.jurriendijkstra.com/portfolio/tl/).)
ik ben net gezakt voor mijn desoldeer examen, relais kwamen wel vrij maar helaas kwam er ook een printbaantje mee
Nieuwe print opgebouwd, met relais aan onderkant gemonteerd Werkt prima, helaas geen fraai gezicht :( :(
Oeps, gelukkig had je er nog wat :angel:
Timo
-
Hoi, voor degenen die ook met dit project aan de gang gaan
Schema in topic 97
Bestellijst in topic 113
Opbouw printje topic 137
Denk bij plaatsing schakelaars om de oriëntatie.
Relais aan de onderzijde print :'(
Voeding arduino 5 v = voeding draaischijf 15 v=
Software op https://github.com/tkoning
Ik zal tzt wel een soort manual in elkaar zetten, vragen via forum of pb zijn welkom
-
Ik heb alles nog eens doorgelezen en heb voor nu een paar vragen.
1. Is er maar een soort Arduino Nano? Ik zie "V3" staan als ik op Arduino Nano google. Zijn er meer versies? Ik vraag het maar voor ik de verkeerde koop.
2. Waarvoor dienen die 2x3 pins die wel op je print zitten, maar je niet doorverbonden hebt naar je Arduino Nano. Ze hebben ook geen label op je Eagle plaatje.
3. Je hebt een DC-DC converter met link naar een eBay aanbieder gegeven. Er staat geen hoeveelheid aangegeven, maar begrijp ik goed dat je er 2 moet hebben? Een die je op 5V instelt en een die je op 15V instelt? Ik neem aan dat je die instelt met die potmeter (dat blauwe componentje). Ik heb nog een 24V Puls DIN rail voeding liggen. Kan ik beide hieraan hangen?
4. De pinnen voor de display en rotary encoder hebben een witte en gele basis. Had je dat liggen, of koop je dat zo, zijn ze specifiek? Of gedaan om onderscheid te maken?
Van de week maar eens kijken wat ik op m'n werk kan vinden. Zal niet veel meer zijn tegenwoordig. Printplaat eruit, nieuwe erin, oude opsturen... ::)
Dank.
-
1) Ja, er zijn meerdere versies geweest (net als bij de Uno en Mega) maar de laatste nieuwe versie is al weer even geleden. Alle nu te koop zijnde Nano's zijn V3.
2) Dat is de ISP-header (die op die positie op de Nano zit) om in circuit te kunnen programmeren (als alternatief op de bootloader die Arduino standaard gebruikt). Schijnbaar zaten die pinnen al in de footprint die Dick heeft gebruikt. Ze zijn nergens voor nodig in dit ontwerp. Je hoeft deze dus zowel op de print als op de Nano niet te voorzien van pinnen.
3) Ben geen Dick maar volgens mij is dat inderdaad de bedoeling. Die van 15V kan je ook op een ander voltage instellen als je de schijf trager wilt hebben. Instellen doe je inderdaad met de potmeter (10-slagen potmeter). Wel eerst voltage instellen, dan aansluiten. Je zal anders altijd zien dat hij veel hoger staat in gesteld dan je zou willen.
4) Weer, ben geen Dick maar denk dat hij die gewoon had liggen. De kleur van de connector maakt natuurlijk niet uit ;D
Timo
-
Dank je wel Dick! ;D ;)
De schijf zou dus ook aan de 12V kunnen? Dat zou mooier zijn dan dat ik die 24V voeding erbij moet halen. En een mooie 5V voeding heb ik ook nog wel liggen.
-
Dank je wel Dick! ;D ;)
ehhhh Timo ??
Groetjes
Arthur
-
ehhhh Timo ??
Dat was natuurlijk een grapje omdat ik "voor mijn beurt" sprak ;D ;D
@ingenium, motortjes zijn niet heel kritisch. Op 12V zal hij iets langzamer lopen maar is waarschijnlijk wel okay (maar meten is weten ;)). Zou kunnen dat hij op 12V te weinig kracht over houdt maar het is maar 3V* minder dus denk niet dat het zo'n vaart loopt.
En ja, je zou een tweede 5V voeding kunnen pakken maar daarvoor een DC-DC convertertje pakken is denk ik makkelijker. En als voeding voor het geheel kan je ook een oude rijtrafo pakken en die gebruiken om de snelheid naar wens in te stellen.
Timo
* Okay, is 20% maar nog :angel:
-
Hallo
ik heb een beschrijving van de opbouw van de decoder gemaakt.
Die is te vinden op https://github.com/tkoning/dcc-turntable (https://github.com/tkoning/dcc-turntable)
Voor de liefhebbers er zijn nog 3 printjes over :laugh:
Dick
-
Super Dick , hier zat ik op te wachten!
vr gr Andre
-
Alle componenten zijn besteld, 12 rekeningen van PayPal. ;D En now we wait...
-
hoi
nieuwe software versie staat op mijn github pagina
https://github.com/tkoning/dcc-turntable (https://github.com/tkoning/dcc-turntable)
succes met wachten :laugh:
-
Hoi
ik heb vandaag mijn draaischijf decoder aan mijn fleischman twin centre en (eigenbouw) s88 melder gehangen
Na wat stoeien met de virtuele wissel adressen in de twin centre werkt eea correct (y)
De S88 melder liet wel een probleempje zien. De opto van de DCC koppeling trekt genoeg stroom om de bezetmelder te activeren. :'(
Eerst maar eens experimenteren met de ingangsweerstand van de DCC detectie, anders is een kleine modificatie van het printje nodig
Dick
-
Hoi Dick,
Met 1k aan de ingang stuur je de opto dan ook wel donders hard aan ;D Denk dat als je 10k of 20k pakt de boel nog net zo goed werkt maar dat je dan onder de grens van je stroomdetectie blijft.
Nu weet ik niet hoe gevoelig je de stroomdetectie hebt gemaakt. Maar deze kan je altijd iets minder gevoelig maken door er een extra weerstand over te zetten.
Snel even over de software gegaan. Paar tips als het mag :angel:
Let op het variabele type wat je gebruikt. Voor veel gebruik je gewoon een int terwijl een byte zou voldoen. Of je gebruikt een signed terwijl je nooit negatief gaat.
Zoals eerder aangegeven, C++ geeft je mooie alternatieven voor macros (#define) in veel gevallen. Voor alle pin definities is het veiliger een const byte te gebruiken.
En voor je macros voor aan en uit is een enum het veilige alternatief.
enum aanUit_t{UIT, AAN);
Je kan de functie ConfigureDecoderFunctions() vervangen door de de struct gewoon te initialiseren bij declaratie. Zou je zelfs dingen const kunnen maken.
Verwijder alle delay()'s... 8) ::)
Maak het jezelf makkelijk en kies voor één manier om variabelen en functies van naam te voorzien. Nu gebruik je Nederlands en Engels door elkaar. En gebruik je zowel dit_als_functienaam, alsdit, adit, alsDit... De Arduino wereld wijkt een beetje af van de normale C++ wereld op een aantal punten maar de standaard is om een functienaam teSchrijvenAlsDit(). Of je dit Engels of Nederlands doet is aan jou maar één stijl maakt het in ieder geval makkelijker.
Timo
-
hallo Timo
je hebt gelijk, er zit nogal wat stijlverschil in de code. Komt een beetje van het knip en plak van code stukken zoals de DCC routines en de encoder logica
Zit nog ruimte in voor optimalisatie en verwijderen van het nederengels.
Mijn S88 module is kennelijk nogal gevoelig. Verhoging van de ingangsweerstand van de opto tot 10 K gaf nog steeds een melding. Daar moet ik dus even naar gaan kijken
Dick
-
Hoi Dick,
Mja, daarom hou ik ook niet zo van knippen en plakken :angel:
Nog wel klein "foutje" in je beschrijving. Daar noem aansluitingen -5V en -15V maar dat is het natuurlijk niet en is verwarrend. Het betreft namelijk de referentie of 0V draad van de voedingen. Aangezien je ze op je print wel gescheiden hebt gehouden (maar dat met je DC-DC niet doet) zou ik ze DGND (Digitaal Ground) and MGND (Motor Ground) noemen.
Timo
-
Hallo
weer een stapje verder
Ik heb inmiddels de gevoeligheid van mijn stroomdetector print verlaagd door een weerstand van 100 ohm over de diode brug te plaatsen
Tevens de ingangsweerstand van de opto verhoogd tot 5 K, probleem van de valse detectie lijkt daarmee verholpen.
Inmiddels ben ik begonnen met een proefbaantje om automatisch rijden met rocrail te kunnen testen
(https://images.beneluxspoor.net/bnls/rondje_1.jpg) (https://images.beneluxspoor.net/bnls/rondje_1.jpg)
uitdagend ;D
Dick
-
Voor mij was je al klaar. (y) Voor stand alone gebruik kan ik nog steeds de handleiding aanhouden, toch?
De onderdelen druppelen al binnen. Even voor de zekerheid, de relais moeten dus aan de achterkant van de printplaat gemonteerd worden. Dus niet zoals op de foto's.
-
Hoi
klopt, relais aan de onderzijde van de printplaat. Maak gelijk de ingangsweerstand van de 6n137 opto 5k6 oid scheelt gedoe met bezetmelders
Dick
-
Ik moet helaas nog effe wachten op mijn Chinese Arduino die ik van Dick krijg opgestuurd. Maar ik ben erg benieuwd. Ook hoe dat in combinatie met het display werkt.
-
@Timo,
Je hebt wat betreft onderstaande gelijk.
Nog wel klein "foutje" in je beschrijving. Daar noem aansluitingen -5V en -15V maar dat is het natuurlijk niet en is verwarrend. Het betreft namelijk de referentie of 0V draad van de voedingen. Aangezien je ze op je print wel gescheiden hebt gehouden (maar dat met je DC-DC niet doet) zou ik ze DGND (Digitaal Ground) and MGND (Motor Ground) noemen.
En hoe zit het dan met een batterij? ;D
Groet,
Gerard van der Sel.
-
Die wordt alleen aangeduid met - en +, niet -1,5V en 1,5V ;) ;D
Er is niet echt een (door iedereen geaccepteerde) standaard voor maar -15V is erg verwarrend. Zou je het samen met het voltage willen schrijven zou je 15V- en 15V+ kunnen gebruiken. Het zijn de kleine details. En dat laat duidelijk(er) zien dat het niet om een negatief voltage gaat. Maar aangezien de 15V niet eens perse 15V hoeft te zijn zou ik zelfs Vmotor ofzo gebruiken.
Timo
-
hoi
ik heb al een tijdje niet meer gepost maar het proefbaantje is inmiddels gebouwd en werkt.
Geheel automatisch een trein de draaischijf op, draaien naar het ingestelde spoor en vv Alles gestuurd met rocrail
binnenkort wel foto's en een filmpje. Uploaden lukt momenteel even niet
Ik ben wel benieuwd of de mensen die een printje besteld hebben al iets gebouwd hebben
Dick
-
(http://belderok.net/coppermine/albums/userpics/10001/draaischijf_digitaal.jpg)
Tot zo ver zijn de spullen binnen. :)
-
Hallo
plaatjes uploaden lukt me nog steeds niet
Toch twee filmpjes op YouTube van mijn testbaan in actie
https://www.youtube.com/watch?v=gE1vPq5jKME (https://www.youtube.com/watch?v=gE1vPq5jKME)
https://www.youtube.com/watch?v=S2jX1PM-Gi4 (https://www.youtube.com/watch?v=S2jX1PM-Gi4)
Dick
-
Hoi Dick,
Ik heb alles in huis om aan de gang te gaan, behalve tijd ::)
Na juni is de Clubmatch voorbij en is het huis geschilderd ;D en mag ik gelukkig weer gaan werken. Na die tijd maar eens aan de gang.
Groetjes
Arthur
-
Hallo Dick,
Ook ik ben er nog niet aan toe gekomen. De -2e hands aangeschafte - draaischijf wacht eerst nog op de inbouw van een SB aandrijving. Naast de huiselijke beslommeringen vraagt het houtwerk om onderhoud. Wellicht kom ik er in het najaar aan toe als er zich geen onverwachte momenten voordoen.
Groet, Rob
-
hoi
het heeft wat moeite gekost maar bijgaand de foto van mijn proefbaantje
(https://images.beneluxspoor.net/bnls/testbaan2_2.jpg) (https://images.beneluxspoor.net/bnls/testbaan2_2.jpg)
Je kan de draaischijf in actie zien op de YouTube link van de vorige post
Opmerkelijk stil na een goede smeeractie
Dick
-
Ben bezig geweest met de draaischijf decoder DRAAI van
Robert Evers die herontworpen is door Dick Koning. Deze is bedoeld voor het aansturen van Fleischmann draaischijf. Alle onderdelen zitten op zijn plek. Alleen moet ik de relais nog plaatsen. In de handleiding staat vermeld dat ik de relais moet omdraaien omdat er een fout in de print zit. Er zitten vier relais in. Moet ik ze allemaal omdraaien? En hoe? Misschien een domme vraag. Maar ik kan hem beter stellen voordat ik de boel permanent vast soldeer. Ik heb het aan Dick Koning ook al gevraagd, maar vermoedelijk is hij op vakantie.
Wie is ook met deze draaischijfdecoder bezig geweest en kan mij hierover uitsluitsel geven? Moet ik ook nog op andere dingen letten?
-
Ja, alle 4. En omdraaien kan maar op één manier en dat is door ze aan de onderkant van de print te monteren 8)
Timo vinder van deze bug
-
OK, dat ga ik dus doen!
-
Beste mensen,
Nog een vraagje. Om de draaischijf aan te sluiten zijn verschillende bandkabeltjes nodig die je op de DRAAI print aansluit. Ik moet hierbij een 3 polige voor aansluiten van de hall sensor een vier polige voor aansluiting van het lcd display en een vijfpolige bandkabel voor aansluiten van de Rotary encoder hebben. Hoe heten die kabeltjes precies en waar kun je ze bestellen? Ik heb Conrad al afgestruind, maar ik weet de benaming van deze dingen niet. Dan is het zoeken in een hooiberg.
-
Bandkabel zou kunnen maar is meer gangbaar voor dubbele rijen. Hier zijn het gewoon pin headers. Hier kan je bijvoorbeeld zogenaamde DuPont kabels op aansluiten of zelf een kabel kunnen maken met DuPont stekkers :)
Timo
-
Geen bandkabel maar M/F DuPont kabeltjes. Op de print zitten printkroonsteentjes. Zoek bij Conrad op "Raspberry Pi verbindingskabel".
-
DuPont
Uhmm, dat zeg ik :angel: ;D (Gamma)
Timo
-
hoi
Het is al een tijdje stil in dit draadje
Mijn draaischijfdecoder heb ik inmiddels flink kunnen testen
Het is wel een arduino feestje geworden in combinatie met een fleischmann twin center en rocrail besturingssoftware
(https://images.beneluxspoor.net/bnls/20170810_194221.jpg) (https://images.beneluxspoor.net/bnls/20170810_194221.jpg)
(https://images.beneluxspoor.net/bnls/20170513_182309.jpg) (https://images.beneluxspoor.net/bnls/20170513_182309.jpg)
(https://images.beneluxspoor.net/bnls/20170810_194429.jpg) (https://images.beneluxspoor.net/bnls/20170810_194429.jpg)
De electronica werkt prima maar helaas is de mechanica van de draaischijf soms spelbreker
Een van de problemen die ik bemerkt heb is kortsluiting in het draaischijfmotortje, mn bij een "koude" opstart
Dit probleem wordt oa hier beschreven https://www.digital-bahn.de/bau_ds/ds_motor.htm (https://www.digital-bahn.de/bau_ds/ds_motor.htm)
ik heb daarom de software aangepast met een kortsluit algoritme, en 2 ongebruikte relaiscontacten gebruikt om de motorstroom naar de draaischijf te schakelen
Nieuwe software staat op mijn Github pagina https://github.com/tkoning/dcc-turntable (https://github.com/tkoning/dcc-turntable)
-
Gisteren heb ik Andre van Zuylen op bezoek gehad
Hij heeft mijn decoder nagebouwd en had wat problemen die aan de gang te krijgen
Na wat kleine aanpassingen werkte eea prima
Grappig om te zien hoe verschillend de fleischmann draaischijf functioneert bij dezelfde aansturing, De zijne ging echt als een speer
-
Beste Dick,
U had het gisteren er over dat de draaischijf digitaal aanstuurbaar is. Dat ging vanaf een hoog wisseladres. Helaas heb ik slechts een Multimuis die tot adres 1026 gaat. Volgens mij zorgt dat voor problemen. Of heb ik het mis? Moet de programmatuur op de Arduino nano hierdoor aangepast worden? En moet ik dan die twee andere aansluitpunten op de print gebruiken waar ik dcc op aansluit? Hoe is het aansluitschema?
vr gr Andre
-
hallo andre
het valt mee
de decoder gebruikt het LDT protocol
1e adres (spoor 1) is 229 rood, spoor 2 229 groen, spoor 3 230 rood etc
de website van LDT bevat een goede uitleg van het protocol
aansluiten van dcc railsignaal aan het kroonsteentje li boven
dick
-
Beste Dick,
Ik probeer mijn draaischijf verder in het gareel te krijgen. Het is namelijk vervelend dat deze bij het klikken van de relais op de decoder soms blijft steken. Dit zal liggen aan het inwendige relais van de draaischijf. Het contact ervan weigert soms. Dit terwijl de decoder wel goed reageert. Is de tijd van de draaidecoder zodanig aan te passen dat deze wat betrouwbaarder wordt. Welke tijd van de relais van de decoder moet ik aanpassen? Hebben anderen hierover nog ideeën op het web?
vr gr Andre van Zuijlen
-
hoi
nog even een update van mijn draaischijf project
Inmiddels hebben 2 anderen mijn decoder gebouwd. Dat ging helaas niet probleemloos. Hoewel de fleischmann draaischijven uiterlijk identiek zijn verschillen de inwendige eigenschappen behoorlijk.
2 problemen waar we tegen aanliepen:
1) een draaischijf had een hoge "ruststroom" ( C relais ?) wat opgelost kon worden met een extra weerstand je rond de optocoupler die de terugkoppeling verzorgt.
2) bij gebruik van een zuiver gestabiliseerde gelijkstroom loopt de motor van de draaischijf het mooist. Helaas wekt het mechanische locking mechanisme beter op een ongestabiliseerde, niet afgevlakte voeding . Momenteel ben ik aan het experimenteren met een PWM aansturing om te zien of ik hier een compromis kan vinden
De software is inmiddels verbeterd en de gebruiksaanwijzing is vernieuwd
https://github.com/tkoning/dcc-turntable
Voor de liefhebber : er zijn nog enkele printjes beschikbaar
-
... bij gebruik van een zuiver gestabiliseerde gelijkstroom loopt de motor van de draaischijf het mooist. Helaas wekt het mechanische locking mechanisme beter op een ongestabiliseerde, niet afgevlakte voeding.
Je kunt die toch beide uit dezelfde voeding halen?
Achter de trafo een gelijkrichter en daarachter pak je de ongestabiliseerde gelijkspanning, achter de gelijkrichter ga je verder met een diode, afvlakelco's en b.v. een 78xx voor een gestabiliseerde spanning en evt een PWM regeling.
-
Hallo,
Is er nog een printje beschikbaar?Ik volg di verhaal en wil ook graag zoiets gaan bouwen.Dank voor de reactie,
Etienne
-
Nee stabiliseren van de stroom is niet een handig idee. Dit is uiteraard uitgeprobeerd. Maar dan werkt de draaischijf niet goed. Het ding is echt ontworpen op de enkelzijdig ongestabiliseerde gelijkgerichte gelijkstroom, zoals Dick Koning uitlegt. En dan alleen draait het ding goed met de print van Dick Koning. (y)
-
stabiliseren van de stroom
Maar... er was sprake van het stabiliseren van de spanning (met een 78xx), niet de stroom! Als de spanning hoog genoeg is zullen het motortje en de electronica daar toch geen bezwaar tegen maken?
-
Eh ja spanning, dat bedoel ik eigenlijk. Het motortje draait wel, maar de draaischijf draait dan soms door naar het volgende spoor. En dat wil je niet altijd want als je tegen de draaischijf zegt dat ie naar spoor 6 moet draaien, dan moet ie niet naar spoor 7 draaien bijv. En dat komt nauwkeuriger aan dan men denkt. Daarom moet in de software van de Arduino ook de schakelsnelheid op die van de schijf aan gepast worden. Elke draaischijf heeft door kleine verschillen van elk motortje toch een ander schakelmomentum van draaien.
-
Nee stabiliseren van de stroom is niet een handig idee. Dit is uiteraard uitgeprobeerd. Maar dan werkt de draaischijf niet goed. Het ding is echt ontworpen op de enkelzijdig ongestabiliseerde gelijkgerichte gelijkstroom, zoals Dick Koning uitlegt. En dan alleen draait het ding goed met de print van Dick Koning. (y)
Hoi Andre,
Hier schrijf je toch echt een boel onzin neer hoor... >:( Zowel de motor als de ontgrendelspoel werken uitstekend op stabiele gelijkspanning. De motor loopt ook heel goed op PWM ( Pulsbreedte modulatie )
....Daarom moet in de software van de Arduino ook de schakelsnelheid op die van de schijf aan gepast worden. Elke draaischijf heeft door kleine verschillen van elk motortje toch een ander schakelmomentum van draaien...
Ja... daarom kun je er niet vanuit gaan dat enkel door de tijd te meten je de draaing perfect betrouwbaar krijgt... Er zijn tich factoren waardoor het kleine motortje soms sneller, soms langzamer draait. (b.v. gewicht van de lok die op de brug staat, weerstand van de contactlippen, scheefstand van de aansluitstukjes, onderhoudstoestand van de aandrijving, koolborstels en lager etc. etc)
De enige manier is, om zonder externe meting, een betrouwbare draaing te krijgen als het wegvallen van de motorstroom gemeten wordt. Helaas krijg je hierdoor een licht "geklak" voor terug. Wil je dat niet, moet je op 1 of andere manier een absolute positiemeting inbouwen.
Grtzz,
Karst
-
ik gebruik de DSD2010 oplossing voor de digitale aansturing. Die maakt gebruik van een sensor en een rond zwart schuifje met witte strepen zodat ze elke kwart draai van het grote tandwiel kunnen bepalen. De positionering daarvan is goed nauwkeurig, zonder geklak geluid.
Groet,
Roelco
-
. .. op 1 of andere manier een absolute positiemeting inbouwen.
Stappenmotor gebruiken, die geeft steeds bij iedere stap een exacte positie, onafhankelijk van de genoemde variabele factoren.
-
Stappenmotor gebruiken,
Laat jij dan "even" zien hoe je een Fleischmann draaischijf "even" ombouwt naar stappenmotor aandrijving ? ::) Ik en vele anderen zouden je eeuwig dankbaar zijn ;)
die geeft steeds bij iedere stap een exacte positie, onafhankelijk van de genoemde variabele factoren.
Buitendat geldt dat alleen als je met een "direct-drive" werkt (brug op de as van de motor), anders heb je altijd "backlash". Ook een stappenaandrijving heeft tenminste een referentie 0 punt nodig.
ik gebruik de DSD2010 oplossing voor de digitale aansturing. Die maakt gebruik van een sensor en een rond zwart schuifje met witte strepen zodat ze elke kwart draai van het grote tandwiel kunnen bepalen. De positionering daarvan is goed nauwkeurig, zonder geklak geluid.
Dat bedoel en schrijf ik toch ook :-\ : De enige manier is, om zonder externe meting, een betrouwbare draaing
De vraag hier ging om zonder ombouw aan de schijf te digitaliseren ;)
Grtzz,
Karst
-
Dat bedoel en schrijf ik toch ook :-\ :
Grtzz,
Karst
wil ook niet beweren dat dat anders is, wilde alleen een voorbeeld geven van hoe je die "absolute positiemeting inbouwen." zou kunnen doen.
En ja, dat betekend inderdaad ombouw van de schijf zelf.
Roelco
-
(y)
Klopt, heel "vroeger" was ik ook erg gecharmeerd van de DSD2010, totdat ik aan het denken ging hoe het ook eenvoudiger zou moeten kunnen ;)
Grtzz,
Karst
-
Beste Karst.
Ik heb dit echt samen met Dick Koning geconstateerd. Het is zeker geen onzin! Maar het zou kunnen dat je het hebt over de "nieuwe" draaischijf hebt die je kunt herkennen aan een C achter het artikelnummer. Deze heeft een extra relais. Mijn twee draaischijven hebben dat relais niet. In de Arduino heeft Dick Koning toen de tijd veranderd. Toen deden mijn beide draaischijven het wel goed. Maar de ene schijf kan ik niet aansluiten op een andere decoder. Want die heeft een andere snelheid. Als de draaischijf te langzaam draait, geeft de decoder een storingsignaal en wordt de stroom afgeschakeld. Dit ter voorkoming dat de boel doorbrandt als de motor vastloopt. Kan gebeuren als de grendel plotseling vastloopt. (heb ik al meerdere keren gehad.)
Ik vind het diplomatiek gezien niet handig om zomaar te roepen dat iemand onzin uitkraamt.
-
Hoi,
Andre, ik geloof best dat jullie "iets" geconstateert hebben... maar niet, ik citeer opnieuw: "... Het ding is echt ontworpen op de enkelzijdig ongestabiliseerde gelijkgerichte gelijkstroom,...".
Dat is waar ik tegen ageer !
Er komen de laatste maanden / half jaar zoveel foute beweringen en slechte adviezen voorbij hier op het forum ( de Duitsers noemen het ook wel "Halbwissen" of "Nichtwissen", wij zeggen dan denk ik: "De klok horen luiden maar niet weten waar de klepel hangt" ) , dat ik mezelf verplicht heb, daar eens wat tegen wil proberen te gaan doen... Als toch min of meer semi professioneel modelspoorder krijg ik echt massa's vragen waarom dit en waarom dat kapot is gegaan. En dan is dan bij navraag vaak het antwoord: Ik heb zus en zo als advies gekregen/gelezen op BNLS of er stond zus en zo in de Encyclopedie... :O Echt waar ! En de schade varieert dan van een kapot ledje tot opgeblazen decoders en zelfs defecte centrales en lege sounddecoders...
Zo ook de boven aangehaalde tekst. Die is gewoon niet waar. Dus bestempel ik hem zonder enige vorm van diplomatie als onzin ! Duidelijk en recht voor z'n raap, zodat mensen die er naar zoeken op het forum, meteen duidelijk is hoe de vork in de steel zit.
Dat jij problemen ondervind met je draaischijf kan natuurlijk. Ik weet uit ervaring, dat er best veel spreiding in zit met wat je zoal in het wild aantreft. Maar meestal ligt het euvel in ontbrekend (of incorrect doorgevoerd (!!) ) onderhoud van de motor/spoel eenheid. Vaak is het de afstelling van de contacten van de spoel. En ook het motortje is in de meeste schijven aan het eind van z'n latein. De motoren die je nu nog als reserve-onderdeel nieuw kunt kopen, zijn zonder uitzondering goed. Kost je 58 Euri en je bent klaar.
Dan nog even dit:
...Het is zeker geen onzin! Maar het zou kunnen dat je het hebt over de "nieuwe" draaischijf hebt die je kunt herkennen aan een C achter het artikelnummer. Deze heeft een extra relais. Mijn twee draaischijven hebben dat relais niet.
Ik heb het niet over de "C" schijven... ik heb inmiddels van alle soorten die Fleischmann ooit gemaakt heeft hier tenminste 1 exemplaar, van de 6651 en 6651/C zelfs meedere. En ook nog de officieele Marklin uitvoering. Allemaal (!!) werken ze op dezelfde manier, hebben dezelfde problemen bij slecht/verkeerd onderhoud en allemaal werken ze uitstekend met dubbelzijdig gelijkgerichte, gestabiliseerde gelijkspanning en PWM. Aan jou om te raden hoe ik dat nu weer weet.... ;)
Grtzz,
Karst
-
Er komen de laatste maanden / half jaar zoveel foute beweringen en slechte adviezen voorbij hier op het forum...
... dan is dan bij navraag vaak het antwoord: Ik heb zus en zo als advies gekregen/gelezen op BNLS of er stond zus en zo in de Encyclopedie...
Als je aangeeft waar het fout staat en een voorstel doet om het te verbeteren, dan kan het aangepast worden.
-
Dan nog vereist diplomatie op zijn plaats. Er zijn hier op dit forum veel mensen weggelopen doordat de helper de juiste toon niet weet te vinden. Ik heb er meerdere gesproken die nu niets meer met dit forum te maken willen hebben. Die toon kan mensen afschrikken. En dat lijkt me niet handig Dan schiet dit forum zijn doel voorbij. Want Beneluxspoor wil een forum zijn voor de modelspoorder in het algemeen. Mensen raadplegen niet het forum om beledigd te worden. En niet dat je me beledigd hebt. In tegendeel! Maar ik wil aangeven dat die recht voor zijn raap niet altijd handig is.
-
Ik denk dat je het totaal verkeerd ziet hoor.
-
Helaas krijg je hierdoor een licht "geklak" voor terug. Wil je dat niet, moet je op 1 of andere manier een absolute positiemeting inbouwen.
Ik heb ooit eens een Atmel Mega16 een besturing gemaakt obv de Kees Moerman variant.
https://robertdotevers.wordpress.com/160-2/
(https://images.beneluxspoor.net/bnls/ScreenShot090920.jpg) (https://images.beneluxspoor.net/bnls/ScreenShot090920.jpg)
Daar moet ieder "oprij" spoor ge-isoleerd worden en aangesloten worden, dat was leuke kabel wirwar...
De software ziet dan de "sporen" voorbij komen, en als gewenste spoor de volgende was dan werd alvast die ontgrendel magneet met wat vertraging "losgelaten".
Dan viel die lock netjes in het gat. Adh extra ingangen wordt ook nog gekeken of de spanning op de brug omgedraaid moet worden...
Dat werkt (of niet) afhankelijk hoe goed de sleep contacten van de schijf contact maken met de "oprij" sporen.
En ik had een dusdanig oude versie dat het soms in de soep ging..
Enige echte probleem was dat je even moest zoeken met de spanning voor de schijf en de "lock"..
Ik kwam uiteindelijk bij 9V gestabiliseerde spanning uit (gewoon een 7809)...
Als de schijf te snel draaide zat de "lock" muurvast.........
Mvg
Robert
-
Beste Dick,
Ik heb jouw draaischijfdecoder al een aantal jaren naar alle tevredenheid in gebruik. Alleen nou lijkt de draaischijfdecoder niet meer te reageren op de digitale commando's. Zou jij er nog eens een keer naar willen kijken?
vr gr Andre van Zuijlen
-
foutje, moderator, sorry dit kan weg!
-
Is er ondertussen al iets gefabriceerd om de Fleischmann draaischijf simpel aan te sturen via de Ecos II zonder een pc ??
Ik heb hier van digikeijs van alles liggen maar werkt voor geen meter en is erg onduidelijk voor een leek.
Wie o wie kan of wilt mijn draaischijf evt ombouwen en werkend maken voor de ecos II ???
Mvg. Robin
-
Heb op eurospoor wel eens een mooi setje daarvoor gezien. Was ook niet al te duur en geloof ik ook nog makkelijker in te bouwen. Er kwam dacht ik een soort schijf onder de draaischijf.
Het was een nederlandse stanhouhouder met ook een behoorlijk grote stand. Op de kopse kant had hij een demo stukje met wat geautomatiseerd spul. En het logo had volgens mij iets van oranje. Helaas is dat het enige wat ik nog weet.
Edit:
Gevonden, het was bij freebit en het was de besturing van Dinamo. Die kan met handregelaar of met i-Train bestuurd worden. Of hij dan alleen met ecos kan worden aangestuurd, weet ik niet.
Gr. Roy
Verstuurd vanaf mijn SM-S906B met Tapatalk
-
Is er ondertussen al iets gefabriceerd om de Fleischmann draaischijf simpel aan te sturen via de Ecos II zonder een pc ??
Ik heb hier van digikeijs van alles liggen maar werkt voor geen meter en is erg onduidelijk voor een leek.
Wie o wie kan of wilt mijn draaischijf evt ombouwen en werkend maken voor de ecos II ???
Mvg. Robin
Hoi Robin,
Ik wil wel kijken of ik je kan helpen. We wonen alleen niet bij elkaar in de buurt.
Om dit draadje niet te verstoren, stuur me een persoonlijk bericht met wat meer info over welk type draaischijf je hebt en wat je hebt liggen van Digikeijs.
-
Daar is al jaren een oplossing voor:
https://www.digital-bahn.de/bau_ds2010/dsd2010_konzept.htm (https://www.digital-bahn.de/bau_ds2010/dsd2010_konzept.htm)
Leuk systeem dat zowel zonder als met computer kan werken.
Kun je uitbreiden met werkende seinen op de brug, geluidsmodule.
Laat de brug mooi draaien waarbij net voor het stilzetten de snelheid al verminderd word. En je hoort niet van die nare kliks bij spooraansluitingen.
Er is een duidelijke handleiding te downloaden die met behulp van veel plaatjes laat zien wat er gedaan moet worden.
Groet,
Roelco
-
Robin, ik gebruik al een paar jaar de decoder van TT-DEC in combinatie met de EcoS, naar tevredenheid. Ik heb eerst de motor vervangen door een SB-Modellbau motor (eenvoudig).
De handleiding van TT-DEC is niet het allerbeste dat ooit geschreven is, maar bij vragen reageren ze snel. Het enige dat ik proefondervindelijk heb vastgesteld is dat na inbouw van de nieuwe SB-motor niet de 2 diodes (zoals in de TT-DEC handleiding aangegeven) ingebouwd hoeven/moeten worden.
Groeten, Rolf
-
Is er ondertussen al iets gefabriceerd om de Fleischmann draaischijf simpel aan te sturen via de Ecos II zonder een pc ??
Ja al heel lang geleden. ;D ;)
Voor de simpelste en tevens goedkoopste oplossing kijk je hier: https://www.esu.eu/support/tipps-tricks/drehscheibenumbau/
https://www.esu.eu/fileadmin/img/support/Tips_Tricks/Turntable/Drehscheiben_Umbau.pdf
Gr, Ben.
-
Het enige dat ik proefondervindelijk heb vastgesteld is dat na inbouw van de nieuwe SB-motor niet de 2 diodes (zoals in de TT-DEC handleiding aangegeven) ingebouwd hoeven/moeten worden.
Groeten, Rolf
Hoi Rolf,
Welke diodes zijn dat? En moet ik die dan verwijderen nu ik de SB-motor ingebouwd heb? Moet ik er dan een draadje voor in de plaats solderen?
Ik ben een leek op gebied van elektronica.
-
Hoi Albert, je hoeft niets te verwijderen; je hoeft alleen niet de 2 diodes kopen die volgens TT-DEC tussen hun decoder en de draaischijf gezet zouden moeten worden.
Overigens: in de nieuwe handleiding die je online kunt vinden staat geen opmerking meer over de inbouw van de SB-motor en eventuele diodes die ertussen zouden moeten. Kan zijn dat ze e.e.a. in hun model aangepast hebben.
Maar samenvattend: het is echt niet moeilijk; ik ben ook bepaald geen electronica expert.
Groeten, Rolf
-
Hoi Rolf,
Bedankt voor je reactie. Ik dacht dat je diodes op de decoder bedoelde voor het geval je het zelfbouwpakket hebt gekocht.
Ik heb geen diodes geplaatst tussen de decoder en de aansluiting op de draaischijf.
-
Beste Forum leden,
Is iemand nog geïnteresseerd in dit concept? Ga anders een paar van die PCB's bestellen.
Mvg Arne