Modelspoormagazine forum

Modelspoor, praktijk => Modelspoor-elektronica met microcontrollers => Topic gestart door: Gerolf op 16 november 2014, 00:07:55 am

Titel: Servosturing v3
Bericht door: Gerolf op 16 november 2014, 00:07:55 am
Ik blijf zoeken naar de "ideale" servosturing ...

Vanuit enkele ervaringen:
 - de elektronica in een (eenvoudige, goedkope, analoge) servo is op zijn minst "simpel" te noemen
 - de aansturing van zo'n servo met een microcontroller is ook "simpel": tot slechts 100 posities "standaard" instelbaar
 - je moet wat kunstgreepjes doen om "jitter" (ongewenste ruwe bewegingen) te voorkomen
 - stel dat je de positie wil checken, moet je een extra aansluiting in je servo maken
     ... maar om die meting te doen, moet je de servo van stroom voorzien, waardoor hij mogelijk beweegt, ...

... en daarom denk ik (al een tijdje) aan:
 - de ingebouwde elektronica van zo'n goedkope servo er uit te zwieren
 - 5 draden naar een controller: twee voor de motor, en 3 voor de positie-potentiometer
 - de microcontroller neemt alles over:
    - servo-motortje met PWM en H-brug sturen (snelheid kan zo traag via PWM)
    - servo-positie met de A/D van de microcontroller meten (10bits=tot 1024 stappen)

Wat me tegenhield was die H-brug: (duur) IC, of zelf discreet opbouwen, of ...
Tot ik dit IC'tje tegen kwam bij Farnell: DRV8830DGQR van TI, minder dan een Euro indien 100 stuks, maar vooral:
aan te sturen én foutmeldingen te lezen via I2C, tot 9 stuks adresseerbaar op de bus (4 is voor mij genoeg)
Nadeel van dat IC'tje: verdomd klein: 2x5 pennetjes van 0.3mm met 0.2 tussenruimte ... op de grens van het handmatig solderen ...

Huidige stand van zaken:
- printplaatje met AtMega16 en 4 van die IC's en nog wat rand-elektro is uitgetekend
- wacht op levering van de IC's, en ben begonnen met de software

Wordt vervolgd ;)
Titel: Re: Servosturing v3
Bericht door: minitreintje op 16 november 2014, 07:59:50 am
Ik ben benieuwd! Ik ga wat doen met hall sensoren die de eindpositie meten.
Daarmee moet de servo stoppen en wordt de eindstand draadloos doorgegeven via mijn S88 Wireless netwerk. Zo weet Rocrail meteen de juiste eindstand en ook als de wissel blijft haperen.


groeten Dylan
Titel: Re: Servosturing v3
Bericht door: Gerolf op 16 november 2014, 23:44:11 pm
73 keer gelezen, geen negatieve reacties - dus ik denk dat deze droom / dit project volgens jullie haalbaar is  8)
Titel: Re: Servosturing v3
Bericht door: Steam.N op 17 november 2014, 00:02:16 am
En ik volg met argusogen, Gerolf  ;)
Titel: Re: Servosturing v3
Bericht door: doomslu op 17 november 2014, 08:55:32 am
Ik ben heel erg benieuwd, maar meer kan ik niet zeggen, want het is te technisch voor mij.  ;)
Titel: Re: Servosturing v3
Bericht door: EVP op 17 november 2014, 09:30:56 am
ook hier met veel belangstelling Gerolf..... ;)
Titel: Re: Servosturing v3
Bericht door: conducteur op 17 november 2014, 09:33:19 am
Als je zo nauwkeurig de positie moet kennen, ben je dan niet beter af met een stappenmotor?
Titel: Re: Servosturing v3
Bericht door: Michiel op 17 november 2014, 10:35:27 am
Gerolf, de jitter van een servo is in sommige situaties inderdaad hinderlijk: vb bij armseinen en slagbomen is het schokkerig bewegen van een servo storend. Maar in vele gevallen is de jitter helemaal geen punt, vb bij het omzetten van wissels en dergelijke. Ik veronderstel dan dat de extra uitwedige opbouw voor de jitteronderdrukking enkel voor de servo's zal dienen waar die jitter ook storend is? Of ga je alle servo's hiermee voorzien?

Electronisch heb ik niet voldoende inzicht of dit project met H-brug haalbaar is, sorry. Maar ik volg het wel met gezonde neiuwsgierigheid, want ik snap je initiële ergenis (de jitter) en de wens om er iets aan te doen.
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 november 2014, 08:27:48 am
Deze regelaar is inderdaad vooral bedoeld voor de meer gevoelige taken: armseinen, barelen, deuren en poorten, ...
Voor schaduwstation-wissels kan het uiteraard eenvoudiger, maar voor filigrane wissels "in het zicht" wil ik het wel.

Eerst maar eens kijken of het me lukt. Hopelijk komen die Farnell-IC's vandaag toe.
Prototype-print wil ik vandaag al wel maken (etsen-vertinnen-boren).

@Rian: Voor sommige dingen (draaischijf, rolbrug, ...) is een stappenmotor meer aangewezen, maar dat is ook een duurdere oplossing
Voor kleinere heen-en-weer bewegingen lijkt me dat overkill

In elk geval: bedankt voor de belangstelling en aanmoediging ;)
Titel: Re: Servosturing v3
Bericht door: Dirkh op 18 november 2014, 08:40:21 am
Interessant om te volgen, die jitter is iets waar ik mij altijd aan stoor zeker bij mijn slagbomen. Ik gebruik nu de OC32 om die te sturen maar hoe trager een beweging is hoe schokkerig de beweging.
Door de lineaire servo's is het al een heel stuk beter maar er is nog altijd ruimte voor verbetering.
Hoe gaat dat dingetje aangestuurd worden, ik rijd nog altijd analoog dus geen DCC signalen op de baan.
 
Titel: Re: Servosturing v3
Bericht door: Bolje op 18 november 2014, 09:36:55 am
73 keer gelezen, geen negatieve reacties - dus ik denk dat deze droom / dit project volgens jullie haalbaar is  8)
Haalbaar zeker volgens mij.
Ik heb echter 1 vraag. ::)
Hoelang gaat die pot.meter de 'juiste' waarde doorgeven?
Ik bedoel hiermee, hoelang zal het duren eer de waarde anders zal zijn op eenzelfde plaats?
Of vergis ik mij in de slijtvastheid van een pot.meter?
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 november 2014, 09:42:12 am
Aansturing: Voor mij ook geen DCC ;)
4 Logische ingangen (0 of 5 Volt) en evenveel uitgangen voor de terugmelding.

Het is waarschijnlijk wel bruikbaar voor de digitale rijders
 (mits een decoder die "digitale" 0/1 uitgangen kan leveren)

Slijtvastheid van die interne potentiometer is misschien niet zo geweldig - toch niet bij die goedkope servootjes
Slijtage hangt natuurlijk af van gebruik - ik vermoed dat het uiteindelijk wel kan meevallen,
...tenzij je in een gebouw een deur wil die "klappert door de wind"  ::)  ;D
Titel: Re: Servosturing v3
Bericht door: dani op 18 november 2014, 11:35:45 am
haalbaar moet het zeker zijn.   Maar inderdaad bij die potmeter heb ik ook mijbn bedenkingen.
In 70-80% van de gevallen waar een servo staat te "jitteren" of zoemen, is het juist die potmeter die de oorzaak is van de storing.

Dus ik vrees dat je het probleem enkel wat gaat verleggen, hoewel je natuurlijk bij het gebruik van een µC en kleine H brug  het zelfde effect zal kunnen nabootsen als wanneer je je servo stroomloos zet zolang er niks verandert in de sturing.   Maar ja...  dan behoudt hij ook zijn huidige positie niet zo "krachtig". Dat is nu ook net 1 van de voordelen van servo.

Volgens mij zal het wikken en wegen worden, en vooral goed inspelen op de tolerantie van je  potentiometer.  En om dat te kunnen ga je hem eerst deftig moeten kunnen doormeten en testen.  Meten = Weten.
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 november 2014, 15:48:29 pm
Voor de meeste (modelspoor-)toepassingen hoeft een servo niet constant bekrachtigd te worden.
Wikken en wegen wordt het in elk geval, ook tijdens de bouw. Zo kan ik me voorstellen dat een resolutie van 1024 te hoog gegrepen is.
Het is de bedoeling dat de software bij het (allereerste) opstarten zelf de potentiometer-eigenschappen "meet", en die waarden opslaat

In 70-80% van de gevallen waar een servo staat te "jitteren" of zoemen, is het juist die potmeter die de oorzaak is van de storing.

Waar haalde je die informatie?
Titel: Re: Servosturing v3
Bericht door: dani op 18 november 2014, 16:45:26 pm
ervaring en "gedeelde smart" op verschillende forums.
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 november 2014, 17:15:16 pm
We zien wel - ik zou denken dat het gebruik van de potmeter (de andere elektronica dus) ook een grote rol speelt.

Printje is geëtst en vertind - ik kan beginnen met het opbouwen
Voor de geïnteresseerden: de lay-out:

(http://www.meb.gerolf.be/sturing/bm/auto/ServoPWM.jpg)

Alleen jammer dat die H-brug IC-tjes nog niet zijn aangekomen ...

Titel: Re: Servosturing v3
Bericht door: dani op 18 november 2014, 18:13:07 pm
*like*
Titel: Re: Servosturing v3
Bericht door: Gerolf op 20 november 2014, 18:35:09 pm
De IC'tjes van Farnell zijn (eindelijk) aangekomen. Eentje geplaatst:

(http://www.meb.gerolf.be/sturing/bm/auto/I2C-BRUG.JPG)

... en ze zijn dus echt wel klein  :o
0.5 mm pitch - pootjes van ocharme 0.25 breed ...

Enfin, nu kan ik beginnen experimenteren. Printje is test-klaar
Er is al een servootje voorbereid (alles er uit, en een 5-aderige lintkabel aangesloten)
Titel: Re: Servosturing v3
Bericht door: Michiel op 20 november 2014, 18:52:32 pm
Indrukwekkend soldeerwerk!  :o :o :o  Heel erg netjes gedaan. Ik hoop nu ook dat alles werkt zoals je het gepland had.
Titel: Re: Servosturing v3
Bericht door: modelbaanHO op 20 november 2014, 18:59:12 pm
Volgens mij is dat zo'n maxi lucifer om de open haard of de bbq mee aan te steken.  ;D ;D
Titel: Re: Servosturing v3
Bericht door: Gerolf op 20 november 2014, 19:02:39 pm
Helaas niet ... kortsluiting

Nagekeken - stomme beginnersfout in het ontwerp : GND en VCC omgewisseld  :-[

... dus ik kan opnieuw ontwerpen, nieuwe print etsen, ...  :(

Maar ik ga dit printje nog wel even gebruiken om de potentiometer-metingen te testen
Stel dat daar ook het ontwerp beter kan ...   ::)
Titel: Re: Servosturing v3
Bericht door: conducteur op 20 november 2014, 20:08:08 pm
Is dat 1206 of 0805, de weerstanden ernaast?  :o
Titel: Re: Servosturing v3
Bericht door: doomslu op 20 november 2014, 20:11:06 pm
Volgens mij is dat zo'n maxi lucifer om de open haard of de bbq mee aan te steken.  ;D ;D
Ik dacht dat het een knots was.  ;D
Titel: ls ik deze foto zie,
Bericht door: Geert op 20 november 2014, 20:42:01 pm
Als ik deze foto op schaal bezie, dan weet ik dat Gerolf het printen van het masker, het belichten op pcb, het ontwikkelen van het pcb en het etsen daarvan zeer goed beheerst. Knap werk op deze schaal. (en dan zwijg ik over het soldeerwerk, ik kan dat niet op zulke schaal)

Ik ben benieuwd of Gerolf zijn doel zal bereiken. Ik duim alvast mee  ;)

Geert
Titel: Re: Servosturing v3
Bericht door: conducteur op 20 november 2014, 21:12:46 pm
Helaas niet ... kortsluiting

Nagekeken - stomme beginnersfout in het ontwerp : GND en VCC omgewisseld  :-[
Teken je nog altijd de pcb's met coreldraw?
Titel: Re: Servosturing v3
Bericht door: Steam.N op 20 november 2014, 23:20:33 pm
Ik blijf hier duimen dat ze zeer doen  ;)
Titel: Re: Servosturing v3
Bericht door: Gerolf op 21 november 2014, 01:53:56 am
@Rian: nog steeds CorelDraw, en 1206

@Geert, Jean: bedankt, ik doe mijn best  ;)

@De twee Luccen: Ik werk met kleine knotsjes - ben ik nu knotsgek?

Update:
- potentiometer-meten doet hij voorbeeldig: de volle schaaluitslag van 0...1023
- Bedrading naar die kleine chip herlegd, maar communicatie lukt niet.
    Ofwel gebraden door de kortsluitingen, ofwel fout in I2C-protocollen.
    Nog even verder testen morgen, maar ik vrees dat het om een opgestookt IC gaat.
Titel: Re: Servosturing v3
Bericht door: modelbaanHO op 21 november 2014, 09:31:57 am
@De twee Luccen: Ik werk met kleine knotsjes - ben ik nu knotsgek?
Nu je er zelf over begint ...  ;D ;)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 22 november 2014, 22:12:20 pm
hmmm, ga hier ook effe meevolgen.  Ik heb een gelijkaardig projectje, maar daar is het me voornamelijk om de feedback te doen; dus ik heb maar 4 draadjes naar m'n servo (is een aangepaste 3-draadse servo).  De jitter en wild heen en weer slaan heb ik opgelost door de sturing en voeding apart in en uit te schakelen in de juiste volgorde.  Met m'n kleine 3.7g servo'tjes lijkt dat perfect te werken (in testmode, onbelast dus).  Ik ben wel niet zeker of dit ook gaat marcheren voor andere servos
Maar ik ben wel benieuwd naar een volledige externe sturing met de H-bridge...
Titel: Re: Servosturing v3
Bericht door: conducteur op 22 november 2014, 23:01:59 pm
@Rian: nog steeds CorelDraw

Amai... nog nooit overwogen om een pakket te gebruiken? Dat had misschien de "domme fout" kunnen voorkomen (ERC / DRC ...). Binnenkort komt er een nieuw freeware programma uit gebaseerd op altium designer, en 't ziet er véélbelovend uit. Ga dat zeker eens testen!
Titel: Re: Servosturing v3
Bericht door: Gerolf op 23 november 2014, 09:36:37 am
@ Patrick: Met een vierde draadje was mijn vorige versie. Dat werkt wel, maar nog niet zoals ik zou willen:
Om een meting te doen van de servostand moet je de stroom inschakelen.
Zonder stuurpuls uiteraard, want anders beweegt de servo naar een stand.
Maar ook zonder stuurpuls beweegt de servo (naar "0")
=> ik kan niet vermijden dat ik bij een controle-meting soms een beetje beweging heb

Huidige status:
 - Nieuw printplaatje getekend, gemaakt en opgebouwd
 - Meting potentiometer gaat nog steeds goed
 - Gewoon motortje aansturen gaat prima: tot behoorlijk traag
 - Servomotortje is duidelijk van mindere kwaliteit: werkt niet met heel lage/trage PWM
      (maximale tijd voor volledige uitslag is ongeveer 2 seconden)
=> eens checken met de scoop, maar ik overweeg om:
- de H-brug periodiek te schakelen (dus met µC-PWM de H-brug-PWM aansturen)
- zou moeten kunnen: met I2C kan je vrij hoge communicatiesnelheden halen
  ... dus zou ik met niet-zichtbare stapjes toch een trage beweging moeten krijgen

Wordt vervolgd ;)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 23 november 2014, 10:04:54 am
Is dat niet een beetje het wiel opnieuw uitvinden?
PWM op de H-bridge: komt overeen met de pulsbreedte van de stuurpuls van de servo zelf.  De traagheid van een servo bepaal je zelf, via de microcontroller zet je gewoon gedurende een bepaalde pulsbreedte en die laat je heel traag variëren.
Controle positie: waarom sla je die niet op in de µC?

Op dit ogenblik zie ik één toepassing waar jouw oplossing wel voordeel haalt.  Als je veel druk op de servo arm zet, kan die vanzelf gaan bewegen en dan is jouw controle op de positie wel handig.  Nu, al je servo mechanisch onder zoveel druk staat dat ie vanzelf gaat bewegen, dan heb je de verkeerde servo...

Je servo beweegt naar 0 (of soms zelf een willekeurige andere positie) omdat meestal alles tegelijk onder stroom gezet wordt.  Maar je microntroller heeft een beetje opstart tijd nodig waardoor die niet direct de correcte positie doorgeeft aan de servo en je servo krijgt meteen stroom als er geen schakeling in de voeding zit.  Ik heb dat probleem opgelost door in m'n voedingslijn naar de servos een mosfet te steken die normaal altijd 'uit' staat.  Van zodra de microcontroller opgestart is, haalt ie uit het eeprom geheugen de vorige posities van de servos op en stuurt ie meteen deze pulsen door en pas daarna gaat de stroom erop.  Idem om de stroom uit te schakelen: eerst de voedingslijn via de mosfet uitschakelen en dan pas de pulsen eraf.  M'n microcontrollers hebben allemaal een brown-out detector zodat ik in geval van stroomuitval toch m'n servos correct kan afkoppelen.

Dit vervelend effect van ongecontroleerde beweging tijdens het opstarten is al heel lang gekend, alleen vergeten de ingenieurs/elektronici nogal dikwijls dat de servo heel vaak simpele analoge comparators gebruikt en dat die dus meteen beginnen te werken van zodra ze stroom krijgen.
Jouw schakeling zal net hetzelfde moeten doen of je gaat ook dat wild terugslaan hebben, enkel heb je de sturing van de servo nu volledig in je microcontroller gestoken; terwijl die eigenlijk in de servo zelf al zat...
Titel: Re: Servosturing v3
Bericht door: Gerolf op 23 november 2014, 10:48:22 am
PWM op de H-bridge: komt overeen met de pulsbreedte van de stuurpuls van de servo zelf.

In dit geval zeker niet, en ik ben ook niet zeker dat dit met de analoge servootjes zo is.
De pulsbreedte van de stuurpuls bepaalt immers de gewenste positie van de servo, niet de snelheid waarmee hij er naar toe gaat.

Citaat
  De traagheid van een servo bepaal je zelf, via de microcontroller zet je gewoon gedurende een bepaalde pulsbreedte en die laat je heel traag variëren.

... en dan krijg je schokjes tijdens de beweging. Dat wil ik dus vermijden ;)

Bijkomend voordeel op dit moment: de servo is veel stiller tijdens het verplaatsen  8)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 23 november 2014, 11:49:56 am
Oei, heb me niet volledig uitgedrukt...
De pulsbreedte bepaalt inderdaad de positie, maar je bent niet verplicht om in eenmaal die positie in te geven; je kan dat in stapjes doen.  En daar zit nu juist de clou, de stapjes moet je correct aansturen en dan heb je die schokjes zelf in de hand: laat gewoon je pulsbreedte variëren in functie van de snelheid die je wil, maar gebruik altijd kleine stapjes.  Met mijn microcontroller gebruik ik een 16-bit timer om die pulsbreedte aan te sturen, een tweede timer bepaalt de snelheid waarmee de eerste timer de pulsbreedte laat variëren.  Dit geeft altijd één vloeiende beweging zonder schokjes.
Enkel als de servo supertraag (bv. 180° in één uur of zo) moet bewegen, zou je mijn stapjes kunnen 'zien'.  't Is te zeggen, als je een stapje van 180°/65536 = 0.003° uberhaupt zou kunnen zien...  Op de goedkope servos is 65536 stappen overkill, die gaan er meestal toch niet op reageren; maar het maakt niet uit, je kan de software gewoon z'n gang laten gaan, de servo begint wel te bewegen van zodra er genoeg verschil op de interne comparator zit.  En zelfs die zie je nog niet op de supergoedkope 3.7g servos van de chinees.  De software die ik gebruik is geïnspireerd op een hardware controllerke (Turnigy 3G) dat net hetzelfde doet met een extra timer en deze wordt gebruikt in RC helicopters...

Het lawaai van de servo is recht evenredig met de snelheid waarmee je 'm laat draaien.  Dat geluid wordt grotendeels veroorzaakt door de tandwielen.  Of je er nu een PWM H-bridge voorhangt of de ingebouwde H-bridge ervoor gebruikt maakt weinig of niks uit.  De truc met de 2 timers op de interne H-bridge zorgt ervoor dat de motor steeds op volle toeren draait, maar doordat ie maar zeer kort aan de bak moet (kleine variaties in de pulsbreedte), maakt ie minder lawaai.  Soms hoor je wel de interne jitter als je niet snel genoeg beweegt, maar die is redelijk stil tgo het normale bewegen.

Titel: Re: Servosturing v3
Bericht door: Gerolf op 23 november 2014, 22:15:16 pm
De piste met het IC van Farnell is een doodlopende ...

Waarom? Het was op zich hoopgevend, maar
- de kwaliteit van de motortjes in de (goedkope) servo's is niet fantastisch
- de PWM van die chip is niet genoeg beïnvloedbaar (kan enkel via een eenvoudige I2C-boodschap)
- ik krijg geen voldoende trage, schokvrije beweging (6 seconden voor een volle 180° uitslag is te weinig)

=> mijn hoop is nu gesteld op een L293DD van STM: 2 gewone H-bruggen per IC
- daar kan ik de PWM (frequentie en pulsbreedte) van de chip zelf vrij instellen,
   en dus zo goed mogelijk aanpassen aan wat het motortje van de servo kan en moet doen

... maar dat betekent dus een totaal nieuwe print-layout, ... ::)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 24 november 2014, 20:11:12 pm
ouch, that hurts.  Gebeurt wel vaker dat een prototype niet goed wil werken, daarvoor is het een prototype hé.  Maar waarom gebruik je geen breadboard ipv van meteen een volledige print uit te tekenen en te etsen?  Je hebt enkel wat adaptertjes nodig voor de smd ic's die geen normale variant hebben.

Maar ik blijf bij mijn oorspronkelijke opmerking, volgens mij maak je het jezelf veel te moeilijk.  Gebruik gewoon de sturing die in je servo ingebakken zit en laat de PWM van de microcontroller het werk doen.

Als je toch wil volharden... probeer eens met MOSfets ipv kant en klare H-bridges.  Die H-bridges zijn meer voor het zware werk en deze die je nu kiest (L293DD) is hier niet goed voor servo motoren vrees ik.  Deze heeft een te hoge saturatie in de sink output (1.2 à 1.8V) en er blijft 1.3V achter (clamp diode).  Deze chip is bovendien veel te traag, probeer 'm niet te schakelen aan meer dan 5Khz.
Ik denk dat je met 4 MOSfets in dubbele totempole configuratie in dit geval beter af gaat zijn, deze zijn sneller en indien je zonder clamp diodes durft te werken gaan ze een lager spanningsverlies hebben (0.2-0.3V).

Heb je alles van de motor afgekoppeld?  Maw. is het enkel jouw schakeling die de motor spoelen activeert?
Titel: Re: Servosturing v3
Bericht door: Gerolf op 25 november 2014, 09:13:12 am
Nieuwe PCB is bijna getekend. 4 servo's, dus twee H-brug-IC's per printplaat
Alle elektronica is uit de servo - motortje was en is dus volledig "los" van de rest.

Bedankt voor de tip over de uitgangsspanning
 => ik voorzie een mogelijkheid om te voeden met "net ietsje meer spanning"

Die "traagheid" lees ik niet in de datasheet: rise en fall-time 250ns, on-delay 750ns en off-delay 200ns - lijkt me toch behoorlijk snel
Ik heb trouwens nog geen idee wat de beste PWM-frequentie wordt. 100 Hz? 10KHz? ... ?

Mosfets heb ik overwogen, maar nemen meer ruimte in. Het blijft wel een alternatief.

Bedankt voor het meedenken ;)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 25 november 2014, 12:13:23 pm
Graag gedaan...  Je tekent precies rapper een nieuwe versie, dan effe een testopstelling te maken.  Ieder zijn manier hé...
Dus als de motor volledig los gekoppeld, kan het niet zijn dat egatieve invloed gaat hebben van de oorspronkelijk ingebouwde elektronica.  Dus dat kunnen we al volledig uitschakelen en maakt het ontwerp al wat eenvoudiger.

De PWM frequentie zal niet te hoog mogen zijn met L293D(D).  Max. 5 kHz, datasheet zegt:
Citaat
This device is suitable for use in switching applications at frequencies up to 5 kHz.
  250ns rise en fall tijden zijn echt traag hoor in digitale elektronica.  Het grote probleem is dat door de 'lange' rise en fall time, je heel vervelende harmonischen gaat hebben.  Voor 250ns worden die dan 4MHz, 2Mhz, 1MHz, 500kHz, 250kHz, ... en die komen heel gevaarlijk in de buurt van jouw operationele frequentie voor de PWM.  Als designer moest ik minstens 10 harmonischen uit de buurt blijven...  dus ik denk dat de datasheet wel om die reden niet meer dan 5kHz aanraadt.

Voor mosfets heb je ook arrays, kan je wat plaats doen besparen...
Titel: Re: Servosturing v3
Bericht door: Gerolf op 25 november 2014, 14:27:12 pm
5 KHz is misschien genoeg  :-\
Ik ga intussen elk geval eens op zoek naar n en p-mosfet arrays  :P
Titel: Re: Servosturing v3
Bericht door: Geert op 25 november 2014, 15:09:07 pm
Ik ga intussen elk geval eens op zoek naar n en p-mosfet arrays  :P

en als ge deze gevonden hebt, laat maar weten welke  :) (voor een toekomstig projectje)

Geert
Titel: Re: Servosturing v3
Bericht door: Gerolf op 25 november 2014, 18:13:34 pm
http://www.conrad.be/ce/nl/product/651398   ?

MCP1416: Combinatie van N- en P-Mosfet - halve H-brug dus
Eens geprobeerd om de lay-out te tekenen, en ik heb verdorie meer plaats als met die L293DD ...

Die laatste had ik al besteld  :-[
Nu maar wat van die mosfet-arrays besteld ...  ::)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 25 november 2014, 20:05:02 pm
Die L293DD zijn niet verloren hoor, kan je gerust gebruiken voor LF - motor toepassingen.
En zie je nu het verschil tussen de L293DD en die mosfet array: 20 à 25ns ipv van 250ns.  Kan je rustig 100kHz doorjassen, zolang het motorke maar volgt ;)
Ik gebruik iets gelijkaardig: 2N7002D, deze zijn nog sneller 7-20ns maar dit zijn dual n-channel mosfets.  Jouw MCP1416 is ook een hele goeie en door de p- en n-channel combinatie heb je meteen een halve H-bridge.  Goede keuze!  Maar!!!!! Laat je niet vangen tijdens het solderen, die spulletjes zijn echt mega klein: zie het bij benadering als een 0805 SMD'ke met 5 pootjes :o
Titel: Re: Servosturing v3
Bericht door: Gerolf op 25 november 2014, 20:30:21 pm
Dat solderen valt nog mee, pitch van 0.95 mm - ik heb al lastigere gehad (pitch van de 0.5 ...)
... maar 't zijn leuke IC'tjes - en slechts 67 eurocent indien per 50 en dan vandaag nog eens 10% korting ...

Ontwerp is zo goed als klaar ... en die andere IC's zijn inderdaad "ooit" nog wel bruikbaar ...
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 25 november 2014, 20:56:26 pm
Allez, good luck dan zeker!  'k ben benieuwd...
Titel: Re: Servosturing v3
Bericht door: PeterC op 25 november 2014, 21:00:27 pm
Gerolf, ik volg jou draadje al sinds 'opening' maar heb/wou nog niet reageren.
Ik had er mijn bedenkingen bij: gaat Gerolf nu een automatische besturing en anti-bots-systeem in een Lada steken (sorry voor de Lada rijders)?
Maw: het motortje, de potmeter en de mechanische vertraging van die blauwe Chineeskes zijn mijns inziens niet gemaakt om nauwkeuriger aangestuurd te worden.
In de RC hobby worden die blauwkes enkel gebruikt voor 'toeters en bellen', nooit voor crutiale sturingen (bij een duur RC model ga je ook dure (en betrouwbare/nauwkeurige) servo's aanschaffen!).

Ik opteer meer voor Patrick's oplossing: door een µC je puls langzaam aanpassen voor een 'trage' verplaatsing van de servo-arm.

Terugmelding of de servo goed werkt?  Geen nood aan: één van mijn servodecoders had kuren en zette soms te pas en te onpas een wissel in de verkeerde stand.  Met als gevolg de sleep een verkeerd spoor op.  Besturingssoftware gaf een spookmelding en alles viel stil.  De decoder aan aan nader onderzoek onderworpen en een metalen bevestigingsschroef gaf soms kontakt tussen twee printspoortjes van de strokenprint.  Baantjes geïsoleerd en de decoder was terug in orde.

Maar ik weet dat je volhardt!

Hou ons op de hoogte.

Titel: Re: Servosturing v3
Bericht door: patrick smout op 25 november 2014, 23:36:33 pm
frequencies up to 5 kHz.
  250ns rise en fall tijden zijn echt traag hoor in digitale elektronica.  Het grote probleem is dat door de 'lange' rise en fall time, je heel vervelende harmonischen gaat hebben.  Voor 250ns worden die dan 4MHz, 2Mhz, 1MHz, 500kHz, 250kHz, ... en die komen heel gevaarlijk in de buurt van jouw operationele frequentie voor de PWM.  Als designer moest ik minstens 10 harmonischen uit de buurt blijven...  dus ik denk dat de datasheet wel om die reden niet meer dan 5kHz aanraadt.
[/quote]
Zijn de harmonischen die je terugvind niet een geheel veelvoud van de grondfrrekwentie, in dit geval de 4MHz? Zou me sterk lijken dat harmonischen de ladder naar beneden gaan vertrekkende van de grondtoon.
Enige probleem dat je hebt met de rise/fall time is dat als deze te lang duurt je ongewenste opwarming hebt en als deze te kort wordt je teveel hogere harmonischen opwekt. Deze laatsten werken als een zender/stoorbron (zowel merkbaar in de radiated alsook in de conducted emmissie)

mvg,

Patrick Smout
Titel: Re: Servosturing v3
Bericht door: conducteur op 26 november 2014, 00:04:16 am
Er bestaat ook zoiets als subharmonischen. (ongewenste) frequenties die ontstaan, lager dan de "normale" frequentie...
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 26 november 2014, 20:11:54 pm
Er bestaat ook zoiets als subharmonischen. (ongewenste) frequenties die ontstaan, lager dan de "normale" frequentie...
Thanks Rian!

Maar inderdaad beiden bestaan.  Ik had het wel degelijk over de subharmonischen omdat die Gerolf's schakeling in de weg gaan zitten.  De HF harmonischen liggen we hier niet meteen wakker van, de motor genereert er zelf een heleboel.  Maar deze laatsten zouden de voorgestelde schakeling niet mogen storen.  Maar Patrick's stelling klopt ook wel, een te hoge frequentie gaat de boel serieus beginnen opwarmen.

Alle harmonischen vervagen na een aantal herhalingen.  Ik heb vroeger veel schakelingen ontworpen voor audio toepassingen (de goeie ouwe cassette, mini-disc, CD, DVD, ...) en daar was het telkens opletten geblazen voor de mechanische onderdelen die harmonischen in je schakelingen injecteerden.  De duurdere schakelingen filterden de harmonischen weg en de hele dure ook nog de subharmonischen (dat laatste is veel moeilijker, omdat in conflict komt met de audio signalen).
Titel: Re: Servosturing v3
Bericht door: Geert op 26 november 2014, 20:23:34 pm
Ik had het wel degelijk over de subharmonischen omdat die Gerolf's schakeling in de weg gaan zitten.  De HF harmonischen liggen we hier niet meteen wakker van, de motor genereert er zelf een heleboel.  Maar deze laatsten zouden de voorgestelde schakeling niet mogen storen. 

echt interessant dit onderwerp, leg is uit hoe de harmonischen Gerolf zijn schakeling kunnen beïnvloeden.

Geert
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 26 november 2014, 20:50:45 pm
Wel die van de motor niet meer dat zijn gewone harmonischen.  Die zitten volledig aan de uitgang en kunnen enkel via de voedingslijn(en) en evt. flyback diodes terug naar het digitale gedeelte van de schakeling.  Maar als je voedingslijnen al gescheiden zijn, is kans zo goed als nihil.

Subharmonischen zijn meestal lastiger omdat deze naar de lage frequenties toe gaan en hier spreken over de harmonischen veroorzaakt door de rise/fall van de PWM en die zit in het digitale gedeelte.  Deze 'lage' frequenties zijn meestal ook onze werk frequenties; in Gerolf's geval was er sprake van 10kHz.  Nu komende van 4MHz (veroorzaakt door de 250ns rise/fall), zie ik niet meteen hoe deze de 10kHz zwaar zou kunnen verstoren, maar de kans bestaat (zit er bijna 10 subharmonischen van verwijderd).  Ik denk dat dit ook één van de redenen is waarom de datasheet max. 5Khz opgeeft.  Eerlijk gezegd denk ik dat er gewoon wat rommel op de uitgang gaat zitten waar de motor geen last gaat van hebben.  De ingang van de PWM zou effe kunnen vechten met 'storing' van de (sub)harmonischen, maar ik denk dat µC het wel zal halen.

Opwarming zou zeker en vast ook kunnen, maar dan moet ik weten hoe de L293DD er vanbinnen uitziet.  Aan de 2V drop op de uitgang te zien, heb ik al een donkerbruin vermoeden...

Anders eens effe door pspice halen, dan zie je meteen wat er aan de hand is.  Maar bon, da's al heeeel ver gezocht om een motorke te doen draaien ;).  Punt is dat je met de L293DD niet sneller dan 5kHZ kan gaan en dat ie bovendien bijna 2V opvreet.  Dus met deze schakeling ga je al slechter doen dan de originele servo schakeling (met 20ms puls)...

Voor hetgeen Gerolf gaat proberen zal ie beter af zijn met simpele MOSfets, gaat veel eenvoudiger werken en minder beperkingen dan de L293D(D).
Titel: Re: Servosturing v3
Bericht door: Geert op 26 november 2014, 21:05:12 pm

 Eerlijk gezegd denk ik dat er gewoon wat rommel op de uitgang gaat zitten waar de motor geen last gaat van hebben.  De ingang van de PWM zou effe kunnen vechten met 'storing' van de (sub)harmonischen, maar ik denk dat µC het wel zal halen.


Dacht ik ook, vandaar mijn vraag... Gerolf wat ongerust maken voor niets  ;) . Maar je uitleg is wel interessant.

Geert
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 26 november 2014, 21:31:17 pm
Niet echt voor niets hoor.  Gerolf was aan 't denken wat de beste keuze voor de frequentie van de PWM was.  Eén van de opties was 10kHz, en dat wil de L293DD niet...  Vandaar de betere oplossing met de mosfets.  Het doel is om een betere sturing te krijgen dan de klassieke servo met 20ms pulsjes en dan moet je over de 5kHz.

Nu ik blijf deze hele schakeling serieuze overkill vinden, maar voor de sport waarom niet ;)  Ik ben echt benieuwd naar het uiteindelijke resultaat.
Titel: Re: Servosturing v3
Bericht door: patrick smout op 26 november 2014, 21:52:59 pm
Ik kan fout zijn maar in mijn beleving ontstaan sub-harmonischen door jitter of zweving op een signaal. Komt bvb. wel voor bij ondermeer schakelende voedingen (regeling van de PWM/frequentie) of allerhande (HF) mixer schakelingen etc. in radio's. In het geval van een 10Khz (PWM) signaal zou je subharmonischen kunnen krijgen van 10Khz maar ik dacht toch niet direct door de stijgtijd van het signaal zelf (de 250ns resp 4MHz).
Stabiele flanken geven volgens mij normaal gesproken enkel harmonischen.

mvg,

Patrick Smout
Titel: Re: Servosturing v3
Bericht door: Geert op 26 november 2014, 22:21:33 pm


Nu ik blijf deze hele schakeling serieuze overkill vinden,

ik ook eigenlijk.

Geert
Titel: Re: Servosturing v3
Bericht door: Gerolf op 28 november 2014, 10:50:41 am

Nu ik blijf deze hele schakeling serieuze overkill vinden,

ik ook eigenlijk.

Geert

Als je het alleen over de PWM-sturing hebt zou het inderdaad overkill zijn.
De essentie van deze sturing zit er in dat je de loperstand van de servo precies en onafhankelijk van servo-elektronica meet.

Met wat ik in eerdere schema's had, was dat je de servo-elektronica moest "aanzetten" om de loperstand te kunnen meten.
En dan ging de servo steeds een beetje bewegen vlak voor de meting. En zo was je meting nooit correct.

Om correct te kunnen meten moet ik dus de potentiometer in de servo volledig los maken, moet alle elektronica er dus uit.
... met als gevolg dat ik het motortje van de servo zelf moet aansturen, met PWM, en dus met mosfet-H-bruggen
Zo ontstane bijkomend voordeel: vanuit Bascom en de standaardroutines wordt de 180° servo-zwaai in slechts 100 tussenstappen verdeeld - dit kan nu meer precies ;-)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 28 november 2014, 19:42:42 pm
Daar heb je inderdaad een punt; de potmeter in de servo is 'waardeloos' als ie niet onder stroom staat.  De meting van de ohmse weerstand van de loper tgo de massa of voeding levert niks op.  Eenmaal onder spanning kan je wel een voltage aflezen op de loper die recht evenredig is met de positie.  Blauwe draad op onderstaande foto komt overeen met de loper van de pot.
(http://i1236.photobucket.com/albums/ff460/Sattrickske/ModelRailroad/EOS5DMarkIII-101-1649_zpsef0c085c.jpg)

Het kunnen uitlezen van de positie heb ik opgelost door alleen maar posities uit te lezen als de servo onder stroom staat.  En mijn routines in de microcontroller zorgen ervoor dat mijn servos niet wild gaan rondspringen als ik de stroom erop inschakel en dat ik m'n servo heel traag met 65536 stapjes van positie 0° naar 180° kan brengen.  Om het wild heen en weer slaan van de servo tegen te gaan doe ik 2 dingen:
- positie van de servo wordt opgeslagen in het EEPROM geheugen van de µC
- de µC schakelt eerst de positiepuls aan (in functie van de opslagen waarde in het geheugen) en dan pas de stroom.

OPGELET: werkt enkel als de servo z'n positie kan vasthouden wanneer de stroom eraf is; als je 'm mechanisch overbelast, wijzigt die positie en gaat de µC 'm direct proberen terug te zetten van zodra je de boel opstart.
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 28 november 2014, 19:43:25 pm
Vergeten bij te zeggen, dat ik nog altijd wel benieuwd ben naar het resultaat...
Titel: Re: Servosturing v3
Bericht door: Gerolf op 29 november 2014, 10:24:58 am
Toeval: ik had bij mijn vorige versie ook een blauw draadje op de loper gebruikt  ;D

Normaalgesproken hoef je de stand niet te meten, en doet de elektronica van de servo alles
Toch wou ik een versie maken die dat wel doet - om mechanische belasting, toestand na stroomuitval, ... te detecteren
... en om bij mechanische belasting te weten dat de servo wel eens vaker moet bijgestuurd worden:
Er zit daarom wat intelligentie in de software: Hij meet, en
- als het klopt wacht hij de volgende keer wat langer om te checken
- als er een fout is gaat hij de volgende keer sneller controleren
Zo kan het zijn dat hij op den duur slechts om de 5 minuten (instelbare maximale tijd) controleert - niks aan de hand dus
Moet hij vaker checken na de kortste tijd (1 seconde) kan hij een signaal geven aan de "centrale"

Titel: Re: Servosturing v3
Bericht door: Sattrickske op 29 november 2014, 20:00:43 pm
Cool, een slimme servo ;D
Titel: Re: Servosturing v3
Bericht door: Gerolf op 29 november 2014, 23:44:59 pm
Cool, een slimme servo ;D

Dat is in elk geval de bedoeling: TUSC (The ultimate servo controller)  ;D  ;D  ;D  ::)

Dubbele Mosfets zijn intussen aangekomen, dus ik zou maandag kunnen proberen (morgen moet ik nog werken)
nieuw printplaatje etsen, opbouwen, software (her-)schrijven en testen, ...
Titel: Re: Servosturing v3
Bericht door: minitreintje op 30 november 2014, 10:06:38 am
We zijn benieuwd :)

groeten Dylan
Titel: Re: Servosturing v3
Bericht door: Gerolf op 01 december 2014, 09:09:22 am
Ik ook  ;D

Transparantje is afgedrukt, etsbak staat op te warmen  ;)
Titel: Re: Servosturing v3
Bericht door: Gerolf op 10 december 2014, 12:37:36 pm
Even een update:
Motor aandrijven vanuit 5V met de duo-mosfets (MCP1416) was geen succes:
Reden: teveel interne weerstand van de mosfets - samen goed voor 25 tot 35 ohm
 Gevolg: netto-spanning voor het motortje (met scoop gemeten) was minder dan 1 volt ...

Nieuwe print-layout getekend, opgebouwd met aparte mosfets (IRLML2244 en IRLML6244)
... maar ik ga eerst een proefopstellingetje maken:
 - checken of het kan met een "eigen" mosfet-paar (genoeg spanning, pwm haalbaar, ...)
 - checken op duurzaamheid: of ik wel of niet sniffer-diodes moet plaatsen

Maar de laatste tijd gaat het ook door andere omstandigheden niet zo vlot:
 - drukte en deadlines op het werk (vandaag vrij, maar ik moet nog wat dingen doen voor morgen) - en sowieso véél werkdagen
 - al een tijdje geen laptopje-voor-onderweg. Morgen verwacht ik een nieuwe, maar daar moet dan nog alle software en data op ...

Vanaf 17/12 zal het beter gaan ...
Titel: Re: Servosturing v3
Bericht door: Gerolf op 10 december 2014, 21:35:07 pm
De aanhouder wint, blijkbaar  8)

Toch nog even wat tijd gevonden voor een proefopstelling met twee mosfets
Ik kan een (goedkoop) servomotortje via PWM zeer traag laten draaien:
Extreem lage PWM (2%) geeft tot meer dan een minuut voor een 180°-draai
Dan is hij weliswaar vrijwel krachteloos, maar toch bruikbaar (voor dingen die weinig weerstand hebben)
Vanaf een wat bredere puls (5%) wordt hij sterk genoeg - en draait nog steeds voldoende traag

Sniffer-diodes hoeven niet - wat ik eigenlijk verwachtte:
Er is steeds één mosfet per paar in geleiding, en die is krachtig genoeg om de tegen-EMK-stroom op te vangen
Titel: Re: Servosturing v3
Bericht door: minitreintje op 11 december 2014, 14:06:12 pm
Filmpje en foto's! =)

groeten Dylan
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 11 december 2014, 19:37:05 pm
Wat is een sniffer diode?  Deze term is me onbekend, bedoel je soms een flyback diode?
Flybacks hoef je met mosfets bijna nooit te installeren, de meeste mosfets zijn er al mee uitgerust.

Wat ik wel raar vind, is dat je vorige schakeling niet werkte.  30 ohm is wel heel hoog als Rds voor een mosfet.  Voedingspanning te laag?

Wat telt, is dat je het aan de praat gekregen hebt!
Titel: Re: Servosturing v3
Bericht door: Gerolf op 12 december 2014, 10:51:41 am
Ik heb nog nooit van een flyback gehoord  ???
't Is in elk geval een diode die een transistor moet beschermen als je bvb een relais aanstuurt.
Bij een relais en de mosfets die ik gebruik bleek hij in elk geval noodzakelijk

Te lage voedingsspanning bij dat vorige mosfet-paar: waarschijnlijk wel.
Maar het was de bedoeling om een servomotortje met 5 Volt aan te sturen. Met losse mosfets lukt dat wel
30 Ohm is de som van de weerstanden van een actieve N-fet + P-fet (H-brug).
De N-fet heeft pakweg 15, de P-fet pakweg 20 Ohm bij 5 Volt

Filmpje? Een beweging van een servo-arm die meer dan een minuut duurt lijkt me een saai filmpje  ;D  ;)
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 12 december 2014, 12:20:29 pm
Ik heb nog nooit van een flyback gehoord  ???
't Is in elk geval een diode die een transistor moet beschermen als je bvb een relais aanstuurt.
Bij een relais en de mosfets die ik gebruik bleek hij in elk geval noodzakelijk
Dat is dus de flyback :).  Ik vermoed dat de sniffer weer een poging tot vernederlandsing zal zijn zeker?  Maar dan slaan ze de bal wel mis vrees ik.  Sniffen betekent totaal iets anders, da's eerder meeluisteren...  Hier hebben we 't over een soort van ontstoring of ongewenste terugkoppeling.

Je moet eens kijken naar de datasheet van je mosfets, als er over de drain en de source al zo'n diodeke getekend staat, hoef je 'm meestal zelf niet te plaatsen.  Het kan nodig zijn wanneer de inductieve load zo groot is dat ie dat diodeke drijgt door te branden. In zulks geval gebruik ik dan meestal een Schottky diode. Het motorke van de servo is daarvoor niet krachtig genoeg, dus geen probleem zonder flyback.

Ik heb de datasheet van die halve H-brug er eens bijgenomen en inderdaad 15/20 ohm !!!  Zakt wel bij hogere spanningen, dus niet geschikt voor dat kleine servo'ke.  'k heb ook nu pas gezien zie, sorry!!  Je huidige mosfets hebben 500x minder weerstand bij 5V, zoals een deftige mosfet hoort te werken.
Titel: Re: Servosturing v3
Bericht door: Dreha op 13 december 2014, 08:08:20 am
Ter info:
Dacht dat de nederlandstalige benaming voor flyback diode "vrijloopdiode" is  :).
Titel: Re: Servosturing v3
Bericht door: Gerolf op 13 december 2014, 10:10:40 am
Ik heb de datasheet van die halve H-brug er eens bijgenomen en inderdaad 15/20 ohm !!!  Zakt wel bij hogere spanningen, dus niet geschikt voor dat kleine servo'ke.  'k heb ook nu pas gezien zie, sorry!! 

Ik dacht dat je dat wel gezien had, en dat je het geen probleem vond.
Soit, ik heb er gelukkig niet te veel van besteld - ze krijgen allicht nog elders een toepassing  ;)
Titel: Re: Servosturing v3
Bericht door: Klaas Zondervan op 13 december 2014, 10:16:59 am
Ik vermoed dat de sniffer weer een poging tot vernederlandsing zal zijn zeker?  Maar dan slaan ze de bal wel mis vrees ik.
Nou zo erg is het niet hoor. Wij verstaan onder sniffer ook iets anders dan flyback. En vrijloopdiode is meer gebruikelijk dan flyback.
Ik denk eerder dat sniffer een verbastering is van snubber, maar dat is weer iets anders.
Titel: Re: Servosturing v3
Bericht door: Sattrickske op 16 december 2014, 20:50:05 pm
Ik heb de datasheet van die halve H-brug er eens bijgenomen en inderdaad 15/20 ohm !!!  Zakt wel bij hogere spanningen, dus niet geschikt voor dat kleine servo'ke.  'k heb ook nu pas gezien zie, sorry!! 

Ik dacht dat je dat wel gezien had, en dat je het geen probleem vond.
Soit, ik heb er gelukkig niet te veel van besteld - ze krijgen allicht nog elders een toepassing  ;)
Ik had het inderdaad eerst niet gezien, pas als het kalf al verdronken was.  Probleem is dat interne weerstand van die kleine servos dan ook heel laag moet zijn; ik had die veel hoger verwacht zodat de spanningsval over de brug niet zo groot zou zijn.  Als je 1 volt overhoudt, dan is de weerstand van de servo ong. 5 ohm; da's wel heel laag voor een servo.  Ben eens wat gaan googlen en vind niet meteen een duidelijk antwoord.  De meesten spreken van 10/12 ohm; da's al wat hoger dan jouw bevindingen, maar toch nog te laag in vergelijking met de weerstand van de halve H-brug.

Nogmaals sorry, 'k had beter de datasheet moeten doorlezen :o.  Ben ondertussen mijn serie mosfetjes eens gaan doorlichten: allemaal <100 mOhm, dus 'k heb chance gehad.  Want meestal neem ik de datasheet maar vluchtig door, toeme toch!  Dit is mijn fout, maar ik begin me nu wel af te vragen waarvoor die halve H-brug dan wel kan dienen?  Een andere mosfet aandrijven zo te zien...
Titel: Re: Servosturing v3
Bericht door: Gerolf op 17 december 2014, 12:27:01 pm
Geen probleem, Patrick. 't Is wat tijd- en een beetje geldverlies, maar ik heb ook weer iets bijgeleerd  ;)
Die duo-mosfets zijn misschien nog bruikbaar voor lange-afstand-communicatie of zo ...

Testen met de losse mosfets waren goed, en vanaf vandaag heb ik (eindelijk) tijd voor het echte werk:
Omdat ik geen ernstige hardware-problemen meer verwacht, is de nieuwe print-layout klaar
Seffens afdrukken, en deze namiddag printje etsen en opbouwen.

En dan volgt het grote werk: de software schrijven en testen  :)
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 december 2014, 17:41:14 pm
Update:

Gisteren printje gebouwd, leek elektrisch OK - maar bij een laatavond-test gebeurde er iets:

(http://www.meb.gerolf.be/sturing/bm/servostuur/4servostripped0.jpg)

Eerst wat witte rook, en toen een Mosfet die ineens licht gaf :o
Met 4 ampère maximale stroom kon de mosfet zelfs tin doen smelten, en de koperbaan van de epoxy doen loskomen  ::)

Vanochtend schade proberen herstellen - héél fijn soldeerwerk - alles leek OK,
 maar de uitgang van de microcontroller bleek toch kleerscheuren te hebben gehad

Geen nood: de andere 3 H-bruggen doen het wél goed, dus dit wordt een printje met 3 servosturingen ipv 4  ;)

Wat ik nu kan met een servo:
- heel traag tot behoorlijk snel laten draaien in elke richting
- zeer precies laten stoppen: foutmarge van +/- 1 op 1000 voor de volle uitslag
- afhankelijk van een logische 0 of 1 aan de ingang
Titel: Re: Servosturing v3
Bericht door: PeterC op 18 december 2014, 17:47:43 pm
...Eerst wat witte rook, en toen een Mosfet die ineens licht gaf :o ...

...en een stank die in de neus blijft hangen...  :( :( :(
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 december 2014, 17:59:55 pm
...Eerst wat witte rook, en toen een Mosfet die ineens licht gaf :o ...

...en een stank die in de neus blijft hangen...  :( :( :(

 ;D  Stank viel nog mee. 't Zijn maar piepkleine Smd's, hé  ;)

Nog vergeten te melden:
dat sturen van die servo's kan met 4 tegelijk
 - vorige versie was dat één voor één
 - op dit geteisterde printje worden dat er 3, natuurlijk  ::)
Titel: Re: Servosturing v3
Bericht door: PeterC op 18 december 2014, 18:02:05 pm
Goe bezig!
 ;)
Titel: Re: Servosturing v3
Bericht door: Steam.N op 18 december 2014, 18:27:42 pm
Proficiat, Gerolf !
Na al die tegenslagen heb je dit succes dubbel en dik verdiend !

Vraag is natuurlijk waarom dat fetje de geest gaf ...
Titel: Re: Servosturing v3
Bericht door: Gerolf op 18 december 2014, 19:02:04 pm
De oorzaak van die "burnout" was waarschijnlijk een foute soldeerlas of zo - waardoor beide fets van de halve H-brug tegelijk open gestuurd werden.
Titel: Re: Servosturing v3
Bericht door: Michiel op 18 december 2014, 21:14:59 pm
En toch formidabel dat het gelukt is! Heel knap! Ik ben toch wel benieuwd naar een filmpje om te zien (en horen?) hoe de servo nu beweegt, met de nieuwe sturing.  ::)
Titel: Re: Servosturing v3
Bericht door: Gerolf op 19 december 2014, 01:33:15 am
Bedankt Michiel (en Jean en Peter)
Filmpje? Maak ik zodra het na-veren mogelijk is - dat is wat leuker om te zien  ;)

Bewegen is in elk geval schokvrij, en quasi geluidloos  :)

Hier de tekening van printplaat en bestukking:

(http://www.meb.gerolf.be/sturing/bm/servostuur/4servostripped1.jpg)

Onderaan smd-kant, bovenaan "gewone" componenten (vooral connectoren en draadbruggen)
Titel: Re: Servosturing v3
Bericht door: PietB op 19 december 2014, 01:45:36 am
Ik ben zeer benieuwd naar het filmpje.

grt Piet.
Titel: Re: Servosturing v3
Bericht door: Gerolf op 19 december 2014, 17:08:05 pm
Jullie en mijn geduld werden beloond:

http://www.meb.gerolf.be/sturing/bm/servostuur/4servostripped.mp4
of http://www.meb.gerolf.be/sturing/bm/servostuur/4servostrippedvid.wmv
Titel: Re: Servosturing v3
Bericht door: Steam.N op 19 december 2014, 17:18:01 pm
Hey How ... Gerolf : Super !
Een dikke proficiat !  Een prachtig resultaat van noeste arbeid en veel doorzettingsvermogen !
Titel: Re: Servosturing v3
Bericht door: Geert op 19 december 2014, 17:29:38 pm
Vergt heel wat aanpassingwerk aan je servo, er zijn er niet veel die zulke printjes zelf kunnen etsen en solderen, maar het resultaat mag er wel zijn. Knap werk.


Geert
Titel: Re: Servosturing v3
Bericht door: Gerolf op 19 december 2014, 17:53:34 pm
Bedankt, mannen.

Doorzettingsvermogen? Tja - misschien koppigheid - maar nu wel beloond  ;D

Die ingreep in het servootje valt best mee: 6-aderig lintkabeltje is vrij snel geplaatst,
 en je hebt plaats genoeg nadat het bestaande printje er uit is gehaald
Het printplaatje maken is inderdaad wel een ander paar mouwen ...  ::)
Titel: Re: Servosturing v3
Bericht door: conducteur op 20 december 2014, 11:10:52 am
De moeite! "GBOX" is allicht een connector voor je universele besturings/configuratie module?
Titel: Re: Servosturing v3
Bericht door: Gerolf op 20 december 2014, 11:24:02 am
Bedankt, Rian  ;)
MBOX is voor het bestaande kastje - model met een dot-Matrix display
GBOX is nog toekomstmuziek - met een Grafisch kleuren-touch-screen display dat ik heb liggen
 (maar de connector plaatsen doe ik al wel op alle nieuwe ontwerpen)
Titel: Re: Servosturing v3
Bericht door: conducteur op 20 december 2014, 11:45:00 am
Benieuwd naar de uitwerking daarvan! En mijn bewondering dat je nog steeds printjes ontwerpt zonder EDA software
Titel: Re: Servosturing v3
Bericht door: Gerolf op 20 december 2014, 23:24:06 pm
Heuglijke mededeling: de wat mij betreft “ultieme servo-regelaar” is klaar:
 
Daarstraks nog getest met een tweede servo (tegelijk dus) – en dat liep ook OK,
– dus een derde en vierde mag geen probleem zijn.
 
Ik wou nogal wat mogelijkheden, en ze zitten er allemaal in:
- 4 servo’s onafhankelijk (en tegelijk) aan te sturen:
   - hoge en lage standen instelbaar tussen 010 ... 990
      = 01 ... 99 - en apart 0 ... 9 (dus “indien gewenst” heel precies)
   - snelheid van zeer traag tot behoorlijk snel (5...99)
   - terugveren op het einde: na-veren instelbaar van 0 tot 9 “zwengels”
   - instelbare default-stand (hoog of laag) en “enable”
- 4 relais
   - te bepalen naar welke servo hij “luistert” (dus 4 relais via één servo kan)
   - schakelt om bij een zelf berekende middenstand
   - instelbare default-stand en “enable”
Zelf-correctie
   - basistempo instelbaar per 1/4 tot 4 seconden
   - instelbare nauwkeurigheid (0.1 tot 5.0 %)
   - “intelligent” checken:
       - als het goed gaat, wordt er telkens later gecheckt: van 1 tot 100 keer het basistempo
       - na een uitgevoerde correctie wordt de teller op nul gezet, en volgt de volgende controle dus op 1 x basistempo
Digitale uitgangen:
   - 1 algemene foutmelder: alarm als het programma vastloopt
   - 1 per servo, die naar keuze de huidige servo-standen weergeeft of “deze servo is wel/niet bezig (bewegend)”
 
... 84% van het AtMega16-Flash in gebruik – dus er kan eventueel nog iets
... maar ik wil ook wat overhouden voor het latere grafische-lcd-stuurkastje
Titel: Re: Servosturing v3
Bericht door: doomslu op 21 december 2014, 10:50:09 am
Bravo!
Titel: Re: Servosturing v3
Bericht door: PietB op 21 december 2014, 12:33:33 pm
Heel mooi resultaat Gerolf!

grt Piet.
Titel: Re: Servosturing v3
Bericht door: Gerolf op 21 december 2014, 16:34:44 pm
Bedankt, mannen. Ik ben er ook heel content mee.
 (misschien vooral omdat het eindelijk gelukt en "voorbij" is)  ::)

Daarnet de layout voor de "simpele" servosturing hertekend
Software is nog te herbekijken, morgen misschien bouwen
Titel: Re: Servosturing v3
Bericht door: Gerolf op 16 november 2015, 00:07:37 am
Oeps - bijna een jaar geleden  :-[
Toch nog steeds content over die luxe-sturing, en ze past in mijn servo-verhaal, dat je kan lezen op http://www.meb.gerolf.be/sturing/auto/nwservo.htm
Titel: Re: Servosturing v3
Bericht door: Gerolf op 23 augustus 2018, 16:58:42 pm
(http://www.meb.gerolf.be/mtd/koffer/ss3.jpg)

(http://www.meb.gerolf.be/mtd/koffer/ss2.jpg)

Ik weet het, het is een oud draadje ...  ::)

De afgelopen tijd bezig geweest met een variant op de luxe-servosturing, en het is sinds daarnet eindelijk gelukt  8)
Wat kan dit ?
 - 4 servo's rechtstreeks meten en sturen: de servomotor via PWM regelen en de positie-potentiometer lezen
 - zeer precies positioneren (1000 stappen)
 - zeer trage, niet-schokkende beweging: regelbaar tot 30 seconden tussen de uiterste standen
 - aanlopen en uitbollen tot de gewenste stand (dat was een lastige, maar héél nuttig voor sommige projecten)
 - positie van de servo herstellen als hij extern wordt bewogen
 - vrijwel geluidloze servo-beweging
 - sturing en output via I2C (andere microcontroller) of via logische poorten
Titel: Re: Servosturing v3
Bericht door: PeterC op 23 augustus 2018, 19:54:27 pm
...aanlopen en uitbollen tot de gewenste stand (dat was een lastige, maar héél nuttig voor sommige projecten)...

Gerolf, kan je daar iets meer over vertellen hoe je dat hebt aangepakt?

Ik gebruik steevast de SAnD-Ei (https://www.digital-bahn.de/bau_servo/sandei.htm) van Sven Brandt (https://www.digital-bahn.de/home.htm).  Zelfs bijna onmogelijke bewegingen laten zich in de servo programmeren dmv een grafische curve.
Die curve kan ook via een spreadsheet worden opgesteld (resultaten van wiskundige formules) en worden geïmporteerd.  Verwerken en HEX naar de controller sturen en klaar.

(http://www.pctoytoy.be/2018/20180823_1.jpg)

Wat ik kant en klaar vind, vind ik zelf niet meer uit  ;)
Titel: Re: Servosturing v3
Bericht door: Gerolf op 24 augustus 2018, 00:54:14 am
...aanlopen en uitbollen tot de gewenste stand (dat was een lastige, maar héél nuttig voor sommige projecten)...

Gerolf, kan je daar iets meer over vertellen hoe je dat hebt aangepakt?

Helemaal anders dan bij jouw voorbeeld  ::)

Zoals ik schreef stuurt de µC de servomotor zelf aan via PWM, en bepaalt zo zijn snelheid.
De software meet ook (vaak) de huidige stand van de servo, en vergelijkt die met de gewenste stand

Optrekken gebeurt "gewoon" stapsgewijs: snelheid vanaf nul verhogen tot de gewenste snelheid
Uitbollen simpel verteld: afhankelijk van de nog af te leggen "afstand" wordt de snelheid verminderd
  die afstand berekent de µC uit de huidige (gemeten) positie en de gewenste eindstand

De servo's waren gewone servo's, die ik verbouwd heb: geen 3 draden, maar 5: 2 naar de motor en 3 van de interne potentiometer
   voor het gemak heb ik er 6 draden van gemaakt (lintkabel): 2 x massa = isolatie tussen motor en potentiometer-loper-waarde