G.I.P: automatisch schaduwstation zonder wissels

Gestart door conducteur, 09 mei 2012, 21:33:26 PM

conducteur

Ja, zoals hierboven vermeld komen de profielen van Alumes. Was de dichtsbijzijnde die ik gevonden heb die die dingen verkoopt.
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

conducteur

#136
Veel te lang geleden dat ik hier nog iets gepost heb. Zojuist enkele bestellingen gezet, zodat we verder kunnen werken aan de realisatie komende vakantie.


Ondertussen hebben we niet stilgezeten:
-elektronica-schema's getekend en printplaatjes ontworpen.
-Theorie verder uitgeschreven. Zal dat voor de geïnteresseerden eens online zetten als het definitief af is.
-schoollicentie van flowcode op mijn PC geïnstalleerd, en de werking even opgefrist na 2 jaar...


PIC is dan toch veranderd van16f877a naar 16F887, met een kwartskristal op 20MHz. Ik kan mogelijk via school een ontwikkelbordje uitlenen om mijn PIC mee te programmeren, moet daar wel nog even de juiste personen voor aanspreken voor toestemming. Nadeel is dat ik na dit schooljaar dan geen eigen programmer meer heb voor zelf (kleine) projectjes te maken. Wat gebruiken jullie om je pic's te programmeren?

Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Gerolf

Ik gebruik geen pic's, maar avr's. Mijn programmer is vrij eenvoudig zelf gemaakt, heeft 5 contacten nodig van je parallelle poort.
De programmeeromgeving die ik gebruik (Bascom) kan hier prima mee om.
Momenteel experimenteer ik met ISP (in-service-programming) om bij een bepaalde printplaat de controller niet telkens te moeten overplanten.
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

Ik gebruik een PICSTART Plus (van Microchip) seriëel via een USB omzetter.  Is al tamelijk op leeftijd maar nog steeds geschikt voor vele PIC's in DIL behuizing (kost bij Microchip zelf rond de 150 Euro).

Op het net zijn enorm veel schema's te vinden voor een zelfbouw programmer; nadeel is wel dat de meeste via een parallelle poort werken (al een eeuwigheid geleden dat ik nog zo'n poort gezien heb).

Velleman heeft er ook één maar die werkt niet op een seriëel-USB omzetter.

Een ISP programmer is bij Microchip de PICkit 2 en is rechtstreeks via USB aan te sluiten (kost ongeveer 27 Euro).

Ik kan je altijd uit de nood helpen om er ééntje (of meerdere) te programmeren.  Nadeel is wel dat je tijdens het ontwikkelen meerdere keren moet (her)programmeren en dan wordt het een beetje duur om telkens een processortje met de post naar mij te sturen om te herprogrammeren.

[edit] Zoek eens op 'pic programmer usb diy' en je komt er verschillende tegen.  Je hebt wel een kraan nodig om een kraan te bouwen (er zit een geprogrammeerde PIC in die programmers) maar daarmee kan ik je helpen (op voorwaarde dat het een DIL exemplaar is).

Groetjes, Peter


Gerolf

Citaat van: PeterC op 03 februari 2013, 11:28:32 AMnadeel is wel dat de meeste via een parallelle poort werken (al een eeuwigheid geleden dat ik nog zo'n poort gezien heb).
Dat is inderdaad minder leuk. De parallelle poort is in onbruik geraakt.
Er bestaan gelukkig nog kaartjes om in een pc in te bouwen. Voor een laptop wordt dat natuurlijk lastiger ...
Een nadeel van een usb-programmer is dan weer dat je een andere (geprogrammeerde) microcontroller nodig hebt.
De fabrikanten lijken het leuker te vinden dat je een compleet (duur) pakket koopt  :(
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Havoc

Zeg, zo'n pickit2 of 3 is toch best bruikbaar voor pics? Kost niet veel, op usb, direct programeren op de pcb. Wat wil je nog meer?
Met vakantie voor onbepaalde duur.

conducteur

Heb besloten om een controller te lenen van school. Dat bespaart me voorlopig toch de aanschaf van een nieuwe/zelfbouw... Ook het E-blocks LCD'tje kan ik lenen. Verder heb ik nog mijn optische sensor gekregen, een omron E3S-Cl1. De gevoeligheid is regelbaar, hij is omschakelbaar tussen PNP en NPN,  heeft een zender en ontvanger in één, en de manier waarop hij reageert bij een detectie is ook regelbaar (zoals op foto brand de led als er niets gedecteerd is, maar dat kan ook ingesteld worden dat hij niet brand).



Een testje op 12 volt van een van mijn testvoedingetjes, de led is duidelijk 'uit':
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

conducteur

Vandaag zijn mijn Drylin glijlagers van IGUS toegekomen, samen met een trapeziumschroefdraadstang, een flensmoer, een flexibele koppeling en nog wat klein spul. Voor die trapeziumschroefdraadstang heb ik wel nog wat hulp nodig, gezien die aan de uiteinden nog moet afgedraaid worden tot op de kerndiameter (van TR18x4 naar 12mm) om in de flexibele koppeling te passen.
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

PeterC

Citaat van: conducteur op 07 februari 2013, 22:05:39 PM
...gezien die aan de uiteinden nog moet afgedraaid worden tot op de kerndiameter (van TR18x4 naar 12mm) om in de flexibele koppeling te passen...

Jammer genoeg is mijn draaibankje daarvoor te klein.  Een 'gemotiveerde' leraar en volgende week op school tijdens de vakantie?  ...Of een forumlid met een grote draaibank?

PS: de ''Kokketeuten' staan nog steeds te wachten op 'een geschikt moment'  ;)
Groetjes, Peter


conducteur

#144
Misschien inderdaad interessant voor te vermelden: de schroefdraadstang is 82cm lang... En nog zeer belangrijk te vermelden: mijn programmer vandaag meegekregen, samen met nog wat E-blocks modules (lcd, drukknoppen en led bordjes)
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

conducteur

De printplaten voor de elektronica zijn nog niet allemaal gemaakt, en mechanisch is er ook nog wat werk, maar ik kan wel al wat expirmenteren met die E-blocks om het programma te schrijven. Wat mij nu voornamelijk problemen geeft is de sturing van de motor.


In het begin van het programma zoekt de motor zijn homepositie op. Die ligt vast door een microswitch. Daar ligt het nulpunt van het systeem. Dat is niet zo moeilijk, ik laat de motor draaien tot de microswitch geactiveerd is. Is de positie bereikt, wordt een variabele gedefinieerd waarin de huidige positie wordt geschreven ( is hier 0). Hier moet ik niet echt stappen gaan tellen. De volgende stap in het programma is de lege/volle sporen detecteren. Daarvoor moet de plaat terug bewegen, zodat ik de stand van de optische sensor kan uitlezen, en dat is nu wat mijn probleem. Ik moet het aantal stappen kunnen berekenen, en tijdens de aansturing tellen. (er is geen terugkoppeling van de positie).


De stappenmotor wordt door een L6208 aangestuurd. (is besteld). Die heeft een aantal logische ingangen (een clock-signaal, bij elke positieve flank zal de motor één stap verzetten, een voor L/R draaien, en een 'Enable', als die laag is (0v) dan zal de stappenmotor niet reageren op pulsen van het kloksignaal.


-Ik zou op twee manieren die pulsen kunnen genereren: met de PWM functie die in m'n controller zit, of zelf een kloksignaal opbouwen (poort aan, delay 1ms, poort uit delay 1ms en dat herhalen). Ideaal zou zijn als elk spoor op bv 1000 stappen van een ander ligt, maar dat denk ik niet. Ik weet dus niet helemaal goed hoe ik het aantal stappen kan uitrekenen in m'n programma.  Voornamelijk het berekenen is een probleem.


Tellen: voor de pwm functie heb ik nog niet echt gevonden of ik daar het aantal stappen kan tellen, dus daar zou ik moeten gaan spelen met de tijdsduur.
Op de andere manier kan ik maar een stapfrequentie halen van 500Hz, ik zou tocha al blij zijn als mijn motor dit aankan maar hier lijkt mij het tellen een minder probleem.


Hebben jullie een idee?

Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Havoc

CiteerIk weet dus niet helemaal goed hoe ik het aantal stappen kan uitrekenen in m'n programma.  Voornamelijk het berekenen is een probleem.

Ofwel reken je ze op voorhand uit en zet je die als constanten in je programma. Of je maakt een testprogramma waarmee je het aantal stappen bepaalt. Voor het uit te rekenen, je stappenmotor doet x stappen per omwenteling en de schroef heeft een pas van y mm. Dus heb je x stappen nodig om y mm op te schuiven. De rest is een beetje algebra :)

Andere methode is een sensor die schakelt als je spoor goed staat. Je laat dan gewoon je motor draaien tot de goeie sensor schakelt.

Open loop vs gesloten loop.
Met vakantie voor onbepaalde duur.

conducteur

Dat is niet zozeer het probleem, het gaat hem voornamelijk om het programma. Stel de huidige postie is 2000 stappen van de homeswitch ver, de plaat moet naar spoor 8 op bv 8000 stappen, dan kan ik uitrekenen dat ik 6000 stappen moet verplaatsen. In een variabele kan ik dan schrijven dat spoor8=8000 en met een simpele berekening kan ik bepalen spoor8>huidige positie en zo dus de richting bepalen en spoor8-huidige positie=6000 en dan kan een simpel lusje 6000 keer afgehandeld worden, maar hoe bepaal je in het programma die 6000, want dat kan evengoed van de huidige positie naar spoor 1 zijn, en dan ben ik niets meer met mijn berekening?
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Gerolf

Gebruik de nulpositie-instelling (met een microswitch of lichtsluis) om af en toe te synchroniseren.
Je stappenmotor (in de juiste richting) tellen doe je met een tabel (array) voor de gewenste waarden, verschillen berekenen en ... laten stappen
Maximale stap-snelheid hangt af van je motor (traagheid/inertie/betrouwbaar) en is proefondervindelijk
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Geert

Rian,

in welke taal ben je van plan te programmeren? ASM C JAL ...

Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB