EcoRenovator  

Go Back   EcoRenovator > Improvements > Geothermal & Heat Pumps
Advanced Search
 


Blog 60+ Home Energy Saving Tips Recent Posts


Reply
 
Thread Tools Display Modes
Old 07-06-14, 07:10 PM   #61
AC_Hacker
Supreme EcoRenovator
 
AC_Hacker's Avatar
 
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 724 Times in 534 Posts
Default

Quote:
Originally Posted by stef110 View Post
I just finished designing my controller will try to etch the PCB in the next few days.



This board includes:

-4 relays each with a status led
-2x rs485 bus lines
-connection for ds18b20 temperature sensors
-S0 input
-flow switch input
-on/off input ordinary thermostat
-push button with led next to it
-arduino nano

stef
Stef,

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...
AC_Hacker is offline   Reply With Quote
Old 07-06-14, 08:38 PM   #62
AC_Hacker
Supreme EcoRenovator
 
AC_Hacker's Avatar
 
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 724 Times in 534 Posts
Default

Quote:
Originally Posted by jeff5may View Post
...From AC's previous thread delving into his unit, we figured out his outdoor air-source mini-split unit functioned in test mode. But without a compatible indoor unit, it was pretty much useless without a way to control it.

During this process, the schematic for his unit was found here. On page 63, the schematic reveals he has at his disposal:
  • a 7-channel relay driver (IC8)
  • 5V and 12V regulated power supply sources
  • relays to control (via IC8)
    • 4-way (reversing) valve
    • HX fan motor
    • crankcase heater
    • compressor
  • two 10k thermistor temp sensors (ambient temp, pipe temp)

All these inputs and outputs run off of the regulated 5VDC supply built into the unit, so they will plug and play directly with the arduino board. All that needs to be done is to ground the arduino to the unit and run jumpers to the respective pins between the unit and the arduino board. With a proper sketch, the arduino can then assume control of the unit.
This is a really good analysis, and I may end up doing something like this.

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..
AC_Hacker is offline   Reply With Quote
Old 07-06-14, 10:03 PM   #63
jeff5may
Supreme EcoRenovator
 
Join Date: Jan 2010
Location: elizabethtown, ky, USA
Posts: 2,431
Thanks: 431
Thanked 619 Times in 517 Posts
Send a message via Yahoo to jeff5may
Default Initial pin configuration

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..
jeff5may is offline   Reply With Quote
Old 07-07-14, 12:01 AM   #64
AC_Hacker
Supreme EcoRenovator
 
AC_Hacker's Avatar
 
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 724 Times in 534 Posts
Default

Quote:
Originally Posted by jeff5may View Post
...I pulled the trigger on one of these shields with a green backlight and black text.
Which vendor did you choose?

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...
AC_Hacker is offline   Reply With Quote
Old 07-07-14, 02:15 AM   #65
Ormston
Apprentice EcoRenovator
 
Join Date: Mar 2013
Location: UK
Posts: 131
Thanks: 13
Thanked 35 Times in 32 Posts
Default

Quote:
Originally Posted by jeff5may View Post
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.
Pin assignment's should be given a great deal of thought.
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
Ormston is offline   Reply With Quote
Old 07-07-14, 04:05 AM   #66
jeff5may
Supreme EcoRenovator
 
Join Date: Jan 2010
Location: elizabethtown, ky, USA
Posts: 2,431
Thanks: 431
Thanked 619 Times in 517 Posts
Send a message via Yahoo to jeff5may
Default Screech... one step back

Quote:
Originally Posted by Ormston View Post
Pin assignment's should be given a great deal of thought.
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
I hear you. I'll be the first to admit that I'm not a seasoned veteran superuser of the arduino platform. I have a few projects under my belt, but these were simple data loggers, thermometers, and lego-style robot controllers. I can appreciate the relative scarcity of pins available on the Uno board. I agree that pin assignment should be given due diligence up front.

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?
jeff5may is offline   Reply With Quote
Old 07-07-14, 07:29 AM   #67
Ormston
Apprentice EcoRenovator
 
Join Date: Mar 2013
Location: UK
Posts: 131
Thanks: 13
Thanked 35 Times in 32 Posts
Default

Quote:
Originally Posted by jeff5may View Post
I hear you. I'll be the first to admit that I'm not a seasoned veteran superuser of the arduino platform. I have a few projects under my belt, but these were simple data loggers, thermometers, and lego-style robot controllers. I can appreciate the relative scarcity of pins available on the Uno board. I agree that pin assignment should be given due diligence up front.

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?
D0 and D1 are the pins used for the USB comms, they go via either a ftdi or atmega8 chip to the USB port. So you can use them for other uses but this will prevent you from using the serial monitor to watch for messages etc. Also if you use D0 or D1 as outputs you may well trigger whatever is connected to them during a download.
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..
Ormston is offline   Reply With Quote
Old 07-07-14, 10:58 AM   #68
jeff5may
Supreme EcoRenovator
 
Join Date: Jan 2010
Location: elizabethtown, ky, USA
Posts: 2,431
Thanks: 431
Thanked 619 Times in 517 Posts
Send a message via Yahoo to jeff5may
Default

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..
jeff5may is offline   Reply With Quote
The Following User Says Thank You to jeff5may For This Useful Post:
AC_Hacker (07-07-14)
Old 07-08-14, 01:23 PM   #69
Ormston
Apprentice EcoRenovator
 
Join Date: Mar 2013
Location: UK
Posts: 131
Thanks: 13
Thanked 35 Times in 32 Posts
Default

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
Ormston is offline   Reply With Quote
Old 07-08-14, 03:52 PM   #70
takyka
Helper EcoRenovator
 
Join Date: Jul 2014
Location: Hungary
Posts: 34
Thanks: 0
Thanked 16 Times in 10 Posts
Default my custom HP controller

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.







Attached Thumbnails
Click image for larger version

Name:	hpgs.jpg
Views:	2353
Size:	126.8 KB
ID:	4476   Click image for larger version

Name:	hpfirsttest.jpg
Views:	3030
Size:	397.1 KB
ID:	4477   Click image for larger version

Name:	hpcontroller.jpg
Views:	2363
Size:	215.8 KB
ID:	4478  

Last edited by Daox; 07-08-14 at 04:00 PM..
takyka is offline   Reply With Quote
The Following 2 Users Say Thank You to takyka For This Useful Post:
buffalobillpatrick (02-15-15), jeff5may (10-11-14)
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 12:27 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Ad Management by RedTyger
Inactive Reminders By Icora Web Design