Pages: 1 [2] 3   Go Down
Author Topic: Couch mit arduino öffnen...  (Read 965 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 11
Posts: 62
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo!

Metrisch/zöllige Spindeln sind keine Bewegungsgewinde.
Wenn mit Spindeln, dann nur Trapez oder Rundgewinde.

Syncronisation ist kein Thema, ein Motor treibt eine durchgehende Welle, an deren Ende die Abtriebe sitzen.
Für Heavy Duty mit Zahnstangen, wenns leicht bleibt genügt ein Stück Zahnriemen am Boden fixiert.
Von der Mechanik kein Problem, hätte da eher Bedenken von wegen Sicherheit....

mfg Martin
Logged

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1934
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

ich hab' jetzt vorerst mal beschlossen, den antrieb über die räder mittels zahnriemen zu realisieren.
im bild mit plexiglas, dann ohne plexi mit antrieb auf zwei räder oder nur über eins.

ob solche motoren (einer auf jeder seite) mit 12V stark genug sein würden?
http://www.ebay.at/itm/Getriebe-motor-12V-24V-DC-langsam-sehr-stark-Fensterheber-Grill-Valeo-404641-/161236090661?pt=Motoren_Getriebe&hash=item258a6b7f25

dazu diesen treiben:
https://www.sparkfun.com/products/9670

da kann man auch die momentane leistung abnehmen (falls das ding blockt).

schaun mer mal, was es so gibt im handel...

jetzt brauche ich noch eine vernünftige methode, zu messen, wie weit die beiden seiten schon gefahren sind (damit ich die beiden seiten synchronisieren kann, darf nicht verkanten).


gruß stefan


* Couch_Antrieb.gif (27.76 KB, 800x955 - viewed 38 times.)
« Last Edit: July 28, 2014, 02:39:02 pm by Eisebaer » Logged

Stuttgart
Offline Offline
God Member
*****
Karma: 11
Posts: 526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

das sieht gut aus :-)

wenn ich das richtig verstanden habe lässt du nun die Rollen die Arbeit machen und Fährst so das teil raus und rein.
du könntest einen "Drehgeber" anbringen und somit immer die Umdrehungen bestimmen und die Position so errechnen.

so ein Teil kannst du aus der Computer Maus aus bauen ;-)  wenn du noch eine mit Ball hast !!
die Teile wurden genommen um die Bewegung vom zu ermitteln um dann die Maus zu bewegen.

Gruß
Mücke
Logged

Arduino Mega 2560
Es scheint immer unmöglich zu sein ,bis es jemand macht.

Münsterland
Online Online
Faraday Member
**
Karma: 48
Posts: 2859
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Idee mit dem Drehgeber ist gut. Aber ob man die dafür aus einer alten Maus ausbauen sollte? Ich hab noch 1 zu Hause, aber die würde ich niemals dafür auseinanderbauen smiley-wink Weils schöne Nostalgie ist, und ich die tatsächlich letztes Jahr sogar noch gebrauchen musste. COM Adapter und PS2 Adapter mit USB Maus war nicht möglich.

Ich würde aber etwas robustere Drehgeber nehmen. Sowas zB
http://www.ebay.de/itm/15x-ALPS-EC11-Encoder-15fach-mit-Taster-Automotive-/301249694879?pt=Elektromechanische_Bauelemente&hash=item4623e18c9f

Die köntest sogar perfekt in dem kleinen Zahnrad oben einbauen. Mit jurs seiner ISR Methode funktioniert das Teil super. Weiß aber nicht, ob dies auch mit 2 Drehencodern geht. Glaube nämlich nicht. Kannst zu not ja kleine Tinys dranbauen die den aktuellen Stand weitersenden.

Das ganze würde ich aber nicht ohne zusätzliche Kalibrierung machen. Ein Endschalten Ausgefahren und Eingefahren auf beiden Seiten wäre ebenfalls zu empfehlen, dass die Encoder, falls die mal um 1 -2 falsch liegen, wieder korriegiert werden.
Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21881
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
ich hab' jetzt vorerst mal beschlossen, den antrieb über die räder mittels zahnriemen zu realisieren.
Willst Du mit dem Divan im Wohnzimmer herumfahren???

Grüße Uwe
Logged

Münsterland
Online Online
Faraday Member
**
Karma: 48
Posts: 2859
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da kannste besser deinen Kühlschrank motorisieren  smiley-evil
Oder baust dir einen BierButtler Bot
Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Stuttgart
Offline Offline
God Member
*****
Karma: 11
Posts: 526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

die sind ja mal Süß :-) hast du die schon mal im Einsatz gehabt?
können die vorwärts Rückwerts unterscheiden?

...
Das ganze würde ich aber nicht ohne zusätzliche Kalibrierung machen. Ein Endschalten Ausgefahren und Eingefahren auf beiden Seiten wäre ebenfalls zu empfehlen, dass die Encoder, falls die mal um 1 -2 falsch liegen, wieder korriegiert werden.
das ist ein guter Einwand !


Da kannste besser deinen Kühlschrank motorisieren  smiley-evil
...
ich bin dabei :-), welche Lösung gibt es für das Strom Problem? Akku hält nicht lange genug ;-(
Logged

Arduino Mega 2560
Es scheint immer unmöglich zu sein ,bis es jemand macht.

Münsterland
Online Online
Faraday Member
**
Karma: 48
Posts: 2859
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Drehencoder geht in beiden Richtungen. Vorwärts und Rückwärts wird wie bei anderen auch am besten mit dem GreyCode gelöst.

Code:
#define XTAL 16E6 // 16 MHz
#define PHASE_A (PIND & 1<<2) // PD2 (+) --- SW -- PD2 --- 10k --- (-)
#define PHASE_B (PIND & 1<<3) // PD3 (+) --- SW -- PD3 --- 10k --- (-)

volatile int8_t deltaEnc; // Drehgeberbewegung zwischen zwei Auslesungen im Hauptprogramm

const int8_t table[16] PROGMEM = { // Dekodertabelle
0, 0, -1, 0, 0, 0, 0, 1, // halbe Aufloesung
1, 0, 0, 0, 0, -1, 0, 0
};

ISR(TIMER1_COMPA_vect)
{
static int8_t last = 0;
last = (last << 2) & 0x0F;
if (PHASE_A) last |= 2;
if (PHASE_B) last |= 1;
deltaEnc += pgm_read_byte(&table[last]);
}

void encoderInit(void)
{
TCCR1A = 1 << WGM10;
TCCR1B = (1 << CS11) | (1 << CS10);
OCR1A = XTAL / 128.0 * 1e-3 - 0.5;
TIMSK1 |= 1 << OCIE1A;
}

int8_t encoderRead(void)
{
int8_t val;
cli();
val = deltaEnc;
deltaEnc = 0;
sei();
return val;
}

int main(void)
{
encoderInit();
sei();

while (1)
{
int8_t value;
value += encoderRead();
}
}

Bin mir jetzt nicht sicher, ob der Code von jurs kommt, oder ob ich denn anhand es Tutorials von mikrocontroller.net nachgebaut hab.



EDIT:

Hier weitere Infos   http://www.mikrocontroller.net/articles/Drehgeber -> Dekoder für Drehgeber mit wackeligen Rastpunkten
« Last Edit: July 28, 2014, 05:52:39 pm by sschultewolter » Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Stuttgart
Offline Offline
God Member
*****
Karma: 11
Posts: 526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



Drehencoder geht in beiden Richtungen. Vorwärts und Rückwärts wird wie bei anderen auch am besten mit dem GreyCode gelöst. ....

das die in beide Richtungen laufen ist mir schon klar jedoch benötigt man Spur A und B damit man vorwärts und Rückwerts auch auseinander halten kann. denn sonst sind die Impulse ja immer gleich.
und am Besten noch eine Z Spur so kann man ganze Umdrehungen einfacher mit zählen ;-)

habe mir das Kleine Nette teil noch nicht richtig angeschaut. :-(
Logged

Arduino Mega 2560
Es scheint immer unmöglich zu sein ,bis es jemand macht.

Münsterland
Online Online
Faraday Member
**
Karma: 48
Posts: 2859
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Teile haben Spur A und B, sowie C was jedoch der Taster selber ist. Wird hier natürlich dann nicht gebraucht. Z Spur gibts da nicht. Gibt es die überhaupt? Theoretisch kann man sich die ja zusammensetzen.

Ich habe das Teil selber mit einem Atmega328P, WS2812B und SPI TFT im EInsatz gehabt. Der Encoder war für die Menuführung. Tastendruck hat die Funktionen durchgeschaltet und über den Encoder selber wurden Werte von 0 - 255 in 1er Schritten geändert.
Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Stuttgart
Offline Offline
God Member
*****
Karma: 11
Posts: 526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cool,
kann auch sein das das Spur C genannt wird habe hier einen etwas Teureren liegen :-) und habe es noch immer nicht geschafft das teil anzuschließen :-( und zu testen :-(

jedoch ist das Kleine teil auch sehr interessant :-) erstreckt bei dem Preis :-)
Logged

Arduino Mega 2560
Es scheint immer unmöglich zu sein ,bis es jemand macht.

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21881
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die kleinen sind als Eingabegeräte vorgesehen nicht als Drehencoder um Drehzahl oder Drehwinkel zu messen.
Die kleinen arbeiten mechanisch mit Schleifkontakten und haben meist auch noch einen Taster eingebaut.

Grüße Uwe
Logged

Stuttgart
Offline Offline
God Member
*****
Karma: 11
Posts: 526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

... Die kleinen arbeiten mechanisch mit Schleifkontakten und haben meist auch noch einen Taster eingebaut. ...

hmm, mechanisch, schade, dann sind die für mich nicht geeignet, wobei ich mir dennoch gut vorstellen kann das die bei der Couch eingesetzt werden können.

die wird ja hoffentlich nicht mehrmals jeden Tag rein und raus bewegt ...
Logged

Arduino Mega 2560
Es scheint immer unmöglich zu sein ,bis es jemand macht.

Münsterland
Online Online
Faraday Member
**
Karma: 48
Posts: 2859
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Täglich mehrmals rein raus sollte auch dem Drehgeber kaum interessieren. Ansonsten wird der steckbar gemacht. Für das Geld was die guten Encoder kosten, kann er sich besser einen kleinen Beutel mit 700 - 1000 Stück von den Alps holen, falls der Verschleiß wirklich so groß ist.

Bei dem Aufbau von Stefan mache ich mir aber ebenfalls keiner sorgen, dass der Drehencoder falsch ist. Ich sehe da keiner Bedarf, mehr rein zu stecken. Nirgendswo Highspeed Motoren zu sehen
Logged

Gruß Stefan

Keine Code-Anfrage über die Persönlichen Nachrichten.

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1934
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

mal ein update.
wie das ganze aussehen und funktionieren soll, hab' ich soweit zusammen. siehe bild.

frage ist noch, woher ich die teile nehme. wir haben zwar eine laserschneidemaschine in der firma, die mehrere zentimeter dicken stahl schneiden kann, aber ich muß erst schauen, ob wir alle benötigten stärken herumliegen haben, außerdem hab' ich noch nirgends einen plan zum lasern der zahnriemenscheibe gefunden.

außerdem kann man keine so feinen zähne lasern (nicht in 10mm stärke), wie sie die motorwelle benötigt. da wäre eine runde, glatte welle mit nut oder aussparung besser. vielleicht hat ja einer von Euch eine quelle.
12V, drehzahl um 20 - 40 U/min, um die 4-5 Nm herum.

nächste woche fahr' ich mal in eine firma, die antriebselemente haben (eben zahnriemenscheiben usw.). vielleicht komm' ich da auf neue ideen.

das mit der kugelmaus ist eine gute idee, ich hab' schon mal eine an einen arduino angeschlossen, das hat damals gut funktioniert. muß schauen, wie sich das platzmäßig ausgeht, wenn nicht, nehm ich halt einen kleinen encoder.

jetzt geht's mal an bett-bauen, firma hat drei wochen zu, also kann ich da eh nix fertigen lassen.

gruß stefan


* Couch_Antrieb_3.gif (41.14 KB, 1000x1298 - viewed 18 times.)
Logged

Pages: 1 [2] 3   Go Up
Jump to: