Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

electromotortje aansturen met een klein programmatje ?

Pagina: 1
Acties:
  • 147 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
goed, ik wil dus een klein electromotortje gaan aandrijven vanuit mijn computer.
het uiteindelijke doel is om een beweegbaar "ding" in mn PC kast-deurtje te maken, dat dus heel simpel heen en terug kan bewegen.
ik heb een zooitje van die motortjes liggen, gesloopt uit vanalles, van walkmans tot die kleine autotjes op batterijen.
Nu wil ik dus eigelijk een aansluiting met mn PC, en dan zit ik te denken aan bijv. de COM poort of de seriele, maar misschien is daar een simpelere manier voor, ik weet het niet.

uiteindelijk moet ik dus een heel klein programmatje hebben dat bij een dubbelklik het motertje in werking stelt, en stopt wanneer het aangedreven "ding" stopt als hij een contactpunt raakt. en bij een 2de dubbelklik, of een 2de programmatje, dat het motortje in zn achteruit gaat en ook weer stopt op een contactpunt.
Het "ding" is nogal lastig uit te leggen maar het komt erop neer dat het een klein radiatortje word die in mijn waterkoeling-systeem zit en op commando dus uit mijn PC kan worden geschoven.

is er iemand die me een stukje op weg kan helpen met wat de beste poort zou zijn om hiervoor te gebruiken, en hoe is er op een "simpele" manier zo'n programmatje te contrueren ?
alvast bedankt :)

Verwijderd

Ik denk dat de seriele poort het makkelijkst is (overigens COM en serieel = hetzelfde). Het voordeel van de seriele t.o.v. de parallelle poort is dat je zowel positieve als negatieve spanning tot je beschikking hebt zodat je het deurtje zowel open als dicht kunt laten gaan. Bovendien is de ser. poort redelijke hufter-proof zodat je hem niet zo makkelijk doorbrandt en zijn de spanningen hoger (12V t.o.v. 5V). Het aansturen van de ser. poort is iets lastiger dan het aansturen van de par. poort omdat de UART zelf vaak al een hoop doet, maar daar is wel omheen te werken.

De beste plek om te beginnen voor je proggie is www.beyondlogic.org . Daar staan ook libs en drivers enzo, naast alle pinouts en programmeervoorbeelden.

Als het gelukt is, post het resultaat dan effe hier, lijkt me leuk...

Verwijderd

Topicstarter
resultaat gaat zeker gepost worden :)
't namelijk niet het deurtje wat gaat bewegen, maar de bedoeling is dat er een cylindervormige radiateur (waterkoelings element) door het deurtje naar buiten komt schuiven, dit gaat natuurlijk gepaart met een aantal mooie ledjes en een paar ditjes en datjes, ALS het allemaal gaat lukken natuurlijk :P

Verwijderd

Als je echt zware dingen gaat verschuiven, dan is het te overwegen om een extra motor controller in te bouwen. De com poorten van je systeem zijn namelijk niet bedoeld om zware lasten in beweging te zetten. Ze kunnen dus wel eens niet sterk genoeg zijn (en doorbranden). En als je toch op motorcontrollers overstapt, kun je net zo goed de parallelle poort gebruiken. Daar kun je ook meteen je knipperende ledjes op aansluiten en bovendien heb je meer i/o-lijnen.

Verwijderd

Topicstarter
inderdaad waar, maar mn paralelle poort zit mn printer al op :(
extra controller zal niet nodig zijn want ik wil toch met tandwielen werken zodat het geheel niet dwars door mn kamer vliegt als ik dat motortje activeer, want die RPMs zijn best hoog. maar inderdaad ziet het er naar uit dat de COM poort ook geen V+ levert, en alleen een ground heeft :/
dus ziet het er toch naar uit om aan de slag te gaan met de par. poort.... hhmm denk dat wel tegelijk kan met mn printer aangezien de printer 99% van de tijd uit staat, en de kans dat ik mn radiateur beweeg en tegelijk print toch 0 is.
misschien is er een soort Y-kabel daarvoor te vinden ....
en anders sloop ik wel iets om dat te maken :D
(ook LauPro nog bedankt voor de hulp met de poorten)
hmm, past dit misschien niet beter in electronica ?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

---> CME. Succes :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Welkom op CME :)
Misschien wel zo handig om een fototje te posten (bij voorkeur in je topicstart) van je motor/radiator ivm gewicht/aansturing en evt. van je kast ivm ruimte.

De serial kun je met bijv. een relais/transistor + ext. voeding (ivm max. belasting [16mA] compoort) en aansturing van je handshake pennen (DSR/DTS/RTS/CTS etc) wel gebruiken om aan te sturen (afhankelijk van het type motortje). De voeding trek je dan bijv. gewoon van een molex die je naar buiten leid via een adapterstekkertje (of gewoon een losse adapter gebruiken).
Maar een hoop is afhankelijk van het type motor (aansturing) en vermogen daarvan, dus gaarne pics/specs/info over je motortjes...

Splitten van je parallelpoort zou ik niet doen, ik heb hier nog zo'n ChipKnip-Onlinebetaal apparaat staan wat ook als een split tussen je PC-printer gehangen wordt, maar dat gaf alleen maar problemen met printen (control-chars die om je oren vlogen op willekeurige momenten).

Naslag:
- http://www.hardwarebook.net/connector/serial/serial9.html
- http://www.hut.fi/Misc/Electronics/circuits/rspower.html
- Hulp nodig met besturing van motor
- schakeling voor op seriële poort

[ Voor 91% gewijzigd door Verwijderd op 02-07-2003 17:49 ]


Verwijderd

Volgensmij kan je uit de driver van je UART niet meer dan een paar mA trekken. Je zal dan toch iets van een H-brug moeten maken. Aansturen met een paralelle poort is dan makkelijker. Je hebt dan 1 output nodig om het motortje linksom te laten draaien en een om hem rechtsom te laten draaien. Daarnaast kan je hem PWM aansturen, dus kan je het vermogen regelen.

Verwijderd

V+ kun je gewoon genereren door een 1 of een 0 naar die poort te sturen of een control lijn (RTS ofzo) te gebruiken. Het vervelende is volgens mij juist dat je geen 0 (nul) volt kunt maken met je output lijn. Je kunt het motortje dus niet stop zetten :) Nu kun je daar misschien omheen werken met een diode, maar blijft lastig omdat je dan een tweede lijn kwijt bent voor achteruit draaien. Ik ben overigens wel benieuwd hoe je dat achteruit draaien op gaat lossen met de par. port zonder motorcontroller.

Overigens, je kunt vrij gemakkelijk een modelbouwservo aanpassen voor dit soort grappen. Die dingen kosten een maar paar euro en hebben een ingebouwd tandwielbakje en een controllertje. Die dingen worden aangestuurd met PWM (pulsbreedtemodulatie). Dat is erg makkelijk te genereren met zowel par. als ser. port. http://www.seattlerobotics.org/guide/servohack.html
http://www.seattlerobotics.org/guide/servos.html
tis een optie...

Verwijderd

Een H-brug is in weze een motorcontroller, kan je simpel maken met 4 transistoren.

Verwijderd

motorcontroller is inderdaad een groot woord... Die H-bruggen kun je ook in een IC-tje verpakt krijgen voor een paar centen. Daar kun je niet tegenop solderen volgens mij...

Verwijderd

Als het af is wil ik hier wel een schematje van zien:p misschien ook handig om een baybus te maken die automatisch uit je pc komt zetten (ipv een oude cd-rom speler)

Verwijderd

Topicstarter
hhhmmkay ..... dit gaat me nou weer net ietsje boven mn pet :D
H-bruggen ??? :?
maargoed, ik zal proberen beter uit te leggen wat ik wil.

Het motortje en de radiateur heb ik nog geen flauw ID wat ze gaan wegen, hoe groot en hoe zwaar (ok, wel de grote richtlijnen maar niets definitiefs)
Het gaat er uiteindelijk om dat er na een software-matig commando een ronde radiateur uit mn PC komt schuiven, die ook stopt op het moment dat hij er helemaal uit is. En daarna ook op een softwarematig commando, of als de PC uit gaat, ook weer naar binnen gaat, en stopt als hij dan zn max bereikt heeft.

zelf zat ik er dus in grote lijnen aan te denken die radiateur aan 4 gelijders te maken, die haaks op mn deurtje staan, en de radiateur er dus horizontaal uit geschoven word. Aan de radiateur komt dan een motortje, die als het aangedreven word, de radiateur een bep. richting op beweegt DMV een tandwiel systeem, of misschien snaar. dan wil ik zegmaar aan de achterkant van de radiateur een contactpunt en aan de voorkant ook 1. en dan op het deurtje ook een contactpunt, zodat als de achterkant van de radiateru het deurtje raakt, hij stop, en als de voorkant van de radiateur het deurtje raakt, hij ook stopt.

Dit zijn even de basics, maar meteen het moeilijke gedeelte. Als dit allemaal werkt dan ga ik er nog een fan op maken, en wat LEDs die knipperen als bijv. het motortje in werking word gesteld, maar das niet zo moeilijk, het moeilijkste gedeelte hier is denk ik het aansturen van het motortje DMV een poort.
Ik had al wel gezien dat een COMpoort een ground heeft, als ik dan een voeding ergens anders vandaan haal, en de ground onderbreek dan is er dus geen kring, en loopt er geen stroom, en als ik dan softwarematig de ground openzet dan is er wel een kring en zou het geheel moeten lopen, maar ik kwam inderdaad ook tegen dat de COM maar 10 mA kan hebben oid, dus das ook weer lastig :(

maar ik hoorde al wel wat interessante dingen langs komen alleen ik begrijp niet helemaal hoe die dan werken, sorry beetje n00b op electronica gebied :D
dus ietsje meer uitleg zou op prijs gesteld worden :)

Verwijderd

Topicstarter
k zal morge wel ff wat info van die motorjes proberen te achterhalen, ga nu pitten na een vrij uitputtend avondje snowworld :z

  • theXE
  • Registratie: Oktober 2002
  • Laatst online: 06-08 20:49
Kun je niet een relais gebruiken om dan de kring te sluiten?

Verwijderd

Ik raad je aan om dit boek te kopen / lenen bij de bieb.

PC-POORTEN ONDER WINDOWS
meten, regelen en besturen via de standaardpoorten

http://www.hjberndt.de/book/pcsnl2.html

Verwijderd

Boeken? Wat ouderwets, we hebben toch internet? ;)

Maar goed. H-bruggen stellen je in staat om met alleen positieve spanning een motor zowel voor als achteruit te laten draaien. Als je er meer over wilt weten: google is je vriend: beschrijving h-brug en plaatje h-brug

Je kunt die dingen ook in een IC verpakking krijgen: voorbeeld quad half-H driver (bekijk ook de datasheet met voorbeeldapplicatie)

Je hebt twee lijntjes van je par. port nodig om zoiets aan te sturen. De andere lijnen zet je in input mode en sluit je aan op je schakelaartjes voor de eindstop. In je programma kun je die uitlezen etc. Hoe dat te doen, zie mijn eerste post: beyondlogic. Ik kan hier wel een hele bouwbeschrijving/programmeerhandleiding geven, maar je mag ook wel iets zelf doen ;) Volgens mij staat hier genoeg info om een begin te maken. Als je tegen specifieke problemen aan loopt geef je maar weer een gil.

Dan nog een tip: lineaire geleiders zijn erg lastig om zelf te maken. Ze hebben de neiging om scheef te lopen en dan vast te slaan. Bovendien is de aandrijving lastig (tandheugels/snaren; moeizaam). Als het enigszins mogelijk is zou ik de radiator uit de kast laten draaien in plaats van schuiven. Veel stabieler en robuuster en de bevestiging van de motor is ook makkelijker

Succes ermee...

  • richard_1st
  • Registratie: Mei 2002
  • Laatst online: 17:00
Hmm k ben benieuwd naar het resultaat.
het idee ziet er in ieder geval leuk uit.
FF dit topic blijven volgen

Verwijderd

Topicstarter
hhmm, bedankt voor de duidelijk reply SeaSparrow :)
inderdaad zo'n H-brug is wel makkelijk zo te zien :)
ik heb al eerder in die site van beyondlogic zitten zoeken, maar ik denk dat mijn voornaamste probleem is dat ik niet kan programeren :/
klein beetje java, ok, maar C++ of VB ken ik echt niet.

en inderderdaad, lineaire gelijders zijn wat lastig goed te zetten, maar draaien is alleen maar moeilijker, tenminste als het klopt wat ik denk dat jij bedoelt :D
hij moet in "ingeklapte stand" iig in de kast zitten, en bij uitgeklapt ongeveer 95% eruit steken, en de enige ruimte daarvoor is een rond gat van +- 75 mm doorsnee.
maar zelf zat ik dus te denken aan 4 stale pinnen, die met boutjes gewoon strak aan het deurtje te maken, zegmaar een zelfde soort bevestiging als je WC blok op je Mobo.

maar vanavond komt er iemand op mn werk langs die toevallig hoofd van de technische dienst is bij 1 of ander groot bedrijf dus ik zal es vragen wat die er van denkt :)

Verwijderd

Wat jij van C++ nodig hebt is niet veel moeilijker dan java. Alleen de syntax is net iets anders, maar daarvoor kun je op het net genoeg tutorials vinden. Gewoon C (ANSI) is overigens al genoeg voor dit gebeuren. De help van een beetje goede IDE doet ook wonderen. Laat je niet afschrikken! Als ik thuis ben kan ik wel een klein stukje code opzoeken dat een par.poort aanstuurt met die lib van beyond.

Misschien kun je een schetsje maken over de positie waar dat koelblok uit je kast moet komen. Ik heb volgens mij namelijk een andere plek in gedachten dan jij :) Wil jij bovenop de kast naar buiten steken met dat ding? En misschien kun je ook dat blok effe opmeten, dan heb ik een idee hoeveel speling je hebt. Wat je namelijk ook kunt doen is het blok op het klepje vastschroeven en dan het klepje gewoon naar buiten klappen. Het blok moet dan wel tegen het kantelen kunnen zonder luchtbellen te produceren natuurlijk.

Verwijderd

Topicstarter
ok, even ter verduidelijking van het koelblok:
het gaat een cylinder worden van ongeveer 10 tot 15 cm lang, en +- 70 tot 75 mm doorsnee.
In het deurtje van mn PC zit al een gat met een fan erin, zal ff een plaatje pakken ter verduidelijking: Afbeeldingslocatie: http://www.hwupgrade.it/articoli/774/emax_6_s.jpg(plaatje vinden was ff lastig :( inet vet traag ineens en nerges meer te vinden :( )
daar gaat hij dus, horizontaal, uit komen schuiven, aan de zijkant dus.
ik kwam er vanavond alleen ineens achter dat ik hem niet op kan hangen zoals ik van plan was :/
maargoed, dat gaat dus nog ff wat denkwerk vergen. ik zit dus nog het grootste gedeelte te twijfelen aan het hele beweeg gebeuren :S

dat het via de PC aan te sturen is kan dus in ieder geval die radiateur kan ik zelf maken.
het grootste probleem is nu alleen nog het in beweging krijgen, en dat met de juiste snelheid en geleiding van het geheel ....
toch nog maar es ff zoeken wat mn opties zijn.

[ Voor 8% gewijzigd door Verwijderd op 03-07-2003 22:06 ]


Verwijderd

Topicstarter
even een klein vraagje tussendoor ....
is het niet veel simpeler om een USB poort te gebruiken ???
want dan hoef ik mn printerpoort niet te splitsen en een USB heeft maar 4 pins, waarvan nr 1 de +5 volt en nr 4 de ground.
en ik heb toch 4 USBpoorten waarvan ik er maar 1 gebruik :D (muis)
als dit mogelijk is dan lijkt me dat al iig 1 versimpeling van het hele plan.

edit:
hhmm, of niet, want na even met mijn multimeter te hebben zitten pielen geloof ik dat de 5volt er altijd op staat :/ dus tenzij die permaneten uit te schakelen is en dan tijdelijk in te schakelen, maar dan wel zonder dat er continu een programma draait om dat te blocken, is dat niet echt een optie :(

[ Voor 30% gewijzigd door Verwijderd op 03-07-2003 23:13 ]


Verwijderd

Het ziet er inderdaad niet uit dat je veel ruimte hebt daar. Kun je niet wat prutsen bij de floppy-bay ofzo, daar is meestal wel wat ruimte, of juist helemaal onderin aan de voorkant, onder de power knop (lastig om de kast structueel stevig te houden)...

Dat USB plan gaat niet lukken inderdaad. Voornamelijk omdat je koelblok als een gek heen en weer begint te springen als je communiceert met andere apparaten op de USB bus. Dat probleem ga je ook krijgen als je de par. poort 'splitst'. Twee apparaten op dezelfde kabel gaat echt niet lukken. Je kunt natuurlijk altijd met een PIC gaan werken. De 16F628 van Microchip bijvoorbeeld. Dat ding heeft een eigen UART en daar kun je serieel mee communiceren. Grotere PICs hebben zelfs een par. poort. Je kunt dan je eigen mini-protocolletje schrijven en hem aan de USB bus hangen als je wilt (ik weet niet zeker of ie inderdaad zo snel is en het is een hoop programmeerwerk...), maar ook rechtstreeks aan de COM poort knopen (met een paar zenerdiodes of een max232). Al die schakelaartjes en ledjes kun je ook aan die PIC hangen. Voor een elektronoob is dit echter misschien wat veel gevraagd. Het is wel leuk om even naar te kijken.

Verwijderd

Topicstarter
hhhm, LauPro had het dus ook al over zo'n PIC, mar ik denk dat dat me net iets te ver gaat.
ik heb trouwens al wel een mooie gearbox gemaakt van technisch lego om de snelheid van het motortje met 4 sets tandwielen zo te krijgen dat de uiteindelijke verplaatsingsnelheid aardig goed is, maar dat kan ik pas echt testen als dat hele ding in elkaar zit ben ik bang :/
de ophanging heb ik wel een oplossing voor gevonden denk ik, aangezien de radiateur uiteindelijk niet zo zwaar zal zijn, hoop ik :D
het komt er op neer dat er uit het deurtje 4 gelijders steken, die aan de achterkant met elkaar verbonden zijn, en dus een soort kubus vormen.
daarin komt dan een vierkant, die aan iedere hoek een buisje heeft wat over zo'n gelijder loopt, en dan zit er midden in dat vierkant een pin die door de radiateur schuift, en die dus zo in het midden houd van de 4 gelijders.
dan zal dat vierkant "weg-geduwd" worden vanuit de kast zelf door het motorje en zo schuift het geheel uit de kast ... is de bedoeling althans :D

[ Voor 34% gewijzigd door Verwijderd op 04-07-2003 14:29 . Reden: update ]


Verwijderd

Ik zie het niet helemaal voor me maar als ik het goed heb blijven die pinnen dus permanent uit je kast steken. Dat is jammer natuurlijk. Als er genoeg ruimte is aan de binnenkant zou ik proberen dat te voorkomen. Het blijft echter moeilijk om op afstand een goede oplossing te verzinnen voor jouw machanische probleem dus dat laat ik aan jezelf over. Succes in ieder geval ermee en ik zie het resultaat wel...

Verwijderd

Topicstarter
nee, de pinnen zitten standaart in de kast :)
en als de radiateur dan maximaal is uitgeschoven zal het vierkant waar hij aan hangt aan de binnenkant tegen het deurtje drukken, en zichzelf dus stabiel houden.
Pagina: 1