Hühnerklappe mit Stop über Strommessung?

Hallo,

ich möchte eine Hühnerklappen Steuerung bauen.
Die Hühnerklappe soll stoppen, wenn sie abwärts auf ein Hindernis stösst.
Bei fertigen Steuerungen wird dies mechanisch mit Umlenkrolle und Mikroschalter gemacht.

Ich habe gehofft, dass man dies auch über eine Änderung des Stroms erkennen müsste,
aber der gemessene Strom schwankt so stark, dass ich keine Änderung erkennen kann.

Ich verwende einen Arduino ProMini, von AliExpress den Getriebemotor JGY-370-M8 12V 92RPM
und den pololu DRV8876

An der Schnur habe ich ein Gewicht von ca 600g befestigt.
Da ich möchte, dass die Hühnerklappe abwärts langsamer ist, verwende ich PWM.
Ich habe 2 Tastverhältnisse getestet:
50%, 1 ms ein und 1 ms aus
40%, 2 ms ein und 3 ms aus

Ich messe alle 50 ms

void current()
{
  val = analogRead(curr);
  Serial.println(val);
}
    if (millis() - lastTime >= 1) {  // 1 ms
       ...
      else if (tPWM == 5) {  // 50%
        if (PWMstat == 'H') {
          ncurr++;
          if (ncurr >= 25) {
            current();
            ncurr = 0;
          }
          PWMstat = 'L';
          digitalWrite(PinEn, LOW);
        }
        else {
          PWMstat = 'H';
          digitalWrite(PinEn, HIGH);
        }
      }
     ...

Bei 40% bekomme ich die folgende Werte, im ca letzten drittel setzt das Gewicht auf dem Boden auf

19:03:02.848 -> 348
19:03:02.902 -> 409
19:03:02.949 -> 351
19:03:03.002 -> 376
19:03:03.049 -> 361
19:03:03.102 -> 382
19:03:03.149 -> 355
19:03:03.202 -> 373
19:03:03.303 -> 360
19:03:03.303 -> 412
19:03:03.349 -> 352
19:03:03.403 -> 371
19:03:03.503 -> 444
19:03:03.550 -> 348
19:03:03.604 -> 370
19:03:03.604 -> 358
19:03:03.651 -> 407
19:03:03.751 -> 359
19:03:03.805 -> 359
19:03:03.852 -> 367
19:03:03.905 -> 352
19:03:03.952 -> 394
19:03:04.006 -> 355
19:03:04.052 -> 352
19:03:04.106 -> 371
19:03:04.153 -> 334
19:03:04.206 -> 354
19:03:04.253 -> 362
19:03:04.307 -> 369
19:03:04.354 -> 361
19:03:04.407 -> 425
19:03:04.454 -> 363
19:03:04.507 -> 381
19:03:04.554 -> 391
19:03:04.608 -> 369
19:03:04.655 -> 363
19:03:04.708 -> 352

Bei 50% bekomme ich die folgende Werte, bei ca Sekunde 24 setzt das Gewicht auf dem Boden auf

18:49:21.731 -> 178
18:49:21.831 -> 182
18:49:21.878 -> 207
18:49:21.931 -> 244
18:49:21.978 -> 263
18:49:22.032 -> 215
18:49:22.079 -> 190
18:49:22.132 -> 179
18:49:22.179 -> 177
18:49:22.233 -> 186
18:49:22.280 -> 230
18:49:22.333 -> 210
18:49:22.380 -> 224
18:49:22.434 -> 185
18:49:22.480 -> 169
18:49:22.534 -> 174
18:49:22.581 -> 176
18:49:22.634 -> 176
18:49:22.681 -> 178
18:49:22.734 -> 221
18:49:22.781 -> 241
18:49:22.835 -> 248
18:49:22.882 -> 223
18:49:22.935 -> 215
18:49:22.982 -> 204
18:49:23.036 -> 192
18:49:23.082 -> 185
18:49:23.136 -> 179
18:49:23.183 -> 182
18:49:23.236 -> 205
18:49:23.283 -> 241
18:49:23.337 -> 224
18:49:23.384 -> 187
18:49:23.437 -> 167
18:49:23.484 -> 172
18:49:23.538 -> 176
18:49:23.585 -> 181
18:49:23.638 -> 252
18:49:23.685 -> 209
18:49:23.739 -> 186
18:49:23.785 -> 179
18:49:23.886 -> 180
18:49:23.939 -> 185
18:49:23.939 -> 220
18:49:23.986 -> 245
18:49:24.040 -> 229
18:49:24.140 -> 197
18:49:24.187 -> 185
18:49:24.241 -> 177
18:49:24.241 -> 169
18:49:24.341 -> 173
18:49:24.387 -> 172
18:49:24.441 -> 171
18:49:24.488 -> 176
18:49:24.541 -> 178
18:49:24.588 -> 206
18:49:24.641 -> 226
18:49:24.688 -> 195
18:49:24.741 -> 175
18:49:24.788 -> 183
18:49:24.841 -> 185
18:49:24.888 -> 193
18:49:24.941 -> 197
18:49:24.988 -> 200
18:49:25.041 -> 200
18:49:25.088 -> 206
18:49:25.142 -> 211
18:49:25.189 -> 222
18:49:25.242 -> 230
18:49:25.288 -> 249
18:49:25.341 -> 260
18:49:25.388 -> 220
18:49:25.442 -> 221
18:49:25.489 -> 215
18:49:25.542 -> 221
18:49:25.589 -> 256
18:49:25.643 -> 233
18:49:25.689 -> 258
18:49:25.743 -> 222
18:49:25.790 -> 217
18:49:25.843 -> 205
18:49:25.890 -> 189
18:49:25.944 -> 182
18:49:25.991 -> 183
18:49:26.044 -> 183
18:49:26.091 -> 185
18:49:26.145 -> 196
18:49:26.245 -> 202
18:49:26.245 -> 199
18:49:26.292 -> 196
18:49:26.345 -> 188
18:49:26.446 -> 183

Gruß Ralf

Wie kommst Du auf diese Zeiten? Wieso ändert sich die Frequenz bei änderung des Tastverhältnisses? von 500Hz zu 200Hz?

Hast Du irgendeine Gleichrichtung und Glättung Bzw Filterung?

Wenn Du ein 500 Hz Signal mit 20 Hz abtastest kommt da irgendwas raus, aber nicht irgendwas sinnvolles.

Du weißt schon daß ein PWM Signal eine Rechteckspannung mit 0 und 5V ist.

Grüße Uwe

...weil es sich so schon sehr gut bewährt hat.

Du lässt ein Gewicht von 600g an einer Schnur auf kleiner Achse eines Getriebemotors gewickelt abwärts. Der Motor fährt hier schon nahezu ohne Last. Und jetzt noch ohne diese 600g (Klappe auf Hindernis) wird man da wohl kaum eine signifikante/messenswerte Stromänderung feststellen.
Gegen Last (Klappe wird gegen Hindernis aufwärts gezogen) hätte man da schon deutlichere Unterschiede.
Vielleicht kannst du dich ja doch mit der Variante "Signal auslösen, wenn Schnur entlastet" anfreunden, die sich auf verschiedene Arten umsetzen ließe..


Hier z.B. mit Gabellichtschranke, durch die ein Blech mit Loch gleitet, und passend gewählter Zugfeder.

Ich würde das Problem mit einem einfachen Entfernungsmesser lösen.

Sobald die Entfernungsmessung unter 1-2 cm fällt, unterbricht die Bewegung der Tür.

Man muss den Sensor nur so befestigen das er im Normalfall immer eine "weitere Sicht" hat.

Ist aber nur eine Idee.

Gruß

Pucki

Ich verwende für 50% eine einfachere Routine als für 20, 40, 60 und 80%

Ich habe den CS Pin vom DRV8876 direkt mit dem ProMini verbunden.
Bei 1A sind am CS 2,5V

Ich hatte gehofft, daß abwärts mit Last der Strom messbar kleiner ist als ohne Last.
So wies aussieht ist diese Stromänderung zu klein.

Die Variante mit Gabellichtschranke und Zugfeder ist für Selbstbau zu aufwändig.
Bei der F225 Voss ist es einfacher gelöst.
Wird mit dem oberen Mikroschalter erkannt ob die Schnur gerissen ist?
Drehen sich die beiden Umlenkrollen mit oder muss ich mindestens einmal im Jahr kontrollieren ob sich die Schnur durchgescheuert hat?
Ich habe auch noch keine Idee was ich da als Umlenkrollen verwenden kann.

Mit einer Lichtschranke ist dies wahrscheinlich einfacher.

Wieso verwendest Du nicht die Funktion analogWrite(); ?

Also hast Du da die 500 Hz bzw 200 Hz gepulste Spannung drauf?

Nicht wenn Du ein Schneckengetriebe hast und der Motor eigentlich nur die Hemmung des Zahnrades durch die Schnecke macht. Der Kraftunterschied ist nur die Reibung zwischen Schnecke und Zahnrad mit verschiedenen Anpressdruck dazwischen ( = Drehmoment am Ausgang).

Grüße Uwe

Grüße Uwe

Das liegt ganz im Auge des Betrachters.. :wink:
Aber ja, die Feder/Rückstellkraft im Bügel des Mikroschalters zu verwenden, um eine lockere Schnur zu erkennen sollte auch leicht machbar sein.
Für die Hindernis-Erkennung ist dann wohl der mittlere Mikroschalter zuständig, der im Falle einer Schnurentspannung das Umlenkröllchen wegdrückt und schaltet.
Der untere (auch wieder mit Feder-Mechanik) erkennt den oberen Endanschlag des Fahrwegs...

Hmm.. bei dem müsste ich raten.., glaube ich aber nicht, daß das seine Funktion ist.
Gerissene Schnur sollte man auch detektieren können, wenn beim Aufwickeln der Endschalter nach Zeit X nicht ausgelöst wird.

Eine gerissene Schnur kann man am einfachsten mit einem Federschalter erkennen.

Für die ganz genialen Bastlern unter euch. Es Federschalter an den ich gerade denke ist z.b. im meiner Maus (im Rad um genau zu sein).

Wenn die Schnur auf Spannung ist, wird der Ausgelöst. Ist er nicht ausgelöst ist keine Spannung da, und man hat ein Problem. :wink:

Gruß

Pucki

Irgendjemand hat hier mal ne Hühnerklappe mit einem Linearmotor realisiert. Da ist schon ein Endschalter eingebaut.

Ein Beispiel (keine Kaufempfehlung):

Dass es auch ein analogWrite fürs PWM gibt ist mir gerade nicht eingefallen.
Habe es jetzt umgeschrieben, dass analogWrite verwendet wird.

Wenn man den Strom messen will, ist es praktischer, wenn man das PWM Signal selber erzeugt, dann kann man den Strom mit analogRead nur dann messen, wenn das PWM Signal 1 ist.
Der Strom kann ja nur gemessen werden, wenn mit PWM 1 die H-Brücke aktiv ist.

Ja, der JGY-370 hat ein Schneckengetriebe.

So werde ich es mal versuchen, muss mal schauen ob ich was habe wo ich als Umlenkröllchen verwenden kann.

Hi Ralf,

hm, - ich frage mich gerade welches Hindernis da hinkommen sollte das man schützen müsste... :thinking:

Mess den Strom mal vor dem DRV, ich denke da ist er noch glatter und bilde den Durchschnitt mal aus mehr Einzelwerten, - 100 oder mehr hat bei mir geholfen.

Viel Unterschhied wird trotzdem nicht sein, weil "runter" ja keine Last ist sondern eine Unterstützung. Der Strom sollte also geringfügig höher werden wenn die Klappe aufsteht.

Die im Türbereich unentschlossenen Bewohner?

Für Die wäre das nur bei einer mit guillotineartigen Geschwindigkeit schließenden Falltür gefährlich. So lange die Tür langsam kommt schützt sie ihr Fluchtreflex. :wink:

Bei SO einer Tür, würde ein einfachere Drahtbügelschalter und eine langsame Geschwindigkeit schon reichen die Eierproduzenten zu retten. :wink:
Drahtbügelschalter sind viel empfindlicher als Mikroschalter. Deshalb so einen.

Davon abgesehen ist der Bau + die Steuerung einer solchen Tür viel einfacher als der einer Klapptür. Zauberwort : Gewindestangen-Antrieb. Es geht auch Seilantrieb.Da ist aber eher mit Stress zu rechnen.

Gruß

Pucki

Wir haben auch Hühner und eine Klappe. Die Klappe bewegt sich senkrecht in Führungsprofilen, ist aus Holz und durch das Eigengewicht unten. Darüber ein Liniarantrieb, die Verbindung zwischen Antrieb und Klappe mit einer Fahradkette in Höhe der ganzen Klappe. Damit kann man die Klappe ganz normal hoch und runter fahren. Wäre ein Hinderniss (Huhn) dazwischen, dann würde sich die Fahrradkette zusammenfalten und das Huhn hat nur das Gewicht der Klappe (1-2kg) auf dem Rücken. Fertig, komplett ohne Elektronik. Der Linarantrieb hat natürlich eigene integrierte Endschalter. Läuft seit nund über 15 Jahren heden Tag.

refo

Habe die Hindernisserkennung mit Ablenkrollen und Mikroschalter hinbekommen.
Sie dient auch dazu, dass die Schnur ohne Last nicht mehr weiter abgewickelt wird.
So wies aussieht bin ich der erste der im Selbstbau sowas macht, konnte dazu nichts finden.

Als Gehäuse eine Feuchtraum Abzweigdose zu verwenden war keine so gute Idee.
Das mit dem Gegenlager für die Motorwelle passt nicht so wie ichs mir vorgestellt habe, das Gewinde ist dafür etwas zu kurz. Wenn ich die Motorwelle etwas kürze und dann verlängere müsste es besser passen.

Mit dem Motor passt was nicht, hoch ist es ok, aber abwärts macht das Getriebe geräusche.


Macht das Getriebe in "abwärts Richtung" auch noch Geräusche wenn Du eine Last drauf giebst (mit dem Finger an der Rolle bremsen) ?

Deine Achse läuft auch nicht mittig in dem Gegenlager... Das ist ja nur eine Gewindestange und die sind im Durchmesser zu klein.

Das Getriebe macht abwärts nur mit Last (ca 500g) Geräusche.
Dieser Motor hat 67RPM.
Ich habe auch noch ein Motor mit 92RPM da macht das Getriebe keine Geräusche.

Ich habe durchs Gegenlager ein Alurohrstück mit außen 10mm und innen 8mm gesteckt.

Die M8 Gewindewelle am Motor gefällt mir nicht so richtig.
Es gibt auch ein JGY-370 Motor mit einer 6mm Welle ohne Gewinde.
Ich hoffe, daß da ein Alurohr mit 6mm innen und 8mm außen draufpasst.
Dann ein Ring mit innen 8mm, an einer Befestigungsschraube mit Kopf lässt sich dann die Schnur einhängen.


Das ist bei diesen Motoren aber normal. Hatte mal eine ganze Serie von denen und nie zwei komplett identisch. Entweder mehr Geräusche in die eine oder andere Drehrichtung oder die Geschwindigkeit ist immer um ein paar RPM abgewichen.
..solange es aber noch nicht ungut knirscht, hat man eine Weile an den Motoren.