Bascom atmega8

Gast #3204550
Lesenswert?

Atmega8

Es sollen nacheinander 2 Motoren per PWM angesteuert werden.
An jedem Motor ist ein Poti dran zur Positionsbestimmung.

Ein Schalter soll das Programm starten und beenden.

01. Schalter Eingang S1 Ein
02. Relais am Ausgang rel_1 setzen
03. Wert  von Potis Eingang Pa und Pb (ADC) Auslesen und Speichern 
(pos_mot_a und
      pos_mot_b)
04. Schalter Ein länger als 5 Minuten, beide Werte übernehmen und 
speicher als
      pos_mot_low_a und pos_mot_low_b ( überschreiben falls schon welche 
drin sind)
05. Ausgang Mot_a (PWM) ansteuern bis pos_mot_low_a erreicht
06. Ausgang Mot_b (PWM) ansteuern bis pos_mot_low_b erreicht
07. Schalter Eingang S1 Aus
08. Ausgang Mot_a (PWM) ansteuern bis pos_mot_a erreicht
09. Ausgang Mot_b (PWM) ansteuern bis pos_mot_b erreicht
10. Relais am Ausgang rel_1 zurücksetzen
Gast #3204562
Lesenswert?

Die Motoren sind so fertig aufgebaut mit den Potis.
Möchte an der Hardware nichts ändern.

Hab mehrmals angefangen und bis jetzt immer alles verworfen. Ich glaub 
mittlerweile das ich zu doof dafür bin. Daher der Hilfeschrei
Gast #3204589
Lesenswert?

Es sind Getriebemotoren 12 Volt. Einer für Auf/Ab und einer für 
Links/Rechts. Beide Motoren hängen jeweils an einer H-Brücke, gespeist 
mit 12 Volt. Die Drücke benötigt ein Signal für die Pulsweitenmodulation 
und je ein Signal für die Richtung.

Die Motoren hängen an einer Steuerung. Die Kabel der Motoren zur 
Steuerung sollen wenn S1 Eingeschaltet wird über Wechsler Relais vom 
Steuergerät getrennt und an den Controller Kontaktiert werden und wenn 
S1 Ausgeschaltet wird, nach erreichen der ursprünglichen Position wieder 
ans Steuergerät.

Das ist eine angefangene Bastelei von meinem Bruder, der vor 2 Wochen 
verstorben ist. Nun möchte ich das schnellstmöglich fertig stellen. Ich 
kenn mich damit nicht so sehr aus, das war sein Gebiet. Ich hab nur 
seine Zeichnungen da.

Die H-Brücke ist aus dem Asuro Wiki.
#3206117
Lesenswert?

Ich denke du solltest das tatsächlich selber schreiben.

Deine 'Logik-Beschreibung' da weiter oben ist nicht sehr logisch. Das 
klingt stark nach: Das wird ein endloses Projekt, weil du nicht in der 
Lage bist deine Anforderungen vernünftig zu beschreiben. Und das beginnt 
schon mit
>  Ein Schalter soll das Programm starten und beenden.
Ein Programm auf einem µC wird nicht gestartet oder beendet. Das läuft 
dauernd sobald Saft auf der Schaltung ist.

Alle in allem klingt die ganze Aufgabe nicht so schwer. Streich mal 
alles weg, was für den Anfang nicht unbedingt notwendig ist und fang mit 
den einfachen Dingen an. Kannst du zb deine Motoren per PWM ansteuern. 
Einfach nur ansteuern. Vergiss erst mal die Potis und speichern etc. 
etc. Einfach nur, dass die Motoren in die gewünschte Richtung 
entsprechend drehen. Nicht mehr.
Und von dort arbeitest du dich sukzessive in die Richtung vor, die du 
haben willst.

PS: die Sache mit den 5 Minuten klingt nicht besonders logisch. 
Überhaupt: der ganze Bedienungsvorgang klingt nicht sehr logisch. Für 
mich hört sich das alles nach irgdendeiner Art von Klappensteuerung an, 
wobei mir noch nicht klar ist, wie du da die Sollvorgabe eingeben 
willst, wenn alles was du hast die Motor-Positionspotis sind.

Im Ernst: Bei den wirren Vorgaben sieht jeder vor seinem geistigen Auge 
schon, dass das in eine stundenlange Umprogrammiererei ausartet und das 
alles nur aus dem Grund, weil du nicht in der Lage bist deinen 
Anforderungen konkret zu beschreiben. Und deswegen macht das auch keiner 
auch wenn das im Prinzip eigentlich recht einfach ist (für jemanden der 
Programmieren kann).
Gast #3206727
Lesenswert?

Big Mac (Gast) schrieb

Fabian schrieb:
> An jedem Motor ist ein Poti dran zur Positionsbestimmung.
Das arme Poti.
Darf es auch ein (Modelbau-)Servo sein?

Ich glaube dir ist der Unterschied zwischen Reglung und Steuerung nicht 
klar!
Gast #3206765
Lesenswert?

Fabian schrieb:
> Was bitte ist denn GENAU nicht zu verstehen?

Einfach nur das:

Fabian schrieb:
> Es sollen nacheinander 2 Motoren per PWM angesteuert werden.
> An jedem Motor ist ein Poti dran zur Positionsbestimmung.
>
> Ein Schalter soll das Programm starten und beenden.
>
> 01. Schalter Eingang S1 Ein
> 02. Relais am Ausgang rel_1 setzen
> 03. Wert  von Potis Eingang Pa und Pb (ADC) Auslesen und Speichern
> (pos_mot_a und
>       pos_mot_b)
> 04. Schalter Ein länger als 5 Minuten, beide Werte übernehmen und
> speicher als
>       pos_mot_low_a und pos_mot_low_b ( überschreiben falls schon welche
> drin sind)
> 05. Ausgang Mot_a (PWM) ansteuern bis pos_mot_low_a erreicht
> 06. Ausgang Mot_b (PWM) ansteuern bis pos_mot_low_b erreicht
> 07. Schalter Eingang S1 Aus
> 08. Ausgang Mot_a (PWM) ansteuern bis pos_mot_a erreicht
> 09. Ausgang Mot_b (PWM) ansteuern bis pos_mot_b erreicht
> 10. Relais am Ausgang rel_1 zurücksetzen

Oder anders gesagt, GENAU DAS!
#3206850
Lesenswert?

Fabian schrieb:
> 01. Schalter Eingang S1 Ein
> 02. Relais am Ausgang rel_1 setzen

Die Motoren werden von der Steuerung getrennt.

> 03. Wert  von Potis Eingang Pa und Pb (ADC) Auslesen und Speichern
> (pos_mot_a und
>       pos_mot_b)
> 04. Schalter Ein länger als 5 Minuten, beide Werte übernehmen und
> speicher als
>       pos_mot_low_a und pos_mot_low_b ( überschreiben falls schon welche
> drin sind)
> 05. Ausgang Mot_a (PWM) ansteuern bis pos_mot_low_a erreicht
> 06. Ausgang Mot_b (PWM) ansteuern bis pos_mot_low_b erreicht

Bei 03. werden die Potwerte gespeichert
Bei 04. werden sie als pos_mot_low gespeichert
Bei 05. und 06. sollen die Motoren dort hinfahren wo sie schon sind?

> 07. Schalter Eingang S1 Aus
> 08. Ausgang Mot_a (PWM) ansteuern bis pos_mot_a erreicht
> 09. Ausgang Mot_b (PWM) ansteuern bis pos_mot_b erreicht
> 10. Relais am Ausgang rel_1 zurücksetzen

Bei 07. 08. 09. tut sich nichts, denn die Motoren haben sich noch nicht 
bewegt.
Bei 10. ist die Steuerung wieder aktiv.

Also doch ganz einfach, das Relais wird von Schalter S1 betätigt, damit 
kann die Steuerung die Motoren nicht bewegen.

Oder habe ich die Funktionsbeschreibung gänzlich missverstanden?
Gast #3207134
Lesenswert?

01. Schalter Eingang S1 Ein
02. Relais am Ausgang rel_1 setzen (Motoren und Potis werden von der
    übergeordneten Steuerung getrennt)

03. Wert  von Potis Eingang Pa und Pb (ADC) Auslesen und Speichern
    (pos_mot_a und pos_mot_b)(Ausgangsposition des Motors)

04. Schalter Ein länger als 5 Minuten, beide Werte übernehmen und
    speicher als pos_mot_low_a und pos_mot_low_b
    (überschreiben falls schon welche drin sind)
    (Festlegung der Sollposition, durch die 5 Minuten veränderbar)

05. Ausgang Mot_a (PWM) ansteuern bis pos_mot_low_a erreicht
06. Ausgang Mot_b (PWM) ansteuern bis pos_mot_low_b erreicht


07. Schalter Eingang S1 Aus
08. Ausgang Mot_a (PWM) ansteuern bis pos_mot_a erreicht
09. Ausgang Mot_b (PWM) ansteuern bis pos_mot_b erreicht
10. Relais am Ausgang rel_1 zurücksetzen

Die Position der Motoren ist von Extern veränderbar, das Relais trennt 
die Verbindung zu dieser Steuerung.

Ich kann den Motor doch auf Sollposition bewegen, S1 betätigen und 5 
Minuten warten. Dann ist die Sollposition gespeichert.

Sind die Motoren auf Ausgangsposition und ich betätige S1, dann fahren 
beide nachdem die Ausgangsposition gespeichert wurde auf Sollposition 
und wenn ich S1 ausschalte wieder zurück auf Ausgangsposition. Das 
Relais geht wieder aus und die externe Steuerung ist wieder aktiv.
#3207207
Lesenswert?

Deine Beschreibung ist unlogisch. MCs können aber nur logische Programme 
abarbeiten.
Einen Ablauf muß man immer so erstellen, daß jeder Zustand und jeder 
Übergang in einen anderen Zustand eindeutig ist. Programme können nicht 
durch Gedanken gesteuert werden.

Fabian schrieb:
> 04. Schalter Ein länger als 5 Minuten, beide Werte übernehmen und
>     speicher als pos_mot_low_a und pos_mot_low_b
>     (überschreiben falls schon welche drin sind)
>     (Festlegung der Sollposition, durch die 5 Minuten veränderbar)

D.h. nach 5min wird die Position gespeichert.

> 05. Ausgang Mot_a (PWM) ansteuern bis pos_mot_low_a erreicht
> 06. Ausgang Mot_b (PWM) ansteuern bis pos_mot_low_b erreicht

Da bewegt sich nichts, wir sind doch schon auf der in 4. gespeicherten 
Position.


Beschreib dochmal den Sinn der Vorrichtung, vielleicht versteht man dann 
etwas.
Gast #3207738
Lesenswert?

Stimmt!

Aber nehmen wir mal an wir machen das, dann habe ich eine fest 
definierte Position.
Wenn sie Motoren jetzt eine andere Position haben und ich S1 betätige 
dann bewegen sie sich in die zuvor gespeicherte Position und beim 
ausschalten von S1 wieder zurück, wenn dies unter 5 Minuten geschiet.

Oder bin ich mit meinen Gedanken komplett falsch?
#3207744
Lesenswert?

Fabian schrieb:
> Stimmt!
>
> Aber nehmen wir mal an wir machen das, dann habe ich eine fest
> definierte Position.

Schön. Nehmen wir das mal an.

> Wenn sie Motoren jetzt eine andere Position haben und ich S1 betätige
> dann bewegen sie sich in die zuvor gespeicherte Position

richtig.
Und 5 min später stehen sie immer noch in dieser zuvor gespeicherten 
Position. Welche dann erneut gespeichert wird.

-> Auf diese Art wirst du es nie schaffen eine neue abweichende Position 
zu speichern. Es sei denn sie wurde zuvor schon gespeichert. Wodurch 
sich die Katze in den Schwanz beißt.

Ich kann mich nur PeDa (erneut) anschliessen
> Beschreib dochmal den Sinn der Vorrichtung, vielleicht versteht man dann etwas.


Dieses ganze Konzept mit Relais umschalten etc. kommt mir seltsam vor. 
In den meisten Fällen ist es wesentlich einfacher, wenn der neue µC 
einfach alles übernimmt als das man einer vorhandenen Steuerung ins 
Handwerk pfuscht. Solange die nicht zu kompliziert ist, 
selbstverständlich.
Gast #3207838
Lesenswert?

Wenn es so wäre, würd ich es sagen. Weiter oben hab ich geschrieben 
warum und wozu.
Und in diesem Fall ist es extrem frech etwas anderes zu behaupten.

Ich war mir der Meinung das solche Platformen dazu gedacht sind Gedanken 
und Erfahrungen auszutauschen und Hilfe zu bekommen und nicht um 
Mutmaßungen und Behauptungen gegenüber Personen zu äußern dessen 
Hintergrund man nicht kennt.

Mag sein das alles verwirrend klingt und ich wohl nicht in der Lage bin 
es deutlicher zu beschreiben.

Das ist auch der Grund warum ich frage. Wäre es anders würd ich es ja 
selber machen.

Ps. Aus dem Schulalter bin ich raus.
#3207852
Lesenswert?

Fabian schrieb:
> Weiter oben hab ich geschrieben
> warum und wozu.
Wo?

Fabian schrieb:
> Die Motoren sind so fertig aufgebaut mit den Potis.
> Möchte an der Hardware nichts ändern.
>
> Hab mehrmals angefangen und bis jetzt immer alles verworfen. Ich glaub
> mittlerweile das ich zu doof dafür bin.
So macht man das nicht. Fang einfach mit was (für dich) Einfacherem an. 
Grundlagen. LED.

So eine komplexe Sache aus der Ferne beurteilen, ist etwas schwierig.

Edit:

Fabian schrieb:
> Ich war mir der Meinung das solche Platformen dazu gedacht sind Gedanken
> und Erfahrungen auszutauschen und Hilfe zu bekommen und nicht um
> Mutmaßungen und Behauptungen gegenüber Personen zu äußern dessen
> Hintergrund man nicht kennt.

Genau. Hobbymäßig und in der Freizeit! Und da muss das auch Spaß 
machen...

Fabian schrieb:
> Hat jemand Lust ein Programm für mich in bascom zu schreiben?
> Ich bekomm es nicht hin.
> Würd es auch honorieren.
... da geht man in einen Laden. Das geht am schnellsten.
Gast #3207862
Lesenswert?

Da!


Fabian schrieb:
> Es sind Getriebemotoren 12 Volt. Einer für Auf/Ab und einer für
> Links/Rechts. Beide Motoren hängen jeweils an einer H-Brücke, gespeist
> mit 12 Volt. Die Drücke benötigt ein Signal für die Pulsweitenmodulation
> und je ein Signal für die Richtung.
>
> Die Motoren hängen an einer Steuerung. Die Kabel der Motoren zur
> Steuerung sollen wenn S1 Eingeschaltet wird über Wechsler Relais vom
> Steuergerät getrennt und an den Controller Kontaktiert werden und wenn
> S1 Ausgeschaltet wird, nach erreichen der ursprünglichen Position wieder
> ans Steuergerät.
>
> Das ist eine angefangene Bastelei von meinem Bruder, der vor 2 Wochen
> verstorben ist. Nun möchte ich das schnellstmöglich fertig stellen. Ich
> kenn mich damit nicht so sehr aus, das war sein Gebiet. Ich hab nur
> seine Zeichnungen da.
>
> Die H-Brücke ist aus dem Asuro Wiki.
#3207867
Lesenswert?

Fabian schrieb:
> Da!
>
>
> Fabian schrieb:
>> Es sind Getriebemotoren 12 Volt. Einer für Auf/Ab und einer für
>> Links/Rechts. Beide Motoren hängen jeweils an einer H-Brücke, gespeist
>> mit 12 Volt. Die Drücke benötigt ein Signal für die Pulsweitenmodulation
>> und je ein Signal für die Richtung.
>>
>> Die Motoren hängen an einer Steuerung. Die Kabel der Motoren zur
>> Steuerung sollen wenn S1 Eingeschaltet wird über Wechsler Relais vom
>> Steuergerät getrennt und an den Controller Kontaktiert werden und wenn
>> S1 Ausgeschaltet wird, nach erreichen der ursprünglichen Position wieder
>> ans Steuergerät.
>>
>> Das ist eine angefangene Bastelei von meinem Bruder, der vor 2 Wochen
>> verstorben ist. Nun möchte ich das schnellstmöglich fertig stellen. Ich
>> kenn mich damit nicht so sehr aus, das war sein Gebiet. Ich hab nur
>> seine Zeichnungen da.
>>
>> Die H-Brücke ist aus dem Asuro Wiki.

Alles schon und gut.
Aber wozu das ganze?

Steuert das eine Web-Cam an, oder öffnet das im Kuhstall die Belüftung 
oder .... was?

Tritt mal einen Schritt zurück und beschreib das Problem das es zu lösen 
gilt und nicht wie angedacht war es zu lösen.
Gast #3207996
Lesenswert?

Es sind 2 Metallplatten, verbunden über eine kleine Box in der sich 2 
Getriebemotoren für 4 Richtungen befinden.

Gesteuert wird dies über 4 Tasten.

Die Idee ist jetzt, über einen Schalter beim einschalten eine Position 
anzufahren und beim ausschalten wieder zurück in die ursprüngliche 
Position.

Die Position, die es anzufahren gilt, soll veränderbar sein, auch 
mittels Schalter.

Im Normalfall ist der Schalter unter 5 Minuten betätigt.

Ich lege also den Schalter um und die Motoren bewegen sich auf eine 
Position, schalte ich aus, wieder zurück auf die vorherige Position.

Das ganze gehört zu einer Modell Schneeraupe.
#3208010
Lesenswert?

Das ganze hört sich danach an, als ob es 10 mal einfacher wäre, die 4 
Taster generell über den Mega zu führen und der Mega, und nur der Mega 
steuert die Motoren an. Also komplett ohne dieses ganze Relais Zeugswer.

Dazu noch ein 5.ter Taster, mit dem man dem Mega sagt: Jetzt merken
und ein Schalter mit dem man die gespeicherte Position wieder abrufen 
und arretieren kann (dann sind die Taster wirkungslos) bzw. die Wirkung 
der 4 Tasten wieder freigibt.

Pins hat der Mega genug, so dass das erst mal überhaupt kein Problem 
ist.
#3208020
Lesenswert?

Fabian schrieb:
> Wenn nicht 100x einfacher. Aber die Steuerung soll bestehen bleiben.

Macht die irgendwas besonderes?

Abgesehen davon würde ich die Sache mit den 5 Minuten bleiben lassen. Da 
gibt es dann eben noch einen Taster mit der Funktionalität 'Jetzt 
merken'. Auch hier wiederrum: Pins hat der Mega genug. Es gibt da 
wirklich erst mal keinen Grund mit Gewalt alles an 'Bedienung' in einen 
einzigen Schalter zu quetschen.
Gast #3208027
Lesenswert?

Einen Umschalter um andere Motoren zu steuern. Ich wollt mit dem Mega 
die Leitungen zu den 2 Motoren abgreifen, da nur diese Einheit dies 
Funktion haben soll.

Über einen 2ten Schalter/Taster hab ich auch schon nachgedacht, wenn es 
aber mit dem einen realisierbar ist wäre es schöner.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren