Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπερα, εδω και αρκετο καιρο προσπαθω να φτιαξω μια ζυγαρια μελισσοκομικη. Χρησιμοποιω το arduino nano και τον ενυσχιτη hx711. κανω ολες τις απαραιτητες συνδεσεις και βαζω να τρεξει το παραδειγμα που εχει στην βιβλιοθηκη(το ετοιμο), και κανει τα δικα του

το αποτελεσμα ειναι το εξης: ειτε βαζω βαρος ειτε οχι ειναι το ιδιο. δεν ανταποκρινεται με τιποτα. μηπως ξερει κανει γιατι μπορει να συμβαινει αυτο?

Capture.PNG.25b13e239ca7c679b5d114c35574862e.PNG

Επεξ/σία από vellamos_power
Δημοσ. (επεξεργασμένο)
#include "HX711.h"

// HX711.DOUT    - pin #A1
// HX711.PD_SCK    - pin #A0

HX711 scale(A1, A0);        // parameter "gain" is ommited; the default value 128 is used by the library

void setup() {
  Serial.begin(9600);
  Serial.println("HX711 Demo");

  Serial.println("Before setting up the scale:");
  Serial.print("read: \t\t");
  Serial.println(scale.read());            // print a raw reading from the ADC

  Serial.print("read average: \t\t");
  Serial.println(scale.read_average(20));      // print the average of 20 readings from the ADC

  Serial.print("get value: \t\t");
  Serial.println(scale.get_value(5));        // print the average of 5 readings from the ADC minus the tare weight (not set yet)

  Serial.print("get units: \t\t");
  Serial.println(scale.get_units(5), 1);    // print the average of 5 readings from the ADC minus tare weight (not set) divided 
                        // by the SCALE parameter (not set yet)  

  scale.set_scale(2280.f);                      // this value is obtained by calibrating the scale with known weights; see the README for details
  scale.tare();                        // reset the scale to 0

  Serial.println("After setting up the scale:");

  Serial.print("read: \t\t");
  Serial.println(scale.read());                 // print a raw reading from the ADC

  Serial.print("read average: \t\t");
  Serial.println(scale.read_average(20));       // print the average of 20 readings from the ADC

  Serial.print("get value: \t\t");
  Serial.println(scale.get_value(5));        // print the average of 5 readings from the ADC minus the tare weight, set with tare()

  Serial.print("get units: \t\t");
  Serial.println(scale.get_units(5), 1);        // print the average of 5 readings from the ADC minus tare weight, divided 
                        // by the SCALE parameter set with set_scale

  Serial.println("Readings:");
}

void loop() {
  Serial.print("one reading:\t");
  Serial.print(scale.get_units(), 1);
  Serial.print("\t| average:\t");
  Serial.println(scale.get_units(10), 1);

  scale.power_down();                    // put the ADC in sleep mode
  delay(5000);
  scale.power_up();
}

 

Επεξ/σία από vellamos_power
Δημοσ. (επεξεργασμένο)

IMG_0757.JPG.7920d1f1846b4632f70743ec452affd2.JPG

και η ζυγαρια βαζω: red--> Ε+, blk--> E- , wht-->A-,  grn-->A+

loadcell εχω αυτο: https://www.ebay.com/itm/Weighing-Sensor-200kg-Electronic-Platform-Scale-Aluminium-Alloy-Load-Cell-Weight-/262586098391

μαυρο-->E+, ασπρο-->E-, πρασινο-->A-, κοκκινο-->A+

 

Επεξ/σία από vellamos_power
Δημοσ.

https://cdn.instructables.com/ORIG/F9T/K35W/IU3JFHZE/F9TK35WIU3JFHZE.zip

Αυτή είναι η βιβλιοθήκη αν δεν κάνω λάθος, μου κάνει εντύπωση το ότι δεν υπάρχει κάποιο πρωτόκολλο επικοινωνίας απλά περιμένει παλμούς και ξερνάει νούμερο.

 

Σύνδεσε τα σε digital  pins και άλλαξε τα πιν στον κώδικα μπας και τον ενοχλεί αυτό, 200 κιλά load cell τετραοροφα τα φτιάχνεις?

Δημοσ.
1 ώρα πριν, Geocheats2 είπε

https://cdn.instructables.com/ORIG/F9T/K35W/IU3JFHZE/F9TK35WIU3JFHZE.zip

Αυτή είναι η βιβλιοθήκη αν δεν κάνω λάθος, μου κάνει εντύπωση το ότι δεν υπάρχει κάποιο πρωτόκολλο επικοινωνίας απλά περιμένει παλμούς και ξερνάει νούμερο.

Σύνδεσε τα σε digital  pins και άλλαξε τα πιν στον κώδικα μπας και τον ενοχλεί αυτό, 200 κιλά load cell τετραοροφα τα φτιάχνεις?

την ανοιξη και στα ελατα εχω και 4-οροφα.νομιζω ομως εχω κανει υπερβολη. τελικα το προβλημα ειναι στον ενισχυτη. μολις κουναω λιγο τα πιν ζυγιζει κανονικα αλλα αντι για θετικες τιμεσ βγαζει αρνητικες

#include "HX711.h"


#define calibration_factor 21570 //Βάζουμε την τιμή που προκύπτει από το καλιμπράρισμα του HX711
#define zero_factor 24458 //Βάζουμε την τιμή που προκύπτει από το καλιμπράρισμα του HX711
#define DOUT  3
#define CLK  2

HX711 scale(DOUT, CLK);
// Αριθμός που θα λμβάνει το μήνυμα

float maza;

void loadcell ()
{

  Serial.begin(9600);
  Serial.println("Demo of zeroing out a scale from a known value");

  scale.set_scale(calibration_factor); 
  scale.set_offset(zero_factor); 

  
  Serial.print("kila: ");
  Serial.print(scale.get_units(), 3); //scale.get_units() returns a float
  Serial.print(" Kg"); 
  Serial.println();
  delay (200);
  maza = scale.get_units(), 3;
}
void setup() {
  Serial.begin(9600);
  delay(3000);
  loadcell();

}

void loop()
{
  Serial.begin(9600);
  delay(3000);
  loadcell();
}

 

Δημοσ. (επεξεργασμένο)

δες την καλωδίωση σου και δες αν μπορείς να βρεις κάποιον παλμογραφο η κάπως να επιβεβαιώσεις ότι ο opamp στέλνει πίσω data

Επεξ/σία από Geocheats2

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...