I have had some luck today and a good deal of help from PeeKay123. I ported my digital scale code with a DIGOLE screen (touchscreen 2.6") (DigoleGeo Library) and a dual scale HX711 interface ( HX711ADC library). I had to modify a few paths and gather the libraries in Dev. but it did get the screen up and the scale data on the screen.
Screen shot of the libraries for a thanks to Peekay...i use the serialas a shortcut....normally I would put the screen on I2c but i was in a hurry....and there are a few fixes I will look into.
and a shot of the dual scale with a pi zero on deck.....as a backup......I still need a hard MODBUS TCP library, but I am working on that next....W5100 preferred as I bought a pile of them......
Some of my notes regarding the cloud copy of the HX711ADC library…some of which I was already doing but…
I did get the library after modification ( and my hardware fixed too!) to actually give good reading values 1 parts in 10000 not including temperature zero drift
First the include statement in the example needs a suffix of ADC
Check all directory paths in the example with your setup.
Do use the 3.3V as the supply to the AVIA HX711 (it might be better to use an independent 3.3V regulated supply for the amplifier)
Put a capacitor on the 3.3V to ground
Keep the leads for SCK and DO short and away from the radio shield if possible
Use 6 or so samples for the get_units(), set_scale(), and tare() transactions.
USE a Shielded load cell cable and Shield the amplifier.
Turn on the amplifier with set_scale() and give a delay for warm up before real set_scale() tare()
Block interrupts during the data transactions with the AVIA
Use appropriate delays to slow down the clock for transactions in the HX711ADC.CPP
Use a delay on the data ready to ensure your transactions are separate with the AVIA in HX711ADC.CPP
I have in the past used a thermistor for TC in long term measurement situations.
Fortunately, most of my situations for use of the scale involve differential changes over a short duration maybe one minute for the measurement of weight change during material transfer so that the temperature effect is not significant for zero drift.
Now that I got it to work for me I will see what I didn’t need to do by trying to break it by removing things one at a time.
One other thing I did use I2C for the DIgole … oneline should be revised in the demo if you uncomment the theright other stuff…it should read:
DigoleSerialDisp mydisp( &Wire, 0x27); //I2C specified - specify Pointer to Wire object, I2C address of Digole
no quotes on the address… as in…
//DigoleSerialDisp mydisp(’\x27’); //I2C specified - specify Pointer to Wire object, I2C address of Digole
I would think that &Wire1 would be fine on the electron tooo…So it think I will put an Electron with the digole Under the hood of this Bioreactor controller …the network of AVR are modbus TCP… or (S7-1200 TCP) to a Siemens S7-1214 PLC…I use the PLC only for a database and the TIA graphic package to a 7" profinet touch screen…the PLC/touchscreen will be replaced by the Electron/Digole pair thus saving about $1200…and as the kicker I will put ANDROID GUI to their cell phones…they will have a better time at the beach…
I did get the electron /teensy up and configured hardware and some software wise…I use I2c to the digole and SPI1 for the Tensey/electron linkage…I guess I will just mirror the modbus tables in the teensy over to the electron and publish them…for my phone.
The teensy sits on my ABS16IOr608 board. That will hold:
a MEGA2560 or a DUE or arduino form factor. et.al. on the back side
a Nano on the top side.
And provides I2C, SPI and serial port support for common chips. Also power selecton configurable for I2C, or operational voltages. Support for two RS485/232 chip BOBs and 3 steppers on board. I think I will delete two steppers and put the electron on the carrier in the top left next to the SPI header.on top center. after I pack it all up it will replace the Siemens S7-1200 and put a touchsceeen and a light stack on the front of this unit…Cell monitoring of the process parameters is the first objectve.