Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Bahnstrecke 5867 door Frank 123
Vandaag om 21:30:46
365 "Het is weekend foto's" door basjuh1981
Vandaag om 21:15:31
La Fabrique des petits réseaux (1:87) door Wim1969
Vandaag om 21:11:33
Uhlenbrock Intellibox 3 door Olav
Vandaag om 21:02:03
Heimwee naar de NFLS (Noord-Friesche Locaalspoorweg-Maatschappij) door MarcoK1999
Vandaag om 20:58:09
Eén leuke of mooie trein/spoor foto van je vakantie. door bigboynl
Vandaag om 20:57:09
US diorama in H0 door Vroeger
Vandaag om 20:24:17
Nederland jaren 50 op basis van mijn roots door defender
Vandaag om 20:03:17
Wat spoor 1 brouwsels door Rob Ellerman
Vandaag om 20:01:47
Raadplaatje door grossraumwagen
Vandaag om 18:36:34
De Projecten van RetroJack door Scratchbuilt
Vandaag om 17:17:31
Z21 App gebruiken om wissels via de 10836 decoder door AlbertG
Vandaag om 16:53:43
Roco BR 93 stroomafname door AP3737
Vandaag om 16:30:49
Toon hier je nieuwe (model-) spooraanwinst(en)... door Mark D.
Vandaag om 16:26:24
kan de yamorc 6016es-cs een digikeijs dr4088 cs vervangen? door Dirk
Vandaag om 16:13:09
Modelspoorbaan van Einte door cor_b
Vandaag om 16:00:14
Module vliegveld Jan van Mourik door MOVisser
Vandaag om 15:52:51
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 15:36:24
23 augustus modelspoorbeurs Houten door Wim Vink
Vandaag om 15:34:33
Microstepper motoren voor armseinpalen door AP3737
Vandaag om 15:22:27
Open huis VAMES Modelspoorclub Apeldoorn door Joz
Vandaag om 15:13:44
iTrain baanontwerp door Chris Westerduin
Vandaag om 14:57:01
Ervaringen met bezorgdiensten (PostNL, DHL, etc) door Hollandserhbfan
Vandaag om 14:44:40
24e smalspoormodelbouwdagen 30 en 31 augustus 2025 bij Stoomtrein Katwijk Leiden door Peter Soonius
Vandaag om 14:30:18
Deining in Dönsdorf door Basilicum
Vandaag om 14:23:27
2025-8-18: Spoor verzakt: veel minder treinen tussen Eindhoven en Utrecht door VAM65
Vandaag om 14:11:57
Scandinavië-IG: Skandinavisk bangården. Voor op Scandinavië gerichte spoorzaken door Loki
Vandaag om 13:42:33
De overeenkomst tussen een Ovaalramer en een Motorpost. door FritsT
Vandaag om 12:38:20
Yet Another Servo Decoder door AP3737
Vandaag om 12:09:36
Industrieel smalspoor inspiratiedraadje door spoorijzer
Vandaag om 11:50:34
  

Auteur Topic: Microstepper motoren voor armseinpalen  (gelezen 10413 keer)

AP3737

  • Offline Offline
  • Berichten: 345
Re: Microstepper motoren voor armseinpalen
« Reactie #105 Gepost op: 28 July 2025, 13:59:21 »
Technisch gezien niet fraai, maar het zal best werken  ;)

In de praktijk werkt dit prima. In de decoder zal ik echter steeds de laatste positie opslaan, dus normaal gesproken is deze vorm van "homing" niet nodig.

Initieel was ik wat huiverig met het opslaan van stepper (en servo) posities in EEPROM, vanwege het eindig aantal schrijfoperaties die je op een EEPROM cel kan uitvoeren (100000). Voor mijn servo decoder heb ik echter wat software ontwikkeld om dit probleem van EEPROM "degradation" te verminderen. Bij deze aanpak zet ik in 1 specifieke EEPROM cel de waarde van een pointer die wijst naar een cel binnen een circulaire buffer. Deze pointer wordt na iedere (re)start van de processor 1 positie opgehoogd. In de praktijk wordt de pointer waarde dus herschreven alleen als ik mijn baan opstart. Tijdens het rijden wordt de cel in de circulaire buffer waar de pointer naar verwijst, herschreven iedere keer als de stepper van positie veranderd. Als ik 'avonds mijn baan afsluit en de volgende dag weer opstart, dan wordt tijdens opstart de laatste stepper positie uit de circulaire buffer gelezen, waarna de pointer waarde met één wordt opgehoogd. Tijdens het rijden wordt die dag dus de volgende cel in de circulaire buffer gebruikt om de stepper positie in op te slaan als die zich wijzigt.

Groet, Aiko

bask185

  • Offline Offline
  • Berichten: 5009
Re: Microstepper motoren voor armseinpalen
« Reactie #106 Gepost op: 28 July 2025, 15:27:30 »
Citaat
Bij deze aanpak zet ik in 1 specifieke EEPROM cel de waarde van een pointer die wijst naar een cel binnen een circulaire buffer.
Wat je normaal doet om dit te implementeren, is om de MSB gaan gebruiken. 
Elke keer dat je schrijft dan
- verhoog je eerst de pointer
- haal je de huidige byte uit  het EEPROM,
- zet je de nieuwe waarde in de byte (moet wel 7 bits zijn).
- inverteer je de MSB
- en je schrijft de nieuwe byte terug naar het EEPROM.

Als je gaat opstarten, dan moet je van alle gebruikte registers/adressen de MSB's bekijken en zoeken waar de overgang plaats vindt. Dan weet je namelijk wat het laatste aangepast is.

1 000000 1
1 000000 0
1 000000 1
1 000000 0
1 000000 1  <-- hier was je gebleven, dit is het laatst geschreven adres
0 000000 0
0 000000 1
0 000000 0
0 000000 1
0 000000 0
Uiteraard als je perse 8 bits of meer moet opslaan, dan kan je ook makkelijk een struct met bitfields gebruiken.

Het voordeel is dat je slijtage evenredig verdeeld is over het gehele bereik van je gebruikte EEPROM adressen. Maar nogmaals. Het duurt echt lang voordat je wissel de 100.000 keer aantikt  ;D

Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

AP3737

  • Offline Offline
  • Berichten: 345
Re: Microstepper motoren voor armseinpalen
« Reactie #107 Gepost op: Vandaag om 15:22:27 »
Even een status update.

Tijdens het ontwerp van de print maakte ik af en toe wat foutjes voor wat betreft de plaatsing van componenten. In het algemeen zag ik de fout wel, en kon ik het corrigeren, maar ik besloot (voor 2 ,50 Euro) toch een proefprintje te maken om te kijken of alles wel zou passen, en componenten elkaar niet in de weg zouden zitten. Het proefprintje heb ik al een tijdje binnen; zie onderstaande foto's.


De bovenstaande foto toont de soldeer pads voor de stepper aansluitingen. Zoals te zien, is de kans groot dat ik tijdens solderen een kortsluiting maak tussen de PADs. Op de "productie print" heb ik daarom de PADs wat smaller / kleiner gemaakt.


En deze foto toont dat er eigenlijk net wat te weinig ruimte is om de flex-print voor de motor aansluiting door de print te krijgen. De uitsparing daarvoor heb ik dus maar wat vergroot.


De componenten die JLCPCB moet assembleren komen allemaal op de ene kant van de print; de achterkant kan ik dus bepruiken voor de THT componenten, die ik er zelf opzet. Gelukkig passen alle componenten, en zit de Elco niet in de weg van de stepper motor (zoals bij een eerdere versie).


Natuurlijk moet ik ook de UPDI programmer nog kunnen aansluiten als alles al in elkaar is gezet. Tijdens ontwikkeling zal ik regelmatig verbeterde software erop moeten zetten, dus de UPDI Pogo Connector moet feilloos passen. En de connector heeft nu (zoals door Bas voorgesteld) een =5V aansluiting.

De decoder printjes hebben ook nog wat andere aanpassingen gekregen. Zo heb ik de mogelijkheid gemaakt om later toch een 2de A4988 op een (nog te ontwikkelen) kleine print aan te sluiten (of een gekochte A4988 driver). Ik had met Eric eerder besproken dat voor een sein met 2 aansluitingen er twee van deze decoder printjes nodig zouden zijn. Hierdoor zouden er dus 2 DCC decoders moeten komen voor hetzelfde sein, wat niet heel handig was. Ik heb daarom toch maar op de print wat soldeer pads gemaakt voor de 2de A4988. De ATTiny processor op deze print kan de 2de stepper dus ook aansturen. Voor de GND en 5V van de 2de A4988 moet de UPDI aansluiting "misbruikt" worden, en ik heb nog een Pad gemaakt voor de V-motor.

Verder heb ik besloten het maar simpel te houden, en de automatische detectie of er een LED of gloeilampje in het sein zit, maar achterwege te laten. Nu zijn er dus 3 Pads: Plus, lampje of Led.





Ik heb net 10 printjes besteld, zodat ook anderen die hiervoor software willen schrijven (Bas??) er een kunnen krijgen. De totale kosten vielen me wat tegen: 45 Euro, dus 4,50 per print. In vergelijking met de Viessmann aandrijvingen is dat echter niets.  ;D. Als ik er later meer bestel, dan kunnen de kosten nog flink naar beneden; door een panel te maken met daarop meerdere printjes gaan de kosten flink omlaag en door er meer te bestellen kunnen de extended component kosten door meerdere printjes gedeeld worden. Het duurste is echter de A4988, gevolgd door de ATTiny.

Nadat ik de bestelling betaald had, bedacht ik me nog dat ik de printjes eigenlijk wel wat dunner had kunnen maken dan 1,6mm. Dat is dan maar een detail voor de serie productie.

Dat was het voor vandaag, groet, Aiko