DCC Lok Decoder met Atmel Tiny45



Vergelijkbare documenten
Programmering Tiny45 voor de DCC locdecoder

De Arduino-microcontroller in de motorvoertuigentechniek (4)

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

EM2 Microcontroller Project. LED cube

Arduino CURSUS. door Willy - 09-juni-2017

B3C 70cm converter besturing. v PE5PVB bar.net bar.net

PIC Callgever Door PA1RUM

Bouwbeschrijving UniSAI

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

LocoServo Handleiding

Bouwbeschrijving. Functiebouwsteen FB-SW (vanaf maart 2010)

LGB MZS Functie overzicht

Betaalbaar Home Control. Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven

ATtiny13. Versie 01 : augustus Many van Krieken Page 1

Decoder inbouw. Het ombouwen van een analoge tot een digitale loc. Jan Boen, Ing. voor het Locje Dilbeek

Bouwbeschrijving. DC-Car Booster

AVR USB Programmer smoerijf.be/avr

Wat is Arduino? Arduino = microprocessor (Atmel)

LocoServo Handleiding

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

A Quick Start Guide: AVR programmeren

versie: 1.0 status: vrijgegeven door: J.Eberson datum: 15 augustus 2005 aangepast: 19 februari 2006 concept beschrijving

MODELBOUW BOERMAN Uw trein op maat is waar het ons om gaat! SERVO DECODER. Gebruikershandleiding Art. Nr

ES1 Project 1: Microcontrollers

Bouwbeschrijving. Servo Decoders

FORTH op de 80C535 processor met het ATS535 board.

Versie 1-12/2009. Light Control. Handleiding

Gebruiksaanwijzing Verkeerslichten Decoder 234

ES1 Project 1: Microcontrollers

Omschrijving bij bestellijst project Robot Brainbox Robot

Besturingspaneel v Raam E-systeem functie omschrijving v109

EmSE presentatie. Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010

Bouwbeschrijving. Functiebouwsteen FB-SW

Voorwoord / veiligheidsaanwijzing 3. Functie decoder voor DCC systemen 4. Aansluiten van de decoder 4. Gebruik van LED strips 6

Inhoudsopgave LED dobbelsteen

Digitaal Modelsporen. Inleiding. Jan Boen, Ing, MSc

Ombouw NOKIA RD40 voor de 70 cm HAM-band

Bouwbeschrijving. Servo Decoders

SPOOR 1 DRAAISCHIJF. In Nederlands Model

Single Board computers. Ruud van der Meer (voor HCC d.d. 4 dec2017 Leiderdorp)

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano

Programma HCC!Forth komende zaterdag

Spanningdriver LEDVD5CH20A-V4 Real Time Clock

De Arduino-microcontroller in de motorvoertuigentechniek (8)

Besturing van de Miniatuurwereld RM-U. Gebruik van de Bootloader

Handleiding KCVR9NE KCVR9NE

Gebruik in geen geval soldeervet!!!! Dit zal uw print en de componenten beschadigen.

DATA SHEET C2-20. Besturing voor elektrische actuators. DATA SHEET C2-20 A&E Trading b.v. 1

Spanningdriver LEDVD5CH20A-V7 Real Time Clock met LCD scherm

BE.REC L Rev. 10/07/02 BE.PLAY L Rev. 05/06/03 BE.PLAY BE.REC INSTALLATIEHANDLEIDING

Getalformaten, timers en tellers

Bouwbeschrijving. Servo Decoders

Bouwbeschrijving Servo Decoders. S4DCC/MOT S4DCC/MOT-Car S4DCC/MOT-Herz

AP80 Display Controller

Wat is een busverbinding?

LocoIO Handleiding HDM08

Handleiding DCC Functie-Decoder

ADVANTAGE. L /2010 rev 0. system ONE2 WI ONE2 WB INSTALLATIEHANDLEIDING

Terugmeldmodule 63320

Meet the Arduino FAMILY

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/

Gebruiksaanwijzing AVR910 USB Programmer

Handleiding Loc decoders

Introductie EMC. Hét EMC Event 2011 DARE!!

DEUR BESTURING, TYPE: TS971

Constructie van het klokcircuit voor de processor en het spanningsdetectie circuit

Tyro Pyxis/Auriga 2, 4, 6 of 8 voudige afstandsbediening Handleiding 868 MHz

LocoIO Handleiding HDM08

Xilinx JTAG Programmer

GEBRUIKERSHANDLEIDING

Geavanceerd EMC Printontwerp

Frequentie standaard PA0WSO

AP21 SSI Display. Display voor positie en snelheid Nokkencontroller Signaalomvormer Display voor niet lineaire bewegingen. 96 mm

Positie-aflezing. - LED of LCD-aflezing - met geïntegreerde microprocessor. Walda Impuls b.v. Delta MS Arnhem Tel Fax

Bouwbeschrijving. c HCC Forth gg. Willem Ouwerkerk. 3 juli 2004 I 2 C 2.00

Zelfbouw frequentieteller

MotorControl gebruiksaanwijzing V3 vanaf softwareversie 2.0e

Introductie EMC. Hét EMC Event 2011 DARE!!

FSM 2000 SCHAKELMODULE

I/O via Ethernet: BL2010-EIO (v1.01)

led 0 aan Opdracht: 1 Opdracht: 4

GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING

Projectwerk microcontrollers:

Locobuffer Handleiding

6 Programmastructuren

Algemeen GM365. MCS Business Partners, Motorola GM365

Zelf PIC's programmeren. Deel-13 IR-sensor

11 Programmeren van elektrische schakelingen

Handleiding HCS VB5224

Handleiding HCS VB5248

Installatiehandleiding

12.1 Input/output-kaart IOK. Informatieblad 12 input/output-kaart versie 1.0. Beperking aansprakelijkheid

Voorwoord / veiligheidsaanwijzing 3. Sein decoder voor DCC systemen 4. Aansluitingen overzicht van de decoder 4. Aansluiten van de decoder 5

Stappenmotor Interface. Controller

Vervanging van de back-up batterij van de DARES Xstream pagers.

Het µclab voor Arduino UNO, NANO en Arduino UNO pincompatible

PCB-ontwerp. Het EMC-Event Patrick Dijkstra

Hard- en software. 1 Gebruiksaanwijzing voor Labview-grafieken. 2 Data-acquisitie met de computer

NEDERLANDS SELW2630MF. Ontvanger. De keuze van de installateur cdvibenelux.com

Presentatie op bijeenkomst van EmSE: Embedded Systems Eindhoven

Transcriptie:

DCC Lok Decoder met Atmel Tiny5 Beschrijving: decoder volgens de NMRA DCC standaard eenvoudige opbouw, SMD formaat 0805 dubbelzijdige printplaat * 8 mm met een beetje soldeer ervaring in SMD eenvoudig na te bouwen goedkoop Bootloaderfunctie, -wire softwareupdate mogelijk hierdoor functieuitbreidingen op elk moment mogelijk actuele functies: korte en lange adressen,8 en 8 rijstappen via CV/5 of bij /8FS via snelheidscurve in CV67-9 rem en optrek-vertraging CV/ motor PWM frequentie met: 6kHz of khz in CV9 optioneel opslaan van de laatste snelheidstrap en richting in EEprom (is geen DCC norm) frontverlichting richtingsafhankelijk met 80Hz in 0 stappen dimbaar in CV50 lastregling met stap-afstanden, max. correctie grootte, kleinste afwijking in CV5,5,5 kickstart: tijd en spanning in CV 65,66 snelheidscurve voor /8 rijstappen in -9 programmering via servicemode momenteel alleen CVByte schrijven programmering op hoofdrail (POM) momenteel alleen CVByte schrijven bedrijfsspannung 8-7V (DCC norm is vanaf 7V) lichtuitgangen ieder 90mA duurbelasting mogelijk motorstroom tot A afhankelijk van de gelijkrichterbrug en uitgangstrap wat niet kan: alleen analoog bedrijf (hardware-matig niet voorzien, software is momenteel nog niet ingebouwd) geen railcom (hardware-matig niet gepland) geen kortsluit beveiliging van de lichtuitgangen (hardware-matig niet gepland) wat nog realiseerbaar is: verder DCC functies code verder optimeren beperkt analoog bedrijf vanaf ca. 7V analoog spanning

Hardware: Het DCC railsignaal komt via de klemmen K en K aan de gelijkrichter. K K Gleis IC +5V +UB K Gleis K R 7k D ZMY7 C +,7µF C 0,µF IN C GND OUT TS80CX50 0,µF +5V C 0,µF IC OUT GND VCC VCC OUT VREF FIN RIN BD6 R R 0k 0k K8 Motor K9 Motor Li v T K5 Li h SN700 T SN700 IC PB5 PB PB GND TINY5 VCC PB PB PB0 C5 0,7µF R,8k K6 -wire K7 GND Änderung Ausgabe 96,00% 06.0..0. 09:59 :59 T5lokdec_bd6_.T00 De 5V spanning voor de Atmel wordt met behulp van een lineaire spanningsregelaar gevormd. Voor de programma afhandeling wordt een Atmel Tiny5 gebruikt, zonder bootloader is ook een Tiny5 mogelijk, maar niet aan te bevelen omdat de reset pin gebruikt wordt en daardoor geen ISP Programmering meer mogelijk is. Het DCC signaal wordt via de 7Kohm aan de Tiny5 gevoerd en door middel van zijn ingang-beschermings-dioden aan Ub respectievelijk GND begrensd. Voor het rijrichtingslicht worden MOS-FET transistors gebruikt. Als Motordriver wordt een BD60F (0,5A) of BD6F (A) van Rohm ingezet. Verder zijn er nog een GND en een - wire aansluitpunt voor de decoder programmering voorhanden. Maßstab Datei Firma Zeichner Titel Projekt Blatt

Print: Versie T5-8 7 6 5 8 7 6 5

Print : Versie T5-a In versie T5- is een fout geslopen. De behuizing van de Tiny5 is in de target bibliotheek van het ontwerpprogramma fout opgeslagen. Versie T5-a is gecorrigeerd. 8 7 6 5 5 6 7 8

Software: Algemeen:De Software is met AVR Studio in assembler geschreven en is verdeeld in Bootloader en Decodersoftware. Omdat alle 6 IO Pinnen van de Tiny5 gebruikt worden en daardoor de reset pin niet meer ter beschikking staat, is de bootloader mee geïntegreerd. Daarom is gekozen voor een Tiny5 met K programmageheugen en niet de kleinere Tiny5 met slechts K programmageheugen. Hierdoor is er ook nog genoeg plaats voor verdere functies in het geheugen. Als Bootloader wordt de versie van Hagen op het Mikrocontroller-Forum http://www.mikrocontroller.net/topic/9589#new met kleine aanpassingen gebruikt (in de bijlage bijgevoegd). Omdat de Bootloader altijd bij programmastart uitgevoerd wordt en dit bij een wiel / rail contact van een locdecoder relatief vaak voorkomt, wordt deze in normale gevallen onmiddellijk weer verlaten. De eigenlijke functie van de softwareupdate kan alleen door een in CV55 gestart worden. In dit geval stopt de normale decoderfunctie en de Bootloader wordt cyclisch door een Watchdog Reset opgeroepen (precieze afloop zie het hoofdstuk: Softwareupdate). Daar in de korte tijd, in welke de bootloader na iedere stroomonderbreking actief is, de lichtuitgangen niet flikkeren, worden deze ports als eerste na het starten van de Loaders op uitgang en op Low ( uit) gezet (dit is ook de aanpassing van de Bootloader). De exacte Loaderconfiguratie is in de bijlage opgenomen. De Bootloader start dan de eigenlijke decoder-software (welke ook zonder bootloader functioneert). Decodersoftware: De decoder-software is modulair opgebouwd om eenvoudig aan andere AVR 's te kunnen aanpassen. De gebruikte hardware van de AVR staat een veelvoud van mogelijke types toe. Nodig zijn : minstens 8Mhz systeemtakt, een 8 Bit timer in CTC Modus, een 6 Bit timer in fast PWM Modus, een 8 Bit ADC kanaal, 50 Byte SRAM en ca. 00 Byte Eeprom. De Portpins behalve de PWM uitgangen (OCRpins) en de ADC ingang (maar ieder ADC kanaal is mogelijk) naar believen. De software is als volgt ingedeeld: Hardwareinit Register Ports Timer Decoderinit gegevens uit Eeprom laden en instellen Timergestuurd decoderbedrijf De decoderfunctie wordt door de in 0us CTC Modus lopende timer gestuurd. Zijn hoofdfunctie is, alle 0us de DCC pin te testen en hieruit de DCC Bitstroom te filteren. Na 8 oproepen ( alle,8ms) wordt bovendien eerst de rijrichtings- verlichting per softwaredimmer met 0 Stappen gezet en dan een nieuwe is-waarde voor de motor-pwm. De normale hoofdlus bouwt het DCC commando op, test de waarde en zet de nieuw ontvangen functies om. Bovendien wordt voor de motorlastregeling de induktiespannung gemeten. Verdere details over de software is in de uitgebreid gedocumenteerde assembler code te vinden. 5

Programmeren van de AVR: Zoals al meerdere keren vermeld,beveel ik het gebruik van de bootloader aan. Dat is niet alleen noodzakelijk om de AVR in ingebouwde toestand zonder reset-pin en AVR programmer nieuw te programmeren, maar ook heel erg praktisch, omdat voor de programmering in -wire modus alleen een GND en data verbinding noodzakelijk zijn. De volgende stappen zijn noodzakelijk: Voorbereiden van de AVR met de volgende FUSE-bits: SELFPRGEN activeren RSTDISBL blijft voorlopig inactief!! DWEN inactief laten WDTON inactief laten SPIEN actief laten!! EESAVE activeren BODLEVEL op BOD aan met,v zetten CKDIV8 inactief zetten CKOUT inactief laten SUT_CKSEL op int 8 MHz RC snelste Start-up-time hieruit volgt: Fuse EXTENDED: $FE Fuse HighByte: $D en Fuse LowByte: $C De file AVRootloader.hex uit de map Bootloader6 in de AVR programmeren. Wie wil kan ook onmiddellijk de EEPROM met de decoder gegevens laden, hiervoor de file T5lokdec.eep in de EEPROM opslaan. Voor de veiligheid nog een keer een verify (vergelijken) van het programma geheugen met de AVRootloader.hex uitvoeren, de FUSE Bits nog een keer uitlezen en vergelijken, wanneer nu alles klopt kan de reset-pin gedeactiveerd worden. Hiervoor de FUSE: RSTDISBL activeren (Fuse HighByte is dan: $5). Hierna is er geen ISP programmeren meer mogelijk! De AVR op de decoderprint solderen. De een -wire verbinding (Kabel zie bijlage-t5lokdecoder-/bootloader/avrootloader-- Wire.png) met de decoder aanbrengen. Hagens Programma AVRootloader.exe (in de aanhang bijgevoegd) starten, COM Port instellen, Baudsnelheid en Sign laten staan, als programmafiles de file T5lokdec.hex uitkiezen, de knop Connect to device drukken en dan de programmafiles flashen Klaar! De -wire verbinding verbreken en de decoder testen Wie eerst de decodersoftware testen wil, kan ook zonder bootloader direct de T5lokdec.hex in het programmageheugen schrijven. De Reset Fuse kan ook actief blijven, dan is ISP - programmeren verder mogelijk (de dan ontbrekende rijrichtings-verlichting-uitgang is voor deze functie niet nodig). 6

Onderdelenlijst: GL MBS/HD0 darisusgmbh.de 0. Euro D,5W 7V SMA darisusgmbh.de 0.8 Euro C,7uF5V SMD Tantal 0% darisusgmbh.de 0.0 Euro C// 00nF/50V 0805 it-wns.de 0.0 Euro darisusgmbh.de 0.0 Euro C5 70nF/50V 0805 it-wns.de(0nf) 0.0 Euro darisusgmbh.de 0.07 Euro R 7kohm 0805 it-wns.de(k) 0.0 Euro darisusgmbh.de 0.09 Euro R/ 0kohm 0805 it-wns.de 0.0 Euro darisusgmbh.de 0.09 Euro R,8kohm 0805 it-wns.de 0.0 Euro darisusgmbh.de 0.09 Euro T/ SN700,BSS8N darisusgmbh.de 0.0 Euro IC LM80IM-5 rs-online.com.5 Euro farnell.de.0 Euro IC Tiny5 it-wns.de.9 Euro darisusgmbh.de.99 Euro IC BD6F rs-online.com.70 Euro farnell.de.66 Euro Platine.60 Euro Alle prijzen zijn van maart 0 en zijn per stuk incl. BTW maar zonder verzendkosten. Vaak zijn er kwantumkortingen mogelijk bij meer dan 0 of 5 stuks. U kunt dan op een decoder prijs van minder dan 8,00 komen. De eerste serie printplaatjes heeft een package-fout van de Tiny5. Deze worden alleen met kant en klaar geprogrammeerde en gesoldeerde Tiny5 voor,00 aangeboden. Vanaf de tweede serie zijn de printplaatjes afzonderlijk leverbaar. Voor ieder die zich niet aan het programmeren van de Tiny5 waagt bied ik op aanvraag een programmeer service aan. De aanvragen per mail naar toralfwilhelm@web.de 7