Inhaltsverzeichnis

Bienenwaage erste Version

Da der gekaufte Laderegler nicht zufriedenstellend funktionierte wurde die Schaltung verändert und die Laderegelung und Datenerfassung auf einem Arduino zusammengefasst. Der Arduino Yun bzw. dessen Atheros AR9331 dient nur noch der Übertragung der Daten in das Internet.

Platine Solarregler (laderegler_3V.sch)

Mittlerweile gibt es eine neue Version des Solarreglers, die Funktionsweise und der grundlegende Schaltungsaufbau sind gleich, jedoch auf einem Board zusammengefasst.

Platine Steuerung (arduino_speicher_ad.sch)

Erweiterungsplatine

Verbinderplatine für Netzwerkkabel/Gewichtssensoren/Temperatursensoren

Anschlüsse für

feste Kabel:

farbefunktionwohin
rot3V
grauMasse
grünSDAYun Pin2
blauSCLYun Pin3

Steckleiste, gezählt von 3V Steckanschluss aus

posfunktionfarbe
1PWRrot+grün
2data1gelb
3CLK1orange
4DATA2violett
5CLK2blau

Am Yun:

das gelbe kabel an 5V

Netzteil 5V für Arduino Yun

Modifizierter Arduino Yun

Kommunikation mit ATmega328P-PU der Steuerplatine

I²C

1-Wire

Two-Wire Serial Digital Interface

Kommunikation mit ATmega32U4 des Yun

Der Arduino Yun wird über I²C vom Laderegler gesteuert. Der Yun liest auf entsprechenden Befehl die auf dem Eeprom gespeicherten Messwerte direkt von diesem aus.

Da diese Variante, die zwar sehr gut und schnell funktionierte, programmiertechnisch etwas kompliziert ist und Modifizierungen in verschiedenen Bibliotheken erforderte habe ich den Arduino Yun durch einen Router GL-MT300N-V2 mit OpenWrt ersetzt und die Kommunikation auf RS232 geändert. Dies lässt sich einfacher konfigurieren, ist billiger und man kann auch mit jedem Laptop die Daten auslesen.

Fehler

Was brennt durch, wenn man die Batterie verpolt anschließt? Arduino Yun, 5-Volt Schaltregler und Waage waren zum Glück nicht angeschlossen. Die Liste wird sicherlich noch fortgesetzt. . .

LED Kontrollanzeigen

Yun

einsbyte=0xFF; pingbyte=1; readybyte=2; schwarmalarmbyte=3; uploadbyte=4; waitbyte=5; wlanonbyte=6; sleepbyte=7; deleteeeprombyte=8; moretimebyte=9; fotobyte=10; timebyte=11; eeprom_freigeben=12; bewegungsbyte=13;

Steuerung

Speicherreihenfolge

  1. timestamp batterie
  2. V Batterie
  3. Temperatur Batterie
  4. DCA Batterie
  5. ICA Batterie
  6. CCA Batterie jetzt genutzt für mAh kapazität
  7. V solar1
  8. Platzhalter für V solar2
  9. Gewicht
  10. weightSensorRaw1
  11. weightSensorRaw2
  12. gewicht1 Gramm
  13. gewicht2 Gramm
  14. temperatur_bienen
  15. temperatur_waage
  16. temperatur_kasten
  17. temperatur_erde1
  18. temperatur_erde2
  19. hell_links, jetzt duty
  20. hell_rechts
  21. wind
  22. windrichtung
  23. RealTimestamp timestamp utc
  24. loadcurrent durchschnittlicher Verbrauch mA*100
  25. 999

Testprogramm Hardware

Laderegler

  1. Motortest 3 Sekunden Richtung +1
  2. Motortest 3 Sekunden Richtung -1
  3. EEPROM lesen
  4. Systemdaten lesen
  5. Messwerte lesen
  6. Wartezeit für Test I²C

Yun

  1. EEPROM lesen
  2. Timestamp abholen
  3. I²C sendet nullbyte an Laderegler und wartet auf Antwort