Home » Elektronik » Feedback för Lenz RS-bus

RS Feedback modul

Min feedback modul har ett par intressanta funktioner som jag inte hittar på de vanliga som finns tillgängliga på marknaden. Dels så köar jag alla ändringar av ingångsportarna lokalt i minnet i mikrokontrollern. Detta gör att även om RS busen inte fungerar, t.ex för att DCC powerOff signal har kommit så rapporterar ändå feedback modulen. Enda skillnaden är att meddelande inte skickas iväg. När bussen sedan startar igen så skickas all som ligger i kön iväg. Utöver detta så skickar varje feedback modul uppdateringar med ca 1 sekunds mellanrum, oavsett om det har skett några förändringar eller ej. Ifall det har uppstått ett fel på  bussen och mastern inte har registrerat signalen, så kommer den igen. Ganska viktigt om du t.ex litar på växlarna position baserat på feedback signalerna.

För en teknisk beskrivning av RS bussen, se här

 

Adresser

Det vanligaste är att J & K ansluts till feedback modulen och adressen ställs in genom att läsa DCC signalen. Denna funktion finns inte på mina moduler, utan adressen är fixerade i varje mikrokontroller. Detta betyder att man bytar adress genom att välja rätt .hex fil när ni programmerar er Pic. Omständigt kanske, men det underlättar min utveckling av både elektroniken och programmet, och med det så blir feedback modulen biligare. Och helt ärligt, huir många gånger bytar ni adress på era feedback moduler när de väll är installerade?

 

Anslutningar

Att ansluta kortet är väldigt enkelt. Anslut RS bussen till RS ingångarna, +5 volt till power anslutningen och du är klar. För att sätta en ingång som på eller av så anslut ingångsporten till jord och du får en feedback signal. För att använda feedback modulen tillsammans med min block detektor, eller bara för en grafisk bild om hur du ansluter kortet så hänvisar jag dig till min block detektor sida.

 

Schema

Schemat runt RS-bussen är inte min design, utan den kommer från Der-Moba’s sida.

Circuit - RS Feedback 1.1

 

Komponenter

R1 – 120 ohm
R2 – 33 ohm
R3 – 33 Kohm
R4 – 220 ohm
R5 – 1.5 Kohm
R6 – 8×10 Kohm SIL net
R7 – 8×10 Kohm SIL net
C1 – 220 uF 10v
C2 – 100 nF
D1 – Zenerdiod 5.6 volt
D2 – 1N4148
T1 – BC547
T2 – BC547
T3 – BC547
IC1 – PIC 16F1508
IC2 – Optcoupler 4N25
IC3 – Optcoupler EL817
Prg – 5×1 header connection
PCB connections if needed

 

Kretskorts design

PCB - RS Feedback V1.1

 

Board - RS Feedback V1.1

 

Nerladdningar / filer

PCB Design
RS Feedback HEX V1.1.2

 

13 Responses so far.

  1. Fisherman skriver:

    Kollade just ditt sätt. Bra med återrapportering / uppdatering av läget.
    Min variant är med en Parallax Propeller där en av de åtta parallella processerna läser blockdetektorerna (dubbla dioder med optokopplare) med seriekopplade shiftregister 74HC597 som sedan rapporterar påRS-bussen till LZV100.
    Ser att vi har liknande koppling – som jag hittade på http://www.der-moba.de/index.php/RS-R%C3%BCckmeldebus för några år sedan.

    De övriga 7 processerna sköter växellägen, signaler med charlieplex, mm

    /Stefan – Fisherman på mjforum

    • Berry Österlund skriver:

      Hej Stefan

      Kul att du hittade hit. Jag laborerade också en del med shift-register på både denna kretsen, men framförallt även på servo dekodern som jag använder mig av. Till slut valde jag att använda en enklare PIC med tillräckligt med I/O’s för 16 ingångar. Mina block-sensorer som jag använder mig av har nog liknande funktion som din. Mäter spänningen över dubbla dioder (en standard brygga) och en opto-kopplare i mellan. Skall skapa en sida här också om den, och kretskort layouten som jag har där.

      Nu använder jag dessa feedback kopplingar till hela banan och de fungerar över förväntan. Jag har totalt 12 av mina feedback moduler igång. Helnöjd!

  2. Szabolcs skriver:

    Hi,
    I’d like to use 4 modules. How can I change address of 3. and 4. module? Thanks to your answer!

    • Berry Österlund skriver:

      Hello there

      Just noticed that I had only uploaded two .hex files. My bad, sorry for that. I have now created a zip with 12 .hex files in it, and it’s available in the download section above. Program your PIC with different .hex files, and they will have different addresses. The address you will get is in the filename. Goes from address 65 up to 88. Let me know if you have any other questions, or just drop a comment after you tried them out.

      • Szabolcs skriver:

        Hello Berry,
        You are an angel 🙂 Thank you so much.
        Did you thinking about new version with programming button? I maen a lot of modellers have no programmer. But for me it is great, so thaks a lot again!
        Szabi

        • Berry Österlund skriver:

          Hi again.

          I will try to answer your question about programming button, as many other users might wonder why I did the solution the way I did.

          1. It saves me programming time on the PIC. I don’t have to put in logic to listen for the DCC command.
          2. I don’t have to buy the electronics (even if it’s not that much required to solve it)
          3. Less work soldering
          4. I’m already using all the PIN’s on the 16F1508 PIC. So it would mean a different PIC.
          5. All people that will build this feedback modul needs to be able to program the PIC. Then it’s pretty easy to just use a different hex file when doing it.

          So to summarize it: I will most likely not add a programming button to this feedback module. But if I somewhere in the future do it for some reason, all information will be on this page

  3. Alain - Belgium skriver:

    Hello Very nice project !
    Can I use another pic model ? How do you program the 16F1508 ? ISP with which tool ?

  4. Robb skriver:

    Hej
    Jag tittade igenom elschemat och du har två motståndsnät som båda har ID R8, får inte PCB & Schema att lira ihop.
    Tänkte bygga en kompaktare version i SMD komponenter.

  5. Laurent skriver:

    Hi
    This is a very good job!
    May it would possible to have other HEX files for following adress or just to explain how to modify HEX file ( I suppose the adress is store in EEPROM part of chip) so if only 2 digits need to be change to fix a nex adress it would be nice…and easy)
    May it would be possible to change programm by this way? ( using adress in EEPROM part if not yet use)
    Other way is to publish other HEX with other adress up to 127-128.

    Thanks
    Laurent

  6. luca skriver:

    Hello Berry!
    I just realized your project and it works very well.
    I used a professional PCB maker to realize board and I modified the block detector from 16 to 8 inputs.
    Thanks!

  7. luca skriver:

    Hello Berry!
    I just realized your project and it works very well.
    I used a professional PCB maker to realize board and I modified the block detector from 16 to 8 inputs.
    Is it possible to have the source code?
    Thanks!

  8. EASY SCHEME EARNINGS ON THE INTERNET from $8962 per day: https://q2-get-4000usd-per-week-162.blogspot.com.au?i=60 skriver:

    Get $7633 per week: https://q2-get-3000usd-per-week-162.blogspot.hk?u=34

Lämna ett svar

E-postadressen publiceras inte.

*