{"id":2436,"date":"2024-03-19T11:57:48","date_gmt":"2024-03-19T10:57:48","guid":{"rendered":"https:\/\/www.rommelkist.nl\/elec\/?p=2436"},"modified":"2024-03-24T23:17:28","modified_gmt":"2024-03-24T22:17:28","slug":"n-spoor-deel-10-snelheid","status":"publish","type":"post","link":"https:\/\/www.rommelkist.nl\/elec\/elektronica\/n-spoor-deel-10-snelheid\/","title":{"rendered":"N-spoor &#8211; deel 20 &#8211; Snelheid meten"},"content":{"rendered":"\n<p>Hoe snel, of hoe hard, mag een model treintje eigenlijk rijden? Vaak rijden de modeltreintjes in verhouding te hard. Op de diverse modelspoor websites zijn hierover soms verhitte discussies te vinden. Met berekeningen en vergelijkingen. Het valt niet mee.<br>Uiteindelijk komt het er vaak op neer dat men kiest voor de &#8220;onderbuik-gevoel-snelheid&#8221;. <\/p>\n\n\n\n<p>Maar het is natuurlijk wel leuk om de snelheid van je treintje te meten. Hiervoor toch die discussies her en der gevolgd om de gemeten snelheid op de baan om te zetten naar een snelheid in de echte wereld. <\/p>\n\n\n\n<p>Op <a href=\"https:\/\/dcc-arduino.weebly.com\/scale-speedometer.html\">deze site<\/a> heeft iemand de snelheid van zijn treintje gemeten over een afstand van 60 cm: zijn treintje deed daar 3838 ms over. Dat is omgerekend naar cm\/s: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Snelheid = afstand\/tijd<br>Snelheid = 60 \/ (3838\/1000)<br>Snelheid = 15,6 cm\/s<\/code><\/pre>\n\n\n\n<p>Om de echte-wereld-snelheid te berekenen heb ik de op die website genoemde formule gehanteerd.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Snelheid (km\/h)&nbsp; =&nbsp;&nbsp; 360 *&nbsp; Afstand (dm)&nbsp;* Schaal (units) \/&nbsp; Tijd (ms)<\/code><\/pre>\n\n\n\n<p>Voor schaal N vullen we bij Schaal 160 in.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Snelheid = 360* 6* 160 \/ 3838<br>Snelheid = 90 km\/u<\/code><\/pre>\n\n\n\n<p>De snelheden op het echte spoor vari\u00ebren van ca 130 km\/u voor hoofdtrajecten, 100 km\/u op zijtrajecten, tot 40 &#8211; 60 km\/u op rangeerterreinen. Een snelheid van 90 km\/u past dus prima.<\/p>\n\n\n\n<p>Maar nu: hoe gaan we de snelheid op mijn baantje meten? Hiervoor gaan we de TCRT5000-module inzetten die ik ook voor detectie op de draai\/rangeerschijf heb gebruikt (zie <a href=\"https:\/\/www.rommelkist.nl\/elec\/elektronica\/n-spoor-deel-18-rangeerschijf\/\" data-type=\"post\" data-id=\"2275\">hier<\/a>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-25.png\"><img loading=\"lazy\" decoding=\"async\" width=\"304\" height=\"335\" src=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-25.png\" alt=\"\" class=\"wp-image-2437\" style=\"width:275px\" srcset=\"https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-25.png 304w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-25-272x300.png 272w\" sizes=\"auto, (max-width: 304px) 100vw, 304px\" \/><\/a><figcaption class=\"wp-element-caption\"><strong>TCRT5000<\/strong> module<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-34.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"625\" src=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-34-1024x625.png\" alt=\"\" class=\"wp-image-2489\" srcset=\"https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-34-1024x625.png 1024w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-34-300x183.png 300w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-34-768x469.png 768w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-34-425x259.png 425w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-34.png 1165w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Schema van TCRT5000 module<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-40.png\"><img loading=\"lazy\" decoding=\"async\" width=\"448\" height=\"298\" src=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-40.png\" alt=\"\" class=\"wp-image-2506\" srcset=\"https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-40.png 448w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-40-300x200.png 300w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-40-425x283.png 425w\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" \/><\/a><figcaption class=\"wp-element-caption\">Schema van de TCRT5000 sensor<\/figcaption><\/figure>\n\n\n\n<p>In het schema van deze module kan je zien dat er een poortje van een 74HC14 (<em>a high speed CMOS SCHMITT INVERTER<\/em>) gebruikt wordt voor het uitgangssignaal en het aansturen van een LED: bij detectie licht de LED op, OUT-signaal wordt &#8220;1&#8221;. <br>De optimale afstand van sensor tot te-detecteren-object is volgens de datasheet slechts 2,5 mm. In de praktijk &#8220;ziet&#8221; de sensor de loc op een afstand van ca. 1 &#8211; 2 cm ook prima.<\/p>\n\n\n\n<p>Twee van deze modules, aan een Arduino geknoopt, langs de rails met een bepaalde afstand X daartussen. De eerste module detecteert de loc, daarna wordt de loc door de tweede module gedetecteerd. De tijd die daartussen zit wordt geregistreerd in ms. Dat is alles! Een OLED-schermpje laat de resultaten zien.<br>Tijdens het testen werkte de boel ineens niet meer goed! De zon was ineens gaan schijnen en zorgde ervoor dat de sensor continu een &#8220;1&#8221; op de uitgang gaf! Goed om te weten natuurlijk. Dus \u00f3f niet gebruiken wanneer de zon schijnt, \u00f3f zorgen voor een betere afscherming (sensor opnemen in een kokertje, of zo).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-26.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"440\" src=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-26-1024x440.png\" alt=\"\" class=\"wp-image-2444\" style=\"width:400px\" srcset=\"https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-26-1024x440.png 1024w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-26-300x129.png 300w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-26-768x330.png 768w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-26-425x183.png 425w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-26.png 1236w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Methode<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-27.png\"><img loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"444\" src=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-27.png\" alt=\"\" class=\"wp-image-2447\" style=\"width:400px\" srcset=\"https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-27.png 972w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-27-300x137.png 300w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-27-768x351.png 768w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-27-425x194.png 425w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-27-840x385.png 840w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><\/a><figcaption class=\"wp-element-caption\">Schema<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-28.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"770\" src=\"https:\/\/www.rommelkist.nl\/elec\/wp-content\/uploads\/2024\/03\/image-28-1024x770.png\" alt=\"\" class=\"wp-image-2458\" style=\"width:840px;height:auto\" srcset=\"https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-28-1024x770.png 1024w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-28-300x226.png 300w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-28-768x577.png 768w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-28-425x319.png 425w, https:\/\/www.rommelkist.nl\/wp-content\/uploads\/2024\/03\/image-28.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Voor de test een Arduino UNO gebruikt<\/figcaption><\/figure>\n\n\n\n<p>Op de Arduino draait onderstaande sketch.<\/p>\n\n\n\n<pre class=\"wp-block-syntaxhighlighter-code\">\/* \nSnelheidsmeter loc's via een Arduino Nano\n\nBepaal tijd verstreken tussen \nhet triggeren van twee lichtsluisjes\n\nLichtsluisje ter bepaling starttijd\nLichtsluisje ter bepaling eindtijd\n*\/\n\n#include &lt;Wire.h>\n#include \"SSD1306Ascii.h\"\n#include \"SSD1306AsciiWire.h\"\n\/\/ 0X3C+SA0 - 0x3C or 0x3D\n#define I2C_ADDRESS 0x3C\nSSD1306AsciiWire oled;\n\nconst int detectStart = A1;                     \t\/\/ IR detector = draad geel\nconst int detectEind = A2;                      \t\/\/ IR detector = draad blauw\n\/\/int btn = 2;                                      \/\/ Knop om waardes te laten zien\n\nbool eerste_detectie = LOW;\nbool tweede_detectie = LOW;\nint StartStatus = LOW;\nint EindStatus = LOW;\nunsigned long starttijd;\nunsigned long eindtijd;\nunsigned long verstrekentijd;\n\nunsigned long afstand = 20;\t\t\t\t\t\t\t\t\t\/\/ De afstand tussen de twee lichtsluizen in cm\nint snelheid;\nunsigned long wereld_snelheid;\n\n\nvoid setup() {\n  \/\/pinMode(detectStart, INPUT_PULLUP);\n  \/\/pinMode(detectEind, INPUT_PULLUP);\n\/\/  pinMode (btn, INPUT_PULLUP);\n    \n  \/\/ Begin Serial communication at a baud rate of 115200:\n  Serial.begin(115200);\n  Wire.begin();\n  oled.begin(&amp;Adafruit128x32, I2C_ADDRESS);\n  oled.set400kHz();  \n  oled.setFont(Adafruit5x7);  \n  oled.clear(); \n\n  oled.print(\"Snelheidsmeter_3.ino\");\n  Serial.println(\"Snelheidsmeter_3.ino\");\n  delay(1500);\n  oled.clear();\n}\n\n\nvoid loop() {\n  oled.println(\"Nieuwe meting\");\n  Serial.println(\"Nieuwe meting\");\n  \n  \/\/ Evt. startknop toevoegen.\n  \n  while (eerste_detectie == LOW) {            \/\/ Zolang geen detectie: wachten \n  detect_start();                             \/\/ Start vaststellen\n  }\n  while (tweede_detectie == LOW) {            \/\/ Zolang geen detectie: wachten \n  detect_eind();                              \/\/ Eindtijd vaststellen\n  }\n  \n  \/\/ bereken het verschil = verstreken tijd\n  verstrekentijd = eindtijd - starttijd;\n  \n  bereken();\n  eerste_detectie = LOW;\n  tweede_detectie = LOW; \n}\n\n\nvoid detect_start() {\n\tStartStatus = digitalRead(detectStart);\n\tif (StartStatus == HIGH){\n    oled.clear();\n\t\t\/\/ eerste gebeurtenis\n\t\tstarttijd = millis();\n    eerste_detectie = HIGH;    \n\t}\n}\n\n\nvoid detect_eind() {\n  EindStatus = digitalRead(detectEind);\n  if (EindStatus == HIGH){\n\t\/\/ tweede gebeurtenis\n\teindtijd = millis();\n  tweede_detectie = HIGH;\n  }\n}\n\n\nvoid bereken() {\n\toled.clear();\n\t\n\t\/\/ Bereken aan de hand van de verstreken tijd tussen 1e en 2e lichtsluisjes\n\t\/\/ de snelheid en de snelheid die de trein in de echte wereld zou hebben\n\t\n\t\/\/ snelheid = verstreken_tijd per afgelegde afstand\n \n\tsnelheid = afstand\/(verstrekentijd\/1000);\n  \/\/ Speed (km\/h)\u00a0 =\u00a0\u00a0 360 *\u00a0 Distance (dm)\u00a0* Scale\u00a0 (units) \/\u00a0 Time\u00a0 (ms)  \n  wereld_snelheid = (360*(afstand\/10)*160)\/verstrekentijd;\n\n \/\/   int btn_Status = digitalRead(btn);\n \/\/ if (btn_Status == LOW){\n    oled.print(\"Tijd is \");\n    oled.print(verstrekentijd);\n    oled.println(\" ms\");\n    \n  \toled.print(\"Snelheid is \");\n  \toled.print(snelheid);\n  \toled.println(\" cm\/s\");\n  \n    oled.print(\"Omgerekend \");\n    oled.print(wereld_snelheid);\n    oled.println(\" km\/u\");\n    \/\/ oled.print(\"\");\n\/\/  }\n  Serial.print(\"Snelheid is \");\n  Serial.print(snelheid);\n  Serial.println(\" cm\/s\");\n\n  Serial.print(\"De verstreken tijd is \");\n  Serial.println(verstrekentijd);  \n\t\n  Serial.print(\"Omgerekend \");\n  Serial.print(wereld_snelheid);\n  Serial.println(\" km\/u\");\n  Serial.println(\"\");\n}<\/pre>\n\n\n\n<p>En wat zijn dan de resultaten? In een volgend deel!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoe snel, of hoe hard, mag een model treintje eigenlijk rijden? Vaak rijden de modeltreintjes in verhouding te hard. Op de diverse modelspoor websites zijn hierover soms verhitte discussies te vinden. Met berekeningen en vergelijkingen. Het valt niet mee.Uiteindelijk komt het er vaak op neer dat men kiest voor de &#8220;onderbuik-gevoel-snelheid&#8221;. Maar het is natuurlijk wel leuk om de snelheid van je treintje te meten. Hiervoor toch die discussies her en der gevolgd om de gemeten snelheid op de baan om te zetten naar een snelheid in de echte wereld. Op deze site heeft iemand de snelheid van zijn treintje gemeten over een afstand van<span class=\"more-link\"><a href=\"https:\/\/www.rommelkist.nl\/elec\/elektronica\/n-spoor-deel-10-snelheid\/\">Read More &rarr;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3,104],"tags":[20,107,106],"class_list":["entry","author-admin","post-2436","post","type-post","status-publish","format-standard","category-arduino","category-elektronica","category-modeltreinbaan","tag-module","tag-n-spoor","tag-treintje"],"_links":{"self":[{"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/posts\/2436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/comments?post=2436"}],"version-history":[{"count":0,"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/posts\/2436\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/media?parent=2436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/categories?post=2436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rommelkist.nl\/elec\/wp-json\/wp\/v2\/tags?post=2436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}