PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : In Dash tft Ansteuerung



aeon80
12.11.2010, 19:13
Hallo erstmal :) - Bin neu hier und viell kann mir jemand weiterhelfen bei meinem problem...

Hab mir bei ebay einen defekten indash Monitor fürs Auto geschossen...

Monitor wird sowieso durch einen andren ersetzt mir gings nur um die in dash mechanik und genau da setzt das Problem an


Der monitor fährt zuerst mit Motor 1 (wie beim cd rom Laufwerk) heraus und Motor 2 klappt den Monitor dann nach oben.

Gesteruert wurde das ganze über ne "up" und "down" Taste...

Wies jetzt sein soll: drücken der "up" taste - Monitor fährt zuerst ganz raus und klappt dann bis ganz nach oben - "Down" taste - motor fährt je nach Drückdauer nach unten

realisiert is jetzt so dass die Übergabe der Steuerungssignale an die 2 Motoren ein schalter verbaut is, der bei "eingeklapptem" Display gedrückt ist


Wie liesse sich so eine Steuerung relativ einfach realisieren? Oder gibts da viell schon was fertiges? mit µC habe ich bis jetzt absolut keine Erfahrung gemacht


DANKE!!!

oZe
12.11.2010, 20:57
Also am einfachsten ist das wie so oft mit einem Mikrocontroller. Wichtig zu wissen wär erstmal was das für Motoren sind. Ganz normale DC Motoren oder Schrittmotoren (zu erkennen an an der Anzahl der Kabel pro Motor).
Da es einen Endkontakt gibt würde ich erstmal auf normale DC Motoren tippen.
Zur Ansteuerung würde ich folgendes Vorschlagen:
Du nimmst einen Mikrocontroller den du mit 2 Schaltern ausstattest. Ein Schalter um das Display komplett auszufahren (also Motor 1 auf Endposition und Motor 2 auf Endposition) und ein Schalter um das Display im nachhinein nach unten wie du es wünschst. Zusätzlich muss der Endkontakt des ersten Motors an den Mikrocontroller gelegt werden um feststellen zu können wann der Monitor ganz eingefahren ist.

Problem an der ganzen Sache wird sein: Wenn nur der Motor 1 einen Endkontakt hat (und wirklich auch nur EINEN) dann kannst du nicht überprüfen wann Motor 1 ganz ausgefahren ist sondern nur wann dieser ganz eingefahren ist. Somit müsstest du beim ausfahren des Displays mit einer zuvor getesteten Zeit arbeiten. Hat zur folge das der Motor eventuell nicht immer ganz bis zum ende fährt oder aber eine Zeit lang gegen den Anschlag läuft aufgrund der sich ändernden Zeit die das Display zum ausfahren brauchen wird je nach Temperator, verschmutzung der Zahnräder etc.
Wenn Motor 2 gar keinen Endkontakt hat (also weder für "ganz draußen" oder "ganz eingefahren") hast du da genau das gleiche Problem.
Zusätzlich stellt sich mir die Frage wie du bei deiner Idee das Display wieder ganz einfahren willst. Wenn du das Display einmal ganz draussen hast kannst du mit der zweiten Taste ja nur noch die Neigung des Displays einstellen. Ich würde daher vorschlagen den ersten schalter einfach doppelt zu belegen. Also einmal drücken = Ganzes Display ausfahren. Beim zweiten mal drücken wieder ganz einfahren.

Zur Ansteuerung musst du noch ein bischen Hardware investieren um die Motoren in beide Richtungen bewegen zu können (Stichwort H-Brücke).
Die Software für das ganze Ding sollte kein Problem darstellen für jeden der ein bischen Programmieren kann. Macht dir mit sicherheit auch jemand aus dem Forum wenn du nett Bitte sagst ;-)


Am besten klären wir hier erstmal die aufgetretenen Fragen:
- Was für Motoren sind es?
- Wirklich nur ein Endkontakt an Motor 1?
- Wieviel Strom ziehen die Motoren?

Mfg

Oze

aeon80
18.11.2010, 17:39
Hi Oze

Danke mal für deine rasche Antwort!

- Komm leider jetzt erst dazu zu antworten

sind 2 "normale" DC Motoren arbeiten mit 12V

es gibt wirklich nur einen "Schaltkontakt" der registriert die "Neigung" des Displays - ich denk aber nicht dass es jetzt ein riesen Problem wäre einen zweiten Schaltkontakt zu integrieren (ob ganz ausgefahren oder nicht)

Dein Lösungsansatz mit der Belegung der Tasten gefällt mir sehr gut!

Machts einen Sinn wenn ich Bilder vom ganzen Mechanismus reinstell?


DANKE


mfg

oZe
18.11.2010, 17:58
Ok dann halte ich folgenden Aufbau für sinnvoll:
Ein AtMega8 mit 2 H-Brücken für den entsprechenden Strom den der Motor zieht (ich gehe mal von rund 100mA aus aber das solltest du vorher testen bzw. messen). Am Display würde ich jeweils endkontakte anbringen. Jeweils einen für Anfangsposition und einen für die Endposition (bei dem Neigungsmotor schon vorhanden). Da gibt es genug kleine Mikrotaster bei Reichelt etc. Du musst eben schauen wie du die möglichst gut am Displayrahmen angebracht bekommmst.
Diese Kontakte legst du jeweils an eine eingang des AtMegas. Jetzt bist du schon in der Situation die Motoren anzusteuern und festzustellen wann die Motoren ganz eingefahren bzw. ausgefahren sind. Fehlen also nur noch die Taster zur Steuerung. Da musst du dir eben welche aussuchen die dir gefallen vom Design her da ich davon ausgehe das das ganze wieder in ein Auto soll und somit zum Interieur passen sollte. Diese müssen dann ebenfalls an 2 Pins des AtMega. Ein programm könnte man dann in folgender Form schreiben:
Taster 1 = Taster zum kompletten aus und einfahren
Taster 2 = Taster zur Neigungsverstellung
Motor 1 = Motor zum ausfahren
Motor 2 = Motor für die Neigung


if (Taster 1 = 1)
{
if (Motor1 = Startposision && Motor 2 = Startposition)
{
while (Motor 1 != Endposition)
{
Motor 1 = Ausfahren
}
while (Motor2 != Endposition)
{
Motor2 = Ausfahren
}
}

if (Motor1 = Endposition && Motor 2 = Endposition)
{
while (Motor 2 != Startposition)
{
Motor 2 = Einfahren
}
while (Motor1 != Startposition)
{
Motor1 = Einfahren
}
}
}

while (Taster2 = 1)
{
if (Motor2 = Endposition)
{
while (Taster2 = 1 && Motor 2 != Startposition)
{
Motor2 =Einfahren
}
}
else
{
while (Taster2 = 1 && Motor 2 != Endposition)
{
Motor 2 = Ausfahren
}
}
}




Das ist natürlich nur ein grobes in 2 Minuten geschriebenes Programm und kann noch fehler enthalten und ist selbstverständlich Pseudocode ;-)
Ich hoffe ich konnte dir helfen!