Mindstorms-delar till klocka

Startat av andreaseldh, 31 December 2014 kl. 14:12

Föregående ämne - Nästa ämne

Godtfred

Eller bygg en stegmotor. Låt motorn gå fram en bit och tillbaka en bit som avancerar ett steghjul ett steg åt gången. På snarlikt sätt som pendeln gör i ett vanligt urverk.

(Har inte kollar hur säker återmatningen av pulser är i motorn.)

andreaseldh

#16
Citat från: AndersI skrivet 14 Januari 2015 kl. 08:45
Varför inte göra en helt elektromekanisk minutstegare? En kamskiva som i viloläge bryter strömmen till motorn, en strömpuls drar igång motorn, kamskivan håller kontakten sluten tills hela varvet är kört, och motorn stannar igen. Mycket hög repeternoggrannhet på själva rörelsen. OK, det finns inga LEGO-reläer, men det får man fixa med två motorer och en omvänd diff i stället.

Få se om jag förstått detta rätt?

1. Datorn drar igång den högra motorn som går en liten bit, tillräckligt för att kamskivan ska dra igång den vänstra motorn.

2. Den högra motorn stannar men den vänstra fortsätter tills kamskivan fullbordat varvet.

Trycksensorer finns i Lego, men finns kamskivor?

Och vad är det egentligen för skillnad mot att låta en ensam datorstyrd motor gå tills kamskivan ger signal om att varvet är fullbordat?

Nextuz

Citat från: andreaseldh skrivet 15 Januari 2015 kl. 11:05
Citat från: AndersI skrivet 14 Januari 2015 kl. 08:45
Varför inte göra en helt elektromekanisk minutstegare? En kamskiva som i viloläge bryter strömmen till motorn, en strömpuls drar igång motorn, kamskivan håller kontakten sluten tills hela varvet är kört, och motorn stannar igen. Mycket hög repeternoggrannhet på själva rörelsen. OK, det finns inga LEGO-reläer, men det får man fixa med två motorer och en omvänd diff i stället.

Få se om jag förstått detta rätt?

1. Datorn drar igång den högra motorn som går en liten bit, tillräckligt för att kamskivan ska dra igång den vänstra motorn.

2. Den högra motorn stannar men den vänstra fortsätter tills kamskivan fullbordat varvet.

Trycksensorer finns i Lego, men finns kamskivor?

Och vad är det egentligen för skillnad mot att låta en ensam datorstyrd motor gå tills kamskivan ger signal om att varvet är fullbordat?

Problemet med för låg batterispänning lär ändå vara ett problem?

AndersI

Citat från: andreaseldh
Trycksensorer finns i Lego, men finns kamskivor?

Kamskivor finns inte som enskild bit, men de kan byggas på många olika sätt (titta på Akuyukis GBC:er, t.ex.), i det här fallet enklast med en vevsläng som omvandlar rotationen till fram- och återgående rörelse som trycker på en brytande kontakt i ändläget. Nästa fråga blir då "Finns brytande kontakt i LEGO?", och svaret är väl Nja...

Citat från: andreaseldh
Och vad är det egentligen för skillnad mot att låta en ensam datorstyrd motor gå tills kamskivan ger signal om att varvet är fullbordat?

Har väl ingen praktisk betydelse så länge man har en dator inblandad, men jag gillar mekanik :)

Dessutom kan lösningen med diff göras helmekanisk om lämpliga konstruktionselement finns tillgängliga. Vet inte om någon har fixat det med Lego, men det finns massor med komplicerade helmekaniska urverk (och andra konstruktioner) runt om i världen.

Spana in http://acarol.woz.org/ för exempel på komplicerade maskinerier i Lego!

Citat från: Nextuz
Problemet med för låg batterispänning lär ändå vara ett problem?

Bara om den låga spänningen får klockan i datorn att gå fel, eller inte ens orka dra igång en motor. I och med kamskivan så kör alltid motor två tillräckligt länge för en komplett minutförflyttning (lämpligt utväxlat).

Region: Nerike och lite ÖstraG (bor i Södermanland)
Mitt urgamla LEGO CAD-program: BlockCAD

torso

Mindstorms-motorerna ger väl ge samma vinkel oavsett spänning? Det tar bara lite längre tid med kassa batterier, vilket inte borde spela någon som helst roll i detta fall.

AndersI

Borde väl vara större risk att vinkelgivaren missar en puls när motorerna går som snabbast? Det händer i alla fall med mitt gamla Dacta-interface som sitter på en serieport i datorn.
Region: Nerike och lite ÖstraG (bor i Södermanland)
Mitt urgamla LEGO CAD-program: BlockCAD

andreaseldh

Citat från: AndersI skrivet 15 Januari 2015 kl. 13:26
Citat från: andreaseldh
Trycksensorer finns i Lego, men finns kamskivor?

Kamskivor finns inte som enskild bit, men de kan byggas på många olika sätt (titta på Akuyukis GBC:er, t.ex.), i det här fallet enklast med en vevsläng som omvandlar rotationen till fram- och återgående rörelse som trycker på en brytande kontakt i ändläget. Nästa fråga blir då "Finns brytande kontakt i LEGO?", och svaret är väl Nja...

Man kanske kan låta 6575 gå mot en trycksensor? Den behöver ju faktiskt inte bryta strömmen själv, den kan ju lika gärna ge signal till Mindstormsenheten att stanna motorn.

andreaseldh

Kan man använda ljussensorn för att avgöra när denna cylinder har roterat ett varv?

Fungerar sensorn även i totalt mörker, eller måste man ordna belysning inne i lådan?

andli

mtp att det sitter två dioder på den med en liten skiva i mellan så skulle jag tro att det ena är en lysdiod och det andra är en fotodiod. Den fixar alltså sitt egna ljus, och kan mäta reflektionen.

Så det bör funka!

I disapprove of what you say, but I will defend to the death your right to say it.

andreaseldh

Hur stor (i pluppar och klossar) är EV3 Intelligent Brick?

andreaseldh

Nu har jag programmerat det jag tycker borde fungera i teorin, men det gör det förstås inte i praktiken. Tanken med programmet är följande:

  • Starta timer nr 1 och loop nr 1
  • När timer nr 1 visar 1 sekund, kör motorn 1 varv bakåt i 33% fart
  • När timer nr 1 visar 3 sekunder starta loop nr 2
  • Under loop nr 2 kör motorn bakåt i 33% fart
  • Loop nr 2 pågår så länge ljussensorn ser mer än 33% reflekterat ljus
  • När timer nr 1 visar 10 sekunder eller mer, nollställ timer nr 1
  • Loop nr 1 pågår i oändlighet
Utväxlingen gör att ett varv på motorn motsvarar ungefär ett halvt varv på den svartvita cylindern som beskrivs i ett tidigare inlägg. Ljussensorn uppfattar svart som c:a 10% och vitt som c:a 57%, så jag tog ett trevligt värde mitt emellan. Nollställningen av timer nr 1 ska givetvis vara 60 sekunder, men under testfasen orkar jag inte vänta så länge.

Det som händer när man startar programmet är att motorns första varv fungerar utmärkt, men när den sedan ska stanna vid den svarta biten på cylindern fortsätter den bara att snurra.

Kan någon hjälpa mig och se vad det är för fel på programmet?

EDIT:

Men tyvärr går det inte att ladda upp den filtypen, så PM:a mig er e-postadress så mäjlar jag över filen.

Nextuz

Citat från: andreaseldh skrivet 21 November 2015 kl. 21:53
Nu har jag programmerat det jag tycker borde fungera i teorin, men det gör det förstås inte i praktiken. Tanken med programmet är följande:

  • Starta timer nr 1 och loop nr 1
  • När timer nr 1 visar 1 sekund, kör motorn 1 varv bakåt i 33% fart
  • När timer nr 1 visar 3 sekunder starta loop nr 2
  • Under loop nr 2 kör motorn bakåt i 33% fart
  • Loop nr 2 pågår så länge ljussensorn ser mer än 33% reflekterat ljus
  • När timer nr 1 visar 10 sekunder eller mer, nollställ timer nr 1
  • Loop nr 1 pågår i oändlighet
Utväxlingen gör att ett varv på motorn motsvarar ungefär ett halvt varv på den svartvita cylindern som beskrivs i ett tidigare inlägg. Ljussensorn uppfattar svart som c:a 10% och vitt som c:a 57%, så jag tog ett trevligt värde mitt emellan. Nollställningen av timer nr 1 ska givetvis vara 60 sekunder, men under testfasen orkar jag inte vänta så länge.

Det som händer när man startar programmet är att motorns första varv fungerar utmärkt, men när den sedan ska stanna vid den svarta biten på cylindern fortsätter den bara att snurra.

Kan någon hjälpa mig och se vad det är för fel på programmet?

EDIT:

Men tyvärr går det inte att ladda upp den filtypen, så PM:a mig er e-postadress så mäjlar jag över filen.

Pm:a mig vad filen har för ändelse, eller så packar du det i en zip-fil :)

andreaseldh

Citat från: Nextuz skrivet 22 November 2015 kl. 23:44
Pm:a mig vad filen har för ändelse, eller så packar du det i en zip-fil :)

Tack! Det är alltså det här programmet jag behöver hjälp med.

Roger Brickjet

Har inte alls varit med i denna diskussion men har nyligen skaffat en ev3 så jag blev väldigt nyfiken på ditt program :)
Kanske har missuppfattat helt vad som blir fel men jag tycker att det fattas något som stoppar motorn när loop 2 slutar.

andreaseldh

Citat från: Roger Brickjet skrivet 25 November 2015 kl. 01:04
Kanske har missuppfattat helt vad som blir fel men jag tycker att det fattas något som stoppar motorn när loop 2 slutar.

Ja, så kanske det är. Jag trodde att motorn skulle stanna automatiskt när loop 2 slutar. Ska se om jag får till det, gör ett nytt försök om några dagar.