BeneluxSpoor.net forum
Vraag en antwoord => Elektronica en analoog => Topic gestart door: jerrytrein op 03 november 2018, 21:10:07
-
Ik heb een Mega 2560 binnen uit china :P
Nu wil ik daar een servo mee bedienen
Er is hier een draadje(dacht met links)die beschreef hoe en wat
Kan ik helaas nergens terug vinden
Ben dus echt metarduino eenleek / beginneling
Ik zie ook niks meer langskomen over de arduino
-
Oa Mardec (https://forum.beneluxspoor.net/index.php?topic=68257.0) en nog een zooi (https://forum.beneluxspoor.net/index.php?topic=66902.0)
Overigens ook gewoon op de Arduino.cc (https://www.arduino.cc/en/Tutorial/Knob)
En de DCC arduino groep heeft ook het nodige..
Jan-Peter
-
(y)
dank voor de links
ga me eens wat lezen
-
En deze natuurlijk:
www.Arcomora.com (http://www.Arcomora.com)
En de DCC arduino groep heeft ook het nodige.
Wie of wat is de DCC Arduino groep?
Nico
-
Hallo Nico,
De DCC Arduino groep was een losse bewoording van de OpenDCC Arduino site (https://mrrwa.org).
Het bericht is rap en uit het geheugen geschreven. Links zijn er later bij gezet.
Jan-Peter
-
Ik krijg de servo niet werkend
opgebouwd zoals in een programma aangegeven met pot meter
sketch van de bibliotheekgebruikt servo knob
Hoe kan je testen of de servo wel werkt
-
Hoe heb je de servo aangesloten? Misschien een fotootje of een schema? Ik zou zelf niet gelijk beginnen met een pot meter, maar eerst eens proberen of de "sweep" schets het doet.
Groet Meino
-
Ik heb eerst desweep geprobeerd
servo
rode draad op 5 v
gele op GND
Bruin op pin 0
Met usb op de arduino
compoort gekozen
download, en op de arduino gingen beide leds aan
en toen geen reactie
-
Verwissel de gele en bruine draad eens. Bij de meeste servo's zijn de aders rood = +5v, bruin of zwart = GND en geel of wit = signaal (op een pin). Je schrijft op pin 0 aangesloten, echter voor servo's wordt meestal een pwm-pin gebruikt, bijv. pin 6.
groet Cees
-
(y)
Ga nu slapen
Morgen 4.30 weer op
bedankt voorde tip
kom er morgen weer op terug
het aansluiten kwam van een arduino site
-
Pin 0/1 zijn pinnen die ook voor TX/RX (Seriele communicatie), die zou ik eigenlijk nooit gebruiken. Voor de standaard Servo bibliotheek hoef je niet een PWM pin te gebruiken, maar de standaard servo bibliotheek heeft een klein potentieel probleem, als je daar tegen aanloopt moet je een alternatief gebruiken, maar die werkt met PWM, dus inderdaad gebruik een PWM pin (3 of 6).
Groet Meino
-
Hoe kan je testen of de servo wel werkt?
Met een servotester (https://es.aliexpress.com/store/product/Multi-Servo-Tester-3CH-ECS-Consistency-Speed-Controler-Power-Channel-CCPM-Meter-Master-Checker-RC-Dron/4406046_32915282482.html?spm=a219c.search0104.3.1.79607ff1FH7duj&ws_ab_test=searchweb0_0,searchweb201602_4_10065_10068_10547_319_10891_317_10548_5728815_10696_10084_10083_10618_10307_10820_10301_10821_10303_5733215_5733315_328_10059_10884_10887_5733115_100031_5733415_5732615_321_322_10103_5733515_5727015_5733615_5727515-5727015,searchweb201603_55,ppcSwitch_0&algo_expid=e0c01c29-195f-4035-bce0-86af54437ceb-0&algo_pvid=e0c01c29-195f-4035-bce0-86af54437ceb)
(https://ae01.alicdn.com/kf/HTB1gXSRAOOYBuNjSsD4q6zSkFXa2.jpg)
... die werkt met PWM, dus inderdaad gebruik een PWM pin (3 of 6).
Van een Arduino Mega zijn pinnen 2 t/m 13 voor PWM.
-
Inderdaad, pin 0 en 1 zijn voor Serieel dus alleen gebruiken als je weet wat je doet.
En ter aanvulling, één servo voeden via USB gaat waarschijnlijk nog wel goed. Maar ondanks dat servo's er klein en schattig uit ziet zijn ze erg hongerig voor stroom. Dus voor meer dan één zal je het extern moeten voeden. En omdat de spanningsregulator op de Arduino niet veel over heeft kan je dit NIET van de 5V van de Arduino doen als je een externe spanning op de jack plug (of Vin) aanbiedt. Je zal dan een losse spanningsregulator voor de servo's moeten gebruiken.
En extra tip als je het gaat toepassen. Houdt servo kabels kort (< +-40cm) en zorg voor lokaal gereguleerde 5V. Dus geen 5V netwerk onder je baan, daarvoor heb je dikke kabels nodig en heb je extra kans op storing.
@meino Probleem met de servo library ???
Timo
-
Ik ben stap voor stap de lessen door te nemen /uit te voeren
die op het arduino forum staan
Ook staan daar wat lesjes in de dingen waar je op moet letten met programma maken
-
Wat het meest makkelijke begin is:
De sweep en knob voorbeelden uit Arduino IDE. Die zijn netjes gedocumenteerd met schemas en duidelijke beschrijvingen in de code
Waar je ook rekening mee moet houden: de meeste startset servos gaan niet betrouwbaar werken met de 500mA van de USB poort, die blijven dan slingeren rondom de eindpositie. Dat ligt niet aan je code maar aan een gebrek aan vermogen. De USB poort is wel de meest veilige optie voor de componenten... met een losse voeding kam je een potmeter laten roken.
Voor serieuze projecten kan je een servo shield gebruiken, daar zit een externe voeding aansluiting op voor de servo's, en hebben alleen de data kabels verbinding met de arduino, zodat je geen last hebt van de 500mA limiet
-
deze heb ik erbij besteld
met 6 servos
Volgens mij kan hier een 6 volt trafo op
met koploper schakel je maar 1 wissel(servo) gelijk
https://nl.aliexpress.com/item/16-Channel-12-bit-PWM-Servo-Driver-I2C-interface-PCA9685-module-for-arduino-or-Raspberry-pi/32718274859.html?spm=a2g0s.9042311.0.0.17264c4d0eLpXA
-
[knip]Dat ligt niet aan je code maar aan een gebrek aan vermogen.
Ja/nee, de spanning gaat gewoon wat schommelen. Laat zien dat een goede voeding en bijbehoren kabels belangrijk zijn. Overigens is 500mA voor een PC USB poort inderdaad de standaard maar zijn er veel moderne PC's die zonder problemen meer leveren.
De USB poort is wel de meest veilige optie voor de componenten... met een losse voeding kam je een potmeter laten roken.
USB poort lukt dat ook prima hoor ::) Is nog steeds 2,5W.
Voor serieuze projecten kan je een servo shield gebruiken, daar zit een externe voeding aansluiting op voor de servo's, en hebben alleen de data kabels verbinding met de arduino, zodat je geen last hebt van de 500mA limiet
Als je een shield fijn vindt, zeker doen. Maar gewoon los voeden kan ook. Let met shields en modules wel op dat bij sommige standaard de voeding van de servo niet gescheiden is. Altijd even opletten dus.
met 6 servos
Welke? SG90? Zelf vind ik de SG92 die paar dubbeltjes extra meer dan waard. Stabieler en geen opstart zwiep.
Volgens mij kan hier een 6 volt trafo op
Meeste servo's vinden 5V leuker. En nogmaals, slecht idee om deze 5V over meters onder je baan te distribueren. Beter lokaal een DCDC spanningsregelaar pakken.
met koploper schakel je maar 1 wissel(servo) gelijk
Maar een servo die nog aangestuurd wordt zal ook stroom vragen. En als je hem nog hard tegen een kant op drukt kan dit best veel zijn. Mooiste om een eindpositie te hebben waar amper kracht nodig is en dan de stuurpuls te stoppen. Servo.detach() bij gebruik van de normale Servo library. Of de PCA9685 dat ook kon weet ik niet meer.
https://nl.aliexpress.com/item/16-Channel-12-bit-PWM-Servo-Driver-I2C-interface-PCA9685-module-for-arduino-or-Raspberry-pi/32718274859.html?spm=a2g0s.9042311.0.0.17264c4d0eLpXA
Let wel dat dit op een compleet andere manier werkt dan direct aan de Arduino. Hier doet deze chip het werk en stuur je die aan via I2C. De standaard Servo library werkt dan ook niet. Ook is het best zonde dat je daarvoor een Mega gebruikt ;)
En ja, er kunnen 16 servo's aan maar denk dus om de stroom. Maar ook kabellengte! Zijn denk ik weinig situaties waar je 16 servo's bij elkaar nodig hebt. En na een verlengkabeltje van 30cm moet je wel stoppen.
Daarnaast is het een veel voorkomende beginnersfout. Het "big, bigger, biggest"-syndroom (groot groter grootst). Het is leuk om zo veel aansluitingen te hebben, maar je krijgt het eigenlijk niet bekabeld zonder dat het een ondoorgrondbaar spinnenweb wordt. En laten Arduino's, zeker de (breadboard vriendelijke) Pro Mini en Nano nu zo goedkoop zijn. Vaak is het dan eenvoudiger om alles in tweevoud te maken :)
Timo
-
Dan een paar vragen
Schaduw station liggen 6 wissels achter elkaar
laag erboven ook 4 stuks
En daar komen ook 2 arm seinen een met 2armen
dus dat moet kunnen
Kan daar toch ook een 5v tel lader voor gebruiken
De mega wil ik eigenlijk blijven gebruiken om te leren/testen/proberen
Als ik dan een nano of mini bestel,kan ik dan zo de wissels bedienen,of moet daar voor elke servo een schakeling bij
Kan ik ze dan ook digi via de centrale(koploper) bedienen
-
@timo, we hebben het in dit draadje (https://forum.beneluxspoor.net/index.php?topic=84035.msg3221947522#msg3221947522) er over gehad. Het gaat om de problemen die ik heb gehad met de standaard Servo bibliotheek op een Mega die ook nogal wat andere zaken moet verzorgen.
Groet Meino
-
@meino, ahh ja! Excuses! :-[ Maar goed, dat durf ik geen probleem met de library noemen maar een gebrek aan kennis van interrupts :angel:
@jerrytrein, dat zijn er wel veel bij elkaar. Telefoonlader kan wel maar zou wel voor een 2A of meer variant gaan. Ook zal je er voor moeten zorgen dat bij het opstarten ze niet allemaal tegelijk actief worden. En een nadeel (en ik blijf er op hameren) je wil die lader dus dicht bij de servo's aansluiten (met een goede kabel) en dus 230V onder je baan door leiden.
En dat zijn inderdaad wel veel wissels bij elkaar, mooi spinnenweb ;D
En een Nano of Pro Mini kan net zo goed servo sturen als een Mega. Maar iets minder (ik meen uit me hoofd max 12 met risico om iets uit spec te gaan van het standaard servo signaal). En in combinatie met een PCA9685 is er helemaal geen verschil.
En je kan het maken dat je het aan kan sturen met DCC maar niet direct. Meest gebruikelijke is het signaal te scheiden met een optocoupler.
Timo
-
Dan kom ik daar op terug
wat zou ik dan moeten bestellen bij ali
mini pro of nano
optocoupler
en wat else
-
Pro Mini of Nano is aan jou. Pro Mini is wat kleiner en goedkoper maar heb je een losse USB-Serieel adapter voor nodig. Nano is iets groter en duurder maar heeft direct USB. Onder de motorkap hebben de Pro Mini, Nano en Uno allemaal een ATmega328p. Ook al zijn de Pro Mini ook met ATmega168 te krijgen maar die moet je niet hebben ;D
Voor opto:
(http://www.mynabay.com/dcc_monitor/files/stacks-image-9b57927-898x376.png)
R2 is niet nodig, R3 kan ook weggelaten worden als de interne pull up van de Arduino gebruikt wordt.
En tja, als je zoiets doet is het wel handig om gewoon een assortiment weerstanden en diodes te hebben.
Timo
-
Dan het volgende
link (https://nl.aliexpress.com/item/2014-Mini-USB-Nano-V3-0-ATmega328P-5V-16M-Micro-controller-Board-For-Arduino/32567039076.html?spm=a2g0z.search0104.3.6.48ca482eIQL4cS&ws_ab_test=searchweb0_0,searchweb201602_1_10065_5729911_10068_319_317_10696_5728811_10084_453_454_10083_10618_10304_10307_10820_10301_10821_537_536_5730811_10843_5733211_328_5733311_10059_10884_5733411_10887_100031_321_322_10103_5733611_5733111_5733511,searchweb201603_55,ppcSwitch_0&algo_expid=bdb0714b-6608-4725-9c9d-85dff914ecbc-3&algo_pvid=bdb0714b-6608-4725-9c9d-85dff914ecbc)
Deze zou dus als je 3 aansluitingen per servo hebt
4 servo's aansturen
1 opto per arduino
Heb je nog iets nodig om de servo's het digi signaal te kunnen laten lezen/weten
-
Een schets (programmaatje) voor in de Arduino en dat de DCC codes omzet in de correcte servo beweging.
Groet Meino
-
Die Nano kan, of deze (https://nl.aliexpress.com/item/2014-Mini-USB-Nano-V3-0-ATmega328P-5V-16M-Micro-controller-Board-For-Arduino/32567039076.html) voor de helft :P
En je hebt maar één (data) aansluiting per servo. De andere twee zijn GND en 5V en die wil je nu juist niet door de Arduino hebben lopen. Ook al moet de GND van de servo wel aan de Arduino GND als je twee verschillende voedingen gebruikt. Met stukje protoboard (https://www.aliexpress.com/item/4pcs-lot-4x6-5x7-6x8-7x9-Double-Side-Prototype-PCB-Universal-Printed-Circuit-Board-Protoboard-For/32824842884.html)* en wat headers (https://www.aliexpress.com/item/10pcs-lot-Good-quality-2-54mm-1X40-Single-Row-black-Male-Pin-Header-Strip/32623553746.html)* maak je snel een printje ervoor. Dan kan je er 8 aansturen zonder uit de servo puls specificatie te gaan.
Ook zou een Nano zo'n PCA9685 Servo module aansturen via I2C.
Maar inderdaad, de mogelijkheden zin onbeperkt maar je moet wel zelf het programma schrijven of een programma vinden wat doet wat je wilt. Om zelf aan de slag te gaan kan je voor DCC de library van MynaBay (https://github.com/MynaBay/DCC_Decoder) of de NmraDcc-library (https://github.com/mrrwa/NmraDcc).
Timo
* Willekeurige eerste link