Jump to content

Sean

Members
  • Posts

    848
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Sean

  1. I have been digging into this myself and have found some interesting resources! https://www.irsociety.co.uk/Archives/13/bord_na_mona.htm This article results from the joint BLC-ILIS/NGRS visit to Ireland in July 1966, it lists about 25 non board na mona lines. I have also found a newsletter from the NGRS in 1967 which documents these sites in more detail than anywhere else ive seeen. There are 3 parts. part 2 focuses on the industrial lines. https://www.ngrs.org/downloads/TNG.1-100/tng43-feb-1967.pdf https://www.ngrs.org/downloads/TNG.1-100/tng44-may-1967.pdf https://www.ngrs.org/downloads/TNG.1-100/tng45-sep-1967.pdf
  2. I think this may have been reuploaded, as referencing back to it now it seems to be alot longer than i remember it being!
  3. have been building up a ditch tonight I was hoping the horse bush effect would be more prominent. probabaly chalk it down to the randomness of nature Also some flowers in the garden! starting to feel a bit like finishing touches
  4. IMG_2848.mp4 IMG_2842.mp4 Might be pushing it a bit now back to bullieds tomorrow!
  5. IMG_2839.mp4 Sometimes prototypical runnning of modern trains is possible these ballast wagons would not go around before because the coupling hook would bind up. Ive since relaid the curves a couple of times and was pleasantly surprised to see these starting to go around without issue. 2 packs of cement bubbles will now be nessesary!
  6. IMG_2832.mp4 Now happy with the second tunnel mouth. the camera flash seems to be making it look brighter than it is, in which case we can do another dry brushing if needed later on.
  7. the weekend has been spent learning how to paint tunnel mouths and rock faces. certainly starting to see some nice results!
  8. IMG_2822.mp4 This simple clay spreader bent into an L makes for a great little uncoupling tool. very important for those games of inglenook! im not a huge fan of ramps and uncoupling would be done by hand in real life so this is much preferrable to me!
  9. at the moment there are these https://ckprints.ie/page/tail-lamps theres also a couple in the 121 loco accessory packs
  10. its on the right hand side of this, not the left. further contrary again, the plough vans seemed to have 2 lamps. as far as im aware they were battery powered and since the physical lens would be red it was a single colour lamp. according to ai (so pinch of salt)
  11. https://www.thepwi.org/wp-content/uploads/2023/02/2023-02-14_PWI-Lunch-Learn_The-management-of-level-crossings-in-Irish-Rail_Frank-Golden.pdf what a great little resource for modellers.
  12. “When the lambretta blows up….again!”
  13. stop bragging and ill post you some sausages.
  14. 77951204718__FAD774B5-3772-4422-A8EC-3EF8C95BA404.mp4 Things are getting interesting now with a second loco on the board. 132 is in the headshunt and therefore has the reservation. 125 comes along and reaches its reservation sensor. reservation is not possible so the loco simply stops, it looks like it is stopping on red. 132 hits its siding sensor which tells the system to release the headshunt reservation which is instantly then taken by 125 allowing it to proceed with the script. 125 sets the points which sets the signal to green and the train proceeds! took the sound chips out of my 2 IR 121's tonight and installed into these. the scripts will be further automated to activate certain sound functions at key moments during the sequence.
  15. IMG_2762.mp4 125 moves a box from the siding over into the shed for loading/unloading. This is automated and once triggered will loop and run indefinitely until the command station is reset. One thing happening behind the scenes is that the headshunt gets "reserved" before the loco enters the section and the reservation is ended once the loco gets back to the sensor within the sidings. The automation script for the circling loco also contains this reservation rule and will try to make the reservation on the approach to the junction. if the block cannot be reserved the loco has to stop and wait for the block before it can proceed. The rules are quite similar to real block signalling in this regard however there are no actual physical block sections set up on the track and a block can be defined in the programming based on any 2 sensors anywhere on the layout. I am noticing that the sensitivity of the sensors varies depending on the time of day, i.e the amount of ambient light in the room seems to have an effect with wagons being harder to detect, however an effective workaround for this has been to stick a reflective white glossy circle cut from a blank label out of my label maker onto the bottom of the rolling stock. This also gives the advanage of being able to stick the label on different parts of the underframe to tune the exact point at which a given piece of rolling stock triggers a sensor, this explains how tidily it is able to park the van within the shed IMG_2763.mp4 signal 3 has been programmed in, it is connected to the 3 way point and changes to green when both points are set for the oval ALIAS(MAIN_LOCO, 3) ALIAS(SHUNT_LOCO, 4) ALIAS(HEADSHUNT_BLOCK, 1) ALIAS(APPROACH_SENSOR, 22) // Before headshunt, counterclockwise approach for ROUTE(10) ALIAS(EXIT_SENSOR, 23) // After headshunt, bidirectional ALIAS(SIDING_SENSOR, 24) // In first siding, counterclockwise entry ALIAS(SIDING2_SENSOR, 25) // In second siding, counterclockwise entry ALIAS(HEADSHUNT_SENSOR, 26) // Middle of headshunt, for shunting loco ALIAS(BACKSCENE_SENSOR, 27) // In backscene, for counterclockwise stop/signals ALIAS(ENTRANCE_SENSOR, 28) // At entrance from backscene, for signals ALIAS(DIRECTION, 0) // 0 = counterclockwise signals (startup default), 1 = clockwise signals ALIAS(T1, 1) // First siding: THROW=oval, CLOSE=siding/headshunt, DCC address 1 ALIAS(T2, 2) // Second siding: THROW=oval, CLOSE=siding/headshunt, DCC address 2 ALIAS(T3, 3) ALIAS(S1, 48) // Signal 1 at headshunt exit (red/green) ALIAS(S2, 50) // Signal 2 at backscene entrance (red/green) ALIAS(S3, 52) // Signal 3, red unless headshunt free and turnouts thrown //Turnout definitions TURNOUTL( 1, 1) TURNOUTL( 2, 2) TURNOUTL( 3, 3) // Signal definitions (2-aspect, red/green) SIGNAL(48,0,49) // Signal 1 at headshunt exit SIGNAL(50,0,51) // Signal 2 at backscene entrance SIGNAL(52,0,53) // Signal 3, red unless headshunt free and turnouts thrown // This is the startup sequence, AUTOSTART GREEN(S1) GREEN(S2) RED(S3) START(101) DELAY(500) POWERON DELAY(2000) CLOSE(T1) DELAY(500) THROW(T1) DELAY(1000) CLOSE(T2) DELAY(500) THROW(T2) DELAY(1000) THROW(T3) DELAY(500) CLOSE(T3) DONE // This just ends the startup thread, leaving 101 running. //Frog Juicing ONTHROW(T1) SET(30) DONE ONCLOSE(T1) RESET(30) DONE ONTHROW(T2) SET(31) DONE ONCLOSE(T2) RESET(31) DONE ONTHROW(T3) RESET(32) DONE ONCLOSE(T3) SET(32) DONE // Counterclockwise signal logic SEQUENCE(101) AFTER(EXIT_SENSOR) RED(S1) // Signal 1 red (train passed headshunt exit) AFTER(BACKSCENE_SENSOR) GREEN(S1) // Signal 1 green (train in backscene) RED(S2) // Signal 2 red (train in backscene) AFTER(ENTRANCE_SENSOR) GREEN(S2) // Signal 2 green (train passed entrance) FOLLOW(101) DONE //point signal logic // When Turnout 1 is thrown, check Turnout 2's state ONTHROW(T1) IFTHROWN(T2) // If Turnout 2 is also thrown GREEN(S3) ELSE RED(S3) ENDIF DONE // When Turnout 1 is closed, set red ONCLOSE(T1) RED(S3) DONE // When Turnout 2 is thrown, check Turnout 1's state ONTHROW(T2) IFTHROWN(T1) // If Turnout 1 is also thrown GREEN(S3) ELSE RED(S3) ENDIF DONE // When Turnout 2 is closed, set red ONCLOSE(T2) RED(S3) DONE ROUTE( 1, “LOOP” ) SETLOCO(3) REV(50) // Counterclockwise (DCC forward = counterclockwise) AT(APPROACH_SENSOR) // Approach headshunt RESERVE(HEADSHUNT_BLOCK) // Wait if occupied THROW(T1) // Ensure oval path THROW(T2) REV(50) // Through headshunt AFTER(EXIT_SENSOR) // Clear headshunt FREE(HEADSHUNT_BLOCK) // Free block DELAY(3000) REV(30) AT(BACKSCENE_SENSOR) // Reach backscene STOP // Stop main train DELAY(10000) // Pause FOLLOW(10) // Loop // Shunting loco: Cycle from first siding to second siding and back, repeats indefinitely ROUTE( 2, “SHUNTING” ) // From first siding to headshunt SETLOCO(4) RESERVE(HEADSHUNT_BLOCK) // Reserve headshunt (in first siding) CLOSE(T1) // Exit first siding to headshunt FWD(30) // Clockwise to headshunt AT(HEADSHUNT_SENSOR) // Detect in headshunt DELAY(2000) THROW(T1) CLOSE(T2) // Set for second siding REV(30) // Counterclockwise to second siding AT(SIDING2_SENSOR) // Detect in second siding STOP // Shunt in second siding FREE(HEADSHUNT_BLOCK) // Free block (loco in second siding) DELAY(15000) // Simulate shunting // From second siding to headshunt RESERVE(HEADSHUNT_BLOCK) // Re-reserve headshunt THROW(T1) // Set for headshunt from second siding CLOSE(T2) // Set for headshunt from second siding REV(30) // Clockwise to headshunt AT(HEADSHUNT_SENSOR) // Detect in headshunt DELAY(2000) CLOSE(T1) // Set for first siding FWD(30) // Counterclockwise to first siding AT(SIDING_SENSOR) // Detect in first siding STOP // Stop in first siding FREE(HEADSHUNT_BLOCK) // Free block DELAY(15000) // Simulate shunting FOLLOW(22) // Restart cycle This is the code thus far and it seems to be working well. the 2 text blocks at the very bottom titled route are the automation scripts. The advantages of learning this coding is that it is relatively simple to script events however much more importantly, all of this runs directly on a very inexpensive command station and there is no need to have a computer connected to do all of the heavy lifting, simplying hardware needs massively.
  16. IMG_2756.mp4 I have three relays underneath the board which are wired back to the command station and flip the point polarity automatically along with the points change. It should have been very simple, but the unit is very susceptible to noise and it has taken me a week or more to figure out how to get it to work in a stable manner, Last night i finally got it and tonight after a little hiccup there was the eureka moment that makes it just about stable enough to keep it going for a running session as long as i follow a particular operating procedure. We can revisit this issue later Just in time as my unfitted H vans arrived today and i was able to run them for a little while beore geting back to the technicals. Ive been really itching for some nice leisurely modelling but this portion has dragged out way more than it should have so it will be good to finally get started. Sean
  17. Although it would probabaly never happen,In an ideal world, what would it actually take to clear the line for such use?
  18. FINALLY have all of the underside wired and tidied up. now to do the same on the top of the board
  19. Will some of these still be made available for sale? I never got around to the pre order
  20. No little big update as of yet, FINALLY got all of the wiring wired up (i still have to go back and solder loads of twisted pairs) and I STILL have to add in a frog juicer The above ai code turned out to be complete thrash and so im rewriting it all by hand in the mean time there is this. IMG_2712.mp4 Also, backscenes are difficult to apply after construction, wont be doing that again! Theres a set of points in the backscene, so the signals are actually signaling to me when the train is clear of them to enhance operations. Once things are a little further on the loco is going to stop in the backscene a time chosen at random of between 1 and 3 minutes, this should break the "train set" aesthetic when running trains in a loop and make things feel a bit more realistic, the train should also be able to stop if someone is driving another train which makes use of the headshunt and continue on when it is free. Sean
  21. Little big update is due. It has been a very busy week. Heres an idea of an automated running session I have been crafting with the help of an AI, no idea if its going to actually work or not though // Aliases ALIAS(MAIN_LOCO, 3) ALIAS(SHUNT_LOCO, 4) ALIAS(HEADSHUNT_BLOCK, 1) ALIAS(APPROACH_SENSOR, 100) // Before headshunt, counterclockwise approach for ROUTE(10) ALIAS(EXIT_SENSOR, 101) // After headshunt, bidirectional ALIAS(SIDING_SENSOR, 102) // In first siding, counterclockwise entry ALIAS(SECOND_SIDING_SENSOR, 103) // In second siding, counterclockwise entry ALIAS(HEADSHUNT_SENSOR, 104) // Middle of headshunt, for shunting loco ALIAS(BACKSCENE_SENSOR, 105) // In backscene, for counterclockwise stop/signals ALIAS(ENTRANCE_SENSOR, 106) // At entrance from backscene, for signals ALIAS(DIRECTION_BUTTON, 108) // Button to toggle signal direction ALIAS(DIRECTION, 0) // 0 = counterclockwise signals (startup default), 1 = clockwise signals ALIAS(SIDING_TURNOUT, 1) // First siding: THROW=oval, CLOSE=siding/headshunt, DCC address 1 ALIAS(SECOND_SIDING_TURNOUT, 2) // Second siding: THROW=oval, CLOSE=siding/headshunt, DCC address 2 ALIAS(SIGNAL_1, 300) // Signal 1 at headshunt exit (red/green) ALIAS(SIGNAL_1_RED, 50) // Pin for Signal 1 red ALIAS(SIGNAL_1_GREEN, 51) // Pin for Signal 1 green ALIAS(SIGNAL_2, 301) // Signal 2 at backscene entrance (red/green) ALIAS(SIGNAL_2_RED, 52) // Pin for Signal 2 red ALIAS(SIGNAL_2_GREEN, 53) // Pin for Signal 2 green ALIAS(SIGNAL_3, 302) // Signal 3, red unless headshunt free and turnouts thrown ALIAS(SIGNAL_3_RED, 48) // Pin for Signal 3 red ALIAS(SIGNAL_3_GREEN, 49) // Pin for Signal 3 green // Sensor definitions (IR modules and button) HAL(SENSOR, 100, 22, 1, ACTIVE_LOW) // APPROACH_SENSOR, IR module, pin 22, pull-up, active low HAL(SENSOR, 101, 23, 1, ACTIVE_LOW) // EXIT_SENSOR, IR module, pin 23, pull-up, active low HAL(SENSOR, 102, 24, 1, ACTIVE_LOW) // SIDING_SENSOR, IR module, pin 24, pull-up, active low HAL(SENSOR, 103, 25, 1, ACTIVE_LOW) // SECOND_SIDING_SENSOR, IR module, pin 25, pull-up, active low HAL(SENSOR, 104, 26, 1, ACTIVE_LOW) // HEADSHUNT_SENSOR, IR module, pin 26, pull-up, active low HAL(SENSOR, 105, 27, 1, ACTIVE_LOW) // BACKSCENE_SENSOR, IR module, pin 27, pull-up, active low HAL(SENSOR, 106, 28, 1, ACTIVE_LOW) // ENTRANCE_SENSOR, IR module, pin 28, pull-up, active low HAL(SENSOR, 108, 29, 1, ACTIVE_LOW) // DIRECTION_BUTTON, button, pin 29, pull-up, active low // Turnout definitions TURNOUT_DCC(1, 1, 0) // First siding turnout, DCC address 1 TURNOUT_DCC(2, 2, 0) // Second siding turnout, DCC address 2 // Signal definitions (2-aspect, red/green) SIGNALH(SIGNAL_1, SIGNAL_1_RED, SIGNAL_1_GREEN) // Signal 1 at headshunt exit SIGNALH(SIGNAL_2, SIGNAL_2_RED, SIGNAL_2_GREEN) // Signal 2 at backscene entrance SIGNALH(SIGNAL_3, SIGNAL_3_RED, SIGNAL_3_GREEN) // Signal 3, red unless headshunt free and turnouts thrown // Initialize signals and direction at startup STARTUP(GREEN(SIGNAL_1)) STARTUP(GREEN(SIGNAL_2)) STARTUP(RED(SIGNAL_3)) // Initialize Signal 3 to red STARTUP(SETVAR(DIRECTION, 0)) // Ensure counterclockwise signaling at startup // Sequence to check Signal 3 state SEQUENCE(CHECK_SIGNAL3) IFRESERVED(HEADSHUNT_BLOCK) RED(SIGNAL_3) // Headshunt occupied, set red ELSE IFT(SIDING_TURNOUT) // Check if first turnout is thrown (oval) IFT(SECOND_SIDING_TURNOUT) // Check if second turnout is thrown (oval) GREEN(SIGNAL_3) // Both thrown and headshunt free, set green ELSE RED(SIGNAL_3) // Second turnout not thrown, set red ENDIF ELSE RED(SIGNAL_3) // First turnout not thrown, set red ENDIF ENDIF DONE // Trigger Signal 3 check on block or turnout changes ONRESERVE(HEADSHUNT_BLOCK) FOLLOW(CHECK_SIGNAL3) DONE ONFREE(HEADSHUNT_BLOCK) FOLLOW(CHECK_SIGNAL3) DONE ONTHROW(SIDING_TURNOUT) FOLLOW(CHECK_SIGNAL3) DONE ONCLOSE(SIDING_TURNOUT) FOLLOW(CHECK_SIGNAL3) DONE ONTHROW(SECOND_SIDING_TURNOUT) FOLLOW(CHECK_SIGNAL3) DONE ONCLOSE(SECOND_SIDING_TURNOUT) FOLLOW(CHECK_SIGNAL3) DONE // Button to toggle signal direction ONACTIVATE(DIRECTION_BUTTON) IF(DIRECTION, 0) SETVAR(DIRECTION, 1) // Switch to clockwise signal logic ELSE SETVAR(DIRECTION, 0) // Switch to counterclockwise signal logic ENDIF DONE // Counterclockwise signal logic (DIRECTION = 0) ONACTIVATE(EXIT_SENSOR) IF(DIRECTION, 0) RED(SIGNAL_1) // Signal 1 red (train passed headshunt exit) ENDIF DONE ONACTIVATE(BACKSCENE_SENSOR) IF(DIRECTION, 0) GREEN(SIGNAL_1) // Signal 1 green (train in backscene) RED(SIGNAL_2) // Signal 2 red (train in backscene) ENDIF DONE ONACTIVATE(ENTRANCE_SENSOR) IF(DIRECTION, 0) GREEN(SIGNAL_2) // Signal 2 green (train passed entrance) ENDIF DONE // Clockwise signal logic (DIRECTION = 1) ONACTIVATE(ENTRANCE_SENSOR) IF(DIRECTION, 1) RED(SIGNAL_1) // Signal 1 red (train passed entrance) RED(SIGNAL_2) // Signal 2 red (train passed entrance) ENDIF DONE ONACTIVATE(EXIT_SENSOR) IF(DIRECTION, 1) GREEN(SIGNAL_1) // Signal 1 green (train passed headshunt exit) DELAYRANDOM(5000, 10000) // Delay 5-10 seconds GREEN(SIGNAL_2) // Signal 2 green after delay ENDIF DONE // Main train: Counterclockwise oval loop (manual start) ROUTE(10, "Main Oval") ONLOCO(MAIN_LOCO) SETVAR(DIRECTION, 0) // Set counterclockwise signal logic REV(50) // Counterclockwise (DCC forward = counterclockwise) AT(APPROACH_SENSOR) // Approach headshunt RESERVE(HEADSHUNT_BLOCK) // Wait if occupied THROW(SIDING_TURNOUT) // Ensure oval path THROW(SECOND_SIDING_TURNOUT) REV(50) // Through headshunt AFTER(EXIT_SENSOR) // Clear headshunt FREE(HEADSHUNT_BLOCK) // Free block AT(BACKSCENE_SENSOR) // Reach backscene STOP // Stop main train DELAYRANDOM(5000, 10000) // Pause FOLLOW(10) // Loop // Shunting loco: Cycle from first siding to second siding and back, repeats indefinitely ROUTE(22, "Siding Cycle") ONLOCO(SHUNT_LOCO) // From first siding to headshunt RESERVE(HEADSHUNT_BLOCK) // Reserve headshunt (in first siding) CLOSE(SIDING_TURNOUT) // Exit first siding to headshunt REV(30) // Clockwise to headshunt AT(HEADSHUNT_SENSOR) // Detect in headshunt CLOSE(SECOND_SIDING_TURNOUT) // Set for second siding FWD(30) // Counterclockwise to second siding AT(SECOND_SIDING_SENSOR) // Detect in second siding STOP // Shunt in second siding FREE(HEADSHUNT_BLOCK) // Free block (loco in second siding) DELAY(15000) // Simulate shunting // From second siding to headshunt RESERVE(HEADSHUNT_BLOCK) // Re-reserve headshunt THROW(SIDING_TURNOUT) // Set for headshunt from second siding CLOSE(SECOND_SIDING_TURNOUT) // Set for headshunt from second siding REV(30) // Clockwise to headshunt AT(HEADSHUNT_SENSOR) // Detect in headshunt CLOSE(SIDING_TURNOUT) // Set for first siding FWD(30) // Counterclockwise to first siding AT(SIDING_SENSOR) // Detect in first siding STOP // Stop in first siding FREE(HEADSHUNT_BLOCK) // Free block DELAY(15000) // Simulate shunting FOLLOW(22) // Repeat cycle indefinitely
×
×
  • Create New...

Important Information

Terms of Use