Vinnaren i pepparkakshustävlingen!
2014-10-22, 23:46
  #25
Medlem
Citat:
Ursprungligen postat av gason
Jag skulle tro att det är möjligt att styra motorerna så snabbt, men gränsen är nog inte så långt borta.

Ett litet räkneexperiment:
Arduino klockfrekvens = 16MHz -> periodtid = 0,0625uS. Varje (nåja...) maskinkodsinstruktion tar 1 periodtid att utföra.

Responstid på alla motorer = 1000uS.
Tid per motor = 1000/48 = 20,8uS.

Det ger 20,8/0,0625 = 333 maskinkodsinstruktioner per motor för att styra dem 1000 gånger per sekund. Inte helt orimligt i sig tycker jag.


Men, och här kommer ett större problem, du ska även läsa in en kompassriktning.
Vilken kompass har du tänkt att använda? Jag har aldrig använt någon mer än ett snabbt experiment och vet inte exakt hur de fungerar när det gäller hastighet. Jag hade på känn att avläsningen av en kompass skulle vara långsammare än så här så jag högg den första jag hittade på Electrokit [Länk]. Där står det "Uppdateringsfrekvens: 1 - 20Hz", vilket är 50 gånger långsammare. Det är lite nedslående.
Fast det kan ju finnas bättre varianter förstås och det brukar gå att vara lite kreativ med programmering.
Du har så rätt; kompassens förmåga att ge Arduinon input är givetvis lika viktigt och denna faktor hade jag alls inte tänkt på. Hittade detta chip som var lite drygt 10 gånger snabbare (fanns även billigt på ebay).

Med andra ord borde bältet då klara ett varv på en sekund (eller en helt om på en halv dito) med 48 motorer, vilket räcker gott och väl. Det är inte precis en konståkare mitt under en piruett som skall bära detta bälta, utan vi normala slashasar när vi masar oss runt i rummet. Kompasserna är vad jag kunnat utläsa dessutom ganska känsliga för tiltning av z-planet så bältet är knappast lämpat för fysiskt krävande aktiviteter. (Kanske kan man utnyttja den tredje axeln för att eliminera felaktig input genom att ständigt kontrollera tiltningen i z-led? Låt säga: "om den överstiger 10 grader = skicka ingen ny data till skiftregistren"?)
__________________
Senast redigerad av oddman84 2014-10-23 kl. 00:13.
Citera
2014-10-23, 07:41
  #26
Moderator
Citat:
Ursprungligen postat av oddman84
Du har så rätt; kompassens förmåga att ge Arduinon input är givetvis lika viktigt och denna faktor hade jag alls inte tänkt på. Hittade detta chip som var lite drygt 10 gånger snabbare (fanns även billigt på ebay).

Med andra ord borde bältet då klara ett varv på en sekund (eller en helt om på en halv dito) 48 motorer, vilket räcker gott och väl. Det är inte precis en konståkare mitt under en piruett som skall bära detta bälta, utan vi normala slashasar när vi masar oss runt i rummet. Kompasserna är vad jag kunnat utläsa dessutom ganska känsliga för tiltning av z-planet så bältet är knappast lämpat för fysiskt krävande aktiviteter. (Kanske kan man utnyttja den tredje axeln för att eliminera felaktig input genom att ständigt kontrollera tiltningen i z-led? Låt säga: "om den överstiger 10 grader = skicka ingen ny data till skiftregistren"?)
Ja, det kan vara en bra idé. Att peka ut norr blir lite svårt om bältet står på högkant.
Det där såg ut att vara en bättre kompass, billigare också. PCI anslutning är bättre än I2C om man jagar hastighet.

När vi ändå är inne på eventuella problem så kom jag tänka på en annan sak. Motorerna, hur snabbt reagerar dessa? 20mS är inte så lång tid för en motor att starta och stänga av innan nästa motor ska ta över. Men det är lätt att prova med en Arduino, en motor och ett simpelt testprogram.
Citera
2014-10-23, 13:02
  #27
Medlem
Skicka en analog signal med minst 16 bitars upplösning från Arduinon, tillsammans med jord och +5V som kan driva ström - bara tre kablar. Avkoda med en billig A/D och multiplexer på varje motor - omedelbar verkan.

För t.ex. 8 stycken motorer: http://en.wikipedia.org/wiki/Multipl...xer_8-to-1.svg - koppla A/D-konverteraren till de tre styringångarna, jorda sju av ingångarna och +5V:a en, och skicka utgången till en transistor.

Det blir störkänsligt men en motor fel åt höger eller vänster kanske inte spelar så mycket roll?
Citera
2014-10-24, 00:07
  #28
Medlem
Citat:
Ursprungligen postat av gason
Ja, det kan vara en bra idé. Att peka ut norr blir lite svårt om bältet står på högkant.
Det där såg ut att vara en bättre kompass, billigare också. PCI anslutning är bättre än I2C om man jagar hastighet.

När vi ändå är inne på eventuella problem så kom jag tänka på en annan sak. Motorerna, hur snabbt reagerar dessa? 20mS är inte så lång tid för en motor att starta och stänga av innan nästa motor ska ta över. Men det är lätt att prova med en Arduino, en motor och ett simpelt testprogram.
Ännu en bra fråga, gason. Jag tror nog jag kan glömma min snabba reaktionstid, då en elektrisk motor trots allt har en startsträcka innan den kommer upp i varv. Så jag får nog skippa hastiga rörelser och istället uppmuntra till promenadtempo.

Tack för all din feedback, den uppskattas verkligen!


Citat:
Ursprungligen postat av den.femte.kaparen
Skicka en analog signal med minst 16 bitars upplösning från Arduinon, tillsammans med jord och +5V som kan driva ström - bara tre kablar. Avkoda med en billig A/D och multiplexer på varje motor - omedelbar verkan.

För t.ex. 8 stycken motorer: http://en.wikipedia.org/wiki/Multipl...xer_8-to-1.svg - koppla A/D-konverteraren till de tre styringångarna, jorda sju av ingångarna och +5V:a en, och skicka utgången till en transistor.

Det blir störkänsligt men en motor fel åt höger eller vänster kanske inte spelar så mycket roll?
Rotationen på motorn spelar ingen roll i mitt fall, men jag förstår inte riktigt principen.
Citera
2014-10-24, 01:54
  #29
Medlem
Citat:
Ursprungligen postat av oddman84
Rotationen på motorn spelar ingen roll i mitt fall, men jag förstår inte riktigt principen.

Multiplexern är varje motors avkodare/hjärna, men istället för en parallell adressbuss med sex kablar (2^6 = 64 möjligheter) som du växlar mellan 0 V eller 5 V, lägger du en enda kabel på t.ex. 0-0,09 V om den första motorn ska snurra, 0,10-0,19 V om den andra ska snurra osv.

Eller slipp köpa och löda 48 stycken A/D-konverterare och kör på sex styrkablar istället. Åtta små sladdar runt midjan är inga problem, och du behöver inte oroa dig för störningar.
Citera
2014-10-24, 07:32
  #30
Medlem
GalFisks avatar
Citat:
Ursprungligen postat av den.femte.kaparen
Multiplexern är varje motors avkodare/hjärna, men istället för en parallell adressbuss med sex kablar (2^6 = 64 möjligheter) som du växlar mellan 0 V eller 5 V, lägger du en enda kabel på t.ex. 0-0,09 V om den första motorn ska snurra, 0,10-0,19 V om den andra ska snurra osv.

Eller slipp köpa och löda 48 stycken A/D-konverterare och kör på sex styrkablar istället. Åtta små sladdar runt midjan är inga problem, och du behöver inte oroa dig för störningar.
Skiftregister är nog både enklare att koppla upp och mer störtåliga än att arbeta med analoga signaler.
Intressant projekt förresten. Jag undrar om något sånt här i längden skulle kunna anpassas för att leda blinda.
Citera
2014-10-24, 17:22
  #31
Medlem
Citat:
Ursprungligen postat av oddman84
Du har så rätt; kompassens förmåga att ge Arduinon input är givetvis lika viktigt och denna faktor hade jag alls inte tänkt på. Hittade detta chip som var lite drygt 10 gånger snabbare (fanns även billigt på ebay).
Om jag har förstått rätt kommer motorerna, med permanentmagneter? att vara ganska nära givaren. Det kan leda till problem. Det är något du nog ska kolla då du börjar labba. Samma med ledarna. Partvinnat eller skärmat kanske behövs.
Citera
2014-10-25, 21:36
  #32
Medlem
Citat:
Ursprungligen postat av Oscar111
Om jag har förstått rätt kommer motorerna, med permanentmagneter? att vara ganska nära givaren. Det kan leda till problem. Det är något du nog ska kolla då du börjar labba. Samma med ledarna. Partvinnat eller skärmat kanske behövs.
Hm, det har du rätt i. Men kollar man på bilderna av det tidigare länkade kompassbältet verkar det inte vara någon större fara.

Jag kan inte mycket om dessa kretsar, men har det möjligen något att göra med styrkan på magnetfältet? Se till exempel följande krets:
http://www.adafruit.com/datasheets/H...Compass_IC.pdf

Kan det vara så att den är mer finjusterad till svaga magnetfält och helt missar de närliggande, starka fälten som uppstår i till exempel motorerna?
Citera
2014-10-25, 21:50
  #33
Medlem
Citat:
Ursprungligen postat av den.femte.kaparen
Multiplexern är varje motors avkodare/hjärna, men istället för en parallell adressbuss med sex kablar (2^6 = 64 möjligheter) som du växlar mellan 0 V eller 5 V, lägger du en enda kabel på t.ex. 0-0,09 V om den första motorn ska snurra, 0,10-0,19 V om den andra ska snurra osv.

Eller slipp köpa och löda 48 stycken A/D-konverterare och kör på sex styrkablar istället. Åtta små sladdar runt midjan är inga problem, och du behöver inte oroa dig för störningar.
Jag får nog läsa på mer, men spontant känns skiftregistren lättare att förstå sig på (för en amatör). Om jag exempelvis nöjer mig med 32 motorer innebär det att jag endast behöver 4 skiftregister som sköter 8 motorer var och det blir nog ganska enkelt att koppla upp samt programmera för någon utan tidigare kunskaper. Men jag tackar för din input och får jag det inte att fungera med nuvarande plan sparar jag ditt förslag för en framtida revision.

Citat:
Ursprungligen postat av GalFisk
Skiftregister är nog både enklare att koppla upp och mer störtåliga än att arbeta med analoga signaler.
Intressant projekt förresten. Jag undrar om något sånt här i längden skulle kunna anpassas för att leda blinda.
Ja, jag tänker mig att blinda, människor med nedsatt lokalsinne samt andra kognitiva funktionsnedsättningar bör kunna ha nytta av detta bälte.

Skulle någon annan givare/aktuator-setup kunna vara användbar? Jag tänkte man kanske skulle kunna ha ett gyro i en mössa/keps för att med hjälp av någon sorts signal (elektrisk stöt?) visa hur lutningen är på kroppen och att någon med nedsatt balanssinne skulle kunna kompensera för detta med hjälp av en mycket enkel elektronisk krets.
Citera
2014-10-25, 22:11
  #34
Moderator
Citat:
Ursprungligen postat av oddman84
Hm, det har du rätt i. Men kollar man på bilderna av det tidigare länkade kompassbältet verkar det inte vara någon större fara.

Jag kan inte mycket om dessa kretsar, men har det möjligen något att göra med styrkan på magnetfältet? Se till exempel följande krets:
http://www.adafruit.com/datasheets/H...Compass_IC.pdf

Kan det vara så att den är mer finjusterad till svaga magnetfält och helt missar de närliggande, starka fälten som uppstår i till exempel motorerna?
Nej, den missar absolut inte starka magnet i närheten. Jag provade nyss och kretsen får så att säga "tokspel" om du har en magnet för nära.

Med lite tur kan motorerna vara magnetiskt skärmade. Är det riktiga vibratorer, avsedda för mobiltelefoner, du har är det inte alls omöjligt att de är det.
Citera
2014-10-25, 22:12
  #35
Medlem
Citat:
Ursprungligen postat av oddman84
Kan det vara så att den är mer finjusterad till svaga magnetfält och helt missar de närliggande, starka fälten som uppstår i till exempel motorerna?
Nej, så kan det inte gärna fungera men de är en bit ifrån. Kan också vara hur fältet är orienterat, du får pröva lite.

En annan sak jag tänkte på är ett bälte med bara två vibratorer. Man ställer in en riktning och de vallar in dig så att om du vrider dig för mycket åt ena hållet så startar den vibratorn och slutar inte före du har bältet åt rätt håll. Det kan vara bra att börja med.
Citera
2014-10-25, 22:38
  #36
Medlem
Citat:
Ursprungligen postat av gason
Nej, den missar absolut inte starka magnet i närheten. Jag provade nyss och kretsen får så att säga "tokspel" om du har en magnet för nära.

Med lite tur kan motorerna vara magnetiskt skärmade. Är det riktiga vibratorer, avsedda för mobiltelefoner, du har är det inte alls omöjligt att de är det.
Citat:
Ursprungligen postat av Oscar111
Nej, så kan det inte gärna fungera men de är en bit ifrån. Kan också vara hur fältet är orienterat, du får pröva lite.

En annan sak jag tänkte på är ett bälte med bara två vibratorer. Man ställer in en riktning och de vallar in dig så att om du vrider dig för mycket åt ena hållet så startar den vibratorn och slutar inte före du har bältet åt rätt håll. Det kan vara bra att börja med.
Tack för era svar än en gång, de uppskattas som sagt mycket. Att okända människor delar med sig av kunskap på ett sådant öppet sätt och utan att kräva ersättning hör inte till vanligheterna i min värld.

Jag tänkte använda mig att vibrationsmotorer like de vi använder i mobiltelefoner, så jag hoppas de har någon sorts inbyggd sköld utåt. Som sagt; någon har ju byggt ett fungerande bälte så det måste finnas en lösning på alla petitesser!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback