Nieuws:

Modelspoormagazine, 100% modelspoor

Hoofdmenu

Servo's

Gestart door PeterC, 29 juli 2009, 18:36:43 PM

PeterC

'Hik' opgelost: op een 8 bits processor moet je een 16 bits teller niet herladen met 2 maal 8 bits terwijl die loopt!  Teller stilgezet voor het herladen, dan herladen met 2 * 8 bits en dan terug aangezet en 'de hik' is verdwenen (stom, stom, stom, een probleem dat ik in het verleden ook al gehad heb).

Edit: zelf de 'LUIDE' servo's schakelen heel stil van het ene uiteinde naar het andere met wat vertraging ingebouwd.  Het enige wat ik voel zijn kleine schokjes tijdens het verzetten.  Wanneer de servo hard tegen mijn bureaublad wordt gedrukt, valt dit schokken ook weg.
Groetjes, Peter


MickeyMouse

citaat:
Geplaatst door PeterC

'Hik' opgelost: op een 8 bits processor moet je een 16 bits teller niet herladen met 2 maal 8 bits terwijl die loopt!  Teller stilgezet voor het herladen, dan herladen met 2 * 8 bits en dan terug aangezet en 'de hik' is verdwenen (stom, stom, stom, een probleem dat ik in het verleden ook al gehad heb).


Hihi, in mijnen jeugd ook nog tegengekomen, net dezelfde fout nog gemaakt, en ok meer dan eens...[:D]
En daar kun je nog wel eens een tijdje op zoeken eer je die fout vindt.

Geert

PeterC

Hier het resultaat van mijn eerste stappen in Eagle.  Het schema:
http://users.telenet.be/toytoy/ho/decoder/ServoCal.pdf

En voor de ge?nteresseerden, het programma in JAL:
http://users.telenet.be/toytoy/ho/decoder/Main.pdf

Een woordje uitleg:
De controller is op een standaard manier verbonden met een LCD scherm (2 regels van 16 karakters, of eentje 1 * 16 karakters waarbij vanaf het 9? karakter een twee regelig display wordt nagebootst).  Aan de controller hangen nog 4 druktoetsen, in volgorde: up, down, left en right.  E?n uitgang gaat rechtstreeks naar een servo.  Het ledje is optioneel en licht op wanneer de servo langszaam naar een andere waarde gaat.

Na het opstarten, komen er op het scherm 2 waarden 1500 en 4000.  Die 1500 is normaal de neutrale stand van de servo.  Met de toetsen up en down kan die waarde gewijzigd worden en verplaatst de servo zich.  Na bij een bepaalde waarde op de left of right toets drukken (langer dan 30 seconden), slaat die waarde op voor de linker of rechter uitslag.  Bij het kort indrukken van left or right wordt naar die waarde gegaan.  De tijd die daarvoor nodig is, is de tweede waarde op het display.  Om die waarde te wijzigen, volstaat het om op de up en down toets tegelijkertijd te drukken.  Met de up en down toets kan de tijd dan ook ingesteld worden.  Na terug gelijktijdig de up en down toets in de drukken kan er weer overgeschakeld worden op de pulsinstelling.

Nu nog een printje (gaatjesprint) en mijn projectje is af.
Groetjes, Peter


Gerolf

Interessant [8D] Dit vertalen naar Bascom lijkt me haalbaar [;)]
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

Gerolf,
Bascom ken ik niet, maar zoals de naam het reeds doet vermoeden, is dit een Basic afgeleide?
In het programma zitten geen exotische structuren, alles is simpel gehouden (buiten het stukje assembler voor de toetsen te lezen).
Hou me op de hoogte aub.
Groetjes, Peter


Gerolf

citaat:
Geplaatst door PeterC

Bascom ken ik niet, maar zoals de naam het reeds doet vermoeden, is dit een Basic afgeleide?
Hou me op de hoogte aub.
[:I] Ik ga er nog niet direct mee beginnen, hoor [:)]
Bascom avr = een programmeeromgeving voor avr microcontrollers. Een Basic-afgeleide, inderdaad.
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

citaat:
Geplaatst door buckfast_beekeeper

Even je Eagle schema bekeken. Is de connectie tussen je kristal en de wire ok? Volgens mij zouden er junctie punten moeten staan aan de uiteinden van de kristal aansluitingen. Net zoals dit bij de weerstanden rechts het geval is.



Theo, je hebt gelijk, bij Protel ging dat automatisch, bij Eagle moet je ze blijkbaar manueel zetten.  Ik pas het aan, maar zal voor vandaag niet meer zijn (net houtskool op de BBQ gedaan [:p][:p][:p]).

Groetjes, Peter


PeterC

Groetjes, Peter