Sensor-Ansteuerung und Motorsteuerung mit Endschalter

Im Unterforum Projekte im Selbstbau - Beschreibung: Selbstbau von Elektronik und Elektro

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 26 11 2025  15:15:40      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Projekte im Selbstbau        Projekte im Selbstbau : Selbstbau von Elektronik und Elektro

Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 Nächste Seite )      


Autor
Sensor-Ansteuerung und Motorsteuerung mit Endschalter
Suche nach: sensor (5520) motorsteuerung (541) endschalter (872)

    







BID = 849340

Sensorfreak71

Gelegenheitsposter



Beiträge: 65
 

  



Zitat :
Der Code ist bald fertig. Entschuldigung, dass es Jahrhunderte dauert


nur keine Hektik
Mir ist wichtiger dass ich die Schaltung nachher einfach bauen kann und dass sie genau das macht was sie soll.
Dann warte ich gerne noch etwas drauf...


_________________
** wenn möglich automatisch - wenn automatisch dann smooth **

BID = 849414

GerDominator

Stammposter



Beiträge: 233

 

  

Ich brauche eine Frequenz für die Rechteckschwingung! Ich habe keine Ahnung wie ich ich sie wählen soll. Aktuell habe ich sie auf 0,5kHz eingestellt, also relativ langsam.

BID = 849469

Offroad GTI

Urgestein



Beiträge: 12830
Wohnort: Cottbus

Die kannst du auch gut und gerne zu 5kHz wählen.
20kHz wären auch ganz interessant, weil du dann über der Hörschwelle bist.




_________________
Theoretisch gibt es zwischen Theorie und Praxis keinen Unterschied. Praktisch gibt es ihn aber.

BID = 849898

GerDominator

Stammposter



Beiträge: 233

So hier ist der Quellcode. Ich habe den Code via wine auf Linux geschrieben und ihn dann in eine DOC Datei konvertiert, weshalb es jetzt zu Datenverlusten gekommen ist, beispielsweise bei den Umlauten.
Sollte aber eigentlich kein Problem sein.

Im Programm fehlen noch ein Smooth Start und Stopp, ein Abbruch des Motorlaufs nach Zeitüberschreitung und eine andere Geschwindigkeit beim Schließen als beim Öffnen.

Ich wäre dankbar wenn jmd anderes diese Ergänzungen noch machen könnte, weil ich habe momentan absolut keine Zeit mehr

Ihr seht ja wie lange der Code schon gedauert hat

Ich habe ihn auch noch nicht simuliert. Ich wäre dankbar, wenn jmd den Code auf Fehler untersuchen könnte...


BID = 849912

Offroad GTI

Urgestein



Beiträge: 12830
Wohnort: Cottbus


Offtopic :

Zitat :
Ich habe den Code via wine auf Linux geschrieben und ihn dann in eine DOC Datei konvertiert
Es hat aber nicht jeder das MS-Office Paket auf dem Rechner.

Hier im Forum gibt es doch eine Möglichkeit, Quellcode hochzuladen.





_________________
Theoretisch gibt es zwischen Theorie und Praxis keinen Unterschied. Praktisch gibt es ihn aber.

BID = 850010

GerDominator

Stammposter



Beiträge: 233



Code :

;**********************************************************************************

;
; Datum: 29.09.2012
; Name: GerDominator
; Projekt: Bei diesem Programm handelt es sich um eine Motorsteuerung mit zwei Endschaltern.
; Der Motor wird durch pulsweitenmodulierte Signale gesteuert, die Geschwindigkeit wird
; durch ein analoges Signal eines Potis vorgegeben. Wird nach festgelegter Zeit eine Endposition
; nicht erreicht, so schaltet der Motor automatisch ab.
;
;**********************************************************************************

list p=16f876a
#include <p16f876a.inc>

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF_ & _PWRTE_OFF & _XT_OSC ;Setzen der Konfigurationsbits
& _WRT_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF

;==========
; Definitionen
;==========

#define Sensor PORTA, 0 ;Der Naeherungssensor liegt an Pin AN0
#define End_1 PORTB, 1 ;Endschalter 1 (Klappe zu) liegt an Pin RB0
#define End_2 PORTB, 4 ;Endschalter 1 (Klappe auf) liegt an Pin RB1

;==========
;Variablen
;==========

w_temp EQU 0x70 ;alle Variablen befinden sich in Bank 0
status_temp EQU 0x71
CALC_L_1 EQU 0x20
CALC_H_1 EQU 0x21
CALC_L_2 EQU 0x22
CALC_H_2 EQU 0x23

;==========
;Makros
;==========

Bank_0 macro
bcf STATUS,RP0
bcf STATUS,RP1
endm

Bank_1 macro
bsf STATUS,RP0
bcf STATUS,RP1
endm

Bank_2 macro
bcf STATUS,RP0
bsf STATUS,RP1
endm

Bank_3 macro
bsf STATUS,RP0
bsf STATUS,RP1
endm

;_____________________________________________________________________________

ORG 0x000 ;Sprungadresse nach einem Reset
clrf PCLATH ;Rücksetzen des Pagebits

ORG 0x004 ;Interrupt-Adresse
movwf w_temp ;Sicherung des W-Registers
movf STATUS,w ;Verschiebeng des Status-Registers in das W-Register
movwf status_temp ;Sicherung des Status-Registers

;--------------------------------
;Möglicher Interruptcode
;
;
;
;
;--------------------------------

movf status_temp,w ;Kopie des Status-Registers ins W-Register holen
movwf STATUS ;Rücksicherung in das Status-Register
swapf w_temp,f ;Rücksicherung ins W-Register
swapf w_temp,w
retfie

;_____________________________________________________________________________

start ;Programmbeginn

;==========
;Initialisierungen
;==========

Bank_0 ;Umschalten auf Bank 0
clrf PORTA ;Alle Bits von Port A auf 0 setzen
clrf PORTB ;Alle Bits von Port B auf 0 setzen
clrf PORTC ;Alle Bits von Port C auf 0 setzen

Bank_1 ;Umschalten auf Bank 1
movlw b'10000101' ;Pin RA0, RA1 = Analoge Eingänge
;Ergebnis wird rechtsbündig abgespeichert
movwf ADCON1 ;Der binäre Wert wird ins ADCON1 Register geladen
movlw b'11111101' ;Deklaration der Ein- und Ausgänge
;Eingänge = RA0, RA1, RA3, RA5
;Ausgänge = RA2, RA4
movwf TRISA

movlw b'11011011' ;Deklaration der Ein- und Ausgänge
;Eingänge = RB0, RB1, RB3, RB4, RB6, RB7
;Ausgänge = RB2, RB5
movwf TRISB

movlw b'11111001' ;Deklaration der Ein- und Ausgänge
;Eingänge = RC0, RC3, RC4, RC5, RC6, RC7
;Ausgänge = RC1, RC2
movwf TRISC

Sub16 ;Unterprogramm in welchem zwei Konstanten von den zwei Registern
;mit dem digitalisiertem Analogwert abgezogen werden
movf CALC_L_2, W ;Folgende Rechung:
subwf CALC_L_1, F ;CALC_L_1 - CALC_L_2 = CALC_L_1
btfss STATUS, C ;
incf CALC_H_2 ;CALC_H_1 - CALC_H_2 = CALC_H_1
movf CALC_H_2, W ;
subwf CALC_H_1, F ;
return


main

Geschwindigkeit
Bank_1
clrf ADRESL ;Löschen des niederwertigen Teils des AD-Ergebnisses

Bank_0
clrf ADRESH ;Löschen des höherwertigen Teils des AD-Ergebnisses

bsf ADCON0, ADON ;ADON Bit wird gesetzt und somit das AD-Modul gestartet
bsf ADCON0, GO_DONE ;AD-Wandlung starten
btfsc ADCON0, GO_DONE
goto $-1 ;Warte bis das Bit GO_DONE auf 0 gesetzt wird, die AD-Wandlung
;also vollendet ist


;==========================================================
;SPANNUNG < 1V ?
;==========================================================
movf ADRESH, W ;Den höherwertigen Teil des Analogwerts in das
movwf CALC_H_1 ;entsprechende Register kopieren

Bank_1
movf ADRESL, W ;Den niederwertigen Teil des Analogwerts in das
;entsprechende Register kopieren
Bank_0
movwf CALC_L_1

movlw 0x00 ;0x00 = d'204'
movwf CALC_H_2
movlw 0xCC
movwf CALC_L_2
call Sub16 ;Rufe Unterprogramm auf

btfss STATUS, C ;Ist das Ergegnis negativ ist das Bit C=0
;Wenn C=1 --> Ergebnis positiv --> Spannung nicht unter 1V
goto Geschwindigkeitsstufe_1 ;Wenn Spannung unter 1V, gehe zu Geschw.st.1

;==========================================================
;SPANNUNG 1V < x< 2V ?
;==========================================================
movf ADRESH, W ;Den höherwertigen Teil des Analogwerts in das
movwf CALC_H_1 ;entsprechende Register kopieren

Bank_1
movf ADRESL, W ;Den niederwertigen Teil des Analogwerts in das
;entsprechende Register kopieren
Bank_0
movwf CALC_L_1
movlw 0x01 ;0x0199 = d'409'
movwf CALC_H_2
movlw 0x99
movwf CALC_L_2
call Sub16 ;Rufe Unterprogramm auf

btfss STATUS, C ;Ist das Ergegnis negativ, ist das Bit C=0
;Wenn C=1 --> Ergebnis positiv --> Spannung nicht zw. 1V u. 2V
goto Geschwindigkeitsstufe_2 ;Wenn Spannung unter 1V, gehe zu Geschw.st.2

;==========================================================
;SPANNUNG 2V < x< 3V ?
;==========================================================
movf ADRESH, W ;Den höherwertigen Teil des Analogwerts in das
movwf CALC_H_1 ;entsprechende Register kopieren

Bank_1
movf ADRESL, W ;Den niederwertigen Teil des Analogwerts in das
;entsprechende Register kopieren
Bank_0
movwf CALC_L_1
movlw 0x02 ;0x0266 = d'614'
movwf CALC_H_2
movlw 0x66
movwf CALC_L_2
call Sub16 ;Rufe Unterprogramm auf

btfss STATUS, C ;Ist das Ergegnis negativ, ist das Bit C=0
;Wenn C=1 --> Ergebnis positiv --> Spannung nicht zw. 2V u. 3V
goto Geschwindigkeitsstufe_3 ;Wenn Spannung unter 1V, gehe zu Geschw.st.3

;==========================================================
;SPANNUNG 3V < x< 4V ?
;==========================================================
movf ADRESH, W ;Den höherwertigen Teil des Analogwerts in das
movwf CALC_H_1 ;entsprechende Register kopieren

Bank_1
movf ADRESL, W ;Den niederwertigen Teil des Analogwerts in das
;entsprechende Register kopieren
Bank_0
movwf CALC_L_1
movlw 0x03 ;0x0333 = d'819'
movwf CALC_H_2
movlw 0x33
movwf CALC_L_2
call Sub16 ;Rufe Unterprogramm auf

btfss STATUS, C ;Ist das Ergegnis negativ, ist das Bit C=0
;Wenn C=1 --> Ergebnis positiv --> Spannung nicht zw. 3V u. 4V
goto Geschwindigkeitsstufe_4 ;Wenn Spannung unter 1V, gehe zu Geschw.st.4

;==========================================================
;SPANNUNG > 4V ?
;==========================================================

goto Geschwindigkeitsstufe_5

Geschwindigkeitsstufe_1
Bank_0
MOVLW D'8'
MOVWF CCPR1L ; 1/6 Tastverhältnis
goto Sensorabfrage

Geschwindigkeitsstufe_2
Bank_0
MOVLW D'16'
MOVWF CCPR1L ; 2/6 Tastverhältnis
goto Sensorabfrage

Geschwindigkeitsstufe_3
Bank_0
MOVLW D'24'
MOVWF CCPR1L ; 3/6 Tastverhältnis
goto Sensorabfrage

Geschwindigkeitsstufe_4
Bank_0
MOVLW D'32'
MOVWF CCPR1L ; 4/6 Tastverhältnis
goto Sensorabfrage

Geschwindigkeitsstufe_5
Bank_0
MOVLW D'40'
MOVWF CCPR1L ; 5/6 Tastverhältnis
goto Sensorabfrage


Sensorabfrage ;Label Sensorabfrage
Bank_1
clrf ADRESL ;Löschen des niederwertigen Teils des AD-Ergebnisses

Bank_0
clrf ADRESH ;Löschen des höherwertigen Teils des AD-Ergebnisses

bsf ADCON0, ADON ;ADON Bit wird gesetzt und somit das AD-Modul gestartet
bsf ADCON0, GO_DONE ;AD-Wandlung starten
btfsc ADCON0, GO_DONE
goto $-1 ;Warte bis das Bit GO_DONE auf 0 gesetzt wird, die AD-Wandlung
;also vollendet ist

;==========================================================
;SPANNUNG < 0,5V ?
;==========================================================
movf ADRESH, W ;Den höherwertigen Teil des Analogwerts in das
movwf CALC_H_1 ;entsprechende Register kopieren

Bank_1
movf ADRESL, W ;Den niederwertigen Teil des Analogwerts in das
;entsprechende Register kopieren
Bank_0
movwf CALC_L_1

movlw 0x00 ;0x0066 = d'102'
movwf CALC_H_2
movlw 0x66
movwf CALC_L_2
call Sub16 ;Rufe Unterprogramm auf

btfss STATUS, C ;Ist das Ergegnis negativ ist das Bit C=0
;Wenn C=1 --> Ergebnis positiv --> Spannung nicht unter 0,5V
goto E_2 ;Wenn die Spannung > 0,5V nicht erreicht wurde, soll geprüft werden
;ob der Motor sich noch in Endlage 2 befindet. Wenn ja, so soll er in
;Endlage 1 wechseln

;==========================================================
;SPANNUNG 0,5V < x< 1,2V ? ---- Entfernung 1
;==========================================================

;Wenn die Entfernung 1 nicht erwünscht ist, weil dann der Motor schon anfährt obwohl er noch gar
;nicht soll, so muss im goto-Befehl nur, wie bei Spannung < 0,5V, goto E_2 anstatt goto E_1 stehen

movf ADRESH, W ;Den höherwertigen Teil des Analogwerts in das
movwf CALC_H_1 ;entsprechende Register kopieren

Bank_1
movf ADRESL, W ;Den niederwertigen Teil des Analogwerts in das
;entsprechende Register kopieren
Bank_0
movwf CALC_L_1
movlw 0x00 ;0x00F6 = d'246' = 1,2V
movwf CALC_H_2
movlw 0xF6
movwf CALC_L_2
call Sub16 ;Rufe Unterprogramm auf

btfss STATUS, C ;Ist das Ergegnis negativ, ist das Bit C=0
;Wenn C=1 --> Ergebnis positiv --> Spannung nicht zw. 0,5V u. 1,2V
goto E_1 ;Wenn Spannung zw. 0,5V und 1,2V, dann gehe zu E_1

;==========================================================
;SPANNUNG > 1,2V ? ----- Entfernung 2
;==========================================================

goto E1 ;Wenn Spannung über 1,2V, gehe zu E_1


E_1
Bank_1
btfsc End_1 ;Prüfe ob an Pin End_1 5V anliegen, wenn ja fahre in E2
;wenn nein, gehe zur Sensorabfrage
goto MOVE_TO_E2
goto Sensorabfrage

E_2
Bank_1
btfsc End_2 ;Prüfe ob an Pin End_2 5V anliegen, wenn ja fahre in E1
;wenn nein, gehe zur Sensorabfrage
goto MOVE_TO_E1
goto Sensorabfrage



MOVE_TO_E1
Bank_0 ;Bank nicht ganz sicher
bcf T2CON,T2CKPS1 ;Vorteiler 1:1
bcf T2CON,T2CKPS0
bsf T2CON,TMR2ON ; Timer2 einschalten

Bank_1
movlw D'48'
movwf PR2 ; Frequenz auf 20 kHz einstellen
; RC2/CCP1 auf Ausgang stellen
Bank_1
bcf TRISC, 2 ; RC2: output=0

Bank_0 ; PWM MODE mit CCP1 initialisieren
clrf CCP1CON ; CCP1-Modus aus
bsf CCP1CON,CCP1M3 ; CCP1-Modus PWM-Mode
bsf CCP1CON,CCP1M2


loop
btfss End_1 ;End_1 durchgeschaltet?
goto loop
clrf CCP1CON ;Schalte PWM wieder aus
goto Sensorabfrage



MOVE_TO_E2

Bank_0
bcf T2CON,T2CKPS1 ;Vorteiler 1:1
bcf T2CON,T2CKPS0
bsf T2CON,TMR2ON ; Timer2 einschalten

Bank_1
movlw D'49'
movwf PR2 ; Frequenz auf 20 kHz einstellen
; RC2/CCP1 auf Ausgang stellen
Bank_1
bcf TRISC, 2 ; RC2: output=0

Bank_0 ; PWM MODE mit CCP2 initialisieren
clrf CCP2CON ; CCP2-Modus aus
bsf CCP2CON,CCP2M3 ; CCP2-Modus PWM-Mode
bsf CCP2CON,CCP2M2


loop
btfss End_2 ;End_2 durchgeschaltet?
goto loop
clrf CCP2CON ;Schalte PWM wieder aus
goto Sensorabfrage

END


BID = 850011

GerDominator

Stammposter



Beiträge: 233

Das kleine Fensterchen da ist halt auch nicht wirklich vorteilhaft

BID = 850025

GerDominator

Stammposter



Beiträge: 233


Zitat :
GerDominator hat am 30 Sep 2012 10:04 geschrieben :

Das kleine Fensterchen da ist halt auch nicht wirklich vorteilhaft

Es sei denn, man kopierts sich einfach von dem Fensterchen in ein entsprechendes Programm. Ist wohl am sinnvollsten.

BID = 850504

GerDominator

Stammposter



Beiträge: 233

Mmh wahrscheinlich meldet sich keiner, weil es total viele Formatierungsfehler gibt, wenn man das Programm einfach in MPLAB kopiert.

Anscheinend sind wir jetzt auf uns gestellt Sensorfreak71

Sind sogar schon 400 Zeilen Code geworden Und er ist noch nicht einmal 100% perfekt, weil ja noch ein paar Dinge fehlen

BID = 850548

Sensorfreak71

Gelegenheitsposter



Beiträge: 65


Zitat :
Mmh wahrscheinlich meldet sich keiner, weil es total viele Formatierungsfehler gibt, wenn man das Programm einfach in MPLAB kopiert.


oder ich glaub meine Wünsche sind ein bißchen zu umfangreich und das Ganze ist etwas zu aufwändig um das Hobbymäßig zu betreuen. Wahrscheinlich ist diese Art der Steuerung für nicht viele Andere so interssant wie für mich

Leider kann ich technisch nix dazu beitragen. Den Code verstehe ich natürlich auch nicht. Ich hatte irgendwie gedacht dass das ganze viel einfacher ist - ein paar Ic´s ein paar Widerstände, Transtoren und
viele Drehpotis - und fertig.

Gerne habe ich mich hier aber auch für die "High-Tech"-Lösung begeistern lassen mit Software und so...

Falls mein Anliegen hier doch noch im Sande verläuft werde ich als Plan B einen neuen Thread eröffnen wo ich vielleicht Tipps für die Sensoransteuerung bekomme mit einfachem Relaisausgang. Den Rest muß ich dann, wie schon öfter erwähnt, in Schuhkartongroßer Ansammlung von Conrad-Bausätzen zusammenstückeln.

@GerDominator, vielen Dank mal bis hierher für deinen Einsatz!!!


Zitat :
Anscheinend sind wir jetzt auf uns gestellt Sensorfreak71

Das wär schlecht da ich keine große Hilfe sein kann vielleicht wird das Interesse ein bißchen geringer und der Thread inzwischen für Neue "Helfer" etwas lang und unübersichtlich.

Plan B muß aber erst in Kraft treten wenn du keine Zeit und Lust mehr hast an dieser Aufgabe, wäre aber schade nachdem du jetzt schon soviel Zeit investiert hast.

Mal abwarten was passiert



_________________
** wenn möglich automatisch - wenn automatisch dann smooth **

BID = 850598

GerDominator

Stammposter



Beiträge: 233

Ich habe mich seit gestern wieder motivieren können für das Projekt Und zwar aus folgendem Grund:

Ich bin gerade dabei eine neue Webseite zu erstellen, in die das Projekt wunderbar reinpasst. Von daher würde ich mich auch sehr freuen wenn du am Ende alles mit Bildern dokumentieren könntest

Wäre das in Ordnung für dich?

Ich werde die Schaltung und den Code jetzt noch weiterperfektionieren. Leider gibt es nur ein Problem bei der Sache, und zwar kann ich erst zu 100% wissen, dass die Elektronik funktioniert wenn du sie zusammengelötet hast. Das ist der große Haken an dem Projekt.

Für die Seite hatte ich dann vor, neben Quellcode und Schaltplan noch ein Layout bereitzustellen. Und wer auf das Ätzen keine Lust hat, könnte dann eine Platine über meine Seite (oder über einen Ebayshop) erwerben. Bis dahin würde allerdings noch ein weiter Weg liegen. Ich muss dann noch ein Gewerb anmelden etc...

Zum Test würde ich dir kostenlos eine geätzte Platine zusenden, das macht die Sache auch für dich einfacher und ich wüsste ob ich einen Fehler beim Layout gemacht habe

Schätzungsweise brauch ich dafür aber bestimmt wieder 2 Monate, schließlich habe ich auch nicht viel Zeit.

Deshalb frage ich jetzt auch noch mal konkret, wie lange hast du Zeit bis der Mülleimer fertig sein muss?

BID = 850628

Sensorfreak71

Gelegenheitsposter



Beiträge: 65


Zitat :
Ich bin gerade dabei eine neue Webseite zu erstellen, in die das Projekt wunderbar reinpasst. Von daher würde ich mich auch sehr freuen wenn du am Ende alles mit Bildern dokumentieren könntest

Wäre das in Ordnung für dich?


na klar, ich kann dann Bilder von der Mechanik-Enstehung liefern. Bilder und ein Video vom fertigen Gerät oder eine Doku zur Entstehung des ganzen.

Allerdings muß ich meine Mechanik wahrscheinlich nochmal neu aufbauen. Deckel zu schwer - Rutschkupplung zu schwach, Getriebeübersetzung zu groß usw. - aber das wird schon.... - zum testen der Elektronik würde die Mechanik aber schon taugen...


Zitat :
Leider gibt es nur ein Problem bei der Sache, und zwar kann ich erst zu 100% wissen, dass die Elektronik funktioniert wenn du sie zusammengelötet hast

Damit habe ich gerechnet. Die Bauteile sind bestimmt nicht so teuer dass mann nicht auch mal wieder eines tauschen kann.


Zitat :
Und wer auf das Ätzen keine Lust hat,...

Lust? - ich hätte keine Ahnung wie das geht - ich bastle immer unprofessionell mit Lochrasterplatinen


Zitat :
Zum Test würde ich dir kostenlos eine geätzte Platine zusenden, das macht die Sache auch für dich einfacher und ich wüsste ob ich einen Fehler beim Layout gemacht habe

Das wäre natürlich perfekt!


Zitat :
Deshalb frage ich jetzt auch noch mal konkret, wie lange hast du Zeit bis der Mülleimer fertig sein muss?

Es geht ja gar nicht nur um den Mülleimer, der ist nur das erste Projekt bei dem eine bessere Steuerung eingesetzt werden soll als ich sie seither zur Verfügung habe. Deshalb möchte ich damit ja universell verschiedene Geräte ansteuern. Mit unterschiedlichen Geschwindikeiten des Motors, unterschiedlichen Endschalterschaltpunkte, unterschiedlich starken Motoren usw. - alles pro Projekt separat an der Schaltung mit Potis einregeln - fertig! - bzw. für bestimmte Parameter die man nicht mit Gefühl steuern muß sondern exakt bestimmen kann ist natürlich auch eine Umprogrammierung des Mikrocontrollers OK.

Auf den Mülleimer wartet aktuell noch niemand. Sollte er doch mal als einbaufertiges Geburtstagsgeschenk taugen, dann event. im August nächsten Jahres.



_________________
** wenn möglich automatisch - wenn automatisch dann smooth **

BID = 850629

Sensorfreak71

Gelegenheitsposter



Beiträge: 65

@Gerdominator: Natürlich müsstest du, bevor du eine Platine ätzt und ich anfange zu löten, nochmal eine Beschreibung davon machen was deine Schaltung denn nun konkret kann. Bis jetzt habe ich noch die Befürchtung dass sie noch nicht so weit an meinem Wunschdatenblatt heranreicht wie nötig.
Was nachher alles Softwaremäßig gesteuert werden kann weiß ich halt alles nicht.


BID = 850674

GerDominator

Stammposter



Beiträge: 233


Zitat :
Bis jetzt habe ich noch die Befürchtung dass sie noch nicht so weit an meinem Wunschdatenblatt heranreicht wie nötig.


Bis jetzt macht das Programm folgendes:

Es gibt 6 Geschwindigkeitsstufen, die man mit dem Drehpotentiometer einstellen kann. Bei Belieben kann ich auch mehrere Stufen einfügen.

Nach dem Einlesen der Geschwindigkeitseinstellung wird der Näherungssensor abgefragt. Gibt dieser keine Spannung aus, so fragt der Mikrocontroller so lange nach bis er eine ausgibt, sprich jemand in der Nähe von dem Sensor ist. Im Code sind bis jetzt zwei Entfernungen auswählbar. Das kann man auch beliebig ändern. Da der Sensor eine Spannung bis 1,9 V ausgibt habe ich die zwei Stufen bei 0,5V - 1,2 V und 1,2V - 1,7V angesetzt. Will man also dass der Sensor schon recht früh auslöst aktiviert man Entfernung 1 und 2, will man, dass er weniger empfindlich ist, so wählt man nur Entfernung 2 aus.
Ich kann verstehen wenn dir das zu kompliziert ist, dann kann man noch über ein zweites Potentiometer nachdenken, mit dem man die Entfernungsempfindlichkeit einstellen kann.

Am besten verstehst du mein Programm wenn du dir das Blockdiagramm anschaust welches ich vor kurzem gepostet habe.

Was jetzt noch fehlt ist ein Knopf für manuelles Auf- und zuklappen, das ist aber kein Problem.

Außerdem möchte ich noch deinen Softstart und Stopp einfügen und die Motorabschaltung wenn eine Endlage nach festgelegter nicht erreicht wurde verwirklichen.

Mit den 2 Monaten habe ich wohl auch übertrieben..

In dem Code befindet sich bis jetzt das Nötigste, der Mülleimer würde theoretisch jetzt schon funktionieren.

BID = 850732

Sensorfreak71

Gelegenheitsposter



Beiträge: 65


Zitat :
Es gibt 6 Geschwindigkeitsstufen, die man mit dem Drehpotentiometer einstellen kann. Bei Belieben kann ich auch mehrere Stufen einfügen.


das kapier ich irgendwie nicht, warum gibt es überhaupt Stufen?
Bei jedem Drehzahlstellerbausatz mit z.B. einem NE555 (OFFROAD GTI hat mal einen kleinen Plan gepostet) kann ich die Drehzahl stufenlos regeln - oder?


Zitat :
Ich kann verstehen wenn dir das zu kompliziert ist, dann kann man noch über ein zweites Potentiometer nachdenken, mit dem man die Entfernungsempfindlichkeit einstellen kann.

das wäre toll!

-> noch toller wäre wenn sich der Sensorbereich auf einen größeren Bereich einstellt solange der Deckel offen ist, guck mal hier:
Sensorbereichserweiterung "Task Mode" - coool

Ursprünglich hatte ich mir mal mind. 7 Potis vorgestellt die ich durch das Gehäuse mit einem Schraubendreher pro Projekt feinjustieren kann.
Welche Funktionen können jetzt stufenlos mit Poti eingestellt werden und welche müssen für jedes Projekt passend am µC programmmiert werden?

LED-Richtungsanzeige drin ?


Zitat :
Außerdem möchte ich noch deinen Softstart und Stopp einfügen und die Motorabschaltung wenn eine Endlage nach festgelegter nicht erreicht wurde verwirklichen.

Motorabschaltung gaaaanz wichtig! Sonst dreht und dreht der Motor wenn der Deckel mal nicht mehr ganz zugeht.

Die "Softsache" gibt dem ganzen dann die richtige "smooth-Bewegung" auf die ich bei den ganzen Bewegungssytemen so stehe
Den Spannungs an-bzw. abstieg (Softstart, Softstopp) kann dann individuell programmiert werden oder? Also die Zeit in der der Motor von 0 auf die vorher eingetellte Max. Geschwindigkeit softstartet.

Der SoftSTOPP müsste ja theoretisch zeitgesteuert eingeschalten werden oder mit einem 3 Schalter der unterwegs entsprechend vor dem Endschalter betätigt wird damit die Schaltung einen Impuls hat ab wann die Motordrehzahl runtergeregelt werden soll. Die Fahrzeiten können ja total unterschiedlich sein (immer beachten - nicht nur für Mülleimer )- oder aber über die Drehzahlzählung wie schonmal diskutiert wurde.

Wenns alles klappt wir mein Mülleimer besser als der "Simplehuman" aus England und ich kann endlich viele andere Sachen automatisieren....





_________________
** wenn möglich automatisch - wenn automatisch dann smooth **


Vorherige Seite       Nächste Seite
Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 Nächste Seite )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 16 Beiträge im Durchschnitt pro Tag       heute wurden bisher 5 Beiträge verfasst
© x sparkkelsputz        Besucher : 186831651   Heute : 29305    Gestern : 47700    Online : 125        26.11.2025    15:15
8 Besucher in den letzten 60 Sekunden        alle 7.50 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.113785982132