![]() |
![]() |
#61 | |
Supreme EcoRenovator
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 724 Times in 534 Posts
|
![]() Quote:
This looks pretty nice. Will you be making details (schematic, PCB files & software, etc. public? -AC
__________________
I'm not an HVAC technician. In fact, I'm barely even a hacker... |
|
![]() |
![]() |
![]() |
#62 | |
Supreme EcoRenovator
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 724 Times in 534 Posts
|
![]() Quote:
So, to analyze an existing controller, and get a Schematic to materialize (I never could find one, some miracle happened, and someone else found it) and to strategize how to decapitate the original controller, and to insert a known controller and create workable code is really very cool on so many levels, I mean it goes right along with the original 'Manifesto' philosophy of re-using and re-purposing existing technology. It's all actually quite sophisticated. But I am still holding out hope that a general purpose controller, based on Arduino (or variant) can be created, that could entirely replace an existing controller. For many people, this would be much easier, because it requires less tech-savvy & experience. That idea (the idea of very easy entry) is at the heart of the Arduino concept. But I have to say that there are a lot of interesting ideas and good work going on here... I was away for just a few day, and when I cam back, it was clear that I had some serious catching up to do. Best, -AC
__________________
I'm not an HVAC technician. In fact, I'm barely even a hacker... Last edited by AC_Hacker; 07-06-14 at 08:40 PM.. |
|
![]() |
![]() |
![]() |
#63 |
Supreme EcoRenovator
|
![]() Ok, so for an initial pin configuration, I am going to assign pins for the lcd keypad shield first. Mine will use pin A0 for the keypad and pins D4-D10 for the lcd. AC has 2 thermistors in his unit, which sense outdoor unit ambient temperature and HX "Pipe" temperature. These can be tapped straight off the unit circuit board and feed into pins A1 (outdoor ambient temp)and A2 (HX temp).
For our 4 outputs, which will lead to the relay module, we can start with pin D3 for the compressor (which will also output PWM if set to) and pin D2 for the compressor-side fan or pump. For the reversing valve and crankcase heater relays, we can use either pins D11 and D12 or D0 and D1. I don't know how you're planning to bridge your serial link to the RS485, so you may need pins D0 and D1 to do it. The Uno R3 module I have has SCL, SDA and GND pins above pin D13, but I have no idea if we can use them, or if others' boards have them or not. These inputs and outputs will be enough to make the outdoor unit function in AC's case. The main unknown is what kind of signal will you feed it to tell it when to turn on and off? This set of inputs and outputs will not be enough to make my self-contained unit work, though. I will be using 1-wire sensors for at least some of my temperature measurements, and I will need at least an indoor fan output. Now that a basic initial pinout is here, I will need help assembling code that will work. I'm not trying to spend hours and days and weeks testing code to see if it does what it says. So I beg you, please, if any of you have good routines that have been tested, and work well, please post them so we can get a working shell going here soon. Last edited by jeff5may; 07-06-14 at 10:20 PM.. |
![]() |
![]() |
![]() |
#64 | |
Supreme EcoRenovator
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 724 Times in 534 Posts
|
![]() Quote:
BTW, the LCD can be driven with modulated pulses, and not stay on all the time. On my CO2 fan controller, I used the the duty cycle of the fan pulses to also light the LCD display. So when the CO2 goes up and the fan is purging the air at a faster rate, the brightness goes up too. Kind of additional feedback. -AC
__________________
I'm not an HVAC technician. In fact, I'm barely even a hacker... |
|
![]() |
![]() |
![]() |
#65 | |
Apprentice EcoRenovator
Join Date: Mar 2013
Location: UK
Posts: 131
Thanks: 13
Thanked 35 Times in 32 Posts
|
![]() Quote:
If you use D0,D1 the board becomes difficult to programming as those are used for the USB programming interface. D4 is used with the Ethernet as chip select for the SD card, great for logging and error recording. D10 - D13are also required by the Ethernet shield (D11-D13 are the SPI pins for connecting to SD cards, real time clock and so on). What this really shows is that any project based on the arduino platform needs carefully planning from the start to avoid blocking potential future upgrades. Or use a mega 2560 which has enough io for most projects. Steve |
|
![]() |
![]() |
![]() |
#66 | |
Supreme EcoRenovator
|
![]() Quote:
Regarding the D0 and D1 pins, what else can they be told to do? I mean, the Uno does have its own USB port. My R3 has SCL and SDA pins at the other side of the row from D0 and D1. How does this differ from using the digital output pins? More importantly, what kinds of problems can arise when using the USB port or alternate pins? |
|
![]() |
![]() |
![]() |
#67 | |
Apprentice EcoRenovator
Join Date: Mar 2013
Location: UK
Posts: 131
Thanks: 13
Thanked 35 Times in 32 Posts
|
![]() Quote:
I'm using a mega 2560 to control the heating, cooling and hot water at home and have to unplug the shield every time I need to download a new revision of my software to it otherwise the download fails. As for SCA and SCL, I think they are shared with A4 and A5 so using i2c will use 2 of your analogous pins. I also make no claims to be an arduino expert, I have a few projects under my belt which have forced me to learn the limitations. My background is PLC, robotics and industrial control systems and i can safely say you would have to spend thousands on PLC hardware to match the functionality that arduino offers for this type of application. Steve Last edited by Ormston; 07-07-14 at 04:21 PM.. |
|
![]() |
![]() |
![]() |
#68 |
Supreme EcoRenovator
|
![]() AC,
I bought this one: Arduino Shield List: DFRobot LCD Shield Steve, Thanks for the heads up. one of the first features mentioned was serial communications via whatever standard. Before setting pins in stone, Id better restudy this conflict. Last edited by jeff5may; 07-07-14 at 12:13 PM.. |
![]() |
![]() |
The Following User Says Thank You to jeff5may For This Useful Post: | AC_Hacker (07-07-14) |
![]() |
#69 |
Apprentice EcoRenovator
Join Date: Mar 2013
Location: UK
Posts: 131
Thanks: 13
Thanked 35 Times in 32 Posts
|
![]() Can we set some standards/guidelines by which software and library's are written.
As users of this site are scattered worldwide it would be best if wherever possible functions/library's are unit free. As in no centigrade, liters, fahrenheit, gallons etc to have to convert every time a value is passed from one library to the next whilst deciding if a defrost cycle or whatever is needed. Functions/library's should not use public variables as these may well clash with another function/library. This last one may not be to everyone's taste but can we please try to avoid using DS18B20 (or similar) sensors on a bus. Any controller i make needs to be maintainable for many years and when i'm old and forgetful i would like to simply unplug a faulty sensor and plug a new one in. No reading of serial numbers with one program, writing that serial into another, compiling and downloading. I just want to replace the faulty part and go back to my rocking chair for a nap. Any more suggestions for standards? Steve |
![]() |
![]() |
![]() |
#70 |
Helper EcoRenovator
Join Date: Jul 2014
Location: Hungary
Posts: 34
Thanks: 0
Thanked 16 Times in 10 Posts
|
![]() Dear All,
This is my first post here. I follow the heatpump section of EcoRenovator forum with great interest. I have built an ASHP and I made an arduino based controller to it. Why I turn myself to be an active member is because I think, my experience and work on controlling a HP with arduino can be beneficial to you too. My heatpump is planned to be ground surce (Well2well), but because a HX failure and lack of funds to replace it I finish it as Air source. The compressor is a single phase rotary one. Evaporator flooding is controlled by EEV. I use R407C as refrigerant. Attached you can see my HP as water to water ready for pressure test. On second image the first test run (without the controller) as ASHP and on the 3rd picture you can see the controller circuit I designed. The contoller is based on Arduino mega, as the smaller boards has very limited resources for the features I'm planned to implement (pincount and memory). The concept for the electronics, to have all the low power things placed to the shield, power devices and special purpose electronics relegated off. Design goal was to made future expansion possible. Functions are the next: - 8ch 24V 350mA output ( UDN2987 for relays, valves etc.) - ethernet interface (ENC28J60) - bluetooth interface - serial interface - LCD interface (HMI) - 3 button input (HMI) capable to handle incremental encoder - 4 general purpose inputs for remote control (heating, cooling, DHV etc.) - 3 pulse counter inputs (waterflow1,2, power consumption) - 3 1wire bus (1 onboard, 2 external) - 2 3phase pwm control output / 6general purpose I/O (for AC motor direct or inverter control) - 1 stepper motor control output/ 4general purpose I/O (for EEV control) - 2 4-20mA input (pressure sensors) - 2 0-5V input (sw. differencial capable pressure sensor) - 2 LED outputs Not all functions are implemented in SW and I'm sure not all will ever be. :-) Currently the sw has the next functionalities: - WEB interface for diagnostics and status. - Bluetoot, USB, UDP(network) interface for setup and remote control - condenser and evaporator pressure measurement - heating water flow measurement - electric power consumption measurement - temperature measurement (1wire) for Evap air in/out, Evap refrigerant out, Condenser refrigerant in/out, Heating water in/out, compressor, suction port, high pressure port, electric cabinet. From the above data the sw calculates : - superheat, subcool, output power, and COP. - Starting, stopping procedure is controlled by configured timing and criterias. The sw. has built in error handling, for most measureable cases and recovers from error if possible. Configuration can be done via BT,USB,UDP from a terminal. The configuration is stored in eeprom. All timing and limit parameters are configurable. 1W devices can be added, removed and assigned to functions free via the user interface. Currently the EEV is controlled by a Dixell XEV22 controller, but I plan to get rid of it and implement the control in the Arduino later on. If you are interested, I'm open to make the design (HW & SW) available for non professional/ non commercial use to everybody. Sorry if it become too long, but I couldn't describe it shorter. :-) Br. Takyka. p.s. Also, sorry for my poor English, I hope, it's still understandable. Last edited by Daox; 07-08-14 at 04:00 PM.. |
![]() |
![]() |
The Following 2 Users Say Thank You to takyka For This Useful Post: |
![]() |
|
|